Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update climate.py #27

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

rovingclimber
Copy link

Updated references to constants deprecated in v2025 as component no longer loads once you upgrade HA core >2025

Updated references to constants deprecated in v2025
@Nermal
Copy link

Nermal commented Jan 7, 2025

thanks for this - I'm experiencing the same issue since upgrading

return HVACAction.IDLE
if self._target_temperature < self._current_temperature:
return HVACAction.IDLE
return HVACAction.HEATING
Copy link

@ric355 ric355 Feb 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm curious as to why this change has been made as part of this pull request. It actually changes the behaviour of the component. After this change, the heating status depends on the current temperature relative to the target temperature, which on the face of it you might think is OK. But the problem is that the Salus device has a hysteresis (mine is 0.3c).

Here's an example:
Current room temperature 18.5c
Target temperature 18.0c
Heating off

Here, assuming the heating stays off, the room temperature will fall. When room temperature hits 18.0 the HVAC action will switch to HVACAction.HEATING with your code. But in fact at this point the Salus device will not actually turn on the boiler. It will only do that when the room temperature hits 17.7c due to the 0.3c hysteresis.

The effect of this change is that the history chart is "wrong". It shows the heating as coming on as soon as the room temperature descends to the target temperature. So the heating shows as being on for a longer period than it actually was.

The original code is correct; the boiler status comes from the _status varible being ON (originates from CH1heatOnOffStatus in the Salus web service response).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants