Bill, what device are you communication with? For the custom device types I have created I had to get a good understanding of the ZigBee traffic before I wrote any device type code. This way I knew what the SmartThings Hub was trying to tell me. If this is a Hue bulb or another ZigBee device I have on my network I would be happy to send a set level command and see what it is returning.
It’s a new device, in development. It’s a ZigBee Light Link profile, “Color Temperature Light”. This is similar to a GE Link which is a “Dimmable Light” but the Color Temperature Light also supports some functions in the Color Control cluster.
The GE Link sends the same messages I’m referring to. For example, after a setLevel(48) command, it responds with:
As I understand it, the catchall responses are sent when the hub doesn’t know how to interpret a Zigbee message it receives from the device. I just don’t know the format of the catchall description.
I suspect these are either some sort of acknowledgment of the commands sent or they may be reports. The GE Link driver sets up reports but I don’t see them handled in the parse() method.
I notice a strange thing in the GE Link device type handler. In the parse function, it decodes the “read attr” message which comes back from the refresh operation, but it does not seem to get a read attr message for the on/off value. Instead it gets a catchall which it is decoding to get the on/off value. Not sure why the read attr for on/off generates a catchall while the read attr for the level generates a “read attr” response.
Do you see any catchall responses with the Hue bulbs?