Traditore Posted April 27, 2014 Posted April 27, 2014 Good evening, I seem to remember that, a long time ago (before variables, I think), there was no easy way for ISY to send an e-mail notification of an alarmed zone on the M1. Has this changed? I'd like to receive a text message when my M1G goes into alarm and know which zone was tripped. Unfortunately, I have no programming background, and variables are a mystery to me. But I don't mind reading up to learn a thing or two. Can anyone point me in the right direction? Thank you.
NHWA Posted April 27, 2014 Posted April 27, 2014 This can be done but it takes a few programs. There is no direct way to insert which zone is violated so you need a program and notification for each zone. For instance, I have a program that reads: If Elk alarm state is burglar alarm and Elk Zone X is violated then send notification to "cell phone" content Y Basically, I then wrote a program for each elk zone and just changed "x" accordingly. I also had a different notification for each zone "y" which says something such as "alarm active front door". I also have separate program that sends another text to my cell phone when any alarm goes off based on type of alarm (so I get one for fire, burglar, smoke, etc). One thing I did notice is that when the alarm goes off, I would get several texts if multiple zones were being violated in short intervals. For instance, if a glass broke in my kitchen and the kitchen glass break zone went off I got a txt for that but also one for the kitchen motion zone. I wanted to get around this so I now have a variable in my programs. If Elk alarm state is burglar alarm and Elk Zone X is violated and variable alarmstate=0 then send notification to "cell phone" content Y and run then clause of program alarmstatereset The then clause of myalarmstateset basically waits 5 minutes and then resets the alarmstate variable to 0 again so that I do not get multiple texts in a short period. Hope this helps. You'll find almost anything is possible with elk and isy. It just takes some work. Then again, even the ultra high end crestron control systems take massive programming--it's just done behind the scenes and end users never see it. You will also find posts on here about how to get texts based on who disarmed a system (ie when kids get home or a pet sitter is coming and going) and control actions based on the arming/disarming (turn off a/c when you leave and back on when you return).
WayneW Posted April 28, 2014 Posted April 28, 2014 Here is how I do it. IfElk Area 'MyAreaName' 'Alarm State' is Burglar AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Fire AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Medical AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Police AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Emergency AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Heat AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Water AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Gas AlarmOr Elk Area 'MyAreaName' 'Alarm State' is Freezer AlarmThenSend Notification to 'email & cell' content 'Elk ALARM'Else- No Actions - (To add one, press 'Action') Notification subject: Elk is now ALARMING ${elk.zone.#.name}Notification body: Elk is now ALARMING. ${sys.time12}.${elk.zone.#.name} ${elk.zone.#.pstatus} ${elk.zone.#.status}${elk.area.1.armedState} ${elk.area.1.alarmState} ${elk.area.1.armUpState}${elk.keypad.#.code)(from ISY) EDIT: 07/24/2014 - this is now known to NOT pass the zone number. My apologies for posted untested code.
shannong Posted April 30, 2014 Posted April 30, 2014 You can have the ISY insert the violated zone with a variable, and I do it almost exactly the same as WayneW instead of writing a program for each zone. It's working for me.
NHWA Posted May 2, 2014 Posted May 2, 2014 Wow. Very helpful. I am constantly amazed by how great everyone here is with helping each other out. The last time we went through all of this it seemed like everyone had a different program for each zone but this is much better and cleaner. From a logistical standpoint, does this actually send the first violated zone or will it send more than one email if multiple zones are violated? For instance, if a glass breaks in the kitchen and then someone moves to the living room past the motion detector to turn off the alarm, will it send two emails or just the first one? I prefer just one email so I am hoping that is what this would do.
PurdueGuy Posted May 2, 2014 Posted May 2, 2014 Since each zone is in the IF, each time one trips, it will resend the email. You would have to add in some additional smarts. Maybe disable the program after the first email is sent. Then another program would later enable the program.
NHWA Posted June 23, 2014 Posted June 23, 2014 So I got around to trying the new programs and I don't seem to get the zone that set off the alarm with: ${elk.zone.#.name} ${elk.zone.#.pstatus} ${elk.zone.#.status} That line in my notification that I get is blank. When I go into the elk log it does list the alarm action and in the extended info it does list the zone which activated the alarm. Any suggestions?
Michel Kohanim Posted June 23, 2014 Posted June 23, 2014 Hello NHWA, What is your ISY's firmware version? With kind regards, Michel
NHWA Posted June 27, 2014 Posted June 27, 2014 So I keep looking at this and can't figure out why the zone is not coming across from the Elk when the alarm goes off. Is this still working for everyone else?
Michel Kohanim Posted June 27, 2014 Posted June 27, 2014 Hello NHWA, The only thing I can suggest so that at the least we have the same point of reference is to upgrade to 4.2.5 (to be out in a few minutes). With kind regards, Michel
Michel Kohanim Posted June 27, 2014 Posted June 27, 2014 NHWA, Just found another post with the same issue! I must have taken things for granted but: are you replacing the # with the actual zone #? With kind regards, Michel
NHWA Posted June 28, 2014 Posted June 28, 2014 Michel, Maybe I misunderstood the original program. I didn't replace # with a zone number. I thought the program automatically inserted whichever zone was violated with that syntax. I don't want the status of all zones individually listed--just the one that set off the alarm. That's why I originally wrote multiple programs (one for each zone) but I thought the other posts were referring to being able to do this with one program.
WayneW Posted June 28, 2014 Posted June 28, 2014 I pasted my sample above, but now realize I may have never tested that email as I don't have frequent false alarms. so I went back and looked at notifications that I know have happened. My glass breaks are on 24/7, so I occasionally get false alarms from dishes dropping, etc. Notification subject: Elk Glass Break @ ${elk.zone.#.name} body: Elk has reported a glass breakage. ${sys.time12}. ${elk.zone.#.name}. ${elk.zone.#.pstatus}. ${elk.zone.#.status}. ${elk.area.1.armedState}. ${elk.area.1.alarmState}. ${elk.area.1.armUpState}. ${elk.keypad.#.code). (from ISY) here are sample emails: -----Original Message-----Sent: Sunday, November 03, 2013 9:55 AM Subject: Elk Glass Break @ GlassBrk-Guest2 Elk has reported a glass breakage. 9:54:57 AM. GlassBrk-Guest2 Open Violated Disarmed No Alarm Active Not Ready To Arm -----Original Message-----Sent: Monday, June 09, 2014 9:06 PM Subject: Elk Glass Break @ GlassBrk-Family Elk has reported a glass breakage. 9:05:41 PM. GlassBrk-Family. Open. Violated. Disarmed. No Alarm Active. Ready To Arm. I am currently using 4.1.2. The program seems to fill in the variable zone # for me.
NHWA Posted July 1, 2014 Posted July 1, 2014 Thanks. I wonder if something changed with the new firmware updates and that is preventing the extended information like the zone from coming across. I'd be curious if anyone on a newer firmware has this working. For the time being, I just went back to my old programs that are zone specific.
JSchumann Posted July 12, 2014 Posted July 12, 2014 In your text message or e-mail use: ${alert.control} : ${alert.action}alert.control lists the zone violated by namealert.action lists the status of the zone (violated or secure)
WayneW Posted July 13, 2014 Posted July 13, 2014 NHWA, I upgraded to 4.2.5 (RC) and then pulled a zone wire to simulate a glass break I still get the emails that I expect. -----Original Message----- Sent: Sunday, July 13, 2014 3:25 PM Subject: Elk Glass Break @ GlassBrk-Office Elk has reported a glass breakage. 3:25:02 PM. GlassBrk-Office. Open. Violated. Disarmed. No Alarm Active. Ready To Arm. I have no idea what I am doing different than others. Per http://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:Custom_Email_Substitution_Variables Instead of specifying a fixed address, the special character # may be used to reference the element in the event that caused the program to run. For example, if a status event for node 11 22 AA 1 caused a program to run, then ${sys.node.#.name} would use 11 22 AA 1 as the address. I might speculate that your program sending the email is not the program that started the process? Are you using nested programs? Can you paste your program?
WayneW Posted July 13, 2014 Posted July 13, 2014 In your text message or e-mail use: ${alert.control} : ${alert.action} alert.control lists the zone violated by name alert.action lists the status of the zone (violated or secure) I am not familiar with that syntax and cannot find it in the wiki. Can you provide more details please? What would the pros & cons be versus ${elk.zone.#.name}. ${elk.zone.#.status}.
NHWA Posted July 19, 2014 Posted July 19, 2014 I'm at a loss. I can't get this to work with one program and it seems similar to what was posted. Here is the actual program. The $active_alarm variable program referenced simply prevents more than one txt from being sent within 5 minutes. If Elk Area 'Home' 'Alarm State' is Fire Alarm Or Elk Area 'Home' 'Alarm State' is Medical Alarm Or Elk Area 'Home' 'Alarm State' is Police Alarm Or Elk Area 'Home' 'Alarm State' is Burglar Alarm Or Elk Area 'Home' 'Alarm State' is Carbon Monoxide Alarm Or Elk Area 'Home' 'Alarm State' is Emergency Alarm Or Elk Area 'Home' 'Alarm State' is Freezer Alarm Or Elk Area 'Home' 'Alarm State' is Gas Alarm Or Elk Area 'Home' 'Alarm State' is Heat Alarm Or Elk Area 'Home' 'Alarm State' is Water Alarm And $Active_Alarm is 0 Then Send Notification to 'Phone' content 'Alarm' $Active_Alarm = 1 Run Program 'active alarm variable reset' (Then Path) Else - No Actions - (To add one, press 'Action') Here is the notification. I tried both methods without luck. ACTIVE ALARM. ${sys.time12} ${alert.date}${alert.control} : ${alert.action}${elk.zone.#.name}. ${elk.zone.#.status}.${elk.area.1.alarmState}
LeeG Posted July 19, 2014 Posted July 19, 2014 It needs parens If ( Elk Area 'Home' 'Alarm State' is Fire Alarm Or Elk Area 'Home' 'Alarm State' is Medical Alarm Or Elk Area 'Home' 'Alarm State' is Police Alarm Or Elk Area 'Home' 'Alarm State' is Burglar Alarm Or Elk Area 'Home' 'Alarm State' is Carbon Monoxide Alarm Or Elk Area 'Home' 'Alarm State' is Emergency Alarm Or Elk Area 'Home' 'Alarm State' is Freezer Alarm Or Elk Area 'Home' 'Alarm State' is Gas Alarm Or Elk Area 'Home' 'Alarm State' is Heat Alarm Or Elk Area 'Home' 'Alarm State' is Water Alarm ) And $Active_Alarm is 0 Then
NHWA Posted July 20, 2014 Posted July 20, 2014 Thanks Lee but the program runs fine. It's the notification that is the problem. The zone violated is blank in the message sent.
tandar Posted July 22, 2014 Posted July 22, 2014 I have the same issue. Using latest beta v 4.2.5 ${elk.zone.#.name}. ${elk.zone.#.status}. Show up as blank on the message. All other messages are coming thru fine. Do I have to setup the # variable somewhere else? Sent from my iPad using Tapatalk
Michel Kohanim Posted July 23, 2014 Posted July 23, 2014 Hi tandar, Are you actually putting the zone number in the place of #? With kind regards, Michel
NHWA Posted July 23, 2014 Posted July 23, 2014 Michel, I think some of the confusion is what the capability of the elk module is. Some have left the # in place in the syntax and the elk module has automatically replaced it with whichever zone set off the alarm. Others of us have done that and the line is blank. I've searched and I found some earlier elk module info sets that seem to indicate that the # can be used but we can't seem to figure out why it works for some and not others. I have multiple programs that send a different txt based on which zone is violated when the alarm is on so that I can tell which zone set off the alarm. I think what everyone is trying to figure out is how to do this with one generic program and why some have it working but not others with the same programs. Replacing the # does give the status of whatever zone is listed but with many zones it overwhelms a text message if the status of 10+ zones comes across.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.