home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.65k stars 30.79k forks source link

Z2M - Centralite 3157100 - Incorrect Celcius-Farenheit Conversion - local_temperature_calibration #129341

Open martyg77 opened 2 weeks ago

martyg77 commented 2 weeks ago

The problem

I have a Centralite 3157100-E on my network.

I observe the following message in my HA logs about every 3 minutes: 2023-10-25 11:23:50.683 ERROR (MainThread) [homeassistant.components.mqtt.number] Invalid value for number.furnace_local_temperature_calibration: 0 (range 27.5 - 36.5)

MQTT has these limits correctly populated as -2.5..+2.5 (Temperature offset) HA treats the MQTT data as absolute temperatures, converting min = -2.5C = 27.5F; max = +2.5C = 36.5F

HA code should not be blindly converting C->F for these offsets Correct conversion in this case should be -4.5..+4.5F

More details in my original bug reports https://github.com/home-assistant/core/issues/102880 https://github.com/home-assistant/core/issues/119031

What version of Home Assistant Core has the issue?

reported 2024.5.5, still present in current builds

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

No response

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 2 weeks ago

Hey there @emontnemery, @jbouwh, @bdraco, mind taking a look at this issue as it has been labeled with an integration (mqtt) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `mqtt` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign mqtt` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


mqtt documentation mqtt source (message by IssueLinks)

jbouwh commented 1 week ago

Can you supply more information about the MQTT configuration payload, and the state update. Especially a state update that causes the error.

Note that the conversion between Celcius and Fahrenheit is something outside of MQTT.

martyg77 commented 5 days ago

I spent some time digging into this earlier this year: please review https://github.com/home-assistant/core/issues/102880#issuecomment-1793506999

I am trying to isolate the setup code that sets up entity number.local_temperature_calibration

I agree this is likely not a MQTT or Z2M issue. Would you mind rerouting to the people that own this part?

Can you point me in the right direction in the code? I keep going in circles whenver I try to reverse-engineer this.

Thank you for your help, and have a great day.

jbouwh commented 5 days ago

You can open a ticket here: https://github.com/Koenkk/zigbee2mqtt/issues/new/choose

jbouwh commented 5 days ago

I suggest closing this issue here.