Smart ZigBee Plug Socket

Hi
I have a Smart ZigBee Plug Socket which I bought from Amazon (Amazon.co.uk). It works fine in ST (and I have had it working paired with Hue Bridge) but i would like to get this directly into HE.
The instructions say how to pair with ST - hit the power button to be off, then push and hold the button until the light flashes, search in ST and it will be found, then associate the drive ZigBee Switch. Have been trying to do similar in HE but I can't detect the device when doing a discovery. Any suggestions on how to get this ported over? My ZigBee channel is 25 and I've tried searching when on 20 but no joy - if HE can detect the switch I can then change the driver if needed.
In ST the device page is:


Thanks

Could be that it is still paired with ST or Hue? Sorry to ask an obvious question, but you tried factory reset?

Was this plug very inexpensive? That's pretty cool that it works with Hue, but If you're trying to exclusively pair it with Hubitat, then maybe consider an inexpensive smart outlet that is known to work with Hubitat. I've just purchased two Ikea Trådfri outlets, and although they are not officially supported yet, they do work and I passed the Zigbee fingerprint onto Hubitat so they can add it to the list of compatible devices. Since there is no fingerprint in the current HE platform build, the Trådfri outlets pair as "Device", which is the Hubitat version of ST pairing as "Thing". You simply go into the driver settings, change it to Generic Zigbee Outlet, hit Configure and all it well. Once the fingerprint is added, it should automatically select the Generic Zigbee Outlet driver.

Hope this is helpful.

Try this driver that I adapted from the SmartThings one.

/** Please copy the Device Handler from this line

Copyright 2015 SmartThings
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except
in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
for the specific language governing permissions and limitations under the License.
Updated by Kevin X from 3A Smart Home on 23/05/2018
*/

metadata {
   definition (name: "FeiBit ZigBee ZLL Socket", namespace: "smartthings", author: "SmartThings") {
   	capability "Actuator"
   	capability "Configuration"
   	capability "Refresh"
   	capability "Switch"
   	capability "Health Check"

   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006"
   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0006", outClusters: "0003, 0006, 0019, 0406", manufacturer: "Leviton", model: "ZSS-10", deviceJoinName: "Leviton Switch"
   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0006", outClusters: "000A", manufacturer: "HAI", model: "65A21-1", deviceJoinName: "Leviton Wireless Load Control Module-30amp"
   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006", outClusters: "0003, 0006, 0008, 0019, 0406", manufacturer: "Leviton", model: "DL15A", deviceJoinName: "Leviton Lumina RF Plug-In Appliance Module"
   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006", outClusters: "0003, 0006, 0008, 0019, 0406", manufacturer: "Leviton", model: "DL15S", deviceJoinName: "Leviton Lumina RF Switch"
   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006", outClusters: "0003, 0006, 0008, 0019, 0406", manufacturer: "Feibit Inc co.", model: "FB56+ZSW1GKJ1.7", deviceJoinName: "Nue ZigBee Switch"
   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006", outClusters: "0003, 0006, 0008, 0019, 0406", manufacturer: "Feibit Inc co.", model: "FNB56-SKT19FB1.2", deviceJoinName: "Nue ZigBee Socket"
   	fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006", outClusters: "0003, 0006, 0008, 0019, 0406", manufacturer: "Feibit Inc co.", model: "FNB56-SKT1EHG1.2", deviceJoinName: "Nue ZigBee Socket"
   }

// simulator metadata
   simulator {
   // status messages
       status "on": "on/off: 1"
   	status "off": "on/off: 0"

   // reply messages
   	reply "zcl on-off on": "on/off: 1"
   	reply "zcl on-off off": "on/off: 0"
   }

   tiles(scale: 2) {
   	multiAttributeTile(name:"switch", type: "lighting", width: 6, height: 4, canChangeIcon: true){
       	tileAttribute ("device.switch", key: "PRIMARY_CONTROL") {
           	attributeState "on", label:'${name}', action:"switch.off", icon:"st.switches.light.on", backgroundColor:"#00A0DC", nextState:"turningOff"
           	attributeState "off", label:'${name}', action:"switch.on", icon:"st.switches.light.off", backgroundColor:"#ffffff", nextState:"turningOn"
           	attributeState "turningOn", label:'${name}', action:"switch.off", icon:"st.switches.light.on", backgroundColor:"#00A0DC", nextState:"turningOff"
           	attributeState "turningOff", label:'${name}', action:"switch.on", icon:"st.switches.light.off", backgroundColor:"#ffffff", nextState:"turningOn"
       	}
   	}
   	standardTile("refresh", "device.refresh", inactiveLabel: false, decoration: "flat", width: 2, height: 2) {
       	state "default", label:"", action:"refresh.refresh", icon:"st.secondary.refresh"
   	}
   	main "switch"
   	details(["switch", "refresh"])
   }
}

// Parse incoming device messages to generate events
def parse(String description) {
   log.debug "description is $description"
   def event = zigbee.getEvent(description)
   if (event) {
   	sendEvent(event)
   } else {
   	log.warn "DID NOT PARSE MESSAGE for description : $description"
   	log.debug zigbee.parseDescriptionAsMap(description)
   }
}

def off() {
   //device.endpointId ="0B"
   zigbee.off()
}

def on() {
   //device.endpointId ="0B"
   zigbee.on()
}

/**

PING is used by Device-Watch in attempt to reach the Device
*/
def ping() {
   return refresh()
}

def refresh() {
   zigbee.onOffRefresh() + zigbee.onOffConfig()
}

def configure() {
// Device-Watch allows 2 check-in misses from device + ping (plus 2 min lag time)
   sendEvent(name: "checkInterval", value: 2 * 10 * 60 + 2 * 60, displayed: false, data: [protocol: "zigbee", hubHardwareId: device.hub.hardwareID])
   log.debug "Configuring Reporting and Bindings."
   zigbee.onOffRefresh() + zigbee.onOffConfig()
}

//Please copy the Device Handler end this line

Unless I misunderstand, it sounds like @Townsmcp is having a problem with the device completing or even initializing paring. Once paired, the Generic Zigbee Outlet driver should work fine, but if has can't get it paired in the first place, no driver can be used.

Ah, good point - I'm trying to remember whether it was detected here without that driver installed

Should either select the driver if the fingerprint is recognized, or pair as "device", in which case you need to manually switch to the Generic Zigbee Outlet driver and then click "configure", but either way, it needs to complete the paring process first.

It was £23. Much cheaper than ST plugs.
When I paired it originally with ST it came up with a name of 'Thing' and no drivers associated.

@rob - Thanks for that - without the code in HE the device couldn't be discovered. With that driver added the device has been found. Ive changed the driver in the device to this custom one but unfortunately its not actually doing anything when you click On or Off
Thanks

Interesting. Open logs in a separate tab. Switch to the Generic Zigbee Outlet driver, click save, and then click configure. What happens?

I get the following:

Odd, it's working for me on all 3 of my sockets. I wonder what's different?

Anything showing in the logs?

updated log:

Can't tell from this. Did you name the outlet or give a custom label? Do this. Make sure debug is enabled in the driver and click save. Click either on or off in the outlet driver, go to the log, click on the driver type or name and click clear. Go back to the drive and click on, then off.

What does the isolated device log show?

Here's my log when turning off, on and pinging

dev:2902018-11-22 14:41:55.658:debug[raw:catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 07 01 00, profileId:0104, clusterId:0006, clusterInt:6, sourceEndpoint:0B, destinationEndpoint:01, options:0040, messageType:00, dni:C2D3, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]
dev:2902018-11-22 14:41:55.654:warnDID NOT PARSE MESSAGE for description : catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 07 01 00
dev:2902018-11-22 14:41:55.641:debugdescription is catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 07 01 00
dev:2902018-11-22 14:41:54.279:debug[raw:catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 07 01 00, profileId:0104, clusterId:0006, clusterInt:6, sourceEndpoint:0B, destinationEndpoint:01, options:0040, messageType:00, dni:C2D3, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]
dev:2902018-11-22 14:41:54.229:warnDID NOT PARSE MESSAGE for description : catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 07 01 00
dev:2902018-11-22 14:41:54.224:debugdescription is catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 07 01 00
dev:2902018-11-22 14:41:51.650:debugdescription is read attr - raw: C2D30B00060A00001001, dni: C2D3, endpoint: 0B, cluster: 0006, size: 0A, attrId: 0000, encoding: 10, value: 01
dev:2902018-11-22 14:41:50.209:debugdescription is read attr - raw: C2D30B00060A00001001, dni: C2D3, endpoint: 0B, cluster: 0006, size: 0A, attrId: 0000, encoding: 10, value: 01
dev:2902018-11-22 14:41:47.286:debugdescription is read attr - raw: C2D30B00060800001001, dni: C2D3, endpoint: 0B, cluster: 0006, size: 08, attrId: 0000, encoding: 10, value: 01
dev:2902018-11-22 14:41:47.212:debugdescription is catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 0B 01 0100
dev:2902018-11-22 14:41:34.231:debugdescription is read attr - raw: C2D30B00060800001000, dni: C2D3, endpoint: 0B, cluster: 0006, size: 08, attrId: 0000, encoding: 10, value: 00
dev:2902018-11-22 14:41:33.494:debugdescription is catchall: 0104 0006 0B 01 0040 00 C2D3 00 00 0000 0B 01 0000

I'd have expected something similar

Also consider that spending too much time trying to make this work may not be worthwhile. Trådfri outlets are just 18 quid for the kit with the remote. I don't see them listed on the UK site without the remote, which is what I bought here in Canada. Might seriously consider this though if getting one isn't too inconvenient for you. I know not everyone lives close enough to an Ikea to pick one up and shipping without a minimum order amount can be expensive.

I don't think anyone has picked up one of these with the remote yet, but it might be usable with the Generic Zigbee Button driver, so that would be nice little bonus. I plan to pick one up here when the kit is available just to play with the remote to see if it works too.

I have the following settings turned on (the device is called Wax Melt):
Enable debug logging
Enable description text logging
This is using the generic zigbee outlet driver:

Using the new driver the following is showing in logs:

At worst case I can run it through Hue Bridge, just would have been nice to have it integrated properly. Thanks for your help though @SmartHomePrimer and @rob

This may help, or not. I found when changing things over powering off my ST hub, then pairing the devices to my new HE really helped. Have you tried that?

Can you just confirm that the device type is set to FeiBit Zigbee ZLL Socket?

@Rob - yes, its using the driver you put up earlier.

@Royski - I haven't tried that one actually. Will give it a go. Thanks

1 Like

I only ask because @SmartHomePrimer did ask you to change to Generic Zigbee Outlet before posting the logs. Do you get anything different in the logs when you switch between the two?

Not sure if these plugs show up from a lot of sellers in the UK, but if they do you could pass the fingerprint to @mike.maxwell and see if it can be added. To do this however, you have to remove it again unfortunately.

Once it pairs and you click "Save", a "More" link will show up. Click that and the entire device fingerprint will show up. Copy and paste it in this thread with an @mike.maxwell and maybe it can be added down the road.