Has any thing changed in the Netatmo integration? Since last update, the preset mode “away” no longer works in my system, despite it is listed in the attribute states:
hvac_modes:
- auto
- heat
- 'off'
min_temp: 7
max_temp: 30
target_temp_step: 0.5
preset_modes:
- away
- boost
- Frost Guard
- Schedule
current_temperature: 21.8
temperature: 19.5
hvac_action: idle
preset_mode: Schedule
attribution: Data provided by Netatmo
selected_schedule: Invierno
friendly_name: Termostato
supported_features: 17
Trying to set such preset mode issues the following warning:
Logger: homeassistant.helpers.script.websocket_api_script
Source: components/netatmo/climate.py:318
First occurred: 19:13:38 (6 occurrences)
Last logged: 20:09:00
websocket_api script: Error executing script. Unexpected error for call_service at pos 1: 400 - Bad request - Invalid mode (21) when accessing 'https://api.netatmo.com/api/setroomthermpoint'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step
await service_task
File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 207, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/netatmo/climate.py", line 318, in async_set_preset_mode
await self._room.async_therm_set(PRESET_MAP_NETATMO[preset_mode])
File "/usr/local/lib/python3.10/site-packages/pyatmo/room.py", line 111, in async_therm_set
await self._async_set_thermpoint(mode, temp, end_time)
File "/usr/local/lib/python3.10/site-packages/pyatmo/room.py", line 165, in _async_set_thermpoint
await self.home.auth.async_post_api_request(
File "/usr/local/lib/python3.10/site-packages/pyatmo/auth.py", line 351, in async_post_api_request
return await self.async_post_request(
File "/usr/local/lib/python3.10/site-packages/pyatmo/auth.py", line 389, in async_post_request
raise ApiError(
pyatmo.exceptions.ApiError: 400 - Bad request - Invalid mode (21) when accessing 'https://api.netatmo.com/api/setroomthermpoint'
However, if I change “away” to “Away” (first letter to uppercase), the action executes fine and no error is issued, although the Away mode is not actually set in the thermostat/valves (neither the climate entity state and the Netatmo App states are changed). Other commands still run fine. It looks like the way either the API or integration handle this specific preset mode has changed.
Is anyone else having the same problem?