Fingerprint Manager

My first toe dip into drivers a few years ago resulted in learning about fingerprints. At that time, most devices you assigned a generic driver and prayed you'd get lucky.
As the device market exploded and numerous branches evolved - zigbee vs zigbee 3, zwave, zwave+, BT, Wifi, and then companies like Tuya showed up and made the same device with 20 names for oem's... it seems to me managing drivers based on whether a dev has decided to add a fingerprint to a driver seems antique.
An app would be perfect to handle the fingerprint and driver assignments.
Since the basics of a fingerprint are easy to munge out, all thats left is a recommended driver list.

My thought is to create an app (He or external) that tables up the fingerprint data, then assigns a list of drivers that work with it. Weighted, based on user feedback, to evolve over time.
As drivers come and go, improve, the DB would be a feed to any/all drivers that want to hook its api and pass the info from DB to driver without the driver having to manage it.
The app could also track specific capabilities of devices as well as subset data.

Does something like this already exist - or are we stuck with :

1 Like

Zigbee2MQTT is probably the way to go.

1 Like

ooh! it's a step in the right direction anyway - I've got a XCTU setup I don't use anymore - Might be a kick to stick that on my SynologyNAS and bridge it! thanks for the idea @kkossev

This is the list of the Zigbee adapters supported by Z2M :

My initial enthusiasm for Zigbee2MQTT has faded away now and I continue experimenting with another approach - defining 'Device Profiles' inside the HE custom driver and then trying to match automatically new device manufacturers into the existing devices groups :.

In this example :
'Tuya 4in1 (motion/temp/humi/lux) sensor' Device Profile is for all ZIgbee devices, that use the standard IAS cluster for reporting the motion, but at the same time use Tuya specific EF00 cluster for reporting temperature, humidity and illuminance.
'Tuya 3in1 (Motion/Temp/Humi) sensor' is for all ZIgbee devices, that use Tuya-specific EF00 cluster for reporting both the motion, temperature, and humidity.
......
'Other Motion sensors (IAS)' is a group for all Zigbee devices, that use the IAS cluster for reporting (but also for configuration of the PIR sensor retriggering time and PIR sensitivity).

So once the 'Product Profiles' groups are done once (and documented!), supporting for new devices will not require adding new fingerprints in the driver code.

I have started working on this concept implementation for the Tuya 4-in-1 driver (that also handled the mmWave radars), once completed will let you know to hear your opinion.

As a developer, my major objective is to refactor the driver in a such a way, so that I don't need to add new fingerprints for every new device coming from new manufacturers in China every few weeks.

2 Likes

Brilliant! I'm anxious to see it in action someday soon!

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.