arthurrump / esphome-opentherm

Create your own smart modulating thermostat using the OpenTherm component for ESPHome
BSD 2-Clause "Simplified" License
69 stars 37 forks source link

Received invalid OpenTherm response #18

Open mutasim opened 1 year ago

mutasim commented 1 year ago

Managed to compile and install this integration. The I get the following error as a loop:

[06:04:48][W][opentherm:195]: Received invalid OpenTherm response: 0, status=3
[06:04:48][D][opentherm:159]: Building TSet write request
[06:04:48][D][opentherm:251]: Sent OpenTherm request: ffffffff

Any thoughts?

cadavre commented 10 months ago

Nothing to worry about. When boiler doesn't support a option and you configure it to be output – you'll get that kind of response.

olegtarasov commented 10 months ago

Hi! Stumbled at this issue and decided to share my findings in case someone has a similar problem.

I too have intermittent OpenTherm errors mostly with status=3. From what I gathered from Ihor Melnik's library, which is used here as communication layer, status=3 means that response from boiler was received, but it took longer than 1 second as demanded per OpenTherm specification.

For me this problem occurs when I enable Dallas temperature sensors in my ESPHome config. Looks like they take a relatively long time to poll and MCU gets blocked until polling is finished. This stops OpenTherm library from processing the response in time and leads to an error. Additionally, my boiler also sometimes treats this as an error, but fortunately recovers in a matter of 1 or 2 seconds.

This is not confirmed with rigorous debugging, but when I turn off Dallas sensors in my config and leave only OpenTherm, all errors magically disappear.

I don't know whether I'm going to do anything about these errors, since they don't seem to affect boiler operation — OpenTherm sends all final values back and forth all the time, so a sporadic error is not critical from protocol viewpoint. The only course of action I can think of is refactoring OpenTherm communication into a separate ESP32 device and communicating with main ESP32 thermostat asynchronously using SPI or some such. But at this point this seems like hell of an overkill, and I'm probably going to just ignore these warnings.

esys4u commented 9 months ago

What if my boiler Termet EcoCondens Silver is getting " Received invalid OpenTherm response: 0, status=3 " for all sensors ? It