Discovery problem with Elelabs Zigbee dongle

I’m trying to get an IKEA Trådfri bulb to work with OpenHAB (running on a Raspberry Pi) using the Elelabs USB Zigbee dongle. The communication between the dongle and OpenHAB seems to be working (i.e. I don’t think this relates to serial port settings/access rights). It would initally switch between being “online” and “unknown” but “reset controller” plus restarting OpenHAB solved that and it hasn’t happened since (across multiple restarts). I’ve tried to scan for the bulb as described in the user guide (https://elelabs.com/wp-content/uploads/2019/02/EZBUSBA_UG_3_OpenHab.pdf). I’ve also tried to flash the dongle with v6 and v8 firmware as described here: GitHub - Elelabs/elelabs-zigbee-ezsp-utility: Elelabs Zigbee EZSP Utility to perform firmware update on a range of Elelabs EZSP products as well as other generic EZSP adapters.

The bulb is brand new one (I bought it specifically for this as that’s what’s used in the user guide, before that I also unsuccessfully tried a HUE light switch and bulb), i.e. it has never been associated with any home automation system (nor should there have been any other systems within reach as I did these tests at work where there are no other buildings nearby).

Settings for the “Ember EM35x Coordinator” thing (I think these are, apart from the serial settings, defaults):

Port: /dev/ttyUSB0
Flow Control: Hardware (CTS/RTS)
Baud Rate: 115200
Power Mode: Boost
Transmit Power: Normal
Child Aging Timeout: 1 Day
Network Size: Medium (25)
Channel: Channel 11
PAN ID: 18136
Extended PAN ID: B5801FD1402DEA44
Network Security Key: F6AC4B6B345ADF41776B4D228A6502F0
Link Security Key: 5A6967426565416C6C69616E63653039
Install Code:
Mesh Update Period: 1 Day
Trust Centre Join Mode: Allow only secure joining
Concentrator Type: Low RAM

I intended to attach the logs here but as a newly registered user I can’t. There was nothing in them that indicates to me that there is communication with the bulb but it could be me not knowing what it would look like. There are no lines in the log at the time I turn on the bulb which looks different from was logged before I started the scan, just a lot of lines like

ASH: TX EZSP queue size: 1
→ TX ASH frame: AshFrameData [frmNum=5, ackNum=6, reTx=false, data=95 00 01 18 00]
← RX ASH frame: AshFrameData [frmNum=6, ackNum=6, reTx=false, data=95 80 01 18 00 02]
ASH: Frame acked and removed AshFrameData [frmNum=5, ackNum=6, reTx=false, data=95 00 01 18 00]
→ TX ASH frame: AshFrameAck [ackNum=7, notRdy=false]

I later also tried it with “Allow all joins” (but didn’t save the logs as they seemed similar).

What am I supposed to see in the logs when it’s working? Have I missed something in the settings? One thing I note is that the log says PANID 65535 (i.e. -1 in 16 bits), not 18136 as in the settings.

Did you set the Thing up manually or through the UI? Setting up through the UI is usually less trouble prone.

You should ensure that you reset the bulb after start the discovery so that you know the bulb is not on another network etc (even if it is new - you cannot be sure of the state!).

1 Like

You’re putting me on the spot here as I did that part some time ago, but I think I did it in the UI. There would be a file in …/things otherwise, right? I actually prefer the transparency of configuration files but I think I failed to figure out how to do that one (I used a config file for the MQTT binding).

Ahh, I wondered about that (how pairing could be done in a secure fashion without it) but stupidly assumed there was no such thing since there’s no button on it. Now I searched and found out and will try it.

Still, there was a reset button on the HUE switch that also failed to pair (though I didn’t try that with different firmwares for the coordinator).

If it doesn’t work, it’s really hard to say what’s up. The binding logs might help, but joining is not something the binding does for the large part. All the initial joining is a transaction between the device and the stick, and the binding will only find out after the device joins.

Resetting devices is always a good idea as you can be sure what state they are in, and it also puts them back into a “search” mode. Sometimes devices may give up, or search more slowly. Sometimes they could join another network - all these things stop them joining. There may also be issues with the join, but this can only be established with a network sniffer, which generally requires a second stick.

There have been a few issues with the EleLabs stick - I’ve tried to contact @Elelabs a few times to get information on the firmware (and ideally provide enhanced firmware) but he no longer seems to be active on the forum :frowning:

It worked with the bulb now (rather than blink once on the sixth switch-on it just keeps altering the power level but I guess that indicates reset too as it has now paired successfully). Thanks for having patience with my n00b-ness.

EDIT: I also had to put the bulb really close to the stick as some suggest…

I actually e-mailed the Elelabs guy and told him I posted this question but that was of course only yesterday.