FGMS001 and ZW100 Zwave MultiSensors

Hello Dimitris,

Thanks for replying.
I have each channel linked with one item (i do the linking manually via habmin)
Below are the two channels:

and i changed the configuration parameters to send BASIC reports and then changed again to BINARY_SENSOR reports but with no luck on both.

Same goes for the fibaro and the aoen labs sensors.
It is really strange.

Do you have one of these already?

Hi,

I have the Fibaro Sensor and I never had any problems (see here also: Beginners Recipe: Z-Wave Breakfast)

I use flat files to setup my items and channel links. Here is my setup for the FGMS-001:

/* Fibaro Sensors */
Number  FibEye01_Movement       "FE01 Movement: [%s]"           <present>       (gZWave)        {channel="zwave:device:ZW090C:node2:sensor_binary"}
Number  FibEye01_Alarm          "FE01 Alarm: [%s]"              <fire>          (gZWave)        {channel="zwave:device:ZW090C:node2:alarm_general"}
Number  FibEye01_Lux            "FE01 Lux: [%.2f Lux]"          <sun>           (gZWave)        {channel="zwave:device:ZW090C:node2:sensor_luminance"}
Number  FibEye01_Bat            "FE01 Battery: [%d %%]"         <energy>        (gZWave)        {channel="zwave:device:ZW090C:node2:battery-level"}
Number  FibEye01_Temp           "FE01 Temperature: [%.1f °C]"   <temperature>   (gZWave,gInflux)        {channel="zwave:device:ZW090C:node2:sensor_temperature"}

You could try to setup manually the items (I recommend this for more control) and to clear whatever is already stored within OH2:
From karaf console, do:

smarthome:items clear
smarthome:links clear

warning: this will clear out all items and links that were automatically generated or defined by a UI (like HABmin). The manual ones will remain in the flat files and will be recreated immediately since OH2 will re-read your config files.

I tried your approach.

Installed a fresh OH2 version, and did only linking via files.

Still having the same issue for both multi-sensors :frowning:

Hello @chris,

I enabled the debugging for zwave binding and both sensors are triggering both “sensor_binary” and “alarm” command classes as per the below log:

2017-01-14 12:22:41.352 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 0B 03 30 03 FF 
2017-01-14 12:22:41.352 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Application Command Request (ALIVE:DONE)
2017-01-14 12:22:41.352 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 11: Starting initialisation from DONE
2017-01-14 12:22:41.352 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@67cea5a3 already registered
2017-01-14 12:22:41.352 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Incoming command class SENSOR_BINARY
2017-01-14 12:22:41.352 [DEBUG] [dclass.ZWaveBinarySensorCommandClass] - NODE 11: Received SENSOR_BINARY command V1
2017-01-14 12:22:41.352 [DEBUG] [dclass.ZWaveBinarySensorCommandClass] - NODE 11: Sensor Binary report, type=Unknown, value=255
2017-01-14 12:22:41.352 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveBinarySensorValueEvent
2017-01-14 12:22:41.353 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got an event from Z-Wave network: ZWaveBinarySensorValueEvent
2017-01-14 12:22:41.353 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got a value event from Z-Wave network, endpoint = 0, command class = SENSOR_BINARY, value = 255
2017-01-14 12:22:41.353 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Updating channel state zwave:device:837fe4f8:node11:sensor_binary to ON [OnOffType]
2017-01-14 12:22:41.353 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 10: Transaction not completed: node address inconsistent.  lastSent=10, incoming=255
2017-01-14 12:22:41.595 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 10 00 04 00 0B 0A 71 05 00 00 00 FF 07 08 00 00 6E 
2017-01-14 12:22:41.595 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-01-14 12:22:41.596 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 10 00 04 00 0B 0A 71 05 00 00 00 FF 07 08 00 00 6E 
2017-01-14 12:22:41.596 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 10 00 04 00 0B 0A 71 05 00 00 00 FF 07 08 00 00 6E 
2017-01-14 12:22:41.596 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 0B 0A 71 05 00 00 00 FF 07 08 00 00 
2017-01-14 12:22:41.596 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Application Command Request (ALIVE:DONE)
2017-01-14 12:22:41.596 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 11: Starting initialisation from DONE
2017-01-14 12:22:41.596 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@67cea5a3 already registered
2017-01-14 12:22:41.596 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Incoming command class ALARM
2017-01-14 12:22:41.596 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Received ALARM command V3
2017-01-14 12:22:41.596 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Process NOTIFICATION_REPORT V3
2017-01-14 12:22:41.596 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: NOTIFICATION report - 0 = 0, event=8, status=255
2017-01-14 12:22:41.596 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Alarm Type = BURGLAR (0)
2017-01-14 12:22:41.596 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
2017-01-14 12:22:41.596 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2017-01-14 12:22:41.596 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got a value event from Z-Wave network, endpoint = 0, command class = ALARM, value = 255
2017-01-14 12:22:41.596 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
2017-01-14 12:22:41.597 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 8, type OnOffType
2017-01-14 12:22:41.597 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Updating channel state zwave:device:837fe4f8:node11:alarm_general to ON [OnOffType] 

It is supposed to be only the motion triggered (sensor_binary) as the device is not touched at all.

Do you have any idea what could be the cause? is there some config missing?

Regards,
Mohamed

Possibly there is some configuration missing. The zw100 should have it I think - what version do you have?

I will take a look as soon as I get a chance - tonight if I can get a good internet connection.

I have version 1.7 , but this is the same case for the fibaro fgms as well.

I saw this post earlier, is it related?

Ok, but these are different devices for sure ;). They have completely different configurations.

The database will need to be updated for the two devices to reflect the notifications. I might not get to look at that for a week or so.

They are different indeed but both were working fine in OH 1.8, so i guess it is a handling issue maybe.

I can help with the update, but i have no idea what to do :slight_smile:

I checked the database and both devices have all the command classes correctly, what else can be changed?

The database will need to be updated for the two devices to reflect the notifications that the devices support. They are different devices so they have different database entries.

Note that 1.8 didn’t support notifications so you can’t compare 1.8 and 2.0 in this respect.

If i can help please let me know how :slight_smile: otherwise i will wait for you once you have time to do it.

Thanks for support :):slight_smile:

Hello @chris,

Did you manage to find some time for this?

Regards,
Mohamed

I’m also running into this problem with versions 1.07 and 1.08 of the Multisensor firmware.

Here are some logs from interactions with the device.

==> /var/log/openhab2/openhab.log <==
2017-03-24 16:25:27.187 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 09 00 04 00 15 03 30 03 FF 28 
2017-03-24 16:25:27.190 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-03-24 16:25:27.192 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 09 00 04 00 15 03 30 03 FF 28 
2017-03-24 16:25:27.193 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 09 00 04 00 15 03 30 03 FF 28 
2017-03-24 16:25:27.195 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 15 03 30 03 FF 
2017-03-24 16:25:27.196 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 21: Application Command Request (ALIVE:DONE)
2017-03-24 16:25:27.197 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 21: Starting initialisation from DONE
2017-03-24 16:25:27.198 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@1580001 already registered
2017-03-24 16:25:27.199 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 21: Incoming command class SENSOR_BINARY
2017-03-24 16:25:27.200 [DEBUG] [dclass.ZWaveBinarySensorCommandClass] - NODE 21: Received SENSOR_BINARY command V1
2017-03-24 16:25:27.201 [DEBUG] [dclass.ZWaveBinarySensorCommandClass] - NODE 21: Sensor Binary report, type=Unknown, value=255
2017-03-24 16:25:27.201 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveBinarySensorValueEvent
2017-03-24 16:25:27.202 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveBinarySensorValueEvent
2017-03-24 16:25:27.203 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint = 0, command class = SENSOR_BINARY, value = 255
2017-03-24 16:25:27.205 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:d3d50f00:node21:sensor_binary to ON [OnOffType]
2017-03-24 16:25:27.209 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 12: Transaction not completed: node address inconsistent.  lastSent=12, incoming=255

==> /var/log/openhab2/events.log <==
2017-03-24 16:25:27.218 [ItemStateChangedEvent     ] - SideSensor_Motion changed from OFF to ON

==> /var/log/openhab2/openhab.log <==
2017-03-24 16:25:27.389 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 10 00 04 00 15 0A 71 05 00 00 00 FF 07 08 00 00 70 
2017-03-24 16:25:27.392 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-03-24 16:25:27.394 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 10 00 04 00 15 0A 71 05 00 00 00 FF 07 08 00 00 70 
2017-03-24 16:25:27.396 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 10 00 04 00 15 0A 71 05 00 00 00 FF 07 08 00 00 70 
2017-03-24 16:25:27.397 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 15 0A 71 05 00 00 00 FF 07 08 00 00 
2017-03-24 16:25:27.399 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 21: Application Command Request (ALIVE:DONE)
2017-03-24 16:25:27.400 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 21: Starting initialisation from DONE
2017-03-24 16:25:27.401 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@1580001 already registered
2017-03-24 16:25:27.403 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 21: Incoming command class ALARM
2017-03-24 16:25:27.404 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Received ALARM command V3
2017-03-24 16:25:27.405 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Process NOTIFICATION_REPORT V3
2017-03-24 16:25:27.406 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: NOTIFICATION report - 0 = 0, event=8, status=255
2017-03-24 16:25:27.407 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Alarm Type = BURGLAR (0)
2017-03-24 16:25:27.408 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
2017-03-24 16:25:27.410 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2017-03-24 16:25:27.411 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint = 0, command class = ALARM, value = 255
2017-03-24 16:25:27.412 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
2017-03-24 16:25:27.413 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 8, type OnOffType
2017-03-24 16:25:27.415 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:d3d50f00:node21:alarm_burglar to ON [OnOffType]
2017-03-24 16:25:27.418 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 12: Transaction not completed: node address inconsistent.  lastSent=12, incoming=255

==> /var/log/openhab2/events.log <==
2017-03-24 16:25:27.424 [ItemStateChangedEvent     ] - SideSensor_Alarm changed from OFF to ON

==> /var/log/openhab2/openhab.log <==
2017-03-24 16:26:09.259 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 10 00 04 00 15 0A 71 05 00 00 00 FF 07 03 00 00 7B 
2017-03-24 16:26:09.264 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-03-24 16:26:09.266 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 10 00 04 00 15 0A 71 05 00 00 00 FF 07 03 00 00 7B 
2017-03-24 16:26:09.267 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 10 00 04 00 15 0A 71 05 00 00 00 FF 07 03 00 00 7B 
2017-03-24 16:26:09.269 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 15 0A 71 05 00 00 00 FF 07 03 00 00 
2017-03-24 16:26:09.270 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 21: Application Command Request (ALIVE:DONE)
2017-03-24 16:26:09.271 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 21: Starting initialisation from DONE
2017-03-24 16:26:09.272 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@1580001 already registered
2017-03-24 16:26:09.273 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 21: Incoming command class ALARM
2017-03-24 16:26:09.274 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Received ALARM command V3
2017-03-24 16:26:09.275 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Process NOTIFICATION_REPORT V3
2017-03-24 16:26:09.275 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: NOTIFICATION report - 0 = 0, event=3, status=255
2017-03-24 16:26:09.276 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Alarm Type = BURGLAR (0)
2017-03-24 16:26:09.277 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
2017-03-24 16:26:09.278 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2017-03-24 16:26:09.279 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint = 0, command class = ALARM, value = 255
2017-03-24 16:26:09.281 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
2017-03-24 16:26:09.282 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 3, type OnOffType
2017-03-24 16:26:09.283 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:d3d50f00:node21:alarm_burglar to ON [OnOffType]
2017-03-24 16:26:09.285 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 12: Transaction not completed: node address inconsistent.  lastSent=12, incoming=255

The first two groups are from a motion event. The device seems to send both SENSOR_BINARY (which is an option vs. basic set), as well as an alarm. In the motion alarm event, the “event” value is 8.

The third group is a tamper event, after i tapped the device on my table. It sends an alarm notification with an “event” value of 3.

Looking at the binding, it seems the event value is just used to determine on or off state. I.e., 0 means off, >0 means on. So both values 3 and 8 indicate the channel is on.

It seems the device’s alarm behavior is:

  • event value 8 = motion detected ON
  • event value 3 = alarm detected ON
  • event value 0 = motion and alarm detected both OFF

So there are two channels that have distinct ON events but share an OFF event. Is there any way to support this with the binding? Alternatively, can the binding just ignore the motion alarm (event value 8) since motion is also signaled through the SENSOR_BINARY class?

Yes - this is the way the notification class works. The database needs to be updated to add the event filters - eg -:

type=BURGLAR, event=8

Can i add it through your database website or it requires changes in the code itself?

I already have editing rights to the database.

Yes, it’s just a database change so please feel free…

Fine the channel in the list -:

Click on the edit button for the channel on the right to edit the channel -:

update config appropriately - probably just adding the , event=X option to the end.

Thanks.

I have just updated the DB and waiting for the review.

Once this is done let me know to update and test.

Is there a method to test before all these steps?

Thanks - I’ve just approved them. In around 45 minutes the system should create a PR which I’ll merge and start a build. Depending on your package manager, you might be able to immediately update the binding, or you might need to wait until the package is rebuilt.

Since the channels changed, you will need to delete the thing, click on discovery again, then add the thing back so that it picks up the updated definitions (don’t exclude/include etc - there’s no need for this).

Let me know how it goes.

Cheers
Chris

Works like a charm (y)…

Many thanks for support and guidance :+1:

Nice one - thanks for the feedback and doing the updates.

Thanks @Mohamed_Negm and @chris! :slight_smile: