Zigbee binding

The 2.2 release will not work with motion sensors - you need a much newer snapshot to get motion sensors of any type.

Cheers
Chris

Thanks a lot Chris for the quick reply :+1:

Is just dropping a 2.3-jar of the binding into the addons-folder and uninstall the 2.2. binding via PaperUI sufficient (without bumping the whole setup to the snapshot version)?

If so - where to download a recent *.jar of the zigbee binding?

You should be able to install just a recent JAR, but you might need to manage the serial dependancy with the following karaf command.

feature:install openhab-transport-serial

The latest jar should be found on cloudbees.

I actually have a feeling this still may not work if there is nothing showing in the log at allā€¦

Just to confirm: On version 2.3.0.201801190819 I got the HUE motion sensor working.
Thanks again for your help!

1 Like

Cool - thanks for the feedbackā€¦ I think things are slowly improving with the binding :slight_smile:

Hi @chris,
great, thanks a lot. Iā€™m looking forward to your results.
Ralph

Ok, thanks Arno, looking forward if Chris can add some supportā€¦

Regarding the Qivicon, I donā€™t think itā€™s a similar product, even if it follows a similar idea. Like openHAB it shall combine devices from different vendors or systems but it uses a different strategy. So Qivicon for me is another smart home hardware hub which controls devices from multiple vendors (homematic, bitron, logitech, ā€¦).

As far as I understand openHAB is a complete software based approach and follows the strategy, to connect to specific hardware hubs (ccu2, logitech, whatever). So binding qivicon would be a huge benefit for both. OH can integrate with one concentrator different vendorsā€¦

Qivicon software is fundamentally the same system as openHAB - they are both running ESH under the hood (at least for the newer products - older products used a different system). This is why it is possible to use the ZigBee Binding on the QHB - Iā€™m not sure if it is possible out of the box due to the PID issues, but I will see if I can find some time to test this as I have a few different QHBs here sitting in boxesā€¦

Iā€™m aware of that. My point focusses on the hardware strategy they differ (or better which is bundled on qivicon side). And is the common ESH base a reason not to integrate qivicon2 as hardware hub to OH?

No - I didnā€™t say it was did I? The bindings here should run on QHB as I said. I was merely commenting on your point that openHAB and Qivicon are not similar products when clearly they are running very similar server software.

Ok, just missunderstanding :slight_smile: You never said so, Iā€™m just trying to understand why a binding for qivicon seems to make less sense to others than to me :wink:

I donā€™t think anyone said it was a good, bad, or other, idea to have a binding to connect to a Qivicon systemā€¦

However, personally I donā€™t see the need given itā€™s a very similar system - itā€™s like saying ā€œletā€™s have a binding for openHABā€. Effectively you would have two instances of ESH running which can be easily connected together with MQTT if thatā€™s what you wanted to do.

Hi Chris,
after playing a bit with the HUE motion sensor some wishes regarding the LED indicator and the battery level have arisen :wink:

LED indicator
When paired to a HUE bridge, the LED on the sensor is configured to just blink in case of battery is low or empty (orange==low, red==almost empty, steady red==no connection to coordinator).

When connected to the Zigbee binding, the LED flashes every time when motion is detected.
This is somehow distracting/annoying.

It seems, that Philips has some attribute in the basic cluster

0x0000/0x0033* config.ledindication

which likely is intended to set the ā€œLED modeā€.

Battery level
Currently, there is no battery level channel. From some post in another forum:
https://developers.meethue.com/content/philips-hue-motion-sensor-and-zigbee-attributes

I got, that Philips has implemented the power cluster, so probably reading the

u8BatteryPercentageRemaining

could be possible to fill a battery channel.

Here is the list somebody has sniffed from the communication of the sensor with the HUE bridge:

From your sniffer, you should see that the Hue bridge sets up bindings to the bridge for the following clusters on endpoint 02:

- 0x0000 (Basic)

- 0x0001 (Power)

- 0x0400 (Illuminance Measurement)

- 0x0402 (Temperature Measurement)

- 0x0406 (Occupancy Sensing)

Then, it sets up attribute reporting for the following attributes:

- 0x0000/0x0032* config.usertest

- 0x0000/0x0033* config.ledindication

- 0x0001/0x0021 config.battery

- 0x0400/0x0000 state.lightlevel

- 0x0402/0x0000 state.temperature

- 0x0406/0x0000 state.presence

- 0x0406/0x0030* config.sensitivity

*) these are manufacturer specific attributes.

So would it be possible to make the LED configurable, or switch it off completely, or initialize it just similar to Philips (just blink if battery is weak)?

Is a battery channel possible (useful for all battery powered nodes)?

Since this is a custom attribute, thereā€™s no nice way to do this right now. One of the things I will be working on over the next month or two is to add device definitions into the binding so we can define custom functionality like this. This is something that is currently on my todo list, but it will be a month or so away. Hopefully you can live with it till then (or find a piece of sticky tape to cover it over :slight_smile: ).

The battery level channel is implemented already in the binding, but if I remember correctly, this attribute is not implemented in the Hue (but it was a while ago when I implemented this so I might be wrong - either way, it didnā€™t provide the information when I checked it in early December when this was implemented).

Iā€™m currently working on the Tradfri motion sensor which does implement this attribute so I will double check it works there and then have another look at the Hue implementation. Iā€™ll do this in the next day or so.

Sure :wink:

As always - youā€™re already on it :wink:
Thanks a lot for all your dedication!

Actually, can you raise an issue for the LED parameter and either reference your post above, or (preferably) paste the info into the issue - then I wonā€™t forget this when I implement the device definitions, and Iā€™ll easily be able to find the info :slight_smile:

Done: https://github.com/openhab/org.openhab.binding.zigbee/issues/100

Thanks - and just for completeness and visibility in case anyone has any comments -:

1 Like

On 2.3.0.201801211741, my Centralite outlet is reporting powerā€¦ wahoo! Values are updating about every 3s.

1 Like

Hi, Iā€™m a noob trying to get a cc2531 to connect to a hue bulb.
I have tried everything.

Can you look at my log file?

I think? the issue is ā€œUnhandled ZToolPacket type 0x45cbā€? Just a noob guess.

Thanks!

cc2531

23:12:26.495 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: ManagementPermitJoiningRespon
ESS]
23:13:26.463 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 01 45 CB 00 8F)
23:13:26.467 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
F, checksum=8F, error=false
23:13:26.469 [DEBUG] [ee.dongle.cc2531.ZigBeeDongleTiCc2531] - Unhandled ZToolPacket type 0x45cb
400_MHZ], macCapabilities=[FULL_FUNCTION_DEVICE, MAINS_POWER, RECEIVER_ON_WHEN_IDLE, ALTERNATIVE_PAN
pleDescriptorListAvailable=false]]
23:11:45.562 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-  ZB_GET_DEVICE_INFO_RSP (FE 09 66
23:11:45.575 [DEBUG] [com.zsmartsystems.zigbee.ZigBeeNode  ] - 3556D79E8ACBCF90: ClusterMatcher star
23:11:45.580 [DEBUG] [531.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsyste
 00 00 00 03 00 02 30 1F 03 00 00 00 05, checksum=05, error=false)
23:11:45.730 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
23:11:45.734 [DEBUG] [531.network.impl.CommandInterfaceImpl] - ->  ZB_GET_DEVICE_INFO (Packet: subsy
07 26, checksum=26, error=false)
23:11:45.738 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 07 45 83 00 00 00
23:11:45.744 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
0 00 00 00 10 C1 10, checksum=10, error=false
23:11:45.753 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress
=32771, addressMode=null, radius=0, sequence=0, payload=00 00 00 00 10 C1]
23:11:45.759 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: PowerDescriptorResponse [0/0
AddrOfInterest=0, powerDescriptor=RECEIVER_ON_IDLE, [MAINS], MAINS, FULL]
23:11:45.766 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0: Power Descriptor returned PowerDes
, status=SUCCESS, nwkAddrOfInterest=0, powerDescriptor=RECEIVER_ON_IDLE, [MAINS], MAINS, FULL]
23:11:45.772 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0: Discovery request POWER_DESCRIPTOR
23:11:45.774 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX CMD: ActiveEndpointsRequest [0/0 -
23:11:45.780 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress
=5, addressMode=DEVICE, radius=31, sequence=3, payload=00 00 00]
23:11:45.865 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 0E 45 FF 00 00 00
23:11:45.868 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
00 00 03 80 00 00 00 00 00 00 00 10 C1 E6, checksum=E6, error=false
23:11:45.880 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress
=32771, addressMode=null, radius=0, sequence=0, payload=00 00 00 00 10 C1]
23:11:45.891 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: PowerDescriptorResponse [0/0
AddrOfInterest=0, powerDescriptor=RECEIVER_ON_IDLE, [MAINS], MAINS, FULL]
23:11:45.898 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-  ZB_GET_DEVICE_INFO_RSP (FE 09 66
23:11:45.907 [DEBUG] [com.zsmartsystems.zigbee.ZigBeeNode  ] - 3556D79E8ACBCF90: ClusterMatcher addi
23:11:45.911 [DEBUG] [531.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsyste
 00 00 00 05 00 03 30 1F 03 00 00 00 02, checksum=02, error=false)
23:11:46.055 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
23:11:46.058 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 07 45 85 00 00 00
23:11:46.060 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
0 00 00 00 01 01 C7, checksum=C7, error=false
23:11:46.065 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress
=32773, addressMode=null, radius=0, sequence=0, payload=00 00 00 00 01 01]
23:11:46.075 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: ActiveEndpointsResponse [0/0
AddrOfInterest=0, activeEpList=[1]]
23:11:46.085 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0: Active Endpoints returned ActiveEn
, status=SUCCESS, nwkAddrOfInterest=0, activeEpList=[1]]
23:11:46.088 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0/1: Scheduling endpoint discovery
23:11:46.091 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 0E 45 FF 00 00 00
23:11:46.093 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0: Discovery request ACTIVE_ENDPOINTS
23:11:46.094 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0/1: Starting endpoint discovery
23:11:46.108 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX CMD: SimpleDescriptorRequest [0/0
endpoint=1]
23:11:46.097 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
00 00 05 80 00 00 00 00 00 00 00 01 01 31, checksum=31, error=false
23:11:46.121 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress
=32773, addressMode=null, radius=0, sequence=0, payload=00 00 00 00 01 01]
23:11:46.119 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0: Ending node discovery
23:11:46.122 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: ActiveEndpointsResponse [0/0
AddrOfInterest=0, activeEpList=[1]]
23:11:46.123 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress
=4, addressMode=DEVICE, radius=31, sequence=4, payload=00 00 00 01]
23:11:46.145 [DEBUG] [531.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsyste
 00 00 00 04 00 04 30 1F 04 00 00 00 01 01, checksum=01, error=false)
23:11:46.313 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
23:11:46.318 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 0E 45 84 00 00 00
23:11:46.320 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
00 00 00 00 08 01 04 01 00 00 00 00 00 C3, checksum=C3, error=false
23:11:46.324 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress
=32772, addressMode=null, radius=0, sequence=0, payload=00 00 00 00 08 01 04 01 00 00 00 00 00]
23:11:46.333 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: SimpleDescriptorResponse [0/0
kAddrOfInterest=0, length=8, simpleDescriptor=SimpleDescriptor [endpoint=1, profileId=0104, deviceId
sterList=[]]]
23:11:46.344 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0/1: Simple Descriptor returned Simpl
NULL, status=SUCCESS, nwkAddrOfInterest=0, length=8, simpleDescriptor=SimpleDescriptor [endpoint=1,
lusterList=[], outputClusterList=[]]]
23:11:46.348 [DEBUG] [m.zsmartsystems.zigbee.ZigBeeEndpoint] - 0/1: Setting input clusters []
23:11:46.353 [DEBUG] [m.zsmartsystems.zigbee.ZigBeeEndpoint] - 0/1: Setting output clusters []
23:11:46.359 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 15 45 FF 00 00 00
 00 27)
23:11:46.362 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0: Discovery has completed all endpoi
23:11:46.365 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
00 00 04 80 00 00 00 00 00 00 00 08 01 04 01 00 00 00 00 00 27, checksum=27, error=false
23:11:46.368 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - 00124B000E896936: Node 0 is added to
23:11:46.374 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress
=32772, addressMode=null, radius=0, sequence=0, payload=00 00 00 00 08 01 04 01 00 00 00 00 00]
23:11:46.382 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: SimpleDescriptorResponse [0/0
kAddrOfInterest=0, length=8, simpleDescriptor=SimpleDescriptor [endpoint=1, profileId=0104, deviceId
sterList=[]]]
23:11:46.422 [DEBUG] [rnal.ZigBeeNetworkStateSerializerImpl] - Saving ZigBee network state: done.
23:11:46.425 [DEBUG] [gbee.internal.ZigBeeNetworkDiscoverer] - 0/1: Ending endpoint discovery
23:12:26.135 [DEBUG] [gbee.discovery.ZigBeeDiscoveryService] - Starting ZigBee scan for zigbee:coord
23:12:26.139 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - Permit join to 65532/0 for 60 seconds
23:12:26.147 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX CMD: ManagementPermitJoiningReques
tion=60, tcSignificance=true]
23:12:26.153 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress
ster=54, addressMode=DEVICE, radius=31, sequence=5, payload=00 3C 01]
23:12:26.159 [DEBUG] [531.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsyste
 FF 00 00 36 00 05 30 1F 03 00 3C 01 09, checksum=09, error=false)
23:12:26.306 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
23:12:26.309 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX CMD: ManagementPermitJoiningReques
=60, tcSignificance=true]
23:12:26.311 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress
=54, addressMode=DEVICE, radius=31, sequence=6, payload=00 3C 01]
23:12:26.313 [DEBUG] [531.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsyste
 00 00 00 36 00 06 30 1F 03 00 3C 01 09, checksum=09, error=false)
23:12:26.473 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
23:12:26.476 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 03 45 B6 00 00 00
23:12:26.478 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
0 00 F0, checksum=F0, error=false
23:12:26.484 [DEBUG] [ee.dongle.cc2531.ZigBeeDongleTiCc2531] - Unhandled ZToolPacket type 0x45b6
23:12:26.487 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 0A 45 FF 00 00 00
23:12:26.489 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
00 00 36 80 00 00 00 00 00 06, checksum=06, error=false
23:12:26.492 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress
=32822, addressMode=null, radius=0, sequence=0, payload=00 00]
23:12:26.495 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX CMD: ManagementPermitJoiningRespon
ESS]
23:13:26.463 [DEBUG] [531.network.impl.CommandInterfaceImpl] - <-- ZToolPacket (FE 01 45 CB 00 8F)
23:13:26.467 [DEBUG] [531.network.impl.CommandInterfaceImpl] - Received Async Cmd: Packet: subsystem
F, checksum=8F, error=false
23:13:26.469 [DEBUG] [ee.dongle.cc2531.ZigBeeDongleTiCc2531] - Unhandled ZToolPacket type 0x45cbe