Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bosch BTH-RA: Respond to DST attribute requests with value 0x00 to avoid non-responding behaviour #5599

Merged
merged 3 commits into from
Mar 21, 2023

Conversation

DerDreschner
Copy link
Contributor

The Bosch BTH-RA not only wants the current time, it also requests the 3 DST related attributes dstStart, dstEnd and dstShift. It is provided by the Bosch Smart Home Controller when pairing the thermostat as well as regularly when requesting the current time:

image
image

According to the Zigbee Cluster Library Specification (point 3.12.2.2.4 to 3.12.2.2.6), these fields are optional but have to be set together when they are provided. As it's optional and DST time changes are being considered in the new Date()).getTimezoneOffset() call in zigbee-herdsman (https://github.com/Koenkk/zigbee-herdsman/blob/master/src/controller/model/device.ts#L232), these fields are not supported by default and are reported as UNSUPPORTED_ATTRIBUTE.

Although it is optional by spec, it appears the Bosch BTH-RA doesn't behave very well when these attributes are not set by the coordinator. The thermostat requests these information every 5 minutes up to at least every hour. After some time in this state (couldn't determine on what it depends), the thermostat stops processing attribute change requests all together which leads to an more-or-less useless device. Bringing back the device from this "dead" state requires a hard reset by removing the batteries.

As workaround, I implemented a respond with value 0x00 to these attributes which seems to work. My thermostats didn't got into these non-responding state again and work well for a week now. That's why I'm keen to submit my changes now.

@Koenkk Koenkk merged commit 9342e07 into Koenkk:master Mar 21, 2023
@Koenkk
Copy link
Owner

Koenkk commented Mar 21, 2023

Thanks!

@BBJake
Copy link
Contributor

BBJake commented Apr 3, 2023

@DerDreschner
Very interesting. Just saw this in the changelog of the latest Z2M release.
Have you seen this big discussion? Koenkk/zigbee2mqtt#13478

The problems that are described there seem to affect the Bosch thermostats as well.
So I'm wondering why your changes might fix the problems, because this seems to be a general problem with Zigbee 3.x devices.

@mldytech
Copy link
Contributor

mldytech commented Apr 4, 2023

@DerDreschner
Very interesting. Just saw this in the changelog of the latest Z2M release.
Have you seen this big discussion? Koenkk/zigbee2mqtt#13478

The problems that are described there seem to affect the Bosch thermostats as well.
So I'm wondering why your changes might fix the problems, because this seems to be a general problem with Zigbee 3.x devices.

I also hoped that this merge would fix the problems. Unfortunately, with the latest stable version, the issues with the bosch thermostats still persist.

Just curious: Is there a way to force a device to only connect with a router and not the coordinater? Or even to a specific router? This would be a nice quick and dirty fix since they are working flawless when not directly connected to the coordinater.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants