Closed Gandulf78 closed 3 weeks ago
Hello @Gandulf78
v3.3.7
Tnis is not a Versatile Thermostat release or you are very outdated. The last release is 6.6.1
homeassistant.exceptions.ServiceValidationError: not_valid_preset_mode
Is that the VTherm entityId climate.thermostat_chambre_arthur_ha
or the overkiz ?
I think you try to call the service directly ?
action: climate.set_preset_mode
target:
entity_id: climate.clim_chambre
data:
preset_mode: eco
This generate no error on my side, but the VTherm didn't change to Eco preset. It seems the action climate.set_preset_mode
is no more working on Vtherm.
OverkizCommand.SET_ACTIVE_MODE, HVAC_MODES_TO_OVERKIZ[hvac_mode]
The error message is clear. Overkiz doesn't support to be turned off (hvac_off). This will be difficult to use with VTherm then. In a general manner, Overkiz is an old and not maintained integration. It is cloud based an not reliable. I'm sorry but you will have problem if it doesn't respect a minimal specification. hvac_off is mandatory for Vtherm (window detection turns off, auto-start/stop uses also off, on/off buttons from UI will not work).
Hello @Gandulf78
v3.3.7
Tnis is not a Versatile Thermostat release or you are very outdated. The last release is 6.6.1
Sorry, it is 6.6.1.
homeassistant.exceptions.ServiceValidationError: not_valid_preset_mode
Is that the VTherm entityId
climate.thermostat_chambre_arthur_ha
or the overkiz ?
It is the Therm entityId, the underlying overkiz / Somfy heater is climate.thermostat_chambre_arthur.
I think you try to call the service directly ?
action: climate.set_preset_mode target: entity_id: climate.clim_chambre data: preset_mode: eco
No but I need to dig into it.
This generate no error on my side, but the VTherm didn't change to Eco preset. It seems the action
climate.set_preset_mode
is no more working on Vtherm.OverkizCommand.SET_ACTIVE_MODE, HVAC_MODES_TO_OVERKIZ[hvac_mode]
The error message is clear. Overkiz doesn't support to be turned off (hvac_off). This will be difficult to use with VTherm then. In a general manner, Overkiz is an old and not maintained integration. It is cloud based an not reliable. I'm sorry but you will have problem if it doesn't respect a minimal specification. hvac_off is mandatory for Vtherm (window detection turns off, auto-start/stop uses also off, on/off buttons from UI will not work).
I disagree. Overkiz is still maintained and part of HA core. It is the only way I know of to integrate the Somfy ecosystem (Tahoma bridge) to Home Assistant. Somfy is a big player in France and in the world. I have also created an Overkiz ticket because I was not sure of the root cause of my issue (https://github.com/home-assistant/core/issues/130102). Btw I didn't try to shut off the Overkiz thermostat just reducing the temperature with Scheduler so I don't understand well why it failed. I agree that Overkiz / Somfy is cloud based (even though there's a Somfy local API but unfortunately it is not working for climate so far). Regarding the minimum specifications of Versatile Thermostat, the window detection is only optional and could easily be handle by reducing the temperature. I don't actually mind to not be able to shut off the thermostat from UI (I removed the button from the UI). I love the principle of your integration allowing to easily reduce the temperature by taking into account the presence detection. Could you please consider to propose workarounds for this Somfy case ? I can help testing if needed of course. Thank you.
Hello @Gandulf78 ,
I will fix the set_preset_mode action which is not working in VTherm but of course, I cannot fix the Overkiz which don't implement the HVAC_OFF. So I don't know exactly how VTherm will behave without it but you will have to try and don't use feature that can turn-off/on the VTherm.
For my knowledge how do you turn off your heaters if there is no HVAC_OFF supported ?
Thanks a lot for this. I can turn off my radiators and thermostat from Tahoma app. It is a shame that the Overkiz integration is incomplete.
Finally after some tests it is working fine:
Can you please do exactly the same steps and see if it works ?
Note: I am with the 6.6.3.beta release at home.
Hi. So i installed the 6.6.3.beta1.
First mode confort (14h01):
Then select mode eco (14h05):
error message in the logs at the same time: 2024-11-10 14:05:44.381 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall climate.set_temperature (c:01JCB2WADWS4V7ZWP9HRP2NXVZ): entity_id=['climate.hy_prog_therm'], temperature=18.0> Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/homeassistant/core.py", line 2822, in _run_service_call_catch_exceptions await coro_or_task File "/usr/local/lib/python3.12/site-packages/homeassistant/core.py", line 2845, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/homeassistant/helpers/service.py", line 1007, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/homeassistant/helpers/service.py", line 1079, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/homeassistant/components/climate/init.py", line 1029, in async_service_temperature_set await entity.async_set_temperature(**kwargs) File "/usr/local/lib/python3.12/site-packages/homeassistant/components/overkiz/climate/somfy_heating_temperature_interface.py", line 185, in async_set_temperature SETPOINT_MODE_TO_OVERKIZ_COMMAND[mode.value_as_str], temperature
KeyError: 'free'
Reselect comfort mode:
<img width="1678" alt="Capture d’écran 2024-11-10 à 14 06 17" src="https://github.com/user-attachments/assets/b4cd81e3-b814-4d0d-8c51-a4b3f4b0d2a5">
<img width="1678" alt="Capture d’écran 2024-11-10 à 14 06 27" src="https://github.com/user-attachments/assets/74104f92-ef23-456e-8403-f011f68006e4">
No error message.
I also noticed the suspicious transitions at 13h01 (no activity on my side) in the logs:
<img width="2048" alt="Capture d’écran 2024-11-10 à 14 12 31" src="https://github.com/user-attachments/assets/6544da34-01bf-431b-a62e-93445ea09a9a">
<img width="1678" alt="Capture d’écran 2024-11-10 à 14 15 16" src="https://github.com/user-attachments/assets/ee7482a5-d15b-4594-8168-da1daa4a4d03">
I am wondering if it is HomeKit which is triggering these events. I will remove the Climate from Homebridge to see what happens.
After removing Climate from Homebridge and restarting HA, I have so far only the following error messages (climate.hy_prog_therm is my underlying Overkiz central thermostat, climate.thermostat_central_ha is my Versatile thermostat scheduled by Scheduler): home-assistant_2024-11-10T13-54-13.653Z.log
According to the scheduler, at this time the Versatile Thermostat should be in "comfort" preset.
Instead of doing screen copy, you just have to select the VTherm and copy/past all attributes in the top window. You paste it and put the <> to indicate this is code. This is much more efficient.
2024-11-10 14:05:44.381 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall climate.set_temperature (c:01JCB2WADWS4V7ZWP9HRP2NXVZ): entity_id=['climate.hy_prog_therm'], temperature=18.0>
this indicates that VTherm was not able to change the target temperature on the Overkiz thermostat.
So sad for you, you cannot stop the thermostat and you cannot change the temperature also.
I will close this issue because, there is nothing I can do for you. This system is not compatible.
Sorry but usually (99% of the time) it works and Versatile Thermostat is able to change the target temperature. Maybe it is because it is an initialization issue (underlying not ready).
ok that is possible indeed. That could be the case with cloud based integration. If the cloud is not available at restart, you could have this error.
I can suggest two things anymway:
I am curious about this part in the logs which seems to be directly related to Versatile Thermostat (comfort mode not valid?):
2024-11-10 14:22:16.948 WARNING (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat central HA - don't send regulated temperature cause VTherm target_temp (None) is None. This should be a temporary warning message. 2024-11-10 14:22:16.953 WARNING (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Chambre Arthur - don't send regulated temperature cause VTherm target_temp (None) is None. This should be a temporary warning message. 2024-11-10 14:22:16.955 WARNING (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Thermostat central HA - don't send regulated temperature cause VTherm target_temp (None) is None. This should be a temporary warning message. 2024-11-10 14:22:17.065 WARNING (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Chambre Arthur - don't send regulated temperature cause VTherm target_temp (None) is None. This should be a temporary warning message. 2024-11-10 14:22:17.067 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall climate.set_preset_mode (c:01JCB3TKVB700VTV7BS16H50SK): preset_mode=comfort, entity_id=['climate.thermostat_central_ha']> Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/homeassistant/core.py", line 2822, in _run_service_call_catch_exceptions await coro_or_task File "/usr/local/lib/python3.12/site-packages/homeassistant/core.py", line 2845, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/homeassistant/helpers/service.py", line 1007, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/homeassistant/helpers/service.py", line 1079, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/homeassistant/components/climate/init.py", line 799, in async_handle_set_preset_mode_service self._valid_mode_or_raise("preset", preset_mode, self.preset_modes) File "/usr/local/lib/python3.12/site-packages/homeassistant/components/climate/init.py", line 727, in _valid_mode_or_raise raise ServiceValidationError( homeassistant.exceptions.ServiceValidationError: not_valid_preset_mode
ok that is possible indeed. That could be the case with cloud based integration. If the cloud is not available at restart, you could have this error.
I can suggest two things anymway:
- remove all electronics of your heater and simply control it via a switch (example: AQARA T1, Sonoff Zigbee module, Nodon, ...). Then you will be able to work directly without any cloud with HA and VTherm. That is what I have done 2 years ago, and I don't regret my choice,
- post the error messages in the community or in the core github (issues). I known there is many, many issues not resolved but you will maybe have an answer.
Actually I cannot. My main thermostat is handling a gas boiler. And my two additional "smart" electrical radiators are connected to Tahoma.
Ok finally I sorted it out. I completely removed Versatile Thermostat and use the Overkiz directly. I manage to intercept orders from the scheduler and change temperatures with automations. I only use in the scheduler the presets supported by my radiators and central thermostat. It was a lot of work but everything is working without error and so far so good. It is a shame Somfy integration is so poorly implemented. Thanks anyway to help me to figure out where the issue was.
You are welcome.
Version of the custom_component
v6.6.1
Configuration
My VTherm attributes are the following:
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
Describe the bug
I've got multiple errors on the logs related to my underlying Somfy thermostat (connected with Overkiz). It is not clear to me if the error is coming from Versatile Thermostat or Overkiz. The consequence is that sometimes the scheduler transition is missed.
I'm trying to:
And I expect:
But I observe this ....
I read the documentation on the README.md file and I don't find any relevant information about this issue.
Debug log