[Release] Generic Zigbee Drivers with Presence and Recovery

NOTE: These are NOT the Official Hubitat Generic Zigbee drivers, these are my take on how to do Generic Zigbee devices, they all include a Presence feature many people have liked. More device types will be added when inspiration strikes and time permits.

Supported Devices

  • Generic Zigbee Device Toolbox (can generate fingerprints, remove child devices, clean the Data, Preferences and State Variables sections of the device.) - Import URL
  • Generic Zigbee Repeater (works with IKEA Trådfri Repeater, Xbees and probably any other Zigbee device without other features than pure repeating) - Import URL
  • Generic Zigbee Outlet (works with the IKEA Trådfri Outlet and Sonoff Basic ZBR3 and probably any other Zigbee Outlet device using standard clusters) - Import URL
  • Generic Zigbee Switch (works with generic Zigbee single- and multi-gang Switch devices using standard clusters) - Import URL
  • Generic Zigbee Dimmer (works with generic Zigbee Dimmers devices using standard clusters, only tested with the Nue Dimmer so far) - Import URL
  • Tuya Zigbee Valve (works with Tuya Zigbee Valves and probably any other Zigbee Valve devices using standard clusters) - Import URL

My other drivers

For my Sonoff Zigbee Sensor Drivers, see this thread .
For my Xiaomi / Aqara Drivers, see this thread.
For my Tasmota WiFi Device drivers, see this thread .

Which driver should I use?

Probably the one that sounds like it best fits your device type. If it works with an official Generic Zigbee driver on HE or at the very least is known to use STANDARD clusters, it would be possible to make one with my Presence and Recovery mode added. Mention it in the thread and when there is time one might be made.

Installation

Once these drivers leave Beta you can use the Hubitat Package Manager or install manually using the Import URLs above. When changing from another driver to mine, run Initialize.

Pairing

It is perfectly fine to replace the driver of a currently installed device with these drivers, no need to pair them again, in general. There might be some unknown exceptions. Don’t forget to click Initialize!
Post your fingerprints and what device model it belongs to and I’ll add them to the drivers.

Fingerprints

Use one of my Generic Zigbee drivers and click “Get Info”. You can also use my Generic Device Toolbox driver for Zigbee . The Log will display your device fingerprint.

Your mesh

A good and stable mesh is needed for all Zigbee devices. More information regarding that will be posted soon.

Presence

All drivers have the Presence capability, if the device doesn’t report in for over 3 hours it will be set as not present. This makes it easy to see that all devices are online at a glance in a Dashboard, or to monitor any change in Presence using RM or a custom App. It however makes Last Activity an invalid indicator of the device being available since there can be “activity” due to updating the Presence attribute.

Recovery Mode

This mode has been able to get devices that have fallen off to reconnect. There is a warning in the log when it activates for a device. When the device is back another warning message will show that it is disabled again.
This doesn’t always work, it depends on how the device fell off. It at least helps partially. If the device doesn’t come back on its own when in Recovery Mode, try quick-pressing the reset button (do not fully reset and re pair the device). This might nudge the device back. If pressing the reset button works, it works within 30 seconds. On button devices it may be enough to just press any button.
If none of the above works, re pairing without deleting the device is your last option.

Please report your progress in using this, good or bad results are all needed to know how to improve.

Counters

When a device becomes Present after having been Not Present, the restoredCounter is increased by 1. restoredCounter can be reset manually.
For every 3 hours the device is Not Present the notPresentCounter is increased by 1. When Present again, the notPresentCounter is reset to 0.

Errors/Bugs/Feature requests

Post about it in the Support thread and eventually taken care of :wink:

Mesh problems

Post about it somewhere else which seems appropriate. Not in this thread.

6 Likes

Reserved

Sorry just never been first in any topic lol

Welcome to the community, congrats to the first post!

1 Like

Happy to be here. Can’t wait for your new release soon.

1 Like

Yes, looking forward to seeing what you come up with. Good luck

2 Likes

Let’s see what magic you can do over here @markus :wink:

5 Likes

Just to understand since im a noob… :slight_smile:
I change one of my IKEA outlets to your driver on my HE and it creats two child devices. Why?

image

It finds two endpoints: 01 and F2

Do those outlets have more than one outlet? Or maybe a USB port that is also controlled?

No, its the IKEA Trådfri, https://www.ikea.com/se/sv/p/tradfri-tradloest-uttag-90356166, outlet.

Do both child devices work? If only one, which one? Please provide me with the fingerprint (run the Get Info command on the device and check the log). With that I can make an update and make an exception for the multi EP detection.

Only the first child ( Garaget IKEA ZigBee-switch 01) work. The second ( Garaget IKEA ZigBee-switch F2) dosnt work.
Its the same for all Trådfri switches I got. I have one that I have chosen your repeating only driver and that one dosnt have any parent/child devices.

dev:8342020-10-29 15:32:21.742 infoCOPY AND PASTE THIS ROW TO THE DEVELOPER: fingerprint model:"TRADFRI control outlet", manufacturer:"IKEA of Sweden", profileId:"0104", endpointId:"01", inClusters:"0000,0003,0004,0005,0006,0008,1000,FC7C", outClusters:"0005,0019,0020,1000", application:"20"
dev:8342020-10-29 15:32:21.737 traceApplication: 20
dev:8342020-10-29 15:32:21.734 traceModel: TRADFRI control outlet
dev:8342020-10-29 15:32:21.731 traceManufacturer: IKEA of Sweden
dev:8342020-10-29 15:32:21.724 debugGetting info for Zigbee device...
1 Like

Just want to recount my experience yesterday with @markus’ drivers for Xiaomi Aqara/Mijia sensors.

We had a storm yesterday (Hurricane Zeta). As part of my preparations, I had shut down both my Hubitats (one of which is dedicated to ~50 Xiaomi devices + compatible repeaters). The repeaters were powered until ~5:00 PM when we lost power. I turned on generator power at about 9:30 PM.

By 10:00 PM, only 6 of my Xiaomi devices had not “spontaneously” recovered so the device page indicated “not Present”. And they recovered within 30 seconds of forcing recovery mode and tapping the sensor.

So thank you very much for these drivers!

5 Likes

Mine is working fine with the Generic Zigbee Outlet driver

2 Likes

Wtf, I know I’m getting old and my sight getting not-so-good, but I didn’t expect this.
I used the switch driver but probably should use the oultlet. Will try that and report back.
Sorry @markus. Thanks for the heads up @BrunoVoeten.

3 Likes

You have to delete the incorrect child device manually. For the sake of preventing mistakes my code does not delete child devices automatically. As long as it doesn’t come back when running Initialize all is good.

1 Like

It works great with the right driver for my outlets. Feel so ashamed that my mistake has taken up your time. So once again, sorry. But also, thank you both very much for your help.

5 Likes

Yeah! My motion sensors work very swift again! Thank´s for the drivers! :slightly_smiling_face: :+1:

2 Likes

FYI
Another model of Tuya valve.

Tuya Zigbee Valve TS0001

Discovered as Device

Tuya Valve 01

COPY AND PASTE THIS ROW TO THE DEVELOPER: fingerprint model:“TS0001”, manufacturer:"_TYZB01_4tlksk8a", profileId:“0104”, endpointId:“01”, inClusters:“0000,0003,0006”, outClusters:“0003,0006,0004”, application:“20”

Tuya Valve 02

COPY AND PASTE THIS ROW TO THE DEVELOPER: fingerprint model:“TS0001”, manufacturer:"_TYZB01_4tlksk8a", profileId:“0104”, endpointId:“01”, inClusters:“0000,0003,0006”, outClusters:“0003,0006,0004”, application:“20”

All functions working. :+1:
Thanks again.

1 Like

Centralite 3-series smart plug variant fingerprint:

COPY AND PASTE THIS ROW TO THE DEVELOPER: fingerprint model:“4257050-RZHAC”, manufacturer:“CentraLite”, profileId:“0104”, endpointId:“01”, inClusters:“0000,0003,0004,0005,0006,0B04,0B05”, outClusters:“0019”

Seems to work just fine. Although, I do see that the power reporting I need doesn’t seem to exist in this driver, so I’m moving back to Steve White’s enhanced smart plug driver from 2018. That driver works and reports power (no presence feature, of course), however it does miss some mfr-specific messages and spits out occasional warnings to the logs.

Hey @markus, goes without saying first of all, excellent work on the generic drivers. It’s nice to have consistency with the other zigbee devices as I’m using your Xiaomi drivers and they have been rock solid.

Are you planning on creating drivers other device types eg. contact sensors, vibration? I’ll keep an eye on the community for updates as no doubt you’re a busy boy with all the exciting plans in the pipeline!

1 Like