Jump to content

Cell Phone Push Notifications for ISY


Recommended Posts

Posted

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

Posted

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).

 

  • Like 1
  • 4 weeks later...
Posted

@MrBill  We subscribed to Pushover, we can send a test push from pushover and we get it, but when we try a test from ISY it fails with: 

image.png.8ff6481db61c12744199a3c1e14adba0.png

Setup is: image.thumb.png.cf76c84b564c888161f3e135c93a48ef.png

image.png.fb6d31270efe0eaa9947a3161050cbfb.png

We have triple checked our keys and they are correct.  Any idea what we are missing?  Thank you.

Posted

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

 

  • Like 1
Posted
5 minutes ago, IT Solutions said:

Thanks @MrBill.  Our message format was not exactly correct.  It is working now.

to make it easy now that you've got one that works, use the copy button to make the next one and edit the name and body..... rinse and repeat anytime you need to create a new one.

Posted

@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.

Posted

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.

 

Posted (edited)
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.

Edited by MrBill
Posted

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.

Posted
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

  • Like 1
Posted

@MrBill Thanks for the idea and example.  We do that with temperatures and the floor heat zones, but there are about 40 zones for doors, windows, motion detectors, etc.  That would be a lot to look through to find the one that matters.

Posted

Write a program and in the if statement monitor each zone for being violated. In the then portion of the program send a custom notification.

For the custom notification, use the email substitution for any value you wish, including which zone was violated.

Posted

@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.

Posted
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.

 

Posted

@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.

Posted
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.

Posted
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.

Posted
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.

Posted
14 minutes ago, DennisC said:

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.

well also above, I was helping him with Pushover

Posted

@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.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...