Long time lurker, I’ve been using the Zigbee binding for about 6 months now and for the most part its been great, I suspect some of the issues I’ve encountered with tradfri builds not responding, always after multiple days uptime, could be related to the telegesis dongle I’ve been using, its now almost impossible to debug with 30 or so devices on the network, the log fills up very quickly and even with grep its hard to spot what I’m looking for.
My plan is to use the CC2531 which can be bought as little as £5 now + £12 for the smartRF04EB (you can use an Arduino for flashing at a pinch) vs the £60 i paid for the telegesis and hopefully help out with adding devices, once i get eclipse set up with remote debugging, this means i can now play with devices without not having to worry about not having lighting or heating when I inevitably screw up
My first two devices I’d like to try and help add/improve are the Tradfri motion sensor, which although can be added and appears to have all the right channels but never triggers on a motion event, the second device is the xiaomi lumi motion sensor(great deal at ~£10 each), this again is discovered correctly after a little bit of persuasion pressing the reset button on the motion sensor every second until the binding can do a full discovery, however it has the same issue as the tradfri motion sensor in that it never toggles the switch for motion, I can verify its functioning as the log is updated whenever i wave my hand in front of it -
22:11:18.886 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- AF_INCOMING_MSG (FE 1B 44 81 00 00 06 04 F5 49 01 01 00 61 00 2E 8A C2 00 00 07 18 26 0A 00 00 18 01 F5 49 1D EC)
22:11:18.886 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem=null, length=27, apiId=44 81, data=FE 1B 44 81 00 00 06 04 F5 49 01 01 00 61 00 2E 8A C2 00 00 07 18 26 0A 00 00 18 01 F5 49 1D EC, checksum=EC, error=false
22:11:18.887 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress=18933/1, destinationAddress=0/1, profile=0104, cluster=1030, addressMode=null, radius=0, apsSecurity=false, apsCounter=0, payload=18 26 0A 00 00 18 01]
22:11:18.887 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX ZCL: ZclHeader [frameType=ENTIRE_PROFILE_COMMAND, manufacturerSpecific=false, direction=SERVER_TO_CLIENT, disableDefaultResponse=true, manufacturerCode=0, sequenceNumber=38, commandId=10]
22:11:18.887 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: ReportAttributesCommand [Occupancy sensing: 18933/1 -> 0/1, cluster=0406, TID=26, reports=[Attribute Report: attributeDataType=BITMAP_8_BIT, attributeIdentifier=0, attributeValue=1]]
22:11:18.888 [DEBUG] [m.zsmartsystems.zigbee.ZigBeeEndpoint] - 18933/1: Cluster 1030 not found for attribute response
The fact it at least triggers something each time is very promising, i presume the cluster hasn’t been defined in the binding yet.
Is there any tips for a noob who would like to contribute? I’m familiar with Java, know of karaf and OSGI concepts but i’ve never attempted to debug something as complex as a runtime loaded binding which ultimately uses a serial device, which i don’t think respond kindly to large delays introduced while debugging.
What i’ve done so far -
- Set up eclipse with openhab packages
- Set up openhab snapshot in a docker container with ttyACM0 pass through
- Added devices (coordinator and both motion sensors)
What i’ll try next -
- Build snapshot of the binding and reload binding/bundle in karaf within docker
- Connect eclipse remote debugging <- I suspect this might be more complicated than i presume