How to retrieve zigbee application version in edge driver?

How to retrieve zigbee application version in edge driver?

In DTH, you can get the zigbee application version as following.

device.getDataValue("application")

Is there equivalent method in Edge driver?

Some of the tuya zigbee plugs (with model name TS011F) have different way of action by zigbee application version. (Application version 0x45, 0x44, 0x41, 0x40, like the one as the screenshot below, requires polling of the power, but other application version supports power reporting.)
image

FYI, TS011F tuya plugs look like these.
image
and below is how I handle the zigbee application version in the DTH, to check whether polling is required.

Hi, @iquix
I haven’t seen this property in the device variable but I’m checking with the team if there’s an equivalent in Lua.
I’ll get back to you as soon as I can.

Update:
The team mentioned there’s a driver where they also use this value, so you can take a reference from it:

Please, let us know if you have any questions

1 Like

Hi @iquix

I’m using your DTH and it works great with a TS011F running Application version 0x45. Have you managed to create an edge Driver what works with these for Power Monitoring ?

I don’t think that’s going to happen. I believe that attribute is part in the OTA Upgrade cluster and the hub blocks/intercepts any calls from the drivers to the OTA cluster. So there’s no way to communicate with the OTA cluster to retrieve the firmware version. With DTH’s the hub would capture that information during device discovery and save it. Unfortunately the edge drivers framework doesn’t do that either. So for how you’re out of luck unless the engineers decide to change something. I’ve raised this issue with them but I haven’t seen any solution as of today.

I successfully got the applicationVersion data with the code above. It’s whole different thing that whether custom Edge driver devices could get the firmware “updates” though…