Alarm 13 is an “Appliance Alarm” - no idea what that is, but given it’s happeneing exactly every hour, it’s either a lifeline, or a low importance alarm.
Is it possible to get a debug log of the hex data that’s received - it will be logged a few lines before the message…
Yep - that sort of thing… If everyone is getting this ‘alarm’ exactly every hour, then either everyone has a common problem, or it’s some sort of notification. For something you rely on, it makes a lot of sense as you could set up a rule to alert you if you don’t get this for longer than (say) 2 or 3 hours.
Again - without any documentation about the device (which I tried to find, but it was far from useful!) I can’t say for sure…
The alert is exactly what I was thinking if it’s a broadcast message.
And yes, information on this device is hard to come by. A couple of days ago I called tech support at First Alert and asked what the message was and was told I would need to call the maker of my zwave stick because that’s where the message is coming from.
Went round and round for an hour while he went thru documents, and the closest he could get to any zwave info was the blurb on this document at BRK Electronics.
Per another automation forum in which I participate, signal 13 is a heartbeat. Interestingly, some of the posters there have said their signal 13 shows up every 20 minutes while others have said it shows up every 60 minutes. I have one of these units (sending a heartbeat signal every 60 minutes).
Indeed, it would be possible to setup a notification rule if OH does not receive a heartbeat signal every 61 minutes. Prior to switching to OpenHab, I had my previous system doing just that.
I can add that I’m getting them one per hour as well.
Where does one look to see what the signals mean? Presumably there are alarms 1 through 12 as well?
My reading of the zwave wiki page does not list anything in the supported parameters so I assumed, incorrectly, that the Alarm command class would work like a switch and therefore assigned it to a switch which seems to be the wrong choice.
So from what I’m seeing here it may make more sense to assign it to a Number Item but then question becomes what number would represent the actual alarm? How does one discover this short of lighting a fire under one to actually set it off (manually triggering a test doesn’t seem to do much.
Also, is it possible with the Alarm command class to send a command to one (e.g. the upstairs unit goes off, so trigger the alarms on the other floors)?
rule “ZCOMBO Heartbeat”
when
Item Hallway_ZCOMBO_Heartbeat received update
then
postUpdate(Hallway_ZCOMBO_Last, new DateTimeType())
end
rule “Smoke Alarm”
when
Item Hallway_ZCOMBO received update
then
if (Hallway_ZCOMBO.state == OPEN) {
sendMail('xxxxxxxxxxx",“Hallway”,“SMOKE ALARM is sounding!”)
sendMail('xxxxxxxxxxx",“Hallway”,“SMOKE ALARM is sounding!”)
}
if (Hallway_ZCOMBO.state == CLOSED) {
sendMail('xxxxxxxxxxx",“Hallway”,“SMOKE ALARM stopped!”)
sendMail(“xxxxxxxxxxx”,“Hallway”,“SMOKE ALARM stopped!”)
}
end
The rule to update the time to display in my sitemap does update if I press the test button on the smoke detector, but not when alarm 13 triggers.
And the 2nd rule does send me an email and text when the alarm is triggered and then stops.
Can you do a zwave binding like that (I.e. alarm=13)?
I haven’t tried it yet but I would create a Number item to receive the alarm number and rules to update dummy switches, contacts, etc. as well as the the logic to send alertsband such.
For alarm 13 I would set a timer for 70 minutes and keep rescheduling it when I receive alarm 13. The body of the timer will have an alert to tell me there is a problem.
I’ve tried the following number bindings without success:
//doesn’t compile - could not be parsed - not a valid argument
//Number Hallway_ZCOMBO_Heartbeat “Heartbeat [%s]” {zwave=“2:0:command=13”}
//doesn’t compile - could not be parsed - not a valid argument
//Number Hallway_ZCOMBO_Heartbeat “Heartbeat [%s]” {zwave=“2:0:command=alarm_type=13”}
//compiles ok - doesn’t work
//Number Hallway_ZCOMBO_Heartbeat “Heartbeat [%s]” {zwave=“2:0:command=alarm=13”}
//compiles ok - doesn’t work
//Number Hallway_ZCOMBO_Heartbeat “Heartbeat [%s]” {zwave=“2:0:command=alarm, alarm_type=13”}
I’ve also tried modifying the rule that works for catching the alarm like this, and it doesn’t update hourly.
rule "Smoke Alarm"
when
Item Hallway_ZCOMBO received update
then
if (Hallway_ZCOMBO.state == OPEN) {
sendMail("xxxx","Hallway","ALARM is sounding!")
sendMail("xxxx","Hallway","ALARM is sounding!")
}
if (Hallway_ZCOMBO.state == CLOSED) {
sendMail("xxxx","Hallway","ALARM stopped!")
sendMail("xxxx","Hallway","ALARM stopped!")
}
//update last contact
postUpdate(Hallway_ZCOMBO_Last, new DateTimeType())
end