Open Pampasgras opened 2 years ago
Did you try to set a temperature? I assume it will also change temp in 0.1 steps now which the api does not support. Can you please check?
The thermostat target temperature always changes in steps of 0.5°C, both with the PRECISION_WHOLE and PRECISION_TENTHS configuration. My vicare app allows only whole target temperatures, but setting a target temperature to 20,5°C in lovelace thermostat for example results in 20°C in my vicare app. (and will reflect back as 20°C in my thermostat setting within a minute) No errors are generated in my logfiles when I specify 20,5°C using the thermostat.
I also tried using Service climate.set_temperature with setting 21,9°C, no errors are generated and target temperature in vicare changes to 21°C
(My vicare app supports tenth precision for current_temperature and whole precision for target temperatures)
This is thightly connected to https://github.com/home-assistant/core/issues/64282 I just found out that HA supports different precisions for current and target temperature. I'll create a PR to test it out a bit.
Please see https://github.com/oischinger/ha_vicare/pull/88 This is a proposal which should resolve the current problems but as a result it will only allow whole precision when setting the temperature.
I've just noticed that the same applies to the water_heater entity. The API returns current temperature value with .1 precision but the entity config is defined as PRECISION_WHOLE. Could we also separate the target temperature precision from current temperature for water_heater?
Btw, I've just tested and adjusting water_heater.py in exactly the same way works :)
Just a small observation after several hour with the decimals for current room and water heater temperature. Although the room temperature seems to be updated pretty ok, with recorded entry for every 0.1 degree change the water heater is not getting updates every 0.1 see below graph for water_heater: and for comparison the climate entity one: In theory on the first graph the new value should be coming after every 0.1 change or at least in 1 minute intervals - this is not the case, overnight the temp was droping every 1 degree and the interval was almost 1 hour. Is that someting in the design of the integration or PyViCare modules?
The climate.pyvicare_heating entity is showing:
I want my lovelace thermostat to show 20.6 (not 21)
current_temperature & room_temperature are set in climate.py (line 188) to the same value
I have to change
PRECISION_WHOLE
toPRECISION_TENTHS
in climate.py (line 26)from homeassistant.const import ATTR_TEMPERATURE, PRECISION_WHOLE, TEMP_CELSIUS
and climate.py (line 309)When I do that, I can see the current_temperature in my thermostat with tenth precision: (also resulting in nicer history graphs)
Is there a reason for using PRECISION_WHOLE and not PRECISION_TENTHS?