home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.51k stars 30.71k forks source link

Netatmo climate stop to get boiler status #43908

Closed emiliardo78 closed 3 years ago

emiliardo78 commented 3 years ago

The problem

After upgrading to 0.117.2 Netatmo Thermostat boiler status it seems not update anymore. I'm try to use Postman to retrive the status via Netatmo API and the value is correctly sync but Climate sensor in Home Assistant still not update the status.

Environment

Problem-relevant configuration.yaml

Traceback/Error logs

Additional information

probot-home-assistant[bot] commented 3 years ago

Hey there @cgtobi, mind taking a look at this issue as its been labeled with an integration (netatmo) you are listed as a codeowner for? Thanks! (message by CodeOwnersMention)

cgtobi commented 3 years ago

Due to reduced polling of the data and the absence of boiler status via webhook events we can't determine the live status of the boiler and might miss boiler activity when it happens right between two polling events. This has never been particularly precise.

dircr commented 3 years ago

Is there any way to make it precise? I'm using boiler status for metering and without correct status I can only rely on imprecise temperature readings.

dircr commented 3 years ago

@cgtobi I think something else is broken with Netatmo thermostat apart from boiler status. When I change a preset in Lovelace, it changes only briefly and then returns to the previous one (thermostat starts working with the new preset). I have webhooks enabled but it seems like HA ignores events from them. Plus, boiler status is actually never updated.

cgtobi commented 3 years ago

Please make sure your webhook events are successfully registered. You should find a line in the logs like: INFO (MainThread) [homeassistant.components.netatmo.data_handler] Netatmo webhook successfully registered

Please set debug logging for the netatmo integration and restart HA.

If you don't, make sure the webhook is not banned at the netatmo dev portal.

image
dircr commented 3 years ago

What if they're not registered?

2020-12-15 14:24:12 DEBUG (MainThread) [homeassistant.components.netatmo.data_handler] Data class HomeData added
2020-12-15 14:24:12 DEBUG (MainThread) [homeassistant.components.netatmo.climate] Setting up home REDACTED ...
2020-12-15 14:24:12 DEBUG (MainThread) [homeassistant.components.netatmo.climate] Setting up room Living room (...) ...
2020-12-15 14:24:12 INFO (MainThread) [homeassistant.components.netatmo] Register Netatmo webhook: https://hooks.nabu.casa/REDACTED
2020-12-15 14:24:12 INFO (MainThread) [homeassistant.components.netatmo.light] Cameras are currently not supported with this authentication method
2020-12-15 14:24:12 DEBUG (MainThread) [homeassistant.components.netatmo.data_handler] Data class HomeStatus-REDACTED added
2020-12-15 14:24:12 DEBUG (MainThread) [homeassistant.components.netatmo.climate] Setting up room Bathroom (2948580912) ...
2020-12-15 14:24:12 DEBUG (MainThread) [homeassistant.components.netatmo.netatmo_entity_base] New client climate.netatmo_living_room
2020-12-15 14:24:12 DEBUG (MainThread) [homeassistant.components.netatmo.netatmo_entity_base] New client climate.netatmo_bathroom

Should webhook address be visible at https://dev.netatmo.com/?

cgtobi commented 3 years ago

If it's not registered successfully then you won't get instant feedback but have to wait for the next pull cycle.

The webhook url won't reflected in the netatmo dev portal.

dircr commented 3 years ago

Thanks @cgtobi!

I've put the whole system in debug and I've found this:

2020-12-15 15:13:06 DEBUG (SyncWorker_16) [pyatmo.auth] addwebhook: {'status': 'ok', 'time_exec': 0.0380859375, 'time_server': 1608041586}

Now I'm thinking Netatmo might have problems with webhooks.

dircr commented 3 years ago

@cgtobi I'm still struggling with this :( Tried removing integration many times; then adding locally, remotely through Nabu Casa. The result is always the same: integration works but without live status.

Are you using this integration? Did it work last couple of days with webhook and live status?

cgtobi commented 3 years ago

Yes, I do use this myself and (apart from boiler status as explained before) it works fine. The "live feedback" responsiveness requires webhook events to be set up correctly.

Please make sure your webhook events are successfully registered. You should find a line in the logs like: INFO (MainThread) [homeassistant.components.netatmo.data_handler] Netatmo webhook successfully registered

Otherwise you have either a banned webhook or another issue related to the webhook registration.

github-actions[bot] commented 3 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

dircr commented 3 years ago

core-2021.3.4: webhooks work, boiler status still unavailable

cgtobi commented 3 years ago

Maybe I don't get your point. What do you mean by "boiler status is unavailable"?

The boiler_status attribute has been removed almost two year ago. The boiler state is reflected by hvac_action. But it is imprecise due to the fact that the boiler status is not reported by the webhook events and the polling nature of the integration.

dircr commented 3 years ago

hvac_action is what I mean :) I don't get any state at all, even imprecise one. I can only estimate the state from other sensors (temperature of the water coming in and out of the appartment).

image

cgtobi commented 3 years ago

What device exactly do you have?

dircr commented 3 years ago

Smart Thermostat

cgtobi commented 3 years ago

Can you please check that entity in the developer tools and paste the state attributes? Open your Home Assistant instance and show your state developer tools.

dircr commented 3 years ago

Here you go:

hvac_modes:
  - auto
  - heat
  - 'off'
min_temp: 7
max_temp: 35
target_temp_step: 0.5
preset_modes:
  - away
  - boost
  - Frost Guard
  - Schedule
current_temperature: 20
temperature: 19.5
hvac_action: idle
preset_mode: Schedule
selected_schedule: Standard
friendly_name: Home
supported_features: 17
cgtobi commented 3 years ago

Looks ok so far, but it is missing the battery_level attribute for whatever reason.

Could you raise the target temperature so that it's heating and watch the attributes, especially hvac_action over a period of about 15 minutes? It should change from "idle" to "heat".

But I'm afraid we have to dig deeper. Are you by chance on the HA Discord?

github-actions[bot] commented 3 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.