Zigbee newbie

  • Platform information:
    • Hardware: laptop x86
    • OS: Ubuntu 16.04
    • Java Runtime Environment: java version “1.8.0_161”
    • openHAB version: 2.2

I am a newbie trying to get a zigbee temperature and humidity sensor (https://es.aliexpress.com/item/ZigBee-inal-mbrica-inteligente-de-temperatura-y-humedad-sensor-detector/32841457139.html) work with a dongle (https://es.aliexpress.com/item/Wireless-Zigbee-CC2531-Sniffer-Packet-Protocol-Analyzer-Module-USB-Interface-Dongle-Capture-Packet/32769663830.html) programmed (https://es.aliexpress.com/item/SmartRF04EB-CC1110-CC2530-ZigBee-Module-USB-Downloader-Emulator/32758806132.html)

So far I flashed the device, which complains checking with “read”:

$ ./cc-tool -e -w CC2531ZNP-Pro-Secure_Standard.hex -v r
  Programmer: SmartRF04DD
  Target: CC2531
  Erasing flash...
  Completed       
  Writing flash (241 KB)...
  Completed (8.35 s.)
  Verifying flash...
  Failed

But no problem when checking with ‘©cr’

$ ./cc-tool -e -w CC2531ZNP-Pro-Secure_Standard.hex -v c
  Programmer: SmartRF04DD
  Target: CC2531
  Erasing flash...
  Completed       
  Writing flash (241 KB)...
  Completed (8.35 s.)
  Verifying flash...
  Completed (3.26 s.)

When I connect the dongle dmesg returns:

[  835.738798] usb 1-5: new full-speed USB device number 8 using xhci_hcd
[  835.882600] usb 1-5: New USB device found, idVendor=0451, idProduct=16a8
[  835.882605] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  835.882609] usb 1-5: Product: TI CC2531 USB CDC
[  835.882613] usb 1-5: Manufacturer: Texas Instruments
[  835.882616] usb 1-5: SerialNumber: __0X00124B000E896804
[  835.912492] cdc_acm 1-5:1.0: ttyACM0: USB ACM device
[  835.913264] usbcore: registered new interface driver cdc_acm
[  835.913265] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

And lsusb:

$ lsusb 
....
Bus 001 Device 008: ID 0451:16a8 Texas Instruments, Inc. 
....

So de device appear to work.

Then using PaperUI I add a CC2531EMK Coordinator thing and configure it with port “/dev/ttyACM0” (my only option). Then I try to join the sensor to the network pressing the button for 3 seconds, it flashes shortly and the “it appear to be joined”, but when I go to Inbox to search for things nothing appear.

What am I missing? I coordinator says it is online. I have pasted my log (adding .xml extension to allow to upload it).
openhab.log.xml (115.4 KB)

Are you putting the binding into search mode? In the inbox there’s a button to start a search - press this, then immediately reset the device.

I detach the device (pressing 5secs reset). Then in Inbox I press search and choose zigbee, and immediately press reset for 2 secs. It starts blinking and really fast change to still for a second and stop (so it appear to have joined). But nothing appear anywhere. Any extra step required?

Can it be a frequency problem? does zigbee use different frequency in USA and Europe?

I am trying to follow the log (restarting the OH and cleaning logs). I don’t know if this lines are relevant:

2018-04-08 23:06:55.239 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - 00124B000E896804: Node 0 is added to the network
2018-04-08 23:06:55.259 [DEBUG] [nal.ZigBeeNetworkStateSerializerImpl] - Saving ZigBee network state: done.
2018-04-08 23:07:04.554 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - 0: Starting mesh update
2018-04-08 23:07:04.555 [DEBUG] [bee.internal.ZigBeeNetworkDiscoverer] - 55939: Discovery request IEEE_ADDRESS failed. Wait before retry.
.......................
2018-04-08 23:07:04.723 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - 55939: Starting mesh update
2018-04-08 23:07:04.724 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - 55939: ZigBee node not found during mesh update
......................
2018-04-08 23:07:16.169 [DEBUG] [bee.internal.ZigBeeNetworkDiscoverer] - 55939: Discovery request IEEE_ADDRESS failed. Wait before retry.

No - it’s the same frequency worldwide.

Once the device is associated, try keeping it awake for a while - normally by pressing a button. Some devices that are not fully compliant to ZigBee have a tendency not to stay awake and the device can’t be contacted.

After “joining” the device, first messages to log are:

2018-04-08 23:48:17.216 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Mesh related command received. Triggering mesh update.
2018-04-08 23:48:17.217 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Refreshing mesh update task with interval of 90 seconds
2018-04-08 23:48:17.216 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Mesh related command received. Triggering mesh update.
2018-04-08 23:48:17.218 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Refreshing mesh update task with interval of 90 seconds
2018-04-08 23:48:17.333 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
2018-04-08 23:48:20.030 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 14 45 FF BE 75 00 01 80 00 00 00 00 80 76 62 35 03 C9 43 50 00 BE 75 57)
2018-04-08 23:48:20.030 [DEBUG] [31.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem=null, length=20, apiId=45 FF, data=FE 14 45 FF BE 75 00 01 80 00 00 00 00 80 76 62 35 03 C9 43 50 00 BE 75 57, checksum=57, error=false
2018-04-08 23:48:20.030 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress=30142/0, destinationAddress=0/0, profile=0000, cluster=32769, addressMode=null, radius=0, sequence=0, payload=00 80 76 62 35 03 C9 43 50 00 BE 75]
2018-04-08 23:48:20.030 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX CMD: IeeeAddressResponse [30142/0 -> 0/0, cluster=8001, TID=NULL, status=INV_REQUESTTYPE, ieeeAddrRemoteDev=null, nwkAddrRemoteDev=null, numAssocDev=null, startIndex=null, nwkAddrAssocDevList=[]]
2018-04-08 23:48:20.218 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - 0: Starting mesh update

I tried pushing the only button from de device randomly after this, but no nothing appear in inbox.

I don’t know if it may help, but I opened the device

I tried flashing CC2531ZNP-Pro-Secure_LinkKeyJoin.hex to the dongle, but nothing changes

2018-04-09 00:24:52.008 [DEBUG] [bee.internal.ZigBeeNetworkDiscoverer] - 31753: Scheduling node discovery
2018-04-09 00:24:52.008 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Mesh related command received. Triggering mesh update.
2018-04-09 00:24:52.008 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Refreshing mesh update task with interval of 90 seconds
2018-04-09 00:24:52.008 [DEBUG] [bee.internal.ZigBeeNetworkDiscoverer] - 31753: Starting node discovery
2018-04-09 00:24:52.009 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX CMD: IeeeAddressRequest [0/0 -> 31753/0, cluster=0001, TID=25, nwkAddrOfInterest=31753, requestType=1, startIndex=0]
2018-04-09 00:24:52.009 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress=0/0, destinationAddress=31753/0, profile=0000, cluster=1, addressMode=DEVICE, radius=31, sequence=37, payload=00 09 7C 01 00]
2018-04-09 00:24:52.009 [DEBUG] [31.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsystem=null, length=15, apiId=24 01, data=FE 0F 24 01 09 7C 00 00 01 00 25 30 1F 05 00 09 7C 01 00 25, checksum=25, error=false) 
2018-04-09 00:24:52.017 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Mesh related command received. Triggering mesh update.
2018-04-09 00:24:52.018 [DEBUG] [tems.zigbee.ZigBeeNetworkMeshMonitor] - Refreshing mesh update task with interval of 90 seconds
..................
2018-04-09 00:25:36.954 [DEBUG] [bee.internal.ZigBeeNetworkDiscoverer] - 31753: Discovery request IEEE_ADDRESS failed. Wait before retry.
2018-04-09 00:25:38.455 [DEBUG] [bee.internal.ZigBeeNetworkDiscoverer] - 31753: Ending node discovery
2018-04-09 00:25:45.909 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 01 45 CB 00 8F)
2018-04-09 00:25:45.909 [DEBUG] [31.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem=null, length=1, apiId=45 CB, data=FE 01 45 CB 00 8F, checksum=8F, error=false
2018-04-09 00:25:45.909 [DEBUG] [e.dongle.cc2531.ZigBeeDongleTiCc2531] - Unhandled ZToolPacket type 0x45cb

Do the dongle buttons have any use?

Not as far as I know. I don’t personally use the 2531 apart from a small amount of testing occasionally, but I’ve never used them.

In a post I discovered https://openhab.ci.cloudbees.com/ which looks like nightly. How could I test it?

All plugins are installed through PaperUI - if you are using the snapshot runtime, then just install the binding through PaperUI and you’ll get the latest version.

I tried 2.3.0-SNAPSHOT Build #1252 in a clean install, and the device is detected. Now I need to understand how to add the device, and I will save it until 2.3 is stable