Creating a zigbee Edge driver that is never used for pairing

I want to create a zigbee Edge driver, without fingerprints.
Like, when you create a DTH, you can totally omit the fingerprint part.

What I want is a driver that is never be used at the pairing, but I’d like to manually set the driver with the already paired zigbee device, to augment some features for special purposes.

I see zigbeeThing and isJoinable fields in the stock zigbee-thing Edge driver, but zigbeeThing and isJoinable are not documented.

  1. Is this the situation that zigbeeThing and/or isJoinable is for?

  2. If I create and install a custom Edge driver with no fingerprints except zigbeeThing and/or isJoinable: true (like above), then, what happens when a zigbee device with no matching fingerprints gets paired? Is it paired with the stock zigbee-thing Edge driver? or the custom Edge driver with zigbeeThing and/or isJoinable: true?
    (Usually, custom Edge driver gets prority then the stock Edge driver… but I don’t want this custom edge driver with zigbeeThing and/or isJoinable to get the priority in this situation.)

1 Like

After many testings with my devices,

it seems that isJoinable: false is what I want.

I can even use it with zigbeeManufacturer like below

  - id: "DAWON_DNS/PM-B540-ZB"
    deviceLabel: "Power Trigger Switch (Dawon)"
    manufacturer: DAWON_DNS
    model: PM-B540-ZB
    deviceProfileName: power-trigger-switch-cfg
    isJoinable: false

  - id: "DAWON_DNS/ST-B550-ZB"
    deviceLabel: "Power Trigger Switch (Dawon)"
    manufacturer: DAWON_DNS
    model: ST-B550-ZB
    deviceProfileName: power-trigger-switch-cfg
    isJoinable: false

Like this, this driver never gets paired with the Dawon Plug, but only Dawon Plug, that are already paired, can change its driver to this special purpose Edge Driver.

If you want any zigbee devices to use the special purpose driver, that can’t be used while pairing, you can make it like below.

zigbeeThing :
  - id: ZigbeeThing
    deviceLabel: "Power Trigger Switch"
    deviceProfileName: power-trigger-switch-cfg
    isJoinable: false

So with this, is it possible to create an alternate driver for a device? In my use case, I have several Iris Contact Sensors:

Data * application:

  • endpointId: 01
  • firmwareFullVersion: 1C005310
  • firmwareImageType: 32
  • firmwareManufacturerCode: 49887
  • manufacturer: CentraLite
  • model: 3320-L
  • zigbeeNodeType: SLEEPY_END_DEVICE
    Raw Description 01 0104 0402 00 07 0000 0001 0003 0020 0402 0500 0B05 01 0019

I use several of them as temperature sensors. So open or close has no meaning. Using DTH, I normally select “Smartsense Temp/Humidity Sensor” However, when I pair the device now, it selects the Zigbee Contact" driver. Ideally I would like a driver for the same device that only shows the temperature. So I can select that device driver after pairing. Is it possible?

I hope SmartThings allow us to force apply Edge drivers, like we did with DTHs.

1 Like