[RELEASE] Nedis Zigbee 4 button Fob/Remote (ZBRC10WT)

Hi There, i am testing out some Nedis Zigbee devices, they are interesting because of the low pricepoint.

The Motion sensor (ZBSM10WT) works with "Generic motion sensor (no temp)"

For the 4 Button remote (ZBRC10WT), i have created i driver:

this is my first ever driver.. try it out and let me know...

/**
*
*

  • Diondp: Nedis 4 button FOB

*/
import hubitat.zigbee.zcl.DataType

metadata {
definition (name: "Nedis Zigbee 4 Button Fob", namespace: "Diondp", author: "Diondp") {
capability "PushableButton"
capability "Configuration"

    fingerprint inClusters: "0000,0001,0500,0501", outClusters: "0019,000A", manufacturer: "_TZ3000_fsiepnrh", model: "TS0215A"
  
}

preferences {
input name: "debugEnable", type: "bool", title: "Enable debug logging", defaultValue: false
}

}

private sendButtonNumber() {
def remoteModel = device.getDataValue("model")
switch(remoteModel){
case "TS0215A":
sendEvent(name: "numberOfButtons", value: 4, isStateChange: true)
break
}
}

def installed() {
sendButtonNumber()
state.start = now()
}

def updated() {
sendButtonNumber()
}

def configure() {
sendButtonNumber()

def configCmds = []

for (int endpoint=1; endpoint<=3; endpoint++) {
def list = ["0006", "0001", "0000","0500","0501"]
// the config to the switch
for (cluster in list) {
configCmds.add("zdo bind 0x${device.deviceNetworkId} 0x0${endpoint} 0x01 0x${cluster} {${device.zigbeeId}} {}")
}
}
return configCmds
}

def parse(String description) {

if ((description?.startsWith("catchall:")) || (description?.startsWith("read attr -"))) {
    def parsedMap = zigbee.parseDescriptionAsMap(description)
    if (debugEnable){
        log.debug("Message Map: '$parsedMap'")
    }
   
     name = "pushed"
    switch(parsedMap.data) {
        
        case "[00, 00, FF]": 
            //button = "B"
            //WebCore friendly
            button = "4"
            break
        case "[01, 00, FF]": 
           //button = "A"
           //WebCore friendly
            button = "3"
        break
        case "[03, 00, FF]": 
            button = "2"
            break
        case "[]": 
            button = "1" 
            break

}

    sendEvent(name: name, value: button, descriptionText: "Button $button was $name",isStateChange:true)
}
return

}

they have 3 more Zigbee devices which i havent got yet.:

ZBSD10WT (Window sensor)
ZBHTR10WT (Radiator thermostat)
ZBSC10WT (Temperature and humidity sensor)

2 Likes

Works great!
Hope that you don't mind that I made some changes. Added doubletap to the buttons.

3 Likes

Thats great to hear, and nice addition with the double press function!

Thank you for this code, it works my SOS 1 button fob flawlessly, The hole Hubitat community is amazing. If it wasn't for my Hubitat I couldn't live independently so thank you.

1 Like

It's probably just me being a n00b but I can't get this to work without doing some things over several times. I have installed the driver and I can pair the device correctly. It selects the correct driver when paired. The device is listed as expected in the device list.

Then, nothing happens. When I click the buttons nothing appears in the device log. If I create simple automation rules to map actions to the buttons, the rules are never never triggered.

I eventually got it working by enabling debug logging, saving the configuration, then removing debug logging again (and saving). Now, after adding the device several times and messing with random settings, it works. But it all seems a little ... finicky. I was considering buying quite a few of these, and now I am having doubts.

What am I doing wrong? Is it because I have to wait for 5+ minutes after the device is added? Or do I just need to save the configuration 5-6 in a row? Or ... what?

I love the fact that you guys made this driver. It's very appreciated. :slight_smile: I just can't quite grasp why pairing new devices isn't a simple and flawless process.

Thoughts?

I actually couldnt get the "modified" version to work which should enable double tap etc.

But the original version works for me (although i havent given much time coding it..)

I have the modified version working; but with the mentioned difficulties adding devices. That might not be related to the driver, but no matter the reason it's stopping me from ordering 10-15 of these for various functions around the house.

Double-tap seems to work, which is good because 4 buttons really isn't a lot to work with...

Download the Hubitat app