Running:
openHAB 3.4.0 Build #3029
Using the Ember EM35x Coordinator on a Dual USB Nortek stick
I recently got a 2nd Smoke Detector (ZCOMBO-G First Alert) … The two are almost identical but the newer one does not implement the “Test Button” Channel. I have found that in fact the device does differentiate between a real Smoke Alarm and the Test Button. I am wondering if a Test Button Channel can be added?
For reference, the Test Button channel is used to indicate that the Test Button has been pressed. A user could implement a rule to make sure the Test Button is pressed periodically or they will get a notification (this is what I have done and why I want the feature )
Here are the details and the logs that show the Notification Type and Event:
The older ZCOMBO is:
and the newer ZCOMBO-G is:
I turned on zwave DEBUG and watched the log between a “Test Button” event and a “Smoke Alarm” event (i burned a kleenex near the device)
I’ve filtered the DEBUG for just NODE 21 (the newer device). Here is the case where I pushed Test:
2023-01-20 15:24:14.834 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Application Command Request (ALIVE:DONE)
2023-01-20 15:24:14.835 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: resetResendCount initComplete=true isDead=false
2023-01-20 15:24:14.837 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
2023-01-20 15:24:14.838 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: SECURITY not supported
2023-01-20 15:24:14.840 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 21: Received COMMAND_CLASS_ALARM V8 NOTIFICATION_REPORT
2023-01-20 15:24:14.841 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: NOTIFICATION report - 0 = 0, event=3, status=255, plen=0
2023-01-20 15:24:14.843 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Alarm Type = SMOKE (0)
2023-01-20 15:24:14.845 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2023-01-20 15:24:14.847 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_ALARM, value=255
2023-01-20 15:24:14.848 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
**2023-01-20 15:24:14.850 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 3, type OnOffType**
2023-01-20 15:24:14.852 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:24:14.853 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 3, type OnOffType
2023-01-20 15:24:14.855 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:24:14.857 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 3, type OnOffType
**2023-01-20 15:24:14.858 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to ON [OnOffType]**
2023-01-20 15:24:14.861 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Commands processed 1.
2023-01-20 15:24:14.863 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@14ad7b.
2023-01-20 15:24:31.452 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Application Command Request (ALIVE:DONE)
2023-01-20 15:24:31.453 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: resetResendCount initComplete=true isDead=false
2023-01-20 15:24:31.453 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
2023-01-20 15:24:31.454 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: SECURITY not supported
2023-01-20 15:24:31.454 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 21: Received COMMAND_CLASS_ALARM V8 NOTIFICATION_REPORT
2023-01-20 15:24:31.455 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: NOTIFICATION report - 0 = 0, event=0, status=255, plen=1
2023-01-20 15:24:31.456 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Alarm Type = SMOKE (0)
2023-01-20 15:24:31.456 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2023-01-20 15:24:31.457 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_ALARM, value=255
2023-01-20 15:24:31.458 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
**2023-01-20 15:24:31.459 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType**
2023-01-20 15:24:31.459 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:24:31.460 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType
2023-01-20 15:24:31.461 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:24:31.461 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType
**2023-01-20 15:24:31.462 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to OFF [OnOffType]**
2023-01-20 15:24:31.463 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Commands processed 1.
2023-01-20 15:24:31.464 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@3a2e3c.
2023-01-20 15:24:31.807 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Application Command Request (ALIVE:DONE)
2023-01-20 15:24:31.808 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: resetResendCount initComplete=true isDead=false
2023-01-20 15:24:31.809 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: Incoming command class COMMAND_CLASS_BATTERY, endpoint 0
2023-01-20 15:24:31.810 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: SECURITY not supported
2023-01-20 15:24:31.810 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 21: Received COMMAND_CLASS_BATTERY V1 BATTERY_REPORT
2023-01-20 15:24:31.811 [DEBUG] [ommandclass.ZWaveBatteryCommandClass] - NODE 21: Battery report value = 100
2023-01-20 15:24:31.812 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2023-01-20 15:24:31.812 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_BATTERY, value=100
2023-01-20 15:24:31.813 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:battery-level to 100 [DecimalType]
2023-01-20 15:24:31.814 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Commands processed 1.
2023-01-20 15:24:31.815 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1cfba5e.
2023-01-20 15:29:18.896 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Application Command Request (ALIVE:DONE)
2023-01-20 15:29:18.898 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: resetResendCount initComplete=true isDead=false
2023-01-20 15:29:18.899 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
2023-01-20 15:29:18.900 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: SECURITY not supported
2023-01-20 15:29:18.902 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 21: Received COMMAND_CLASS_ALARM V8 NOTIFICATION_REPORT
2023-01-20 15:29:18.903 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: NOTIFICATION report - 0 = 0, event=2, status=255, plen=0
2023-01-20 15:29:18.905 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Alarm Type = SMOKE (0)
2023-01-20 15:29:18.906 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2023-01-20 15:29:18.907 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_ALARM, value=255
2023-01-20 15:29:18.909 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
**2023-01-20 15:29:18.910 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 2, type OnOffType**
2023-01-20 15:29:18.911 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:29:18.913 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 2, type OnOffType
2023-01-20 15:29:18.914 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:29:18.915 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 2, type OnOffType
**2023-01-20 15:29:18.917 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to ON [OnOffType]**
2023-01-20 15:29:18.919 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Commands processed 1.
2023-01-20 15:29:18.922 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1c7bc21.
2023-01-20 15:29:34.056 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Application Command Request (ALIVE:DONE)
2023-01-20 15:29:34.057 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: resetResendCount initComplete=true isDead=false
2023-01-20 15:29:34.059 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
2023-01-20 15:29:34.061 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 21: SECURITY not supported
2023-01-20 15:29:34.062 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 21: Received COMMAND_CLASS_ALARM V8 NOTIFICATION_REPORT
2023-01-20 15:29:34.063 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: NOTIFICATION report - 0 = 0, event=0, status=255, plen=1
2023-01-20 15:29:34.064 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 21: Alarm Type = SMOKE (0)
2023-01-20 15:29:34.065 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2023-01-20 15:29:34.066 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_ALARM, value=255
2023-01-20 15:29:34.067 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
**2023-01-20 15:29:34.069 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType**
2023-01-20 15:29:34.070 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:29:34.071 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType
2023-01-20 15:29:34.072 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter processing NOTIFICATION
2023-01-20 15:29:34.073 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType
**2023-01-20 15:29:34.074 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to OFF [OnOffType]**
2023-01-20 15:29:34.075 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Commands processed 1.
2023-01-20 15:29:34.077 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 21: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@7fa642.
openhabian@openhabian:~ $
From the log I have extracted 4 lines from the first test (Test Button pressed):
**2023-01-20 15:24:14.850 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 3, type OnOffType**
**2023-01-20 15:24:14.858 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to ON [OnOffType]**
**2023-01-20 15:24:31.459 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType**
**2023-01-20 15:24:31.462 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to OFF [OnOffType]**
And then 4 lines from the actual Smoke Alarm test:
**2023-01-20 15:29:18.910 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 2, type OnOffType**
**2023-01-20 15:29:18.917 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to ON [OnOffType]**
**2023-01-20 15:29:34.069 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 21: Alarm converter NOTIFICATION event is 0, type OnOffType**
**2023-01-20 15:29:34.074 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 21: Updating channel state zwave:device:0d28f614c7:node21:alarm_smoke to OFF [OnOffType]**
In the “Test Button” case, the Notification Event is 0x03 (Test Detected) followed by 0x00
in the “Smoke Alarm” case, the Notification Event is 0x02 (Smoke Detected) followed by 0x00
Not sure if there were other reasons why this was done this way, but in comparing this device with the older device they have similar Channels but the new one is missing the “Test Button”
Channels of original device:
And Channels of the newer device:
The Heartbeat is implemented but the name is different in the newer device “Alarm (system)” … not a big deal but not sure why they have different names (maybe the equipment user manual?)
Anyway, was wondering if this could be fixed? I would be happy to help generate updates to the zwave files (I forgot what they are called but the ones that define the capabilities etc).