cyberjunky / home-assistant-toon_boilerstatus

This component reads and displays the boiler status values from a rooted Toon thermostat.
MIT License
11 stars 4 forks source link

Toon Boiler Modulation value unknown #14

Closed bwestrek closed 2 years ago

bwestrek commented 2 years ago

Since installing HA core-2021.12.7, the senstor for the Toon Boiler Modulation is no longer working. It keeps indicating the value "unknown".

bwestrek commented 2 years ago

Debug log:

2021-12-30 17:23:35 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '30-12-2021 17:23:00', 'boilerSetpoint': 31.72, 'roomTempSetpoint': 20, 'boilerPressure': 1.69, 'roomTemp': 20.19, 'boilerOutTemp': 28.69, 'boilerInTemp': 28.5, 'boilerModulationLevel': 0} 2021-12-30 17:23:35 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 31.72 2021-12-30 17:23:40 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 31.72 2021-12-30 17:23:40 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerintemp State: 28.5 2021-12-30 17:23:40 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerouttemp State: 28.69 2021-12-30 17:23:40 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.69 2021-12-30 17:23:40 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: None 2021-12-30 17:23:40 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.19 2021-12-30 17:23:40 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 20.0 2021-12-30 17:23:45 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerintemp State: 28.5 2021-12-30 17:23:45 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerouttemp State: 28.69 2021-12-30 17:23:45 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.69 2021-12-30 17:23:45 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: None 2021-12-30 17:23:45 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.19 2021-12-30 17:23:45 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 20.0

cyberjunky commented 2 years ago

Hi thanks for reporting, I just checked, and it's working for me with latest HA version.

If you still have the issue can you open your webbrowser to http://IPofyourToon/boilerstatus/boilervalues.txt And see what you get?

bwestrek commented 2 years ago

@cyberjunky Thank you for your response. The issue has been resolved after I reinstalled the integration. What went wrong with updating to the latest version in unclear.

TimelessNL commented 2 years ago

I'm also having this issue (kinda), when Toon is set to heating the boiler modulation works. But when it is not heating the value does not change so it either stays unknown (after fresh install) or it's last modulation level when toon was heating.

cyberjunky commented 2 years ago

I guess this is due the fact that there is no modulation (no flame) so there is no value shown by Toon? Can you check this output from a browser? http://yourtoonip/boilerstatus/boilervalues.txt

TimelessNL commented 2 years ago

I don't think that's the case, modulation is always returned in the API response independent of the heating state. I used the RESTful Sensor before and that worked fine. But recently I discovered your great integration so I wanted to try it out. As a side node, I'm still running a Toon firmware with boiler temp in/out support.

This is the RESTful integration:

sensor:
  - platform: rest
    name: boiler
    resource: 'http://toon.lan:10080/boilerstatus/boilervalues.txt'
    value_template: "{{ value_json.boilerModulationLevel | round(0, none) }}"
    scan_interval: 60
    unit_of_measurement: '%'
    json_attributes:
      - "sampleTime"
      - "boilerSetpoint"
      - "roomTempSetpoint"
      - "boilerPressure"
      - "roomTemp"
      - "boilerOutTemp"
      - "boilerInTemp"
      - "boilerModulationLevel"

Which gave me the following readings this morning: (don't mind the boiler pressure, this boiler does not feature a pressure sensor) afbeelding

Yet home-assistant-toon_boilerstatus gave me these readings: afbeelding

As you can see home-assistant-toon_boilerstatus does only update when Toon is heating and stays 31% while it should have been 0%, in the RESTful sensor integration the value is still received when Toon is inactive and as seen in the attributes it is also actively sending 0 as it is suppose to. I've not looked at the code yet but maybe the input checking does not allow a 0 value? In my case there is a small delay when Toon stops calling for heat and when the boiler is actually switching off.

Ysbrand commented 2 years ago

I guess this is related:

image

But toon is reporting 0%: { "sampleTime": "19-01-2022 07:58:00", "boilerSetpoint": 35, "roomTempSetpoint": 18.5, "boilerPressure": 0, "roomTemp": 18.61, "boilerOutTemp": null, "boilerInTemp": null, "boilerModulationLevel": 0 }

itguy013 commented 2 years ago

Same problem here. Is the only solution to reinstall het hacs integration? 2022-01-25 09_53_52-Home Assistant - Overzicht - Home Assistant

cyberjunky commented 2 years ago

@itguy013 which hacs version do you mean? it's the same as this repo as far as this integration is concerned. This code is very very simple, I don't see why it shouldn't update the modulation other than that HA is stopping pulling all data when Climate mode is off or something basic like that. Are the rest of the Toon values up-to-date when this happens, or are they also old?

itguy013 commented 2 years ago

@cyberjunky Running version 1.19.3 of hacs Didn't checked if the boiler integration on the toon itselfs does pull data or that the same problem is also on the toon itself. Other values like Boiler InTemp/OutTemp/Setpoint/RoomTemp/Pressure are working and are up-to-date.

I will let you know what i see on the toon itself

cyberjunky commented 2 years ago

@itguy013 Enable debug and look for the json data returned by the Toon...as I said the code is very basic and simple, we must be able to find the source of the issue...

rickbuis commented 2 years ago

@cyberjunky Hi, I have the same issue that a boilerModulationLevel of 0 is not handled properly and leads to an 'Unknown'. This is my debug logging. I hope this helps.

2022-02-02 10:45:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:45:00', 'boilerSetpoint': 43.99, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.93, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 0} 2022-02-02 10:45:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 43.99 2022-02-02 10:45:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:45:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: None 2022-02-02 10:45:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.93 2022-02-02 10:45:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:45:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:46:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 12} 2022-02-02 10:45:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:46:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:46:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:46:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:46:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:46:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:46:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 12} 2022-02-02 10:46:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:46:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:46:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:46:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:46:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:46:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:46:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 12} 2022-02-02 10:46:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:46:21 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:46:21 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:46:21 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:46:21 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:46:21 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:46:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 12} 2022-02-02 10:46:21 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:46:31 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:46:31 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:46:31 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:46:31 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:46:31 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:46:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 12} 2022-02-02 10:46:31 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:46:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:46:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:46:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:46:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:46:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:46:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 12} 2022-02-02 10:46:41 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:46:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:46:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:46:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:46:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:46:51 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:47:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:47:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:47:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:47:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:47:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:47:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 0} 2022-02-02 10:47:01 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15 2022-02-02 10:47:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilerpressure State: 1.59 2022-02-02 10:47:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilermodulationlevel State: 12.0 2022-02-02 10:47:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtemp State: 20.92 2022-02-02 10:47:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: roomtempsetpoint State: 21.0 2022-02-02 10:47:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Data received from Toon: {'sampleTime': '02-02-2022 10:47:00', 'boilerSetpoint': 44.15, 'roomTempSetpoint': 21, 'boilerPressure': 1.59, 'roomTemp': 20.92, 'boilerOutTemp': None, 'boilerInTemp': None, 'boilerModulationLevel': 0} 2022-02-02 10:47:11 DEBUG (MainThread) [custom_components.toon_boilerstatus.sensor] Device: boilersetpoint State: 44.15

cyberjunky commented 2 years ago

@rickbuis thanks for the debug output, can you try version 1.0.12 and let me know?

rickbuis commented 2 years ago

@cyberjunky Yes, I will update it today and let you know the findings.

rickbuis commented 2 years ago

@cyberjunky I have installed 1.0.12 and the issue is fixed. It shows now 0,0% instead of Unknown.

cyberjunky commented 2 years ago

@rickbuis thanks, I have to implement this fix for the other values as well, since they use the same flawed method...

Ysbrand commented 2 years ago

I guess this is related:

image

But toon is reporting 0%: { "sampleTime": "19-01-2022 07:58:00", "boilerSetpoint": 35, "roomTempSetpoint": 18.5, "boilerPressure": 0, "roomTemp": 18.61, "boilerOutTemp": null, "boilerInTemp": null, "boilerModulationLevel": 0 }

Looks like the issue I did reportis fixed as well. The plugin is no longer reporting "old" values and is now in sync with the contents of boilervalues.txt.

Thanks Ron!

cyberjunky commented 2 years ago

@Ysbrand but i think BoilerPressure is reported as Unknown still right? I have uploaded the fix for that but no version release yet.

Ysbrand commented 2 years ago

Hi @cyberjunky .

Boilerpressure is not supported by my boiler, so I can't test.

Also, as a side note keep in mind that as of FW 5.39.7 boiler in/out temps are removed by Toon.