Jump to content

Cell Phone Push Notifications for ISY


Recommended Posts

We are a new user to Universal Devices ISY, but have been installing and maintaining ELK M1 systems for over a dozen years.  Many of the systems we have installed are out of code space in the ELK and the ELK CPU is overloaded so we are moving Rules from the ELK to Programs in the ISY.

We are also interested in setting up Push Notifications to our phones and are reaching out to others to get some feedback on their experiences (good or bad) on the various different push notification options.  We do need something that will connect to multiple ISYs are the same time to receive push notifications, or if that is not possible, we may need to install two or three different apps on a single phone to receive push notifications from multiple ISYs at the same time.

What can you tell as about the different push notification options available for ISY?

Thank you,

IT Solutions

Link to comment

Pushover.net

The app is a (free trial then) one time charge. 

You do need either Network Resources on the ISY (comes free with a portal subscription) or the use of a node server.   If you have Polisy there are two nodeservers to choose from or without a polisy (but with a portal subscription) you can use Push as a cloud nodesever.   lots of ways to use Pushover.    If using the original Network Resources method then see this Wiki page for setup.  One pushover account for many ISY's or separate, doesn't matter much unless your generating LOTS of traffic then you may want to split it up to keep away from monthly fees.   (also if your a business, I believe they can private label, but that wouldn't be free.

The notifications arrive nearly instantly.  For example, If I pull open my mailbox the notification taps my wrist before my hand has a chance to let go of the mail box door.

another option available to all is email, either with UDI's default mail server or your own.  With that you can send text messages via the indvidual carriers email gateways....  your mileage may vary here, there are repeated complaints about slow delivery (mostly from those with AT&T).   (special note with AT&T there are 2 email to text gateway 10digitnumber@txt.att.net and 10digitnumber@mms.att.net... of the two @mms.att.net works better for this for two reason 1) the message arrive FROM the email address that sent it, and 2) it's usually faster (althought today it's got 30 minutes delays).

 

Link to comment
  • 4 weeks later...

i just happened to see this right after you posted it, but when you are trying to use @ notifications in this forum @IT Solutions you need to select a name from the pop-up list that appears and see a bubble like this @IT Solutions in the message.

first thing, double the time out to 4000ms, 96% of messages will go thru with 2000ms but you really need a bigger timeout.

second I can't tell from your screenshot if you've created a valid message body.

here is one of mine:

token=<REDACTED>&user=<REDACTED>&message=Away mode Acivated. \n ${sys.time12}\n

 

Link to comment

@IT Solutions

Here is another you might want to try:

token=<redacted>&user=<redacted>&priority=1&sound=persistent&message=**** SMOKE ALARM **** \n ${sys.time12}\n

&priority=1  on iOS will issue an iOS critical alert which bypasses iOS Do Not Disturb.  (I assume it work similar on Android but don't know the particulars.)

and &sound let's you change from the default sound, the choices are here.

Link to comment

Thank You @MrBill  We have alarms coming from an ELK.  We have a rule that starts with Elk Area 'Garage' 'Alarm State' is Burglar Alarm  Then Resource 'Burglar Alarm'.  How do we get the information of what Zone triggered the Alarm?  We can get the zone status, zone name, etc. for each zone, but we need to know what zone triggered the alarm without creating a whole bunch of programs to check each zone.

 

Link to comment
33 minutes ago, IT Solutions said:

Thank You @MrBill  We have alarms coming from an ELK.  We have a rule that starts with Elk Area 'Garage' 'Alarm State' is Burglar Alarm  Then Resource 'Burglar Alarm'.  How do we get the information of what Zone triggered the Alarm?  We can get the zone status, zone name, etc. for each zone, but we need to know what zone triggered the alarm without creating a whole bunch of programs to check each zone.

 

check here: https://wiki.universal-devices.com/index.php?title=ISY-994i_Series:EMail_and_Networking_Substitution_Variables#Elk_Variables

I don't have ELK so I can't help with specifics past that, but you include the substitution formatted like the time ${sys.time12}  in other words what's in the EXAMPLE column surrounded by ${   }  Scroll up on the link for other substantiations you can use.

Link to comment

Thanks @MrBill  We have used those, but we would have to pole each zone to check status.  We tripped the alarm and the ISY got:

Motion Violated

Motion Open

Burglar Alarm (with Area)

Motion Normal

Motion Short 

Area Disarmed (entered code to turn off the alarm)

We need to know what zone tripped the alarm, but that happens BEFORE the alarm notification is sent.  Then we would want to know each zone that trips after the alarm so we know where they are in the building.

When I trip the same motion detector and the area is not armed, we get the same Violated, Open, Normal, Short so we can't trigger off just that.  Plus there are a lot of zones, so we would need a different program and different Network Resource configuration for each zone.  Hopefully someone with an ELK and an ISY has this figured out.

Link to comment
1 minute ago, IT Solutions said:

Thanks @MrBill  We have used those, but we would have to pole each zone to check status.  We tripped the alarm and the ISY got:

Motion Violated

Motion Open

Burglar Alarm (with Area)

Motion Normal

Motion Short 

Area Disarmed (entered code to turn off the alarm)

We need to know what zone tripped the alarm, but that happens BEFORE the alarm notification is sent.  Then we would want to know each zone that trips after the alarm so we know where they are in the building.

When I trip the same motion detector and the area is not armed, we get the same Violated, Open, Normal, Short so we can't trigger off just that.  Plus there are a lot of zones, so we would need a different program and different Network Resource configuration for each zone.  Hopefully someone with an ELK and an ISY has this figured out.

use a longer message with a zone list.  this is formatted as an email but you can do the same thing with Pushover I wouldn't use HTML with pushover tho, or you'll likely hit the 1024 character message limit.  (although Pushover does allow HTML)

<html>
As of: ${sys.date} ${sys.time12}<br>
<br>
<!-- Living Room Fireplace -->
${var.2.53}  <b>${sys.node.n004_1d3698bae66c5e.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_1d3698bae66c5e.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_1d3698bae66c5e.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_1d3698bae66c5e.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_1d3698bae66c5e.BATLVL} - ${sys.node.n004_1d3698bae66c5e.CV}<br>
<br>
<!-- Downstairs Fireplace -->
${var.2.54}  <b>${sys.node.n004_b40c6d12d303cc.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_b40c6d12d303cc.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_b40c6d12d303cc.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_b40c6d12d303cc.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_b40c6d12d303cc.BATLVL} - ${sys.node.n004_b40c6d12d303cc.CV}<br>
<br>
<!-- Kitchen Refridgerator -->
${var.2.57}  <b>${sys.node.n004_f48175781a6ea7.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_f48175781a6ea7.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_f48175781a6ea7.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_f48175781a6ea7.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_f48175781a6ea7.BATLVL} - ${sys.node.n004_f48175781a6ea7.CV}<br>
<br>
<!-- Kitchen Freezer -->
${var.2.59}  <b>${sys.node.n004_e0515ec730ae9d.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_e0515ec730ae9d.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_e0515ec730ae9d.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_e0515ec730ae9d.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_e0515ec730ae9d.BATLVL} - ${sys.node.n004_e0515ec730ae9d.CV}<br>
<br>
<!-- Costco Rm Freezer -->
${var.2.60}  <b>${sys.node.n004_81714ecf368989.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_81714ecf368989.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_81714ecf368989.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_81714ecf368989.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_81714ecf368989.BATLVL} - ${sys.node.n004_81714ecf368989.CV}<br>
<br>
<!-- White Refridgerator -->
${var.2.61}  <b>${sys.node.n004_42055297a6b0dc.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_42055297a6b0dc.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_42055297a6b0dc.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_42055297a6b0dc.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_42055297a6b0dc.BATLVL} - ${sys.node.n004_42055297a6b0dc.CV}<br>
<br>
<!-- White Freezer -->
${var.2.62}  <b>${sys.node.n004_644415ee9822c9.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_644415ee9822c9.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_644415ee9822c9.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_644415ee9822c9.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_644415ee9822c9.BATLVL} - ${sys.node.n004_644415ee9822c9.CV}<br>
<br>
<!-- Silver Downstairs Fridge -->
${var.2.63}  <b>${sys.node.n004_b6046d199db530.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_b6046d199db530.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_b6046d199db530.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_b6046d199db530.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_b6046d199db530.BATLVL} - ${sys.node.n004_b6046d199db530.CV}<br>
<br>
<!-- Silver Downstairs Freezer -->
${var.2.64}  <b>${sys.node.n004_ea50356d444712.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_ea50356d444712.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_ea50356d444712.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_ea50356d444712.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_ea50356d444712.BATLVL} - ${sys.node.n004_ea50356d444712.CV}<br>
<br>
<!-- Plant Room -->
${var.2.56}  <b>${sys.node.n004_af270204a321f3.name}</b>&nbsp;&nbsp;&nbsp;<b>${sys.node.n004_af270204a321f3.CLITEMP}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${sys.node.n004_af270204a321f3.CLIHUM}<br>
&nbsp; &nbsp;ST: <i>${sys.node.n004_af270204a321f3.ST}</i>&nbsp;&nbsp;&nbsp;Battery: ${sys.node.n004_af270204a321f3.BATLVL} - ${sys.node.n004_af270204a321f3.CV}<br>
<br>
</html>

email.thumb.jpg.451b7694e4f046d8553d490c685f9166.jpg

Link to comment

@DennisC Thank you for the ideas.  Only reporting the one zone that was violated would require a different push notification for each zone. That is a lot of Network Resources to setup.  Reporting every zone in every push notification would be a lot to read to find the zone that was violated.   

The best solution we have come up with is to monitor and repot by area.  We have four different areas and each zone is assigned to the area.  When an alarm triggers in an area we report all zones in that area.  There are still timing issues we need to deal with. 

For example, the first zone that is violated triggers the alarm.  When it triggers, the information we receive from the Elk is no different than when it triggers when the system is not armed, so we can't trigger an action just on that.  By the time the Burglar Alarm notification is sent, we process that, and the push notification is sent, the zone that triggered the the alarm may or may not still be violated.  If it is a motion detector, that will depend on the latch time on the detector and if the person is still trigger it.  if it is a door, that will depend on if they closed the door after entering or not.  On a door entry, there is likely an entry delay before the alarm triggers.

Lots of different issues to deal with.  We are hoping someone has already done this in ISY and can share their solution.

Thank you for your thoughts on this.

Link to comment
6 minutes ago, IT Solutions said:

@DennisC Thank you for the ideas.  Only reporting the one zone that was violated would require a different push notification for each zone. That is a lot of Network Resources to setup.  Reporting every zone in every push notification would be a lot to read to find the zone that was violated.   

The best solution we have come up with is to monitor and repot by area.  We have four different areas and each zone is assigned to the area.  When an alarm triggers in an area we report all zones in that area.  There are still timing issues we need to deal with. 

For example, the first zone that is violated triggers the alarm.  When it triggers, the information we receive from the Elk is no different than when it triggers when the system is not armed, so we can't trigger an action just on that.  By the time the Burglar Alarm notification is sent, we process that, and the push notification is sent, the zone that triggered the the alarm may or may not still be violated.  If it is a motion detector, that will depend on the latch time on the detector and if the person is still trigger it.  if it is a door, that will depend on if they closed the door after entering or not.  On a door entry, there is likely an entry delay before the alarm triggers.

Lots of different issues to deal with.  We are hoping someone has already done this in ISY and can share their solution.

Thank you for your thoughts on this.

What device are you looking to push a notification too? For my Elk, I send arm/disarm & alarm notifications to two phones. All this requires is one program & one custom notification for arm/disarm, and one program & one custom notification for alarms.

 

Link to comment

@DennisC Arm and disarm are straight forward to deal with as they are each a single event.

We want a push notification for a Burglar Alarm with what zone triggered the alarm, then another push notification for each zone tripped while in alarm state so we know exactly where they are in the building as they move through the building.  This is not to straight forward.

Since you have an ELK and know ISY better than us, maybe we can work on this together.

Link to comment
16 minutes ago, IT Solutions said:

@DennisC Arm and disarm are straight forward to deal with as they are each a single event.

We want a push notification for a Burglar Alarm with what zone triggered the alarm, then another push notification for each zone tripped while in alarm state so we know exactly where they are in the building as they move through the building.  This is not to straight forward.

Since you have an ELK and know ISY better than us, maybe we can work on this together.

I am a little short on time right now, however, here is a short quick example of the program then sends a notification on an alarm.

Elk Module Alarm - [ID 00B7][Parent 00B1][Not Enabled]

 

If

        (

             Elk Area 'Area 1' 'Armed State' is Armed Away

          Or Elk Area 'Area 1' 'Armed State' is Armed Vacation

          Or Elk Area 'Area 1' 'Armed State' is Armed Stay

         And (

                  Elk Area 'Area 1' 'Alarm State' is not No Alarm Active

             )

         And (

                  Elk Zone 'Back Door' is not Normal

               Or Elk Zone 'Basement Door' is not Normal

               Or Elk Zone 'Basement Motion' is not Normal

               Or Elk Zone 'Basement Windows' is not Normal

               Or Elk Zone 'Workshop Windows' is not Normal

             )

        )

 

Then

        Send Notification to 'Admin Text' content Alarm

 

Else

   - No Actions - (To add one, press 'Action')

 

For the notification, you use the email substitutions from the list I sent you, something like:

 

${sys.time12} on ${sys.date}    

${elk.zone.#.name}; ${elk.zone.#.status}

Play around with it a little. Someone with your experience will pick it up fast. If you still have an issue getting it to work, let us know.

Link to comment
1 minute ago, DennisC said:

${sys.time12} on ${sys.date}    

${elk.zone.#.name}; ${elk.zone.#.status}

It should be noted that the # substitution character only works when generating an EMAIL notification, it will not work with network resources.

From the Wiki:

Quote

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. (Does not work in network resources)

which is why I didn't point the # yesterday.

Link to comment
12 minutes ago, MrBill said:

It should be noted that the # substitution character only works when generating an EMAIL notification, it will not work with network resources.

From the Wiki:

which is why I didn't point the # yesterday.

Yes, you are right. That's why I asked in a post above what device he was sending the notifications to. I get my phone notifications 99% of the time in a few seconds of event occurring.

Link to comment

@MrBill @DennisC Thank you both for all the help.  There is a lot to absorb here.

We have Pushover working for simple notifications.  Now we need to build the programs to push the details of the alarms.  I think notifications by area is the best way to deal with this.  We have five areas that can trigger a burglar alarm and about forty sensors total (that are alarm sensors). We have more that are not alarm sensors.  Separating by area makes this more manageable.

@DennisCWhat are you using for Push Notifications?

Thank you.

 

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...