Closed mwitkow closed 9 months ago
Hello, I don't intend to change this on 5.3.3. I will have a look (but because I have many automated test, I'm pretty sure it is working as in 5.2.2).
There is mecanisms to avoid infinite loops, so if you change the temp just after VTherm have change the target, it may not works (10 sec). Please give another try and ensure VTherm doesn't change the target temp just before.
Else, have you try to have a look on the logs ?
You should have some clear logs that says the device temperature changes. Can you give me these logs please ? (around the time you change on the TRV).
Ok so this time the versatile thermostat stayed the course and later on overwritten the underlying thermostat's temperature.
Jan 22 20:28:41 cerberus docker[1678]: 2024-01-22 20:28:41.874 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:28:41 cerberus docker[1678]: 2024-01-22 20:28:41.886 WARNING (MainThread) [custom_components.versatile_thermostat.binary_sensor] VersatileThermostat-Central boiler - the entities to calculate the boiler state are not initialized. Boiler state cannot be calculated
Jan 22 20:28:41 cerberus docker[1678]: 2024-01-22 20:28:41.908 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:28:41 cerberus docker[1678]: 2024-01-22 20:28:41.909 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
Jan 22 20:28:41 cerberus docker[1678]: 2024-01-22 20:28:41.909 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - period (0.0) min is < 5 min -> forget the regulation send
Jan 22 20:28:41 cerberus docker[1678]: 2024-01-22 20:28:41.913 INFO (MainThread) [homeassistant.components.light] Setting up light.template
Jan 22 20:29:11 cerberus docker[1678]: 2024-01-22 20:29:11.835 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:29:37 cerberus docker[1678]: 2024-01-22 20:29:37.812 INFO (MainThread) [deebot_client.command] Device is offline. Could not execute command "getBattery"
Jan 22 20:29:41 cerberus docker[1678]: 2024-01-22 20:29:41.837 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:30:09 cerberus docker[1678]: 2024-01-22 20:30:09.296 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:09 cerberus docker[1678]: 2024-01-22 20:30:09.593 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:10 cerberus docker[1678]: 2024-01-22 20:30:10.286 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:10 cerberus docker[1678]: 2024-01-22 20:30:10.595 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:11 cerberus docker[1678]: 2024-01-22 20:30:11.193 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:11 cerberus docker[1678]: 2024-01-22 20:30:11.839 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:30:11 cerberus docker[1678]: 2024-01-22 20:30:11.992 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:12 cerberus docker[1678]: 2024-01-22 20:30:12.789 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:13 cerberus docker[1678]: 2024-01-22 20:30:13.988 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:30:17 cerberus docker[1678]: 2024-01-22 20:30:17.992 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:30:18 cerberus docker[1678]: 2024-01-22 20:30:17.995 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:30:18 cerberus docker[1678]: 2024-01-22 20:30:17.996 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
Jan 22 20:30:18 cerberus docker[1678]: 2024-01-22 20:30:17.997 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - period (1.6) min is < 5 min -> forget the regulation send
Jan 22 20:30:38 cerberus docker[1678]: 2024-01-22 20:30:38.130 INFO (MainThread) [deebot_client.command] Device is offline. Could not execute command "getBattery"
Jan 22 20:30:41 cerberus docker[1678]: 2024-01-22 20:30:41.841 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:31:11 cerberus docker[1678]: 2024-01-22 20:31:11.844 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:31:38 cerberus docker[1678]: 2024-01-22 20:31:38.283 INFO (MainThread) [deebot_client.command] Device is offline. Could not execute command "getBattery"
Jan 22 20:31:41 cerberus docker[1678]: 2024-01-22 20:31:41.846 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:32:11 cerberus docker[1678]: 2024-01-22 20:32:11.848 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:32:38 cerberus docker[1678]: 2024-01-22 20:32:38.411 INFO (MainThread) [deebot_client.command] Device is offline. Could not execute command "getBattery"
Jan 22 20:32:41 cerberus docker[1678]: 2024-01-22 20:32:41.851 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:33:11 cerberus docker[1678]: 2024-01-22 20:33:11.853 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:33:16 cerberus docker[1678]: 2024-01-22 20:33:16.402 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:33:16 cerberus docker[1678]: 2024-01-22 20:33:16.404 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:33:16 cerberus docker[1678]: 2024-01-22 20:33:16.405 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
Jan 22 20:33:16 cerberus docker[1678]: 2024-01-22 20:33:16.406 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - period (4.6) min is < 5 min -> forget the regulation send
Jan 22 20:33:38 cerberus docker[1678]: 2024-01-22 20:33:38.564 INFO (MainThread) [deebot_client.command] Device is offline. Could not execute command "getBattery"
Jan 22 20:33:41 cerberus docker[1678]: 2024-01-22 20:33:41.856 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:33:41 cerberus docker[1678]: 2024-01-22 20:33:41.877 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:33:41 cerberus docker[1678]: 2024-01-22 20:33:41.878 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
Jan 22 20:33:41 cerberus docker[1678]: 2024-01-22 20:33:41.879 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - regulation calculation will be done
Jan 22 20:33:41 cerberus docker[1678]: 2024-01-22 20:33:41.879 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Regulated temp have changed to 24.5. Resend it to underlyings
Jan 22 20:33:41 cerberus docker[1678]: 2024-01-22 20:33:41.921 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Underlying climate climate.office_thermostat changed. Event.new_hvac_mode is heat, current_hvac_mode=heat, new_hvac_action=None, old_hvac_action=None
Jan 22 20:34:11 cerberus docker[1678]: 2024-01-22 20:34:11.858 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:34:16 cerberus docker[1678]: 2024-01-22 20:34:16.602 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:34:16 cerberus docker[1678]: 2024-01-22 20:34:16.605 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:34:16 cerberus docker[1678]: 2024-01-22 20:34:16.606 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
Jan 22 20:34:16 cerberus docker[1678]: 2024-01-22 20:34:16.607 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - period (0.6) min is < 5 min -> forget the regulation send
Jan 22 20:34:38 cerberus docker[1678]: 2024-01-22 20:34:38.706 INFO (MainThread) [deebot_client.command] Device is offline. Could not execute command "getBattery"
Jan 22 20:34:41 cerberus docker[1678]: 2024-01-22 20:34:41.860 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Jan 22 20:35:08 cerberus docker[1678]: 2024-01-22 20:35:08.751 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:35:08 cerberus docker[1678]: 2024-01-22 20:35:08.753 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Versatile Office Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
Jan 22 20:35:08 cerberus docker[1678]: 2024-01-22 20:35:08.755 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
Jan 22 20:35:08 cerberus docker[1678]: 2024-01-22 20:35:08.755 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Versatile Office Thermostat - period (1.4) min is < 5 min -> forget the regulation send
Jan 22 20:35:11 cerberus docker[1678]: 2024-01-22 20:35:11.862 ERROR (MainThread) [async_upnp_client.ssdp] Received error: [Errno 126] Required key not available, transport: <_SelectorDatagramTransport fd=98 read=polling write=<idle, bufsize=0>>, socket: <asyncio.TransportSocket fd=98, family=2, type=2, proto=0, laddr=('0.0.0.0', 43368)>
Still, that actually makes the manual adjustment impossible to use :(
@mwitkow you have the self-regulation activated. So the VT will send regularly a new target set-point. This is the way the self-regulation works.
You cannot have two source of truth: the VT with self-regulation and the TRV itself. This cannot works by principle.
With your TRV have you a number
entity which allow to set directly the valve open percent (and by passing all internal regulation mecanism) ?
Sadly, no it doesn't have a valve percent control.
I understand it makes the algorithm significantly more complicated to be able to take the on-device changes into account. Is there no other way to read the manually set state?
The only way is to de-activate the self-regulation. Then the TRV will display the VTherm target temp. But you will loose the self-regulation algorithm. This can be an issue if the internal regulation of your TRV is bad (or its internal temp sensor is mostly wrong).
Feel free to reopen if you think the answer is not accurante.
Version of the custom_component
5.3.3
Configuration
My VTherm attributes are the following:
Underylying climate entity (MQTT TVR):
If it is releveant to regulation performance or optimisation some curves are needed
To have a great curves demonstrating what you think is a problem, please install and configure what is described here: Even better with Plotly to tune your Thermostat Regulation STrong
Describe the bug
I have a MQTT TVR connected underlying a Climate-backed VTherm. Previously in
5.2.2
I could change the setting on the underlying thermostat's physical buttons and it would get reflected in the VTherm setting. With5.3.3
not anymore.Here's
I'm trying to: Change the Vtherm setting by using physical buttons to adjust VTherm setting.
And I expect: Minimum: be able to adjust temperature up/down with physical button, but see the target temperature on the underlying thermostat Ideal: be able to adjust the temperature up/down with physical buttons but see the VTherm target temperature.
But I observe this .... I see the target temperature of the underlying thermostat change, but not the VTherm thermostat.
VTherm value doesn't get updated.
Note: this changed since 5.2.2 because it worked then (not always, but most times).
I read the documentation on the README.md file and I don't find any relevant information about this issue.
Note: Better Thermostat actually used the
number.office_thermostat_local_temperature_calibration
to make the display of the TRV match the target temp of Better thermostat.=