How do I add device as "Zigbee Thing"?

I am having trouble with my Xiaomi button that I bought 5+ years ago. I know it is using the Zigbee protocol and it used to work fine using Edge Driver. But one day, it just stopped working. Changing battery does not help.Tried everything that I can think of to no avail and eventually decided to remove the device from and re-add.

No success with scanning. I keep seeing people mention about device added as “Zigbee thing”. Is it done automatically for an unrecognized Zigbee device? There is no option to choose “Zigbee thing” in the vendor list. My button does not show up as “Zigbee thing” despite me putting it in “LINK” mode.

I remember I used to visit a debug webpage which I can see all the communication activities with hex codes and all. But I can no longer access to the page. Is it still available some where? I am simply not seeing any signs of life other than the blinking LED on the button.

You can install Mariano’s Zigbee Thing driver by subscribing to his channel and installing the driver to your hub. That may or may not help the situation.

You can do driver logging using the ST CLI on your Linux/Windows/macOS computer using the command “smartthings edge:drivers:logcat” and selecting the specific driver to do logging. You can also log all drivers using the “-a” command line option.

Have you tried factory resetting the device?

Is Mariano’s Zigbee Thing driver what allows device to be discovered as “Zigbee Thing” by the Hub?

The device profile will match on any Zigbee device not specific manufacturer and model.

I’m seeing quite a bit of confusion in this topic, which is understandable, because “Zigbee thing“ is not an industry term. And as always, SmartThings tends to use the same phrase to mean different things in different contexts.

With regard to your first post’s use of the term, seeing people talking about a device added as a “Zigbee thing” in their SmartThings account, that can mean one of two situations.

GENERIC ZIGBEE DEVICE

First, the device added as a “generic Zigbee device“ (that’s the industry term) which means it added to your Zigbee network and It has a known device ID (the device tells the network what this is at the time that it joins), But the SmartThings platform has no idea what the device is or does. So it can participate to a limited degree In network messaging, but there’s not a lot you can do with it. In particular, you probably can’t use it in routines.

So why would you ever want to do this? Well, it might be a device that you’re using simply as a repeater. Or it might be a device which you are going to bind locally to another Zigbee device and you just need it to be on the same network so that you can do that. This was pretty commonly done with the original Hue dimmer switches, for example. You couldn’t do anything with them within the SmartThings app, but you could have some Zigbee bulbs that were available in the SmartThings app and that you could then also separately control with the Hue dimmer. So it had its uses.

ZIGBEE THING MC

Since the new ST architecture was introduced with edge drivers, The term “Zigbee thing“ started to be used in a new way.

People would have a device that they did want to be able to add to their SmartThings Zigbee network and use in the SmartThings app, but the challenge was that if there wasn’t already an existing edge driver for it, you needed to get a bunch of information about the device in order to create a custom edge driver. So how to get that information?

@Mariano_Colmenarejo , A very talented community developer, created a custom edge driver, which he called “zigbee thing MC”. (MC are his initials.) this custom edge driver will work with pretty much any Zigbee device that can join the network, and this allows you to get the information that you need to then create a specific custom driver for it.

Note that when you use the “Zigbee thing MC” edge driver, smartThings itself no longer considers the device a generic Zigbee device, The kind that doesn’t have an edge driver. It has an edge driver now, a custom edge driver, and so the information becomes visible in your account. For example, you can now see the endpoint information for the device.

YOUR BUTTON

So the first question would be why do you want to add the device as a Zigbee thing?

If it’s just so you can then bind it to other Zigbee devices on your network as a parallel means of control, then once it’s been added to your network, you’re done. You will then use some other method outside of SmartThings to complete the binding. (Typically touchlink, which is not supported by the SmartThings platform at the time of this post. )

If you are following instructions from some other thread in the forum, and you want to add it as a “Zigbee thing“ using Mariano‘s custom edge driver so that you can get more information about the device, probably hoping to eventually add it as a fully recognized device to your SmartThings account, then you would use Mariano‘s driver to add it to your SmartThings account and make the information visible. Once you get the information, you would stop using “Zigbe thing MC” with the device and instead use either a different button edge driver or a new custom edge driver that would expose not just the device’s information, but also allow you to do actions with it.

So the “Zigbee thing MC“ edge driver is just something you use temporarily as part of a diagnostic process.

I hope that helped clear up a little of the confusion. :thinking:

8 Likes