{"id":15486070,"url":"https://github.com/lsochanowski/goheishamon","last_synced_at":"2025-04-14T22:45:29.898Z","repository":{"id":55091882,"uuid":"246667318","full_name":"lsochanowski/GoHeishaMon","owner":"lsochanowski","description":"port of https://github.com/Egyras/HeishaMon to golang to run directly on CZ-TAW1","archived":false,"fork":false,"pushed_at":"2024-02-28T00:01:48.000Z","size":64545,"stargazers_count":58,"open_issues_count":19,"forks_count":12,"subscribers_count":17,"default_branch":"NoWebSerwerButtonsAndLED","last_synced_at":"2024-10-19T07:04:54.385Z","etag":null,"topics":["air-water","aquarea","domoticz","heating","heatpump","heishamon","home-assistant","mqtt","openhab2","panasonic","serial"],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lsochanowski.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-03-11T19:55:34.000Z","updated_at":"2024-10-14T22:32:41.000Z","dependencies_parsed_at":"2023-02-07T15:15:41.501Z","dependency_job_id":"4e133151-61b2-41ec-824c-ef2a65e36f38","html_url":"https://github.com/lsochanowski/GoHeishaMon","commit_stats":{"total_commits":204,"total_committers":8,"mean_commits":25.5,"dds":0.5588235294117647,"last_synced_commit":"735a8609c39c18bb12d34d0facd7bac240db3e22"},"previous_names":[],"tags_count":140,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsochanowski%2FGoHeishaMon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsochanowski%2FGoHeishaMon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsochanowski%2FGoHeishaMon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsochanowski%2FGoHeishaMon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsochanowski","download_url":"https://codeload.github.com/lsochanowski/GoHeishaMon/tar.gz/refs/heads/NoWebSerwerButtonsAndLED","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975296,"owners_count":21192199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["air-water","aquarea","domoticz","heating","heatpump","heishamon","home-assistant","mqtt","openhab2","panasonic","serial"],"created_at":"2024-10-02T06:06:11.044Z","updated_at":"2025-04-14T22:45:29.879Z","avatar_url":"https://github.com/lsochanowski.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CZ-TAW1/CZ-TAW1B\n\nThis project is to modify Panasonic CZ-TAW1 Firmware to send data from heat pump to MQTT instead to\nAquarea Cloud (there is some POC work proving there is a posiblity to send data concurently to\nAquarea Cloud and MQTT host using only modified CZ-TAW1 ,but it's not yet implemented in this\nproject )\n\n## This Project Contains\n\n- Main software (called GoHeishaMon) responsible for parsing data from Heat Pump - it's golang\n  implementation of project https://github.com/Egyras/HeishaMon All MQTT topics are compatible with\n  HeishaMon project: https://github.com/Egyras/HeishaMon/blob/master/MQTT-Topics.md and there are\n  two aditional topics to run command's in system runing the software but it need's another manual.\n\nGoHeishaMon can be used without the CZ-TAW1 module on every platform supported by golang\n(RaspberyPi, Windows, Linux, OpenWrt routers for example) after connecting it to Heat Pump over\nrs232-ttl interface. If you need help with this project you can try Slack of Heishamon project there\nis some people who manage this one :)\n\n- OpenWRT Image with preinstalled GoHeishaMon (and removed A2Wmain due to copyright issues)\n\nCZ-TAW1 flash memory is divided for two parts called \"sides\". During Smart Cloud update A2Wmain\nsoftware programing other side then actually it boots ,and change the side just before reboot. In\nthis way, normally in CZ-TAW1 there are two versions of firmware: actual and previous. Updating\nfirmware with GoHeishaMon we use one side , and we can very easly change the side to Smart Cloud\n(A2Wmain software) by pressing all three buttons on CZ-TAW1 when GoHeishaMon works ( middle LED will\nchange the color to RED and shortly after this it reboots to orginal SmartCloud). Unfortunatly from\nSmart Cloud software changing the side without having acces to ssh console is possible only when\nupdating other side was take place succesfully.\n\nSummary:\n\nIt is possible to go back to orginal software (A2Wmain with SmartCloud) very quick , without\npreparing pendrive ,becouse this solution don't remove firmware with A2Wmain (is still on other\n\"Side\" in the flash).\n\nEven the GoHeishaMon is on other side you can't just change the site in orginal software to\nGoHeishaMon without acces to console. You have to install GoHeishaMon again.\n\n## WiFi configuration\n\nWiFi should be configured in original firmware.\n\n### Setting up WiFi Without WPS on CZ-TAW1\n\nIn the paper instructions that come with the CZ-TAW1, there's no mention of setting up WiFi without\nWPS. However, in the PDF instructions found on the CD-ROM included with the device and various\nonline manuals, you'll find a procedure for configuring WiFi settings without using WPS.\n\n1. **Using the HTML Utility**: The CD-ROM contains a small HTML utility that simplifies the process\n   of configuring WiFi settings. This utility allows you to enter your WiFi SSID and password, which\n   it then saves in a `settings.txt` file for you.\n\n2. **USB Drive Preparation**: To proceed, insert a USB drive into your computer. We recommend using\n   an 8GB FAT32-formatted USB drive (although your mileage may vary with other configurations).\n\n3. **Create `settings.txt`**: In the utility, you'll specify your WiFi settings. The `settings.txt`\n   file should have the following content (without the quotes, and there should be a newline after\n   each key):\n\n   ```plaintext\n   SSID=YourSSIDHere\n   KEY=APasswordBetterThanThis\n   ```\n\n4. **Transfer `settings.txt`**: Save the `settings.txt` file to the root directory of your USB\n   drive.\n\n5. **WiFi Configuration**: With the `settings.txt` file on the USB drive, insert it into the\n   CZ-TAW1.\n\n6. **Configure WiFi**: To configure the WiFi settings, press and hold the WPS button on the CZ-TAW1\n   for 10 seconds. The device will read the `settings.txt` file and set up the WiFi accordingly.\n\n7. **Final Steps**: Once the WiFi configuration is complete, you can remove the USB drive and\n   install the transmitter wherever you prefer.\n\nThese steps allow you to set up your WiFi on the CZ-TAW1 without the need for WPS.\n\n## Install instructions\n\nNew hardware should use 1.0.191 to avoid problems with PL23a3 drivers.\n[Original link](https://github.com/lsochanowski/GoHeishaMon/issues/26#issuecomment-1374770882)\n\nTo install the software, follow these steps:\n\n1. Format a USB drive to FAT32 and copy the following files to it:\n\n   - `openwrt-ar71xx-generic-cus531-16M-kernel.bin`\n   - `openwrt-ar71xx-generic-cus531-16M-rootfs-squashfs.bin`\n\n2. Additionally, configure and copy the file named `GoHeishaMonConfig.new`.\n\n3. Insert the USB drive with these files into your CZ-TAW1 device.\n\n4. Press all three buttons simultaneously and hold them for more than 10 seconds. Wait until the\n   middle LED on the CZ-TAW1 begins changing colors, cycling through green, blue, and red. You may\n   also notice the LED on the USB drive blinking if it has one.\n\n5. The update process will start, and it will take approximately 3 minutes. During this time, the\n   CZ-TAW1 will reboot. After a while, you will see the middle LED light up in white.\n\n6. Do not remove the drive from the module until the white LED turns off again. This indicates that\n   the GoHeishaMon has copied the config file from the drive and rebooted the CZ-TAW1. Remove the\n   drive before the white LED turns on again, as leaving the drive with the config file present will\n   result in it being copied again and triggering another reboot.\n\n## Board Functionality: Buttons and LEDs\n\n### Buttons\n\n- **WPS Button**: This button does not have a specific function and remains inactive.\n\n- **Reset Button**: Pressing the reset button will restart the GoHeishaMon application.\n\n- **Check Button**: The check button does not trigger any specific action.\n\n- **Simultaneous Button Press**: When all buttons are pressed together, the board will switch back to its original firmware.\n\n### LEDs\n\n- **Top LED**: This LED, illuminated in green, indicates whether the operating system (OS) is currently running.\n\n- **Mid LED**: The white light emitted from this LED signifies that the GoHeishaMon application is in operation.\n\n- **Bottom LED**: When this LED is lit in green, it indicates the data pin's status, which is either low or high, for communication with the main board.\n\n## Configuration\n\n### SSH Connection\n\nssh was not working and dropbear doesn't started automatically. The solution was to start it through\nMQTT messages. Topic for sending messages: `panasonic_heat_pump/commands/OSCommand` Topic for\nreading output: `panasonic_heat_pump/commands/OSCommand/out`\n\nJust send a `/usr/sbin/dropbear`. Example:\n\n```bash\nmosquitto_pub -t \"panasonic_heat_pump/commands/OSCommand\" -m \"/usr/sbin/dropbear\" -h \u003cMQTT BROKER IP\u003e\n```\n\nFor connecting to ssh weaker algorithms are needed:\n\n```bash\nssh -oHostkeyAlgorithms=+ssh-rsa -oKexAlgorithms=+diffie-hellman-group1-sha1 root@${PANASONIC_IP}\n```\n\n### Changing hostname\n\n`/etc/config/system`\n\n```bash\nuci set system.@system[0].hostname='cz-taw1b'\nuci commit system\n/etc/init.d/system reload\n```\n\n### Fix dropbear\n\n```bash\nroot@cz-taw1b:~# cat /etc/config/dropbear\nconfig dropbear\n    option PasswordAuth 'on'\n    option RootPasswordAuth 'on'\n    option Port            '22'\n#    option BannerFile    '/etc/banner'\n```\n\nSet `~/.ssh/config`:\n\n```conf\nHost cz-taw1b\n    User root\n    PubkeyAcceptedKeyTypes +ssh-rsa\n    HostkeyAlgorithms +ssh-rsa\n    KexAlgorithms +diffie-hellman-group1-sha1\n```\n\nAdd rsa key to `/etc/dropbear/authorized_keys` or use LuCi web UI.\n\n### Configure NTP\n\nChange NTP servers to your preferred ones.\n\nScreenshot from Homeassistant: ![Screenshot from Homeassistant](PompaCieplaScreen.PNG)\n\n## TODO\n\n- queue command from a2wmain\n- flag to point to config file\n- manuals\n- tests\n\n..... more....\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsochanowski%2Fgoheishamon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsochanowski%2Fgoheishamon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsochanowski%2Fgoheishamon/lists"}