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
71.75k stars 30k forks source link

ZHA Aqara Thermostat unreliably change temperature #108249

Closed VenominousX closed 5 months ago

VenominousX commented 8 months ago

The problem

Since version 2024.1.2, the thermostat does not set the temperature reliably. If I announce a temperature by voice, for example, the thermostat sometimes fails to do so. The thermostat tile in the dashboard shows the change, but the temperature on the thermostat remains the same.

The push button function in scripts or automations, on the other hand, is always sent to the device immediately. I sent a push button command every time the temperature change was called up so that the accessibility of the device could be checked.

Sometimes it helps to readjust the temperature several times via the tile.

What version of Home Assistant Core has the issue?

2024.1.2, 2024.1.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

ZHA

Link to integration documentation on our website

https://www.home-assistant.io/integrations/zha/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

Perhaps the problem is already known and you are already working on a solution or know from the description what the problem could be. As soon as I notice this behavior again, I'll attach a log. I would also like to take this opportunity to thank you for your work. For the most part, everything works very well. Cheers!

home-assistant[bot] commented 8 months ago

Hey there @dmulcahey, @adminiuga, @puddly, @thejulianjes, mind taking a look at this issue as it has been labeled with an integration (zha) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `zha` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign zha` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


zha documentation zha source (message by IssueLinks)

VenominousX commented 8 months ago

home-assistant_zha_2024-01-20T07-41-05.899Z.log

TheJulianJES commented 8 months ago

I had a quick look at the logs you provided and I don't see any timeouts from the TRV. It looks like you set the device to 15°C and 27°C and it got those commands as expected. The SystemMode is also changed to Heat multiple times. Or did you do something else?

Also, from a ZHA perspective, there's no difference if the command comes from voice, the UI, or via an automation.

Another likely irrelevant thought: I know that there's an issue with Z-Stack firmware where the timeout is too long for some TRVs on non-crashing firmware, but you're running a deCONZ-based coordinator. Maybe they have a similar timeout issue?

VenominousX commented 8 months ago

Hello @TheJulianJES , thank you for your reply.

You are right, the change in temperature is transmitted. It is also updated in the dashboard in the heating map, but not on the TVR. Only after the temperature has been changed several times is it updated again. And it seems that the temperature range plays a major role here. Small deltas are ignored, large ones work better (8 -> 27 or 30 -> 8)

The device can always be reached. When I set a temperature, I also send a push-button command for identification, which then switches on the TVR's display.

The first 3 temperature changes in the log updated the value in the tile, but not on the thermostat. It is noticeable that if the adjustment command is not implemented, some time passes before the Identify command is also implemented on the TVR.

From the beginning of my tinkering with HA up to version 2023.11.1, I always used the ConBee2 stick. Everything ran smoothly. From 2023.11.1 onwards, I switched to the SkyConnect to just play around a bit. It didn't work quite as well as the ConBee2 due to the significantly higher Zigbee network load, but basically everything worked here too.

With the change to 2024.1.1 the behavior of the TVR's started. When the problem occurred several times a day, I switched back to the ConBee2.

So it looks to me as if this is not a Conbee-specific problem.

I have already thought about the possibility that a router is not fully compatible and is swallowing signals or that some settings have not been restored correctly after playing around with the coordinators. That's why I rebuilt my entire network, reconnected all devices and bound the TVRs directly to other routers etc. during setup.

The problem still exists. Perhaps I also need other TVRs.

With best regards

VenominousX commented 8 months ago

Since the problem somehow cannot be properly identified, I have a workaround for all those who have the same problem.

I have replaced the direct call to climate.set_temperature in my automations and scripts with a function that sends 3 commands to the TVR:

  1. set the minimum temperature of the TVR
  2. set the maximum temperature of the TVR
  3. set the target temperature on the TVR

Basically, this solution is quite overloaded, considering the unnecessary instructions this function sends over the ZigBee network. So far, however, the solution works very well and does not affect the communication of the other 48 devices or does so imperceptibly.

issue-triage-workflows[bot] commented 5 months 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.

VenominousX commented 5 months ago

Hello, in the meantime I have changed to Sonoff TVR's, because the behavior with the Aqara devices continued. Unfortunately, I cannot say whether the problem still exists.

Best regards

VenominousX commented 5 months ago

Closed