Zigbee Binding Tradfri Signal Repeater experiences looking for guidance?

Platform information:

  • Hardware: Raspberry Pi 4
  • OS: Raspbian - Buster
  • Java Runtime Environment: Zulu 8.46
  • openHAB version: 2.5.5 Release version

Topic:
My first Zigbee addition is a Fyrtur blind via Tradfri Signal Repeater

Configuration

  • HUSBZB-1 Ember EM35x Coordinator - Working well according to the logs
  • Tradfri Signal Repeater (Router) - communicates well to the Coordinator and each device
  • One End_Device is a ‘steering’ switch - which does indeed control the blind
  • One End_Device - the Blind - which works via the switch and required Signal Repeater/router

My background
I’m an EE, professional software developer, OpenHab user, starting to write a binding for the Bond gateway. However, I have zero experience with zigbee. I’m well versed in logs reading, though not specifically for this binding.

In order to get this to work, I’ve tried everything that I’ve read. The clearest description simply says (paraphrased):

[After the controller Thing goes green]
Go to Inbox
select +
Select Zigbee
do whatever the device needs, each is different
If done right, it shows up in the inbox
select it to create a Thing
Then make an Item and continue as you will (basically)
If it doesn’t work, turn on debug via the Karaf console.

I have the starter Fyrtur blind (zigbee end_device) the Tradfri Signal Repeater (zigbee_router) and the ‘steering’/switch (end_device).
They all work together fine. I’ve reset and repaired them multiple times
The Coordinator is healthy and communicates to the Tradfri/router

The coordinator installed find and is green.

  • I click plus (+)
  • Select Zigbee
  • Put my end_device(s) into pairing mode and wait
  • Nothing shows up in the inbox
  • Logs show nothing from the blind
  • The switch shows a familiar series of EzspMacFilterMatchMessageHandler messages

In order to try trouble shoot, I’ve tried many combinations and sequences. This is the result of my experiments:

Connecting the switch to the controller:
I cannot get the switch to connect to the coordinator when it is fully functioning to the router/blind.
However, if I factory reset the switch, I can connect (sorta). Most times I get that it’s offline and didn’t finish. I did, once, get it fully configured with a channel for the shade % Open. Yes!

Unfortunately, the switch was not paired with the signal repeater or the blind itself. So it didn’t do anything and the use of the new item → channel threw errors.

After many tries, I left the Item in OH, reset the switch and paired it up to the router and subsequently blind and it worked as expected without OH.
The Item failed from OH of course, looking like it was going to different address than the devices ended up being. It threw null exception errors (I believe).

In short - no connection to the coordinator unless I reset the switch to factory. I cannot then pair the switch to the router and blind making it non-functional. If I have a functional switch/router/blind, nothing is discovered by the coordinator.

Connecting the blind to the coordinator
Early on, after many tries, I finally got the blind connected to the coordinator, it appeared as an end device, but the Thing failed as there were essentially no clusters available (if I recall right). Basically it’s a dumb end_device that needs to be connected to the router. No channels there. So that didn’t do me any good.
I’ve tried to connect the blind itself to the coordinator after the system is fully functioning within itself, but had no luck. It didn’t appear to even try pair (according to the logs).

If anyone has successfully connected a Fryter blind, the Tradfri Signal Repeater, and a steering device/switch, I’d sure love to hear how and in what sequence!!

I have searched all over and I’ve found instructions like above, which is great, when it works. But I’ve not found help other than to turn on debugging. When I search for Tradfri, I nearly entirely get results for the Gateway (Ikea didn’t help me by using the same name for two rather different devices/purposes).

I also couldn’t find any tool that would allow me (or ask the binding) to query and report on the network, nodes and their states. This is available on other zigbee packages, but I couldn’t find one for this.

I’ve been collecting logs for the last 4 hours. I’ve filtered to only contain ‘zig’ (grep zig). But it’s too broad with too many things done in there.

At first blush, I’m less interested in specifically trying to trouble shoot my specifics until/unless I know exactly what a successful/repeatable sequence is supposed to be! Otherwise we may be searching logs for an incorrect attempt.

If someone has a successful sequence for these devices, please let me know and I’ll try it while collecting logs.

If it’s beneficial to upload logs of any/all of the above attempts, I’m happy to do that too. Hopefully we can narrow it down to specific steps to help focus the search.

I’d be happy to write up supplemental documentation once/if I’m up and running and understand the whys and whynots.

Thanks for any feedback and direction!
MikeJ

Please use the latest snapshot of the binding as support for these blinds was only added in the past week.

@chris

[HINT: Hard fought success!]

I have deleted 3 (4… 5?) draft posts with sequences/logs, but I’ll summarize it quickly. Initially nothing really changed when I went to the Snapshot release. Update, uninstall binding, clear cache, reboot, reinstall, etc. etc. etc.

I still haven’t seen or heard the correct sequence of how to bring these on line. What to pair with what and in what order. So I’m largely guessing. Trial and error.

I’d only been pairing the switch, blind, coordinator in various attempts. It seemed that the router ‘just worked’. Then it hit me that while it communicates with the coordinator, it might be on a different logical network.

So, I factory reset the router, paired it with the coordinator and I got a new Thing in my inbox. Correctly identified as the Signal repeater

Progress! (Though it’s never been online and green)

After trying a bunch of combinations after that, I eventually had all the Things defined, but they still didn’t work. I’d have channels, items, green status and still nothing.

  • Eventually, I reset the signal repeater again, joining with the coordinator again.
  • Then, I reset the switch and joined it to the repeater. It created a thing and slowly brought in configuration. Eventually there was a channel. Yes! A dimmer to set the height of the blind. It didn’t work, but it was there.
  • Then I factory reset the blind. It sort of connected, a thing showed up.
  • I believe I tried to continue to discovery and put the blind into pairing mode now. Again, I think I reset the switch to factory settings again and connected to the blind. I believe. It eventually showed up as the Ikea description and I added it as a Thing.

I spent time re-writing this reply for the umpteenth time, and when I was capturing screen shots, I see that there was now a second channel for the blind (battery alarm) and the switch’s battery voltage Item actually showed data on the ‘control’ tab.

I tried using the switch to set the percentage and it didn’t work. It threw this error as it always did. I have never gotten anything other than the error listed below.

If I try use the switch item (DIMMER) the following error gets thrown
image

2020-06-12 15:09:13.510 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - EC1BBDFFFE19E03A: Command for channel zigbee:device:c981b62d:ec1bbdfffe19e03a:EC1BBDFFFE19E03A_1_dimmer --> 28 [PercentType]
2020-06-12 15:09:13.521 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - EC1BBDFFFE19E03A: Exception sending command to channel zigbee:device:c981b62d:ec1bbdfffe19e03a:EC1BBDFFFE19E03A_1_dimmer
        at org.openhab.binding.zigbee.internal.converter.ZigBeeConverterSwitchLevel.moveToLevel(ZigBeeConverterSwitchLevel.java:397) ~[bundleFile:?]
        at org.openhab.binding.zigbee.internal.converter.ZigBeeConverterSwitchLevel.handlePercentCommand(ZigBeeConverterSwitchLevel.java:384) ~[bundleFile:?]
        at org.openhab.binding.zigbee.internal.converter.ZigBeeConverterSwitchLevel.handleCommand(ZigBeeConverterSwitchLevel.java:351) ~[bundleFile:?]
        at org.openhab.binding.zigbee.handler.ZigBeeThingHandler$3.run(ZigBeeThingHandler.java:734) [bundleFile:?]

If I try use the roller shade controls, the command supposedly goes out but is never acknowledged and nothing ever happens:

2020-06-12 14:03:56.158 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 680AE2FFFE33B860: Polling zigbee:device:c981b62d:680ae2fffe33b860:680AE2FFFE33B860_1_windowcoveringlift
2020-06-12 14:03:56.161 [DEBUG] [.zsmartsystems.zigbee.zcl.ZclCluster] - readSync request: 8
2020-06-12 14:18:42.260 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 680AE2FFFE33B860: Command for channel zigbee:device:c981b62d:680ae2fffe33b860:680AE2FFFE33B860_1_windowcoveringlift --> DOWN [UpDownType]
2020-06-12 14:20:15.251 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 680AE2FFFE33B860: Polling...
2020-06-12 14:20:15.255 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 680AE2FFFE33B860: Polling zigbee:device:c981b62d:680ae2fffe33b860:680AE2FFFE33B860_1_windowcoveringlift
2020-06-12 14:20:15.258 [DEBUG] [.zsmartsystems.zigbee.zcl.ZclCluster] - readSync request: 8

Here are the parameters of the signal repeater (looks like only the switch and coordinator are neighbors - nothing with the blind):

It looks like all these commands just get queued up, retried, until I shutdown and then they all get terminated:

2020-06-12 14:29:52.011 [DEBUG] [zigbee.transaction.ZigBeeTransaction] - Transaction terminated: ZigBeeTransaction [ieeeAddress=EC1BBDFFFE19E03A queueTime=10807016, state=FAILED, sendCnt=1, command=ReadAttributesCommand [Basic: 0000/0 -> 1FBC/1, cluster=0000, TID=8E, identifiers=[5, 4, 3, 2, 6, 0, 1]]]
2020-06-12 14:29:52.015 [DEBUG] [zigbee.transaction.ZigBeeTransaction] - Transaction terminated: ZigBeeTransaction [ieeeAddress=680AE2FFFE33B860 queueTime=10782517, state=FAILED, sendCnt=0, command=ReadAttributesCommand [Basic: 0000/0 -> 8C9B/1, cluster=0000, TID=--, identifiers=[5, 4, 3, 2, 6, 0, 1]]]
2020-06-12 14:29:52.018 [DEBUG] [zigbee.transaction.ZigBeeTransaction] - Transaction terminated: ZigBeeTransaction [ieeeAddress=680AE2FFFE33B860 queueTime=10770514, state=FAILED, sendCnt=0, command=ReadAttributesCommand [Basic: 0000/0 -> 8C9B/1, cluster=0000, TID=--, identifiers=[4]]]
2020-06-12 14:29:52.021 [DEBUG] [zigbee.transaction.ZigBeeTransaction] - Transaction terminated: ZigBeeTransaction [ieeeAddress=680AE2FFFE33B860 queueTime=10758507, state=FAILED, sendCnt=0, command=ReadAttributesCommand [Basic: 0000/0 -> 8C9B/1, cluster=0000, TID=--, identifiers=[5]]]

But when I pushed the ‘down’ for the blind, it finally worked after days and days of trying!

Here are screen shots of the Things and their properties:

Signal Repeater - still not green

The switch - green with three channels

The blind - green with 2 channels

So, the blind will go up/down via OH. That’s great!! It would be nice to set the height directly to say 50% like the dimmer offers.

Thanks Chris for the help and hopefully this will help others once up and running. I’m afraid after all the tries, I’m still not 100% confident in the process or sequence. The configuration seems to slowly trickle in.

Thoughts Chris?