View and Change Zigbee Device Settings

That looks exactly like what I want to do. It may be the path of least resistance, but it looks like it needs some additional hardware and software.

Any links for easing into Zigbee2MQTT appreciated.

Zigbee2mqtt will not be a solution, because it will involve pairing the devices to another Zigbee coordinator and then re-pairing back to HE, during which process any configurations done there will be lost. And Z2M runs on Home Assistant on another hardware platform (usually RaspberryPi ), etc..

@arnb I can do something similar as a HE driver, that will not require re-pairing of the Zigbee devices. Just temporarily change the device driver, configure the reporting and finally change the driver back to the driver that the device works with.

Hopefully, I can send you something to test this weekend,

2 Likes

what driver and device are you using?, many already have configurable temperature reporting preferences...

3 Likes

@arnb @kkossev

FWIW, even with zigbee2mqtt, just because the coordinator requests a configuration change in a device, doesn't mean the device respects that request.

I have multiple Konke temp/hum sensors paired to zigbee2mqtt, and have been unable to change settings in the PowerCfg cluster (batteryVoltage attribute). Well, I can change the settings - but they don't stick :grinning:

1 Like

That's correct, not all devices will automatically send a report, even if the reporting configuration command was accepted. I know at least one device (Moes TS0222) that will start to reboot/restart itself if the battery reporting was ever configured!

1 Like

I noticed that many system supplied drivers have time or temperature reporting options. Question: when setting to .25C what are the minimum time to reporting and maximum time to reporting parameters?

1 and 64,800 seconds

3 Likes

I would very much appreciate the temperature/time option control be added to the Centralite, IrisV2 and IrisV3 drivers.

can you be specific regarding the exact driver name?

1 Like

Centralite Keypad
Iris V2 Keypad
Iris V3 Keypad

When properly configured, even the cheapest temperature and humidity sensor can work very well ...

In the example above Sonoff SNZB-02 sensor was able to send temperature changes reports at a minimum interval of 10 seconds!

@arnb , although this experimental driver is not quite ready for publishing at the moment, can you give it a try? (link)

Manually change the Centralite Keypad driver to "Zigbee Reporting Configuration"

Then select the preferred settings in "Configure Temperature Reporting" and confirm the selected timings by pressing the same named button above the temperature configuration parameters list.

Then press the button named "Send Configuration To Device When Awake" button.
At this time the driver will be waiting for any Zigbee message to be received from the physical device, Probably, pressing any button on the Centralite keypad will make it 'awake' and be ready for accepting the configuration commands.

If this does not work for you (the "Waiting..." counter stays for a long time), try the 'Send Configuration To Device NOW' button, trying to awake the sleepy ZIgbee device (by pressing a button, or rapidly changing the temperature or humidity.. ).

If you see "Received Temperature Configuration command response..." in the Current States list, there is a good chance that the temperature reporting configuration was successful... Observe the device logs for the frequency of the temperature reporting. if it suits your needs, manually change the driver back to the one that is used with the device (Iris V2/3Keypad.. ).

Good luck!
(EDIT 11/27/2021 the code was moved to a new GitHub repository, the link in this post was updated to the main branch URL)

2 Likes

Thank you for moving ahead so quickly with this driver. I will do my best to assist you with testing.

Changed to your driver on a Iris V2 keypad and Hue Motion Sensor, no humidity reporting on either. Both displayed the following initial settings, not the device's actual setting.
image

The Keypad uses my Centralitex Driver so I was able to set it a few days ago to
zigbee.configureReporting(0x0402,0x00,0x29,30,3600,0x0008) gives me about .18F reporting intervals so I expected to see that info.

The hue is set at .25C via the Hue driver.

I also executed the Get device info on both devices. Keypad into follows



I'll continue testing this soon and get back to you.

1 Like

Thank you for the feedback, @arnb !

I will add a reading of the reporting configuration from the device in the next version. However, matching (or displaying the values of) the read configuration parameters to the HE device driver 'Commands' UI control seems to be rather difficult... One possible approach would be to switch using driver Preferences, but these are single values. So for configuring as example 5 different measurement parameters there will be 5x3=15 individual parameters. I've seen drivers with much more settable parameters, so this approach could be OK!

Hi, I'm trying to reproduce this. I'm trying the Zigbee Configuration Driver but I seem to be missing something in the way to use it.

@kkossev any help would be appreciated.

Make sure to wake up the device...

2 Likes

Did you manage to change the reporting settings? What type of sensor you are trying with?

I see now you are using SNZB-02. If you have your Hubitat hub updated to the latest version, the built-in driver (Sonoff Zigbee Temperature/Humidity Sensor) should allow you to achieve similar reporting configuration results. Make sure you hit the "Save Preferences" button at a time when the device is awake - for example when the temperature or the humidity is changed. Another approach would be to remove and then re-insert the battery and send the new reporting settings at that time.

The easiest way to get the settings to the device is to set them up the way you want and then re-pair the device again. ZigBee will just replace the existing device and the settings will be transferred on initial configure.

3 Likes

@kkossev Even with the latest Rev, the built-in driver has a 0.25C lower limit and I was looking for 0.1C. Your driver has more flexibility.

@coreystup I finally ended-up with the expected result but I'm not too sure of what worked between battery removal, waking-up or re-pairing . Most likely the re-pairing. I have more units on the way so now that I know it can work, I'll focus on the re-pairing method.

Thanks for your help.

1 Like