Netatmo thermostat / climate device responsiveness

Hi there,

I’m new to HA, I just got into this amazing app and ecosystem while replacing an old thermostat with one that I can control remotely. And down the rabbit hole I am…

Anyway, my question is about the responsiveness of the netatmo integration.

I just have a simple Netatmo thermostat, connected, online, all good. The integration works fine, the climate device appears and I can control it.

The only glitch is when doing some change from HA. The change itself (like changing temperature) happens very quickly on the device itself but takes several minutes to appear on HA.

An example:

  • current set temperature: 19,5 º shown on the physical thermostat and HA
  • I set it to 20º on HA, some seconds later the thermostat changes to 20º but HA goes to 19,5º for several minutes until eventually switches to the correct value

I’ve even tried to read the API from the dev.netatmo.com (GET /homestatus) and it returns the correct value immediately. So I guess the integration is not getting the new state from the change command and not querying it after changing, just waiting for the regular polling cycle. Maybe it should not be hard to query after getting the answer to the command and update outside the regular polling cycle?

Is this the normal behaviour or am I doing something wrong?

This is normal behaviour when your instance does not make use of Netatmo webhook events. We decidedly only poll data on a fixed schedule to not overload the Netatmo back end and work within their rate limits. When the webhook is established you should see near instant responsiveness.

Yes, I thought so. I’m not sure how to check whether webhooks are registered. I’ve tried uninstalling and installing again. I tried manually unregistering and registering the webhooks with the integration services. The external address of my instance is set on configuration and open on the internet (port 443 with SSL).

I must admit that the first time I registered the device the external URL wasn’t probably set.

Raise the log level for the netatmo integration to INFO and you should see entries like:

2021-02-16 07:54:08 INFO (MainThread) [homeassistant.components.netatmo] Register Netatmo webhook: https://my.url.com/api/webhook/123abc
2021-02-16 07:54:08 INFO (MainThread) [homeassistant.components.netatmo.data_handler] Netatmo webhook successfully registered
1 Like

Nice, I didn’t know that was possible. I will look into it.

Do I need to enable the “Logger” integration for that?

Yes, just add this to your config if you don’t have logger: already:

logger:
  logs:
    homeassistant.components.netatmo: debug
1 Like

Thanks for the tip. Tried it.

First I want to add I’m not getting any feedback when calling from the UI, but I can see now something on the logs. But I’m not sure is working properly, here are the relevant log lines:

2021-02-16 19:52:16 DEBUG (MainThread) [homeassistant.components.netatmo] Unregister Netatmo webhook (SOMELONGSTRING)

2021-02-16 19:52:34 INFO (MainThread) [homeassistant.components.netatmo] Register Netatmo webhook: https://MYDOMAIN/api/webhook/SOMELONGSTRING
2021-02-16 19:52:34 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Home Assistant Cloud for light
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 239, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 268, in async_setup_entry
    return await hass.data[DOMAIN].async_setup_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 155, in async_setup_entry
    raise ValueError("Config entry has already been setup!")
ValueError: Config entry has already been setup!

I’ve replaced what looks like some kind of random id and my domain (which appears correctly). So it looks it’s already registered, but at the same time it’s not unregistering it (because it fails to register it again) ?

You seem to be using HA Cloud Link instead of the (for now at least) recommended way to use a dev account, especially when you are going to use cameras and climate devices. Please remove the integration, set up a dev account as mentioned in the docs and add the integration again.

1 Like

That did the trick! Thank you so much.

1 Like