Some alarms of Popp 009402 ‘10 Year Smoke Detector and Siren’ v1.15 do not work

When I physically trigger the different alarms of the smoke detector, not all of them are processed by OpenHAB so the related item change status (INFO log entry and sitemap entry):

  • smoke alarm: works correct, item for alarm_smoke and sensor_binary changes status
  • detector removed from base ‘Tamper Detected’: works incorrect, item for alarm_burglar does not change status, only item for sensor_binary
  • end of life: not tested yet

I have

  • openHAB 2.4 installation on Rasbian
  • Raspberry3B+
  • node-1: Razberry2 Zwave controller
  • node-2: Popp 009402 ‘10 Year Smoke Detector and Siren’ v1.15

Here is my item configurations (and the comments from the documentation):

//'Smoke Detected or Device test buttom' alarm - when smoke is detected or when big central test button on device is pressed
Switch    iSmokeDetector__DG_LV__AlarmSmoke           "SmokeDetector__DG_LV__AlarmSmoke"                   <fire>     {channel="zwave:device:Razberry2:node2:alarm_smoke"}

//'Any alarm was triggered' - ON when one of the other alarms was triggered
Switch    iSmokeDetector__DG_LV__AlarmAny             "SmokeDetector__DG_LV__AlarmAny"                     <shield>   {channel="zwave:device:Razberry2:node2:sensor_binary"}

//'Tamper Detected' alarm - ON when the smoke detector head is removed from the base, OFF when the detector head is mounted to the base
Switch    iSmokeDetector__DG_LV__AlarmRemovedFromBase "SmokeDetector__DG_LV__AlarmRemovedFromBase"         <siren>    {channel="zwave:device:Razberry2:node2:alarm_burglar"}

//'End of Life' alarm - ON when the Detector Main Head has reached its end of life after 10+ years
Switch    iSmokeDetector__DG_LV__AlarmEndOfLife       "SmokeDetector__DG_LV__AlarmEndOfLife"               <siren>    {channel="zwave:device:Razberry2:node2:alarm_system"}

And the debug log files for org.openhab.binding.zwave when triggering ‘Tamper Detected’ attack (alarm_burglar):

18:31:29.966 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 13 00 04 00 02 0B 71 05 00 00 00 FF 07 03 00 00 00 CA 00 A4
18:31:30.007 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0B 71 05 00 00 00 FF 07 03 00 00 00 CA 00
18:31:30.022 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0C 00 04 00 02 04 30 03 FF 08 CA 00 FF
18:31:30.022 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0B 71 05 00 00 00 FF 07 03 00 00 00 CA 00
18:31:30.042 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
18:31:30.050 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Application Command Request (ALIVE:DONE)
18:31:30.058 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 04 30 03 FF 08 CA 00
18:31:30.058 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: resetResendCount initComplete=true isDead=false
18:31:30.067 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
18:31:30.072 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: SECURITY NOT required on COMMAND_CLASS_ALARM
18:31:30.077 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 2: Received COMMAND_CLASS_ALARM V5 NOTIFICATION_REPORT
18:31:30.085 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: NOTIFICATION report - 0 = 0, event=3, status=255, plen=0
18:31:30.091 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: Alarm Type = BURGLAR (0)
18:31:30.097 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got an event from Z-Wave network: ZWaveAlarmValueEvent
18:31:30.102 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_ALARM, value = 255
18:31:30.108 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
18:31:30.116 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 3, type OnOffType
18:31:30.123 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 3, channel alarm_system is not implemented.
18:31:30.128 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
18:31:30.133 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 3, type OnOffType
18:31:30.137 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
18:31:30.140 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 3, type OnOffType
18:31:30.144 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Commands processed 1.
18:31:30.147 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1a979fe.
18:31:30.150 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:31:30.153 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:31:30.156 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 04 30 03 FF 08 CA 00
18:31:30.159 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
18:31:30.162 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Application Command Request (ALIVE:DONE)
18:31:30.165 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: resetResendCount initComplete=true isDead=false
18:31:30.168 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Incoming command class COMMAND_CLASS_SENSOR_BINARY, endpoint 0
18:31:30.171 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: SECURITY NOT required on COMMAND_CLASS_SENSOR_BINARY
18:31:30.173 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 2: Received COMMAND_CLASS_SENSOR_BINARY V2 SENSOR_BINARY_REPORT
18:31:30.176 [DEBUG] [ndclass.ZWaveBinarySensorCommandClass] - Processing Sensor Type 8
18:31:30.179 [DEBUG] [ndclass.ZWaveBinarySensorCommandClass] - Sensor Type is TAMPER
18:31:30.182 [DEBUG] [ndclass.ZWaveBinarySensorCommandClass] - NODE 2: Sensor Binary report, type=Tamper, value=255
18:31:30.185 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got an event from Z-Wave network: ZWaveBinarySensorValueEvent
18:31:30.188 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_SENSOR_BINARY, value = 255
18:31:30.191 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating channel state zwave:device:Razberry2:node2:sensor_binary to ON [OnOffType]
18:31:30.195 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Commands processed 1.
18:31:30.198 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1d93cfe.
18:31:30.201 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:31:30.204 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:31:30.207 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
18:31:30.205 [INFO ] [smarthome.event.ItemStateChangedEvent] - iSmokeDetector__DG_LV__AlarmAny changed from OFF to ON
18:31:30.210 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.

And the debug log files for org.openhab.binding.zwave when finishing ‘Tamper Detected’ attack:

18:32:13.899 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 13 00 04 00 02 0B 71 05 00 00 00 FF 07 00 01 03 00 D7 00 B8
18:32:13.937 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0B 71 05 00 00 00 FF 07 00 01 03 00 D7 00
18:32:13.943 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0B 71 05 00 00 00 FF 07 00 01 03 00 D7 00
18:32:13.944 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0C 00 04 00 02 04 30 03 00 08 D2 00 18
18:32:13.949 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
18:32:13.955 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Application Command Request (ALIVE:DONE)
18:32:13.960 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: resetResendCount initComplete=true isDead=false
18:32:13.968 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
18:32:13.974 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: SECURITY NOT required on COMMAND_CLASS_ALARM
18:32:13.976 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 04 30 03 00 08 D2 00
18:32:13.979 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 2: Received COMMAND_CLASS_ALARM V5 NOTIFICATION_REPORT
18:32:13.985 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: NOTIFICATION report - 0 = 0, event=0, status=255, plen=1
18:32:13.990 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: Alarm Type = BURGLAR (0)
18:32:13.996 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got an event from Z-Wave network: ZWaveAlarmValueEvent
18:32:14.004 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_ALARM, value = 255
18:32:14.009 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
18:32:14.016 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 0, type OnOffType
18:32:14.027 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 0, channel alarm_system is not implemented.
18:32:14.031 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
18:32:14.034 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 0, type OnOffType
18:32:14.038 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
18:32:14.042 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 0, type OnOffType
18:32:14.046 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating channel state zwave:device:Razberry2:node2:alarm_burglar to OFF [OnOffType]
18:32:14.052 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Commands processed 1.
18:32:14.055 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1344d7.
18:32:14.056 [INFO ] [smarthome.event.ItemStateChangedEvent] - iSmokeDetector__DG_LV__AlarmRemovedFromBase changed from NULL to OFF
18:32:14.060 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:32:14.063 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:32:14.066 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 04 30 03 00 08 D2 00
18:32:14.069 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
18:32:14.071 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Application Command Request (ALIVE:DONE)
18:32:14.074 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: resetResendCount initComplete=true isDead=false
18:32:14.077 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Incoming command class COMMAND_CLASS_SENSOR_BINARY, endpoint 0
18:32:14.079 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: SECURITY NOT required on COMMAND_CLASS_SENSOR_BINARY
18:32:14.082 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 2: Received COMMAND_CLASS_SENSOR_BINARY V2 SENSOR_BINARY_REPORT
18:32:14.085 [DEBUG] [ndclass.ZWaveBinarySensorCommandClass] - Processing Sensor Type 8
18:32:14.088 [DEBUG] [ndclass.ZWaveBinarySensorCommandClass] - Sensor Type is TAMPER
18:32:14.090 [DEBUG] [ndclass.ZWaveBinarySensorCommandClass] - NODE 2: Sensor Binary report, type=Tamper, value=0
18:32:14.093 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got an event from Z-Wave network: ZWaveBinarySensorValueEvent
18:32:14.096 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_SENSOR_BINARY, value = 0
18:32:14.099 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating channel state zwave:device:Razberry2:node2:sensor_binary to OFF [OnOffType]
18:32:14.103 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Commands processed 1.
18:32:14.107 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@bcd29d.
18:32:14.110 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:32:14.114 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
18:32:14.114 [INFO ] [smarthome.event.ItemStateChangedEvent] - iSmokeDetector__DG_LV__AlarmAny changed from ON to OFF
18:32:14.117 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
18:32:14.122 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.