Zigbee binding

Tags: #<Tag:0x00007f5c86df7048> #<Tag:0x00007f5c86df6e90>

(Emre Evinc) #141

Chris Jackson posted the following few days ago. I think he is working on both Conbee and Raspbee (?)…

(Christian Grasser) #142

Great, thanks.
But which one is already supported?

(Mattias Törnblad) #143

You have info about supported sticks and firmware here:

If you would like to use Ikea products and TI stick, I think you need the firmware “CC2531ZNP-Pro-Secure_LinkKeyJoin.hex” instead of “…secure_standard”.

(Christian Grasser) #144

Thanks, so it is only the TI 2531 supported at the moment.

(Mattias Törnblad) #145

Ember EZSP NCP Coordinator also, the page is truncated so visit link to see full page!

(Chris Jackson) #146

I’m hoping that the ConBee won’t be hard to support - I’ve started to implement the dongle and have one arriving today (although I’m in France for a few days). Both ConBee and RaspBee are the same as far as I know so once ConBee is implemented the RaspBee will also work (hopefully!).

(Chris Jackson) #147

There are two things here - polling, and reporting. I’ve not implemented polling, but will do so. In theory though, the bulbs should be configured to send updates on their state when things change - although I’ve not tested this so it might not work ;).

I don’t believe so - I just had a quick look at the cluster and it doesn’t seem to provide this.[quote=“curlyel, post:139, topic:15763”]
Is it possible to scale 0-100 percent to their range?

I think this could be done with some scaling configuration parameters as mentioned earlier.

Agreed - the new converter system should make this possible…

However, I may also remove the switch channel if dimmer is available since in reality both are not required. This should avoid such confusion. Currently I just populate all channels that the device might support, but my thought is to optimise this, and supporting both switch and dimmer channels is not needed I think.

(Zachary Cook) #148

Understood on the battery device complications.

Another battery device for informational purposes: SmartThings SmartSense Multi (Original Model)

Device is recognized and can be added as a Thing, but no Channels are available. When switching states (toggling the magnetic sensor), the following error pops up:

2017-06-26 17:14:09.303 [ERROR] [kManagerImpl$AFMessageListenerFilter] - Error AF message listener notify.
java.lang.ArrayIndexOutOfBoundsException: 6
        at com.zsmartsystems.zigbee.serialization.DefaultDeserializer.readZigBeeType(DefaultDeserializer.java:135)[189:org.openhab.binding.zigbee:                                                                                                            1540]
        at com.zsmartsystems.zigbee.zcl.field.AttributeIdentifier.deserialize(AttributeIdentifier.java:45)[189:org.openhab.binding.zigbee:]
        at com.zsmartsystems.zigbee.zcl.ZclFieldDeserializer.deserialize(ZclFieldDeserializer.java:70)[189:org.openhab.binding.zigbee:]
        at com.zsmartsystems.zigbee.zcl.clusters.general.ReadAttributesCommand.deserialize(ReadAttributesCommand.java:76)[189:org.openhab.binding.zigbee:                                                                                                            01706251540]
        at com.zsmartsystems.zigbee.ZigBeeNetworkManager.receiveZclCommand(ZigBeeNetworkManager.java:600)[189:org.openhab.binding.zigbee:]
        at com.zsmartsystems.zigbee.ZigBeeNetworkManager.receiveCommand(ZigBeeNetworkManager.java:525)[189:org.openhab.binding.zigbee:]
        at com.zsmartsystems.zigbee.dongle.cc2531.ZigBeeDongleTiCc2531.notify(ZigBeeDongleTiCc2531.java:262)[189:org.openhab.binding.zigbee:]
        at com.zsmartsystems.zigbee.dongle.cc2531.network.impl.ZigBeeNetworkManagerImpl$AFMessageListenerFilter.receivedAsynchronousCommand(ZigBeeNetworkManager                                                                                                            Impl.java:1324)[189:org.openhab.binding.zigbee:]
        at com.zsmartsystems.zigbee.dongle.cc2531.network.impl.CommandInterfaceImpl.notifyAsynchronousCommand(CommandInterfaceImpl.java:382)[189:org.openhab.bin                                                                                                            ding.zigbee:]
        at com.zsmartsystems.zigbee.dongle.cc2531.network.impl.CommandInterfaceImpl.handlePacket(CommandInterfaceImpl.java:154)[189:org.openhab.binding.zigbee:2                                                                                                            .1.0.201706251540]
        at com.zsmartsystems.zigbee.dongle.cc2531.network.packet.ZToolPacketParser.run(ZToolPacketParser.java:115)[189:org.openhab.binding.zigbee:                                                                                                            1540]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]

(Mattias Törnblad) #150

Conbee/Raspbee support would be a good option from a Swedish point of view since they are pretty easy to get here. Do you know if they build upon some bitcloud ncp firmware and would be pretty generic, or will support be limited to just Dresden products.

(Chris Jackson) #151

The API looks specific to Dresden but it’s very simple.

Conbee is available on Amazon in the EU and US at least.

(Chris Jackson) #152

It would be good to see the debug logging around this if possible - you need to enable debug logging on com.zsmartsystems.zigbee.

(Curlyel) #153

Hi Chris,
I’m currently trying to include a Philips Livingwhites dimming adaptor:

If I’m right, these devices rely on “touchlink”. Up to now, I was not able to discover it even when just millimeters away from the CC2531.

So I’m curious, if “touchlink” join can work with the binding and/or the CC2531 coordinator.

I’ve read, that the Dresden Electronic stuff can do so. Do you know if this is even possible having touchlink devices included using the binding in a zigbee network controlled by a CC2531 and/or ConBEE/RaspBEE?

(Rick Sanchez) #154

I also checked for UK, they sell it there as well. Austria indeed seems to be left out. Haven’t found it there on amazon or similar.

The Website says they come with a bootloader and you can make own firmwares, does this help?

(Chris Jackson) #155

Yes - the UK is still part of the EU :slight_smile: .

No - this is 100% not my intention. The plan is to use a standard software so that people do not need to reprogram - they can just use a USB stick that is bought off the shelf.

(Chris Jackson) #156

Most (all I think) ZLL devices can also use standard association methods. Touchlink is only used for ZLL, where HA uses the standard association. If the device only uses touchlink then I don’t think you can use it, but I would be surprised if this was the case given other Philips devices don’t require this.

Touchlink also requires a special security key and I believe that this is not publicly available. Companies have to sign an NDA to get this key so it’s really not available for OS projects.

(Curlyel) #157

O.k. thanks for the explanation. I’ve been digging for some more information about these plugs: But all documentation/tutorials I’ve found are referring to touchlink pairing - even when connecting to a HUE bridge.

More than this, there seems to be no way to do a real factory reset of it - only option is an unpair from a remote using touchlink as well :frowning:

Anywway - seems I have to buy something new for it :wink:

(Chris Jackson) #158

This is the same for Hue (AFAIK anyway). I have a touchlink controller just to reset my bulbs :slight_smile: .

(Zachary Cook) #159

Here you go! This time didn’t give the full trace, but the error still shows.

2017-06-28 18:05:47.866 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX CMD: ManagementRoutingResponse [0/0 -> 0/0, cluster=8032, TID=NULL, status=SUCCESS, routingTableEntries=1, startIndex=0, routingTableListCount=1, routingTableList=[RoutingTable [destinationAddress=22249, status=DISCOVERY_UNDERWAY, memoryConstrained=false, manyToOne=false, routeRecordRequired=false, nextHopAddress=65534]]]
2017-06-28 18:05:47.875 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
2017-06-28 18:05:57.353 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-- AF_INCOMING_MSG (FE 1A 44 81 00 00 00 05 80 FA 01 01 00 6E 00 FD EE 04 00 00 06 19 4C 00 31 00 00 80 FA 1D DC)
2017-06-28 18:05:57.354 [DEBUG] [31.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem=null, length=26, apiId=44 81, data=FE 1A 44 81 00 00 00 05 80 FA 01 01 00 6E 00 FD EE 04 00 00 06 19 4C 00 31 00 00 80 FA 1D DC, checksum=DC, error=false
2017-06-28 18:05:57.354 [ERROR] [kManagerImpl$AFMessageListenerFilter] - Error AF message listener notify.
2017-06-28 18:05:57.828 [DEBUG] [ee.internal.ZigBeeNetworkMeshMonitor] - 22249: ManagementLqiRequest returned null
2017-06-28 18:05:57.828 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX CMD: IeeeAddressRequest [0/0 -> 22249/0, cluster=0001, TID=FF, nwkAddrOfInterest=22249, requestType=1, startIndex=0]
2017-06-28 18:05:57.828 [DEBUG] [31.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsystem=null, length=15, apiId=24 01, data=FE 0F 24 01 E9 56 00 00 01 00 FF 30 1F 05 00 E9 56 01 00 FF, checksum=FF, error=false)
2017-06-28 18:05:57.828 [DEBUG] [ee.internal.ZigBeeNetworkMeshMonitor] - 64128: ManagementLqiRequest returned null
2017-06-28 18:05:57.828 [DEBUG] [ee.internal.ZigBeeNetworkMeshMonitor] - 64128: Not updating routing table: type is END_DEVICE
2017-06-28 18:05:57.829 [DEBUG] [ee.internal.ZigBeeNetworkMeshMonitor] - 64128: Ending mesh update
2017-06-28 18:05:57.829 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - D052A8001C140003: Node updated - IEEE=D052A8001C140003, NWK=FA80, Type=END_DEVICE
2017-06-28 18:05:57.844 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
2017-06-28 18:05:58.335 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-- AF_INCOMING_MSG (FE 1A 44 81 00 00 00 05 80 FA 01 01 00 69 00 F6 FA 04 00 00 06 19 4D 00 30 00 00 80 FA 1D C4)
2017-06-28 18:05:58.335 [DEBUG] [31.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem=null, length=26, apiId=44 81, data=FE 1A 44 81 00 00 00 05 80 FA 01 01 00 69 00 F6 FA 04 00 00 06 19 4D 00 30 00 00 80 FA 1D C4, checksum=C4, error=false
2017-06-28 18:05:58.335 [ERROR] [kManagerImpl$AFMessageListenerFilter] - Error AF message listener notify.

(Chris Jackson) #160

Thanks - I’ll take a look at this tonight.

(Chris Jackson) #161

As best as I can tell at the moment, this frame is corrupt.

06 19 4C 00 31 00 00
6 means 6 bytes,
19 4C 00 is the ZCL header
31 00 is an attribute,
00 remaining is too short - it should also be 2 bytes long.

So, either the 6 bytes length is wrong, or something else…

I’ll park this for now - maybe I’m missing something and I’ll take a look at this when I get a chance with the sensor I have here.