Do not appear to be getting a status update trigger on Alarm ON, only for OFF

Device: EH403-3 Outdoor Flood Light Z-Wave Plus
OH version: 2.5.2

Log: https://codeshare.io/24ONV4
NODE:4 is the device.

Right at the bottom of the log we can see the OFF state coming through, however I do not see the ON state being set and subsequently this also means that I can only trigger on update-received event in a rule for this device rather than when state changes from OFF to ON.

Any ideas gents?

Ok, double-checked this, and it looks like an Event=8 comes in as a Notification report of Alarm Type BURGLAR, but the appropriate channel status is not updated accordingly for this event type.

> 18-Feb-2020 18:01:20.503 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 4: Application Command Request (ALIVE:DONE)
> 18-Feb-2020 18:01:20.503 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 4: resetResendCount initComplete=true isDead=false
> 18-Feb-2020 18:01:20.504 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 4: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
> 18-Feb-2020 18:01:20.504 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 4: SECURITY NOT required on COMMAND_CLASS_ALARM
> 18-Feb-2020 18:01:20.504 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 4: Received COMMAND_CLASS_ALARM V4 NOTIFICATION_REPORT
> 18-Feb-2020 18:01:20.504 [DEBUG] [ernal.protocol.commandclass.ZWaveAlarmCommandClass] - NODE 4: NOTIFICATION report - 0 = 0, event=8, status=255, plen=0
> 18-Feb-2020 18:01:20.504 [DEBUG] [ernal.protocol.commandclass.ZWaveAlarmCommandClass] - NODE 4: Alarm Type = BURGLAR (0)
> 18-Feb-2020 18:01:20.504 [TRACE] [ab.binding.zwave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
> 18-Feb-2020 18:01:20.505 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 4: Got an event from Z-Wave network: ZWaveAlarmValueEvent
> 18-Feb-2020 18:01:20.505 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 4: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_ALARM, value=255
> 18-Feb-2020 18:01:20.505 [TRACE] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:switch_binary, cmdClass=COMMAND_CLASS_SWITCH_BINARY, endpoint=0
> 18-Feb-2020 18:01:20.505 [TRACE] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:sensor_luminance, cmdClass=COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint=0
> 18-Feb-2020 18:01:20.505 [TRACE] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:alarm_burglar, cmdClass=COMMAND_CLASS_ALARM, endpoint=0
> 18-Feb-2020 18:01:20.505 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter processing NOTIFICATION
> 18-Feb-2020 18:01:20.506 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter NOTIFICATION event is 8, type OnOffType
> 18-Feb-2020 18:01:20.506 [TRACE] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:alarm_power, cmdClass=COMMAND_CLASS_ALARM, endpoint=0
> 18-Feb-2020 18:01:20.506 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter processing NOTIFICATION
> 18-Feb-2020 18:01:20.506 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter NOTIFICATION event is 8, type OnOffType
> 18-Feb-2020 18:01:20.506 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 4: Commands processed 1.
> 18-Feb-2020 18:01:20.507 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 4: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@17efa889.
> 18-Feb-2020 18:01:20.507 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
> 18-Feb-2020 18:01:20.507 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0

@sihui - I see that you last updated the template for this device December gone, I believe this was actually working prior to changes you made. I used to get the trigger on alarm on and off before, now only when the alarm goes off does the channel status update, which of course means it stays at OFF all the time.

What changes were made? Are you sure that it was these changes that made the system stop working?

Presumably you were running an older version of OH and you’ve just upgraded if these changes from 3 months ago have caused a problem - what version were you previously running?

I just checked, and there were no changes made to this device - ever. This device was first added to the database on December 8th and no changes were made since.

I’ve now fixed the issue with the channel definition.

1 Like

I double checked and I was looking at the wrong device!!! Error on my part.

I lost track of what I had running before, been jumping from VM to VM to Raspberry Pi to Windows Containers to Linux Containers… finally have a permanent home for OH, now have a solid backup/restore strategy in place to avoid agro with the better half.

1 Like

Could you show how ones goes about configuring channel definitions?

That is in the database, usually pulled from the Device XML. Most of us cannot edit the channels even though we can add and edit device entries. I think it is a trust level that needs to be earned.

Channel are defined in the channels file which is compiled into the binding. It’s on Github, but you should not normally need to change it.

The channel definitions are defined in a file called channels.xml which is in the binding - not the database. Everyone can edit the database and add channels to a device (if they have edit rights which I normally give to anyone who asks) but if you want to change the channel definitions, then it requires changing the code.

2 Likes

I was assuming channels defined for a particular device not overall channel type definitions.

But everyone can edit these - it’s not limited to admin. You do this a lot - right?

I did not think I could delete channels. I just usually leave whatever the xml enters.

That’s true - most people can’t delete stuff in the database, but that wasn’t the question.

Anyone can edit the database if they request access.

1 Like

I define configuring or editing to include add, change, & delete.

Ok, then I think your answer is a bit confusing given the question, but you are right then - based on your definition, no-one can configure the database since they can only edit, add and change the data. :roll_eyes:

1 Like

Irrespective of what ‘users’ can and cannot do, I am just glad the maintainer of this plugin takes the time to support users, fix bugs or configuration errors as promptly as is conveniently possible.

Many thanks Chris! Definitely a cut above the usual crowd.

3 Likes

@chris, I’ve been on a home-automation vacation, just back, so upgraded OH to 2.5.3, and tested this Zwave thing out, and it appears to still behave as it did before? as in there is no update on the alarm notification.

I then updated to the latest snapshot of the plugin, same thing.

Here is the relevant part of the log:

2020-03-22 16:31:08.456 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 4: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
2020-03-22 16:31:08.456 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 4: SECURITY NOT required on COMMAND_CLASS_ALARM
2020-03-22 16:31:08.456 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 4: Received COMMAND_CLASS_ALARM V4 NOTIFICATION_REPORT
2020-03-22 16:31:08.456 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 4: NOTIFICATION report - 0 = 0, event=8, status=255, plen=0
2020-03-22 16:31:08.456 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 4: Alarm Type = BURGLAR (0)
2020-03-22 16:31:08.456 [TRACE] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
2020-03-22 16:31:08.456 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 4: Got an event from Z-Wave network: ZWaveAlarmValueEvent
2020-03-22 16:31:08.457 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 4: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_ALARM, value=255
2020-03-22 16:31:08.457 [TRACE] [ding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:switch_binary, cmdClass=COMMAND_CLASS_SWITCH_BINARY, endpoint=0
2020-03-22 16:31:08.457 [TRACE] [ding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:sensor_luminance, cmdClass=COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint=0
2020-03-22 16:31:08.457 [TRACE] [ding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:alarm_burglar, cmdClass=COMMAND_CLASS_ALARM, endpoint=0
2020-03-22 16:31:08.457 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter processing NOTIFICATION
2020-03-22 16:31:08.457 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter NOTIFICATION event is 8, type OnOffType
2020-03-22 16:31:08.457 [TRACE] [ding.zwave.handler.ZWaveThingHandler] - NODE 4: Checking channel=zwave:device:ZWAVE:node4:alarm_power, cmdClass=COMMAND_CLASS_ALARM, endpoint=0
2020-03-22 16:31:08.458 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter processing NOTIFICATION
2020-03-22 16:31:08.458 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - NODE 4: Alarm converter NOTIFICATION event is 8, type OnOffType
2020-03-22 16:31:08.458 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 4: Commands processed 1.
2020-03-22 16:31:08.458 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 4: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@52c48cfd.
2020-03-22 16:31:08.458 [TRACE] [nal.protocol.ZWaveTransactionManager] - NODE 4: Checking transaction 65  null.
2020-03-22 16:31:08.458 [TRACE] [nal.protocol.ZWaveTransactionManager] - NODE 4: Checking transaction : state >> WAIT_REQUEST
2020-03-22 16:31:08.458 [TRACE] [nal.protocol.ZWaveTransactionManager] - NODE 4: Checking transaction : node  >> 16
2020-03-22 16:31:08.458 [TRACE] [nal.protocol.ZWaveTransactionManager] - NODE 4: Checking transaction : class >> 113 == null.
2020-03-22 16:31:08.459 [TRACE] [nal.protocol.ZWaveTransactionManager] - NODE 4: Checking transaction : commd >> 5 == 0.
2020-03-22 16:31:08.459 [TRACE] [nal.protocol.ZWaveTransactionManager] - NODE 4: Ignoring transaction since not waiting for data.
2020-03-22 16:31:08.459 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 1

Did you delete the thing and add it back again? This is needed to update the configuration in your openHAB.

Ah! I did not know this, ok doing that now… off the edge of me seat…

Yes, unfortunately OH has no way to update itself when there are new definitions :frowning: