{"id":23752502,"url":"https://github.com/rwbl/make-weathercubetwo","last_synced_at":"2026-01-25T06:37:54.388Z","repository":{"id":156024056,"uuid":"171266925","full_name":"rwbl/make-weathercubetwo","owner":"rwbl","description":"Display weather information on an LCD display  build in a cube.","archived":false,"fork":false,"pushed_at":"2021-07-09T10:15:12.000Z","size":1556,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-05-25T00:21:58.537Z","etag":null,"topics":["b4j","lazarus","tinkerforge"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rwbl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-18T10:53:22.000Z","updated_at":"2021-07-09T10:15:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"73690ed7-82a6-4372-aebc-2f3314186df0","html_url":"https://github.com/rwbl/make-weathercubetwo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rwbl/make-weathercubetwo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwbl%2Fmake-weathercubetwo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwbl%2Fmake-weathercubetwo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwbl%2Fmake-weathercubetwo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwbl%2Fmake-weathercubetwo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rwbl","download_url":"https://codeload.github.com/rwbl/make-weathercubetwo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwbl%2Fmake-weathercubetwo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28746767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T05:12:38.112Z","status":"ssl_error","status_checked_at":"2026-01-25T05:04:50.338Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["b4j","lazarus","tinkerforge"],"created_at":"2024-12-31T17:53:07.248Z","updated_at":"2026-01-25T06:37:54.382Z","avatar_url":"https://github.com/rwbl.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# make_weathercubetwo\nThis make project displays weather information on a Tinkerforge LCD 20x4 display build in a MakerBeam cube.\n\n![weathercubeone2](https://user-images.githubusercontent.com/47274144/52946335-169b2500-3374-11e9-819a-2589ca2f38a6.png)\n\n# Introduction\n**WeatherCubeTwo** is the next development level based on **WeatherCubeOne**.  \nCompletely rewritten using MQTT - the new solution is much simpler then the previous - No need for complex JavaObjects / Inline Java / HTTPJobs as subscribe and publish messages handles the flow of data.  \nIt also enables to build UI clients, e.g. for B4J and B4A with almost the same code.  \nThe Tinkerforge MQTT topics published, are converted and displayed on the Tinkerforge LCD20x4 display and published to the Domoticz Server.  \n\nFor more information, read the detailed description, the readme.txt or the project source code.  \nThe source code is well documented with hints on how to install MQTT and use with B4J, Lazarus or any other MQTT clients.  \n\n**Note**\nThe project has been renamed to **WeatherCubeTwo** but this documentation still uses project name _WeatherCubeOne2_.\n\n## Functionality\n* Display Date \u0026 Time, Air Pressure, Temperature and Humidity on a Tinkerforge LCD 20x4 display and on a Domoticz Client Browser.\n* Display Trend (Arrow Up / Down) via Custom Characters\n* LCD 20x4 Display buttons function:1 = Backlight On; 2 = Backlight Off; 3 = Show Version Info; 4 = Shutdown the Cube.\n* To obtain information send from the Tinkerforge Bricklets subscribe to the topics: weathercubeone/airpressure, weathercubeone/timestamp, weathercubeone/temperature or weathercubeone/humidity.\n* To trigger an action on the WeatherCubeOne, following topics can be published: weathercubeone/backlighton, weathercubeone/backlightoff, weathercubeone/clear, weathercubeone/copyright, weathercubeone/close, weathercubeone/shutdown.\n* Enables clients like B4J UI (example included), B4A (not ready), Lazarus UI (example included)\n* But also any other MQTT client (Windows, Android, Apple) or own developments\n* Improved Raspberry Pi memory usage\n* Example Google Line Charts Temperature, Airpressure, Humidity updated via B4J server using MQTT\n* Using Tinkerforge Brick MQTT Proxy, B4X MQTT Client Library, Domoticz MQTT\n\n![weathercubeone2processes](https://user-images.githubusercontent.com/47274144/52946342-1733bb80-3374-11e9-8024-c1976c2f6b6e.png)\n![weathercubeone2b4jgooglechart](https://user-images.githubusercontent.com/47274144/52946339-169b2500-3374-11e9-8309-a5fb127e4cfb.png)\n\n## Hardware\n* Raspberry Pi 2 Model B v1.1\n* Tinkerforge Master Brick (connected to the Raspberry Pi), Bricklets Temperature, Barometer, Humidity and LCD20x4\n\n## Software\n* Tinkerforge Brick MQTT Proxy\n* B4X jMQTT Client Library\n* Domoticz MQTT\n* Domoticz Home Automation Server\n* Software B4J Application WeatherCubeOne2 \u0026 WeatherCubeOneGoogleChart\n\n## Java License\nThe application has been created for **personal use**  only.  \n\n## MQTT Components\n* Tinkerforge Brick MQTT Proxy\n* B4X jMQTT Client Library\n* Domoticz MQTT Broker\n\n![weathercubeone2b4jclient](https://user-images.githubusercontent.com/47274144/52946337-169b2500-3374-11e9-81ab-63e612bc0ca4.png)\n![weathercubeone2b4jmqttclient](https://user-images.githubusercontent.com/47274144/52946340-1733bb80-3374-11e9-990f-c399930004a3.png)\n![weathercubeone2lazclient](https://user-images.githubusercontent.com/47274144/52946341-1733bb80-3374-11e9-873b-1bb33d18456c.png)\n\n## Notes\n\n### MQTT \nAs MQTT is used, it is possible to subscribe or publish to the Tinkerforge Master Brick or Bricklets or Domoticz topics.   \nThe payload has to be parsed with JSON. See the examples B4J \u0026 Lazarus MQTT client.  \nTo obtain information send from the Tinkerforge Bricklets subscribe to the Topics:  \n```\nweathercubeone/airpressure, weathercubeone/timestamp, weathercubeone/temperature or weathercubeone/humidity.\n```\nTo trigger an action on the WeatherCubeOne, following Topics can be published:\n```\nweathercubeone/backlighton, weathercubeone/backlightoff, weathercubeone/clear, weathercubeone/copyright, weathercubeone/close, weathercubeone/shutdown.\n```\nAny MQTT can be used to do so.\nTo note is that there are additional topics possible to direct subscribe or publish to the TinkerForge Master Brick or Bricklets.  \nThe same applies for Domoticz. To use these JSON is required. To read more see the references listed below.\n\n### Autostart Tinkerforge MQTT Broker and B4J weathercubeone jar application\nAutostart on the Raspberry Pi the Tinkerforge MQTT Broker and B4J weathercubeone.jar application\nAdd to /etc/rc.local:\n```\n  #TinkerForge Brick MQTT Proxy\n  cd /home/pi/tinkerforge/mqtt \n  #\n  #python brick-mqtt-proxy.py\u0026\n  #Default interval is 3 seconds, change to 1 min by setting to 60\n  python brick-mqtt-proxy.py --update-interval 60 \u0026\n  printf \"TinkerForge Brick MQTT Proxy started\"\n\n  # WeatherCubeOne\n  cd /home/pi/weathercubeone\n  /usr/bin/java -jar weathercubeone.jar \u0026\n\n  exit 0\n```\n\n### Domoticz Switch showing Copyright\n#### Create an executable script\nlogin as: pi\n```\ncd /home/pi/weathercubeone\nsudo nano script_copyright\n```\nContent of the Script:\n```\n#!/bin/bash\n# Script to show copyright message on weathercubeone\necho \"WeatherCubeOne show copyright...\"\nmosquitto_pub -h localhost -t weathercubeone/copyright -m \"\"\n```\nMake the Script executable.\n```\nsudo chmod 755 script_copyright\n```\n\n#### Create a Switch in Domoticz\nTo show the copyright on the LCD display, create a new Virtual Switch (Dummy hardware).\nEdit the Switch widget and define as action:\n```\nscript:///home/pi/weathercubeone/script_copyright\n```\n\n#### Subscribe to all Topics\nlogin as: pi\n$mosquitto_sub -h weathercubeone-ip-address -t weathercubeone/#\n\n## Source Code\nThe source code and required libraries can be found in archive __weathercubeone2.zip__.  \nThe code is well documented.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwbl%2Fmake-weathercubetwo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frwbl%2Fmake-weathercubetwo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwbl%2Fmake-weathercubetwo/lists"}