I used ESP32-C3 super mini. I managed to solve the problem from point 1). When trying to start communication, duplicate entities with the same entity name and with the index “”_2" at the end of the name appeared in HA. I deleted all entities in the HA database and re-read the ESP32 module to HA. After this procedure, the states in HA are refreshed.
I still have to solve the problem from point 2). I cannot set the temperature for heating, because there is a limit of max +5 degrees. I have set the water temperature control, not the heating curve correction.
To be completely happy, I would also like to build a climate entity separately for heating and for DHW from the read entities, this is how it was done in the application that cooperated with the cloud.
So probably an ADUM-1201 will help.
I have ordered one today and will try when it arrives.
Hopefully it will help.
Regarding your problem with the heating temperature:
Can you please tell me which “set…” entity this is?
You can also get more information to each set topic on the Heishamon GitHub page.
To be able to set direct values TOP76 (Heating Mode) must have the value “direct”.
Regarding the climate entity:
I didn’t had the time to create the climate entity yet. But I will try.
Meanwhile you can try creating your own climate entity with Bang Bang Climate Controller.
The temperature setting is in " - platform:panasonic_heatpump; set5: name: “Set Z1 Heat Request Temperature”.
From Top 76 you are right, I have it set to “direct”
For now I have downloaded the library and I am using it locally. In the files I changed the range to from -5st to 5st to 20st to 60st and temporarily managed to set it.
As for the climate entity I tried to make it “climate: thermostat” but I don’t know why, after posting such a line the ESP32 hangs completely and loses communication via WiFi. To unblock it you have to remove the climate:thermostat line and reload the program via USB. Currently I am trying to create the climate: template entity in Home Assistant but I have huge problems with synchronizing it. After switching on from the climate switch card “heatpump_set_heatpump” turns on for a moment and then turns off again automatically. There is also a problem with tracking the current mode
Ok I will try to change the min/max values of number entity “set5” and “set6” depending on the text sensor entity “top76”. Same also for “set7” and “set8” which shall depend on “top81”.
In the last days I also experimented with the ADUM1201 Dual Channel Digital Magnetic Isolator. So far it worked quite well und runs very stable. Here my wiring:
While testing I realized that my ESP32-C3-mini has very bad WiFi issues. If I connect all pins to e.g. a breadboard it can almost not connect over WiFi. But if I connect only one have of the pins (do not connect GPIO5 to GPIO21) it’s working much better.
Now I will try the ESP32-C3 SuperMini Antenna Mod. Hopefully it will fix this problem.
But for the future I would recommend to use an other board e.g. the Wemos S2 mini. It should not have these WiFi issues.
Hi @dabi,
It was quite tricky to change the min/max values of a number entity. Apparently home assistant sets the number limits only once if the esp controller connects to home assistant. After it is connected limit changes will not be displayed in home assistant even if this is possible in esphome.
Luckily I found a solution from an other esphome repository. If a number limit must be changed after the esp controller is connected to home assistant, the esp controller will now do a reboot and on the next startup the number limits should be displayed correct.
Currently the changes are implemented on the dev branch.
To test it you must simply change the branch in your yaml file:
Thank you, ELVit, for your work. I found some time today, so I decided to test the new repository. Unfortunately, after placing the link above, I get a lot of errors during upload. For example: “/data/cache/platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:68:18: error: expected identifier before numeric constant”.
To fix it you have simply to uninstall and then reinstall your EspHome addon.
If you are using a docker container you must also delete your “cache” and “data” directory of your EspHome container.
Then I could compile the yaml with the Panasonic Heatpump component.
I’m leaving this comment to thank you, @ElVit, for creating this ESPHome component. I’ve just installed it on my ESP32-C3 with a logic level shifter, and it worked out of the box. Dope AF!
I also managed to run your code @ElVit on the ESP32-C3-PRO MINI. I used the GPIO pins.
pin_rx_hp: GPIO3 #heatpump reads data (RX) on this pin (yellow)
pin_tx_hp: GPIO4 #heatpump sends data (TX) on this pin (green)
pin_tx_wm: GPIO1 #WiFi module sends data (TX) on this pin (white)
pin_rx_wm: GPIO0 #WiFi module reads data (RX) on this pin (blue)
I had to change GPIO1 FROM GPO0.
I use scheme from your last post. All works perfect.
You can create an issue on HeishaMon Github and ask for the pinout/schematics.
But it should also be possible to get the pinout from the HeishaMon.ino file.