NLG-remote channels for COLOR_SCENE_CONTROLLER missing after discovery
Closed this issue · 8 comments
OpenHab Version: 2.5.9
Bug?: Adding thing "Neuhaus Lighting Group Q Remote Controller" discovers only one channel (LEVEL_CONTROL)
Other channels/clusters are missing, so color oder scenes are not usable
Controller:
BV 2010/10 (ZigBee USB dongle)
Ember EM35x Coordinator
Ember EM35x NCP
Output Karaf:
openhab> zigbee nodes
Total known nodes in network: 3
Network Addr IEEE Address Logical Type State EP Profile Device Type Manufacturer Model
0 0000 000D6F000DD029EB COORDINATOR UNKNOWN
37639 9307 7CB03EAA0A090992 ROUTER ONLINE 3 ZIGBEE_LIGHT_LINK DATA_COLLECTION_UNIT OSRAM Plug 01
62606 F48E 00158D00044D7BEF END_DEVICE ONLINE 1 ZIGBEE_HOME_AUTOMATION COLOR_SCENE_CONTROLLER Neuhaus Lighting Group NLG-remote
openhab> zigbee node 62606
IEEE Address : 00158D00044D7BEF
Network Address : 62606
Node Descriptor : NodeDescriptor [apsFlags=0, bufferSize=127, complexDescriptorAvailable=false, manufacturerCode=1037, logicalType=END_DEVICE, serverCapabilities=[], incomingTransferSize=100, outgoingTransferSize=100, userDescriptorAvailable=false, frequencyBands=[FREQ_2400_MHZ], macCapabilities=[REDUCED_FUNCTION_DEVICE], extendedEndpointListAvailable=false, extendedSimpleDescriptorListAvailable=false, stackCompliance=22]
Power Descriptor : PowerDescriptor [currentPowerMode=RECEIVER_ON_IDLE, availablePowerSources=[DISPOSABLE_BATTERY], currentPowerSource=DISPOSABLE_BATTERY, powerLevel=FULL]
Associations : []
Endpoints :
1 : Profile 0104 ZIGBEE_HOME_AUTOMATION
: Device Type 0810 COLOR_SCENE_CONTROLLER
-> BASIC
-> IDENTIFY
-> 0x1000
<- IDENTIFY
<- GROUPS
<- SCENES
<- ON_OFF
<- LEVEL_CONTROL
<- COLOR_CONTROL
<- 0x1000
Neighbors:
Routes:
openhab> zigbee bindtable 62606
Binding table for node 62606 [00158D00044D7BEF]
Src Address | Dest Address | Group | Mode | Cluster
00158D00044D7BEF/1 | 000D6F000DD029EB/1 | | Address | 0008:LEVEL_CONTROL
00158D00044D7BEF/1 | 000D6F000DD029EB/1 | | Address | 0006:ON_OFF
In Paper UI only the channel LEVEL_CONTROL is available.
Switch ON works:
2020-10-16 01:27:20.287 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspIncomingMessageHandler [networkId=0, type=EMBER_INCOMING_BROADCAST, apsFrame=EmberApsFrame [profileId=0104, clusterId=0006, sourceEndpoint=1, destinationEndpoint=255, options=[EMBER_APS_OPTION_ENABLE_ROUTE_DISCOVERY], groupId=0, sequence=68], lastHopLqi=255, lastHopRssi=-57, sender=F48E, bindingIndex=255, addressIndex=255, messageContents=11 32 01]
2020-10-16 01:27:20.288 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress=F48E/1, destinationAddress=0000/255, profile=0104, cluster=0006, addressMode=DEVICE, radius=0, apsSecurity=false, ackRequest=false, apsCounter=68, rssi=-57, lqi=FF, payload=11 32 01]
2020-10-16 01:27:20.289 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX ZCL: ZclHeader [frameType=CLUSTER_SPECIFIC_COMMAND, manufacturerSpecific=false, direction=CLIENT_TO_SERVER, disableDefaultResponse=true, manufacturerCode=0, sequenceNumber=50, commandId=1]
2020-10-16 01:27:20.291 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX CMD: OnCommand [On/Off: F48E/1 -> 0000/255, cluster=0006, TID=32]
2020-10-16 01:27:20.292 [DEBUG] [transaction.ZigBeeTransactionManager] - notifyTransactionCommand: OnCommand [On/Off: F48E/1 -> 0000/255, cluster=0006, TID=32]
2020-10-16 01:27:20.295 [DEBUG] [converter.ZigBeeConverterSwitchLevel] - 00158D00044D7BEF: ZigBee command received OnCommand [On/Off: F48E/1 -> 0000/255, cluster=0006, TID=32]
2020-10-16 01:27:20.296 [DEBUG] [converter.ZigBeeBaseChannelConverter] - 00158D00044D7BEF: Channel zigbee:device:01381159:00158d00044d7bef:00158D00044D7BEF_1_dimmer updated to 100
2020-10-16 01:27:20.297 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 00158D00044D7BEF: Updating ZigBee channel state zigbee:device:01381159:00158d00044d7bef:00158D00044D7BEF_1_dimmer to 100
2020-10-16 01:27:20.298 [DEBUG] [.zigbee.handler.ZigBeeIsAliveTracker] - IsAlive Tracker reset for handler with thingUID=zigbee:device:01381159:00158d00044d7bef
2020-10-16 01:27:20.299 [DEBUG] [.zigbee.handler.ZigBeeIsAliveTracker] - IsAlive Tracker cancelled task for thingUID=zigbee:device:01381159:00158d00044d7bef
2020-10-16 01:27:20.300 [DEBUG] [.zigbee.handler.ZigBeeIsAliveTracker] - IsAlive Tracker scheduled task for thingUID=zigbee:device:01381159:00158d00044d7bef in 28 seconds
``
also for Switch OFF, but Color Wheel does not work:
2020-10-16 01:28:30.755 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspIncomingMessageHandler [networkId=0, type=EMBER_INCOMING_BROADCAST, apsFrame=EmberApsFrame [profileId=0104, clusterId=0300, sourceEndpoint=1, destinationEndpoint=255, options=[EMBER_APS_OPTION_ENABLE_ROUTE_DISCOVERY], groupId=0, sequence=69], lastHopLqi=255, lastHopRssi=-56, sender=F48E, bindingIndex=255, addressIndex=255, messageContents=11 33 44 01 00 00 00 00 00 00]
2020-10-16 01:28:30.756 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress=F48E/1, destinationAddress=0000/255, profile=0104, cluster=0300, addressMode=DEVICE, radius=0, apsSecurity=false, ackRequest=false, apsCounter=69, rssi=-56, lqi=FF, payload=11 33 44 01 00 00 00 00 00 00]
2020-10-16 01:28:30.757 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX ZCL: ZclHeader [frameType=CLUSTER_SPECIFIC_COMMAND, manufacturerSpecific=false, direction=CLIENT_TO_SERVER, disableDefaultResponse=true, manufacturerCode=0, sequenceNumber=51, commandId=68]
2020-10-16 01:28:30.758 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - Unsupported local server cluster 0300
2020-10-16 01:28:30.759 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - Incoming message from node F48E did not translate to command
2020-10-16 01:28:30.885 [DEBUG] [zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspIncomingMessageHandler [networkId=0, type=EMBER_INCOMING_BROADCAST, apsFrame=EmberApsFrame [profileId=0104, clusterId=0300, sourceEndpoint=1, destinationEndpoint=255, options=[EMBER_APS_OPTION_ENABLE_ROUTE_DISCOVERY], groupId=0, sequence=6A], lastHopLqi=255, lastHopRssi=-57, sender=F48E, bindingIndex=255, addressIndex=255, messageContents=11 34 0A 54 01 02 00]
2020-10-16 01:28:30.886 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX APS: ZigBeeApsFrame [sourceAddress=F48E/1, destinationAddress=0000/255, profile=0104, cluster=0300, addressMode=DEVICE, radius=0, apsSecurity=false, ackRequest=false, apsCounter=6A, rssi=-57, lqi=FF, payload=11 34 0A 54 01 02 00]
2020-10-16 01:28:30.887 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX ZCL: ZclHeader [frameType=CLUSTER_SPECIFIC_COMMAND, manufacturerSpecific=false, direction=CLIENT_TO_SERVER, disableDefaultResponse=true, manufacturerCode=0, sequenceNumber=52, commandId=10]
2020-10-16 01:28:30.888 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - Unsupported local server cluster 0300
2020-10-16 01:28:30.889 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - Incoming message from node F48E did not translate to command
I found an java error during the discovery phase:
2020-10-16 00:08:08.449 [DEBUG] [pp.discovery.ZigBeeNetworkDiscoverer] - 00158D00044D7BEF: NWK Discovery NetworkAddressRequest returned from NetworkAddressResponse [9307/0 -> 0000/0, cluster=8000, TID=08, status=SUCCESS, ieeeAddrRemoteDev=00158D00044D7BEF, nwkAddrRemoteDev=F48E, startIndex=null, nwkAddrAssocDevList=[]]
2020-10-16 00:08:08.450 [DEBUG] [pp.discovery.ZigBeeNetworkDiscoverer] - 00158D00044D7BEF: NWK Discovery: Rediscovery found network address to F48E
2020-10-16 00:08:08.451 [DEBUG] [pp.discovery.ZigBeeNetworkDiscoverer] - 00158D00044D7BEF: NWK Discovery add node F48E
2020-10-16 00:08:08.452 [DEBUG] [com.zsmartsystems.zigbee.ZigBeeNode ] - 00158D00044D7BEF: Node state updated from UNKNOWN to ONLINE
2020-10-16 00:08:08.453 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - 00158D00044D7BEF: Updating node NWK=F48E
2020-10-16 00:08:08.454 [DEBUG] [atabase.ZigBeeNetworkDatabaseManager] - 00158D00044D7BEF: Data store: Deferring write for 250ms.
2020-10-16 00:08:08.455 [DEBUG] [p.discovery.ZigBeeDiscoveryExtension] - 00158D00044D7BEF: DISCOVERY Extension: Adding discoverer for node
2020-10-16 00:08:08.455 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 00158D00044D7BEF: Node updated - ZigBeeNode [state=ONLINE, IEEE=00158D00044D7BEF, NWK=F48E, endpoints=[]]
2020-10-16 00:08:08.456 [DEBUG] [iscovery.ZigBeeNodeServiceDiscoverer] - 00158D00044D7BEF: Node SVC Discovery: created discoverer
2020-10-16 00:08:08.456 [WARN ] [zsmartsystems.zigbee.ZigBeeExecutors] - Uncaught exception in thread NotificationService-thread-503
java.lang.NullPointerException: null
at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.nodeUpdated(ZigBeeThingHandler.java:872) ~[?:?]
at org.openhab.binding.zigbee.handler.ZigBeeThingHandler.nodeAdded(ZigBeeThingHandler.java:815) ~[?:?]
at com.zsmartsystems.zigbee.ZigBeeNetworkManager$12.run(ZigBeeNetworkManager.java:1652) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_265]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_265]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265]
2020-10-16 00:08:08.456 [DEBUG] [iscovery.ZigBeeNodeServiceDiscoverer] - 00158D00044D7BEF: Node SVC Discovery: start discovery
2020-10-16 00:08:08.459 [DEBUG] [iscovery.ZigBeeNodeServiceDiscoverer] - 00158D00044D7BEF: Node SVC Discovery: starting new tasks [NODE_DESCRIPTOR, NWK_ADDRESS, POWER_DESCRIPTOR, ACTIVE_ENDPOINTS]
2020-10-16 00:08:08.460 [DEBUG] [iscovery.ZigBeeNodeServiceDiscoverer] - 00158D00044D7BEF: Node SVC Discovery: scheduled [NWK_ADDRESS, NODE_DESCRIPTOR, POWER_DESCRIPTOR, ACTIVE_ENDPOINTS]
2020-10-16 00:08:08.465 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 00158D00044D7BEF: Starting ZigBee device discovery
2020-10-16 00:08:08.466 [DEBUG] [bee.discovery.ZigBeeDiscoveryService] - 00158D00044D7BEF: Creating ZigBee device zigbee:device with bridge zigbee:coordinator_ember:01381159
2020-10-16 00:08:08.467 [DEBUG] [bee.discovery.ZigBeeDiscoveryService] - 00158D00044D7BEF: Node discovery not complete
2020-10-16 00:08:08.706 [DEBUG] [atabase.ZigBeeNetworkDatabaseManager] - 00158D00044D7BEF: Data store: Writing node.
2020-10-16 00:08:08.717 [DEBUG] [ding.zigbee.internal.ZigBeeDataStore] - 00158D00044D7BEF: ZigBee saving network state complete.
2020-10-16 00:08:09.181 [DEBUG] [iscovery.ZigBeeNodeServiceDiscoverer] - 00158D00044D7BEF: Node SVC Discovery: running NWK_ADDRESS
2020-10-16 00:08:09.183 [DEBUG] [transaction.ZigBeeTransactionManager] - 00158D00044D7BEF: Creating new Transaction Queue
2020-10-16 00:08:09.185 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00158D00044D7BEF: Set profile to ZigBeeTransactionProfile [maxOutstandingTransactions=1, interTransactionDelay=50, maxRetries=2]
2020-10-16 00:08:09.187 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00158D00044D7BEF: Added transaction to queue, len=1, transaction=ZigBeeTransaction [ieeeAddress=00158D00044D7BEF queueTime=0, state=WAITING, sendCnt=0, command=NetworkAddressRequest [0000/0 -> F48E/0, cluster=0000, TID=--, ieeeAddr=00158D00044D7BEF, requestType=0, startIndex=0]]
Currently these features are not supported in the binding. I think only on/off and level control clients are supported - not color control.
Hi Marc,
It's not a bug - as per my initial response - it's unsupported (if I understand this device correctly).
This is a remote control - right? In ZigBee, clusters can be servers (eg lights), or they can be clients (eg light switches, remote controls). I believe that your device is the latter - a remote control, supporting the client side. If so, this is not supported at this time. As per my original answer - only the on/off and level control clusters are currently supported for the client.
If this is a colour light, then you can control it with the binding. Since it's a controller, the binding doesn't accept commands from the device.
I hope that makes sense. Maybe I still don't understand the device?
Hi Chris,
thank you for your response.
I think 'remote control' is correct and Zigbee client device is correct also, normally the lamps are linked directly with the remote control without OH. In case that cluster 0x300 is not supported by the binding, should i have not at least two channels in OH, one for LEVEL_CONTROL and one for ON_OFF?? I just got only one channel for LEVEL_CONTROL, so i think i am missing one channel from type SWITCH for cluster 0x6. Possible the discovery phase stops due to the java thread dump.
May it help to manual modify the bindtable for the endpoint by 'zigbee bind' to link cluster 0x300 with the light devices directly, till OH supports this?
May be it is a good feature request to extend the binding to support cluster 0x300 for remote controls to operate the lights remote?
Best regards
Marc
should i have not at least two channels in OH, one for LEVEL_CONTROL and one for ON_OFF??
No - you will just have one channel - this is normal for OH since there should be no need for both channels.
May it help to manual modify the bindtable for the endpoint by 'zigbee bind' to link cluster 0x300 with the light devices directly, till OH supports this?
Sure - you can do this if you want to control lights directly.
May be it is a good feature request to extend the binding to support cluster 0x300 for remote controls to operate the lights remote?
That's fine - I don't disagree that it should be added, but unless someone has the time, it won't happen :). At some stage in future, maybe I'll look at it, but it won't be any time soon as I've too much else on at he moment and it's clearly not a common issue.