Z-Wave-Bindung: Unsupported Thing - Fibaro CO needs database update


(Uwe Klenner) #1

Hi Guys,

I’ve added a Z-Wave network to my openHAB environment. The Z-Wave binding works with the Z-Wave serial controller and discovered an unknown Z-Wave device. This device is in state “ONLINE”. So everything seems to be ok.

My Z-Wave device is a Fibaro CO sensor. I’ve already browsed the devices list supported by the Z-Wave binding and there is a CO sensor listed as “FGCD001 Carbon Monoxide Sensor”. Now I wonder, why my sensor is not recognized by the binding. As stated by the binding, I would assume it is due to an updated device ID which is not part of the DB.

I hope someone her in this forum can help me to get my sensor working. I’m relatively new using openHAB and I’ve tried to discover in the PaperUI, but manufacturer ID, device ID and type. Instead I did a log while I’ve added tmy sensor as a thing.

11:23:24.807 [DEBUG] [ave.internal.protocol.ZWaveController] - Stopping inclusion timer.
11:23:24.833 [DEBUG] [ave.internal.protocol.ZWaveController] - Neither inclusion nor exclusion was active!
11:23:24.840 [DEBUG] [zwave.discovery.ZWaveDiscoveryService] - Starting ZWave inclusion scan for zwave:serial_zstick:d36c82cd
11:23:24.845 [DEBUG] [zwave.discovery.ZWaveDiscoveryService] - NODE 2: Device discovery completed
11:23:24.851 [DEBUG] [zwave.discovery.ZWaveDiscoveryService] - NODE 2: Checking zwave:tkb_tz78_00_000
...
11:23:29.180 [DEBUG] [zwave.discovery.ZWaveDiscoveryService] - NODE 2: Checking zwave:cooper_rftr9505_00_000
11:23:29.185 [WARN ] [zwave.discovery.ZWaveDiscoveryService] - NODE 2: Device discovery could not resolve to a thingType! 7FFFFFFF:7FFFFFFF:7FFFFFFF::0.0
11:23:29.191 [INFO ] [ig.discovery.internal.PersistentInbox] - Added new thing 'zwave:device:d36c82cd:node2' to inbox.
11:23:29.192 [INFO ] [smarthome.event.InboxAddedEvent      ] - Discovery Result with UID 'zwave:device:d36c82cd:node2' has been added.
11:23:29.194 [DEBUG] [ave.internal.protocol.ZWaveController] - ZWave controller start inclusion - mode 2
11:23:29.199 [DEBUG] [col.serialmessage.AddNodeMessageClass] - Setting controller into INCLUSION mode, highPower:true networkWide:true.
11:23:29.203 [DEBUG] [tocol.ZWaveController$ZWaveSendThread] - Took message from queue for sending. Queue length = 0
11:23:29.203 [DEBUG] [ave.internal.protocol.ZWaveController] - Message queued. Queue length = 1. Queue={}
11:23:29.206 [DEBUG] [zwave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 4A C1 01 70
11:23:29.210 [DEBUG] [ding.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 05 00 4A C1 01 70
11:23:29.700 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 07 00 4A 01 01 00 00 B2
11:23:29.705 [DEBUG] [ave.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
11:23:29.709 [INFO ] [smarthome.event.ItemStateChangedEvent] - zwave_serial_zstick_d36c82cd_serial_ack changed from 24 to 25
11:23:29.709 [DEBUG] [zwave.internal.protocol.SerialMessage] - Assembled message buffer = 01 07 00 4A 01 01 00 00 B2
11:23:29.713 [INFO ] [smarthome.event.ItemStateChangedEvent] - zwave_serial_zstick_d36c82cd_serial_sof changed from 24 to 25
11:23:29.717 [DEBUG] [ave.internal.protocol.ZWaveController] - Process Message = 01 07 00 4A 01 01 00 00 B2
11:23:29.722 [DEBUG] [ave.internal.protocol.ZWaveController] - Message: class=AddNodeToNetwork[0x4A], type=Request[0x00], priority=High, dest=255, callback=0, payload=01 01 00 00
11:23:29.725 [DEBUG] [col.serialmessage.AddNodeMessageClass] - Add Node: Learn ready.
11:23:29.728 [DEBUG] [ave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveInclusionEvent
11:23:29.732 [DEBUG] [l.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=AddNodeToNetwork[0x4A], type=Request[0x00], priority=High, dest=255, callback=0, payload=C1 01
11:23:29.733 [INFO ] [smarthome.event.BindingEvent         ] - org.openhab.binding.zwave.event.BindingEvent@1e08fd
11:23:29.736 [DEBUG] [l.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Recv Message: class=AddNodeToNetwork[0x4A], type=Request[0x00], priority=High, dest=255, callback=0, payload=01 01 00 00
11:23:29.740 [DEBUG] [l.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: class=AddNodeToNetwork, callback id=0, expected=AddNodeToNetwork, cancelled=false        transaction complete!
11:23:29.743 [DEBUG] [ave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveTransactionCompletedEvent11:23:29.746 [DEBUG] [tocol.ZWaveController$ZWaveSendThread] - NODE 255: Response processed after 50ms/129ms.
11:23:33.405 [INFO ] [smarthome.event.InboxRemovedEvent    ] - Discovery Result with UID 'zwave:device:d36c82cd:node2' has been removed.
11:23:33.416 [DEBUG] [org.openhab.binding.zwave            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.core.status.ConfigStatusProvider}={service.id=334, service.bundleid=202, service.scope=singleton} - org.openhab.binding.zwave
11:23:33.428 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:d36c82cd:node2' changed from UNINITIALIZED to INITIALIZING
11:23:33.429 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - Initializing ZWave thing handler.
11:23:33.438 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: MANUFACTURER not set
11:23:33.439 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:d36c82cd:node2' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline
11:23:33.441 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Controller status changed to ONLINE.
11:23:33.444 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Controller is ONLINE. Starting device initialisation.
11:23:33.450 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'zwave:device:d36c82cd:node2' changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to ONLINE
11:23:33.456 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating node properties.
11:23:33.460 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'zwave:device:d36c82cd:node2' has been updated.
11:23:33.459 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating node properties. MAN=2147483647
11:23:33.466 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising Thing Node...
11:23:33.469 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling intialised at 1800 seconds - start in 1800000 milliseconds.```

(Mark) #2

The device needs to be woken up to allow the binding to communicate with it to determine its manufacturer and device type. Try manually waking up the device (as explained in the device manual). You could wait for it to wake up on its own, but that could be a few hours.

Also, code fences would help with the readability of the log messages.


(Uwe Klenner) #3

I’ve tried to understand what you mean, but I can’t wakeup the device. Based on the manual I can only reset the device and then I can put it into inclusion mode. This is what I did and the Z-Wave binding still can’t identify my device.

Here is the parsed Z-Wave log:

Time	Node	Entry
Invalid date.undefined		
undefined
21:59:13.907		
TX REQ SetDefault
21:59:18.034		
RX REQ SetDefault
21:59:18.082		
RX REQ SetDefault
21:59:18.933		
Message retry (0 attempts remaining)
21:59:19.005		
TX REQ SetDefault
21:59:20.637		
TX REQ GetVersion
21:59:21.327		
RX REQ SetDefault
21:59:24.112		
TX REQ SerialApiGetInitData
21:59:24.225		
RX RES SerialApiGetInitData Found 1 nodes 
21:59:24.831	1	
Stage advanced to PROTOINFO
21:59:26.072		
Message retry (2 attempts remaining)
21:59:26.161		
TX REQ GetVersion
21:59:26.339		
RX RES GetVersion
21:59:26.713		
TX REQ MemoryGetId
21:59:26.735		
RX RES MemoryGetId MemoryGetId: HomeID EF6E730D ControllerID NODE 1
21:59:27.089		
TX REQ SerialApiGetCapabilities
21:59:27.117		
RX RES SerialApiGetCapabilities Controller Info 0109:1001:0201
21:59:28.409		
TX REQ SerialApiSetTimeouts FRAME=1500s BYTE=150ms
21:59:29.129		
Message retry (2 attempts remaining)
21:59:29.222		
TX REQ SerialApiGetInitData
21:59:29.235		
RX RES SerialApiSetTimeouts FRAME=1500s BYTE=150ms
21:59:29.577		
TX REQ GetSucNodeId
21:59:29.593		
RX RES GetSucNodeId SUC ID: NOT SET
21:59:29.937	1	
TX REQ IdentifyNode
21:59:29.976	1	
RX RES IdentifyNode STATIC_CONTROLLER PC_CONTROLLER LISTENING FLIRS250 FLIRS1000 ROUTING BEAMING
21:59:30.601	1	
Stage advanced to INIT_NEIGHBORS
21:59:30.751		
TX REQ SerialApiGetInitData
21:59:30.874		
RX RES SerialApiGetInitData Found 1 nodes 
21:59:31.390		
TX REQ GetControllerCapabilities
21:59:31.425		
RX RES GetControllerCapabilities
21:59:31.911	1	
TX REQ GetRoutingInfo
21:59:31.929	1	
RX RES GetRoutingInfo Found 0 neighbours
21:59:32.429	1	
Stage advanced to FAILED_CHECK
21:59:34.263		
Message retry (1 attempts remaining)
21:59:34.330		
TX REQ SerialApiGetInitData
21:59:34.443		
RX RES SerialApiGetInitData Found 1 nodes 
21:59:39.344		
Message retry (0 attempts remaining)
21:59:39.433		
TX REQ SerialApiGetInitData
21:59:39.556		
RX RES SerialApiGetInitData Found 1 nodes 
21:59:47.884		
TX REQ AddNodeToNetwork ADD_NODE_ANY HIGH POWER NWI
21:59:47.901		
RX REQ AddNodeToNetwork ADD_NODE_STATUS_LEARN_READY
21:59:48.919		
RX REQ AddNodeToNetwork ADD_NODE_STATUS_NODE_FOUND
21:59:49.021	2	
RX REQ AddNodeToNetwork ADD_NODE_STATUS_ADDING_SLAVE NODE 2 
21:59:49.163		
TX REQ AddNodeToNetwork ADD_NODE_STOP
21:59:49.444		
RX REQ AddNodeToNetwork ADD_NODE_STATUS_PROTOCOL_DONE
21:59:49.475	2	
RX REQ AddNodeToNetwork ADD_NODE_STATUS_DONE NODE 2 
21:59:50.342	2	
Stage advanced to IDENTIFY_NODE
21:59:50.493	2	
TX REQ IdentifyNode
21:59:50.506	2	
RX RES IdentifyNode ROUTING_SLAVE NOTIFICATION_SENSOR LISTENING FLIRS250 FLIRS1000 ROUTING BEAMING
21:59:50.828	2	
Stage advanced to MANUFACTURER
22:00:17.933		
TX REQ AddNodeToNetwork ADD_NODE_STOP
22:00:18.024	2	
RX REQ AddNodeToNetwork ADD_NODE_STATUS_DONE NODE 2 
22:00:24.851	2	
RX REQ ApplicationCommandHandler WAKE_UP_NOTIFICATION
22:00:25.053	2	
Node is AWAKE
22:00:25.139	2	
TX REQ SendData 4 MANUFACTURER_SPECIFIC_GET  ACK AUTO_ROUTE EXPLORE
22:00:25.179	2	
RX RES SendData 4 ACCEPTED BY CONTROLLER
22:00:25.297	2	
RX REQ ApplicationCommandHandler MANUFACTURER_SPECIFIC_REPORT 010F:1201:1001
22:00:25.343	2	
RX REQ SendData 4 ACK RECEIVED from device in 204ms
22:00:25.469	2	
RX REQ ApplicationCommandHandler MANUFACTURER_SPECIFIC_REPORT 010F:1201:1001
22:00:25.565	2	
Stage advanced to SECURITY_REPORT
22:00:25.971	2	
TX REQ SendData 5 MANUFACTURER_SPECIFIC_GET  ACK AUTO_ROUTE EXPLORE
22:00:25.995	2	
RX RES SendData 5 ACCEPTED BY CONTROLLER
22:00:26.036	2	
RX REQ SendData 5 ACK RECEIVED from device in 65ms
22:00:26.181	2	
RX REQ ApplicationCommandHandler MANUFACTURER_SPECIFIC_REPORT 010F:1201:1001
22:00:26.413	2	
TX REQ SendData 6 SECURITY_SCHEME_GET  ACK AUTO_ROUTE EXPLORE
22:00:26.433	2	
RX RES SendData 6 ACCEPTED BY CONTROLLER
22:00:26.504	2	
RX REQ SendData 6 ACK RECEIVED from device in 91ms
22:00:31.424	2	
Message retry (0 attempts remaining)

And I guess, this is the device identification data:

22:00:25.368 [DEBUG] [essage.ApplicationCommandMessageClass] - NODE 2: Application Command Request (ALIVE:MANUFACTURER)
22:00:25.383 [DEBUG] [essage.ApplicationCommandMessageClass] - NODE 2: Incoming command class MANUFACTURER_SPECIFIC
22:00:25.392 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Received Manufacture Specific Information
22:00:25.401 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Manufacturer ID = 0x010f
22:00:25.409 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Device Type     = 0x1201
22:00:25.417 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Device ID       = 0x1001

(Mark) #4

According to the manual…

Waking up the device:
The CO Sensor needs to be woken up to receive information about
the new configuration from the Z-Wave controller, like parameters
and associations. To wake up the sensor manually click the button
located on the casing.

Nevertheless, it must’ve woken up on it’s own.

RX REQ ApplicationCommandHandler WAKE_UP_NOTIFICATION

Yes, this is what we needed in order to know what needs to be updated in the database.

22:00:25.392 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Received Manufacture Specific Information
22:00:25.401 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Manufacturer ID = 0x010f
22:00:25.409 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Device Type     = 0x1201
22:00:25.417 [DEBUG] [ZWaveManufacturerSpecificCommandClass] - NODE 2: Device ID       = 0x1001

The device is in the database here, but not this specific combination of Type:ID.

I’ve updated the database with the Type:ID of 1201:1001. You will need to wait for @chris to release a new version of the binding with this database update. Once you’ve updated the binding, the device should be recognized.