core: No such command setDerogatedTargetTemperature for AtlanticPassAPCZoneControl in Overkiz
The problem
I am unable to use the climate sensors to set the temperature. all the info are read correctly but setting the temperature throws an error.
What version of Home Assistant Core has the issue?
2023.3.4
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
Overkiz
Link to integration documentation on our website
https://www.home-assistant.io/integrations/overkiz/
Diagnostics information
overkiz-a15c7ca4773479e298c60ab34ebfbc16-Zone Control-da64fb02eb20fa578a7d2d348ed3a6a6.json (1).txt
Example YAML snippet
No response
Anything in the logs that might be useful for us?
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 613, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/usr/src/homeassistant/homeassistant/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.py", line 195, in async_set_temperature
await self.executor.async_execute_command(
File "/usr/src/homeassistant/homeassistant/components/overkiz/executor.py", line 91, in async_execute_command
exec_id = await self.coordinator.client.execute_command(
File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 151, in retry
ret = await target(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 151, in retry
ret = await target(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/pyoverkiz/client.py", line 609, in execute_command
response: str = await self.execute_commands(device_url, [command], label)
File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 151, in retry
ret = await target(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/pyoverkiz/client.py", line 637, in execute_commands
response: dict = await self.__post("exec/apply", payload)
File "/usr/local/lib/python3.10/site-packages/pyoverkiz/client.py", line 778, in __post
await self.check_response(response)
File "/usr/local/lib/python3.10/site-packages/pyoverkiz/client.py", line 837, in check_response
raise InvalidCommandException(message)
pyoverkiz.exceptions.InvalidCommandException: No such command : setDerogatedTargetTemperature on device io://0829-4914-6815/12038217#8 (io:AtlanticPassAPCZoneControlZoneComponent)
Additional information
No response
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 1
- Comments: 44 (17 by maintainers)
thank you @YomoShitsu for gathering all the data! I hope we will have an update on the Overkiz integration soon.
Hello @iMicknl, below mys tests and analyze in order to close this issue : Temperature Sensor Room : OK on Overkiz intergration Temperature set by room : OK (Time to retrieve it on home assistant : about one minute) -> “HistoryExecution(id=‘63041b94-0a1b-4481-51dd-23f1182adcc9’, event_time=1702468262807, owner=GACOMA_Production_18988, source=‘mobile:mobile’, end_time=1702468265385, effective_start_time=1702468262807, duration=2578, label=‘Atlantic iOS: 3.7.7 (62)’, type=‘Immediate execution - MANUAL_CONTROL’, state=<ExecutionState.COMPLETED: ‘COMPLETED’>, failure_type=‘NO_FAILURE’, commands=[HistoryExecutionCommand(device_url=io://--2852/3830453#2, command=‘refreshTargetTemperature’, rank=0, dynamic=False, state=<ExecutionState.COMPLETED: ‘COMPLETED’>, failure_type=‘NO_FAILURE’, parameters=[])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: ‘Immediate execution’>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: ‘MANUAL_CONTROL’>)” Works on Overkiz integration. Command seems to be : refreshTargetTemperature
1 - change temperature from Chambre extension from 20.0° to 21.0° with cozytouch app 2 - change temperature from Chambre extension from 21.0° to 20.0° with cozytouch app -> logs in events for 2 : event_type: state_changed data: entity_id: climate.chambre_extension old_state: entity_id: climate.chambre_extension state: heat attributes: hvac_modes: - auto - heat - “off” min_temp: 7 max_temp: 35 preset_modes: - eco - comfort - away - frost_protection - external - home current_temperature: 20.3 temperature: 21 preset_mode: comfort friendly_name: Chambre Extension supported_features: 17 last_changed: “2023-12-20T04:16:32.110764+00:00” last_updated: “2023-12-20T10:52:31.967063+00:00” context: id: 01HJ3DP3AZZBVG9NRPDA74E2TB parent_id: null user_id: null new_state: entity_id: climate.chambre_extension state: heat attributes: hvac_modes: - auto - heat - “off” min_temp: 7 max_temp: 35 preset_modes: - eco - comfort - away - frost_protection - external - home current_temperature: 20.3 temperature: 20 preset_mode: comfort friendly_name: Chambre Extension supported_features: 17 last_changed: “2023-12-20T04:16:32.110764+00:00” last_updated: “2023-12-20T10:55:31.944337+00:00” context: id: 01HJ3DVK383B403T2GZ3XWBGWK parent_id: null user_id: null origin: LOCAL time_fired: “2023-12-20T10:55:31.944337+00:00” context: id: 01HJ3DVK383B403T2GZ3XWBGWK parent_id: null user_id: null
-> in log of overkiz : "HistoryExecution(id=‘6303a0de-0a1b-4481-51dd-23f160eefe2f’, event_time=1702468231393, owner=GACOMA_Production_18988, source=‘mobile:mobile’, end_time=1702468235155, effective_start_time=1702468231393, duration=3762, label=‘Atlantic iOS: 3.7.7 (62)’, type=‘Immediate execution - MANUAL_CONTROL’, state=<ExecutionState.COMPLETED: ‘COMPLETED’>, failure_type=‘NO_FAILURE’, commands=[HistoryExecutionCommand(device_url=io://--2852/3830453#2, command=‘setHeatingTargetTemperature’, rank=0, dynamic=False, state=<ExecutionState.COMPLETED: ‘COMPLETED’>, failure_type=‘NO_FAILURE’, parameters=[23])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: ‘Immediate execution’>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: ‘MANUAL_CONTROL’>) Command seems to be setHeatingTargetTemperature
3 - Change heat temperature manually with Overkiz integration : -> first log in homeassistant : event_type: call_service data: domain: climate service: set_temperature service_data: entity_id: climate.chambre_extension temperature: 20 origin: LOCAL time_fired: “2023-12-20T11:04:08.043998+00:00” context: id: 01HJ3EBB3BNFES34HS08578921 parent_id: null user_id: 8b5c21ef3e3b4ea6be5dfff5fb3b56b9 -> log answer from Overkiz or Atlantic in home assistant event_type: call_service data: domain: system_log service: write service_data: logger: frontend.js.latest.202312082 message: |- Unhandled promise rejection from Chrome 120.0.0.0 on Windows 10 { “code”: “unknown_error”, “message”: “No such command : setDerogatedTargetTemperature on device io://0833-1545-2852/3830453#8 (io:AtlanticPassAPCZoneControlZoneComponent)” } level: debug origin: LOCAL time_fired: “2023-12-20T11:04:08.172804+00:00” context: id: 01HJ3EBB7CQ3ZD4N57QW1FDZ2F parent_id: null user_id: 8b5c21ef3e3b4ea6be5dfff5fb3b56b9
-> no more log in overkiz logs integration
4 - Change mode heating to freeze in cozytouch appand try to set a temperature in cozytouch app The command to change cooling temperature seems to be : setCoolingTargetTemperature -> HistoryExecution(id=‘86ebcce5-0a1b-4481-51dd-23f11b9ba758’, event_time=1703070649576, owner=GACOMA_Production_18988, source=‘mobile:mobile’, end_time=1703070655393, effective_start_time=1703070649576, duration=5817, label=‘Atlantic iOS: 3.7.8 (68)’, type=‘Immediate execution - MANUAL_CONTROL’, state=<ExecutionState.COMPLETED: ‘COMPLETED’>, failure_type=‘NO_FAILURE’, commands=[HistoryExecutionCommand(device_url=io://--2852/3830453#8, command=‘setCoolingTargetTemperature’, rank=0, dynamic=False, state=<ExecutionState.COMPLETED: ‘COMPLETED’>, failure_type=‘NO_FAILURE’, parameters=[21])], execution_type=<ExecutionType.IMMEDIATE_EXECUTION: ‘Immediate execution’>, execution_sub_type=<ExecutionSubType.MANUAL_CONTROL: ‘MANUAL_CONTROL’>)
Change from Heat Mode to Cool Mode with Overkiz integration works
So to CONCLUDE : These two commands must be added in Overkiz integration :
setHeatingTargetTemperature setCoolingTargetTemperature
This is a known issue and would need to be fixed by a contributor (like me). At the moment I don’t have time to work on this, thus we will keep this issue open until it has been fixed. No timelines / ETA available.
After some investigations, I found a lot of limitations on what we can do:
Then come the question on how to display that in HA, here what I have implemented so far:
If some people like, I could also show all the presets to show the active preset, but in this case only None and InternalSchedule can be choosen from HA. I’m really not sure what should be the best behavior there.
Everything is a bit mixed up in this device + the device is really slow to update its status (even by refreshing them manually).
Hopefuly now that I have a clear vision of what it can and can’t do, I can tackle that down for a first revision.
ALSO NOTE that the thermostat should be kept in the Zone because there is no way the system will work without them sending the temperature… Again a fucked’up Atlantic choice.
PS: not sure I will be able to do that tonight, and I’m in travel until saturday for the rest of the week, so do not worry if no news until there
@nyroDev, are you certain your device is a
UIWidget.ATLANTIC_PASS_APC_HEATING_AND_COOLING_ZONE
? From what I read, it appears your device lacks the cooling function, leading me to believe it was actually aUIWidget.ATLANTIC_PASS_APC_HEATING_ZONE
.But if your device truly is `UIWidget.ATLANTIC_PASS_APC_HEATING_AND_COOLING_ZONEˋ, it would require extra caution due to the distinct behavior. Indeed this issue is specifically for those, not supporting the same “commands”.
If we both have the same UIWidget, it will be needed to interrogate for the available states first, and maybe save additional infos in the ha device.
Could you specify your device model? Also, is there a diagnostic report available for your model?
(@YomoShitsu, I did not yet sent the PR for HA, the PR linked above was about some requirements works on a dependency)
I have the same problem. Waiting for months now hoping the issue get solved.
Hello @iMicknl any update about changing the code of overkiz integration ? May I can help you on Github ? I am not a dev expert but I have some knowledge on GitHub. Could I create a new branch to propose modification through a pull request ?
Can we help in any way here ?
@iMicknl for sure ! I will contact you on discord after October 1. I will change my credentials for your tests. See you