Jump to content

Garage Door not close for 30 minutes then email me


MrT

Recommended Posts

I have been trying to create a program on my ISY/99 to check my Garage door I/O Linc Sensor to email me if someone forgot to close it for more than 30 minutes. Sometimes I came back home and noticed that my garage door have been left open all day..

I do not want to auto-close the garage door in 30 minutes. I do not want to notify me every time the garage door is open.

I only want to notify/email me when the garage door (I/O Sensor status is ON) is left open for more that 30 minutes or longer.

Any ideas to program the ISY, please let me know.. :roll:

Link to comment

Did you try something like this:

 

If
       Status  'Garage Door Sensor' is On

Then
       Wait  30 minutes 
       Send Notification to 'Default'

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

 

You also need to go into "Configuration -> Emails/Notifications -> Settings/Groups" and configure a group correctly. The group I used in the example above is named "Default".

 

The important thing in the above program is that whenever the Garage Door Sensor status changes, the program will start (or re-start) running, even if it was already running. So if the sensor goes 'off' while in the 30 minute wait, the program will re-start and run the 'Else' clause, rather than finishing the 'Then' clause, and you won't get notified.

Link to comment

Thanks a lot. It works great. It even only email me once time only, not every 30 minutes the door is not closed.

I thought you need to use a variable or 2nd program to work. Easier then I thought.

Now I can set any lights that my kids forgot to turn off during the daytime to notify me when I am away from home.

 

Thanks again. :D

Link to comment
Thanks a lot. It works great. It even only email me once time only, not every 30 minutes the door is not closed.

I thought you need to use a variable or 2nd program to work. Easier then I thought.

Now I can set any lights that my kids forgot to turn off during the daytime to notify me when I am away from home.

 

Thanks again. :D

 

Take it one step further: If you were sent the "Door is Up" alert email that the door has been open for 30 minutes, then have another program send you the "Door is Down alert when the door is closed. You ONLY want to get the down alert if the door was open for more than the interval, i.e. if you get the up email, you want to get the down email. The trick is to set an integer (not state) variable and set it to 0 (false) when the door goes up then to 1 (true) when the up email is sent. Create another program that reacts when the door goes down AND the variable is 1 (true) to send another email alert that the door is down.

 

And useful feature of ISY programming: programs can be set to "disabled" to control when they run. Programs can execute disabled programs but conditions or status changes cannot.

Link to comment
Thanks a lot. It works great. It even only email me once time only, not every 30 minutes the door is not closed.

I thought you need to use a variable or 2nd program to work. Easier then I thought.

Now I can set any lights that my kids forgot to turn off during the daytime to notify me when I am away from home.

 

Thanks again. :D

 

Take it one step further: If you were sent the "Door is Up" alert email that the door has been open for 30 minutes, then have another program send you the "Door is Down alert when the door is closed. You ONLY want to get the down alert if the door was open for more than the interval, i.e. if you get the up email, you want to get the down email. The trick is to set an integer (not state) variable and set it to 0 (false) when the door goes up then to 1 (true) when the up email is sent. Create another program that reacts when the door goes down AND the variable is 1 (true) to send another email alert that the door is down.

 

And useful feature of ISY programming: programs can be set to "disabled" to control when they run. Programs can execute disabled programs but conditions or status changes cannot.

 

I hate to ask, but being totally new to ISY and having only had a very basic programming class in highschool...I can't figure out what this program should look like. Would you mind sharing? This is a great idea to get the notification once it's down after that 30 min window that it was up.

Link to comment

I'll take a shot:

 

First, create a new variable ... "Garage Left Open" ....

 

Then modify the program above to be:

 

If
       Status  'Garage Door Sensor' is On

Then
       Wait  30 minutes 
       Send Notification to 'Default' content 'Garage.LeftOpen'
       $Garage_Left_Open  = 1

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

 

Then, create a second program:

 

If
       Status  'Garage Door Sensor' is Off
And $Garage_Left_Open is 1

Then
       Send Notification to 'Default' content 'Garage.Closed'
       $Garage_Left_Open = 0

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

Link to comment

Thanks for taking this further. Now when I called home to tell me kids to close the garage, I can make sure they did it.

ISY99i is great for beginners programmer..

Thanks a bunch!

p/s: I plan to upgrade to ISY994i. Any advantages or shall I wait?

Link to comment
  • 1 month later...
I like to make some changes to this program. How do I get ISY to email me again if the garage door is not closed and left open for another 30 minutes, I want to be notify until the garage is closed..

 

 

Modify the first program as to add a repeat as follows:

If
       Status  'Garage Door Sensor' is On

Then
       Wait  30 minutes
       $Garage_Left_Open  = 1
       Repeat every 30 minutes 
           Send Notification to 'Default' content 'Garage.LeftOpen'

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

 

-Xathros

Link to comment

No code supplied but....

 

What if you are home and forgot the door was open? Perhaps went to bed? Been there on that one.

 

You could flash some lights or make some noise as a reminder and then if the door doesn't get closed in the next 5 to 10 minutes then send the email 'cause you're not home. If it's late at night close the door automatically as a last resort.

Link to comment

p/s: I plan to upgrade to ISY994i. Any advantages or shall I wait?

 

 

Yes. More code memory. Support for current / newer Insteon Devices.

 

Advantages....you'll have to decide if you need it yet or not.

 

If you plan on buying newer devices you may need to upgrade.

Link to comment

How do I insert the timedate variable on the email. I did not want the time the email sent. I want it to show the time of the first time the door is open. Maybe using a variable to store this when the garage door is open. Any sample codes will be appreciated.

Link to comment
How do I insert the timedate variable on the email. I did not want the time the email sent. I want it to show the time of the first time the door is open. Maybe using a variable to store this when the garage door is open. Any sample codes will be appreciated.

You would have to use all or a good portion of this software http://wiki.universal-devices.com/index.php?title=ISY-99i_Generic_Calendar_Using_Programs_and_Variables

 

or hopefully UDI will add system variable access in one of the next version releases as per my request here.

http://forum.universal-devices.com/viewtopic.php?f=7&t=13530.

 

More voiced support never hurts their priority list.

Link to comment

This is not what I want to program to do. I want to insert the timedate variable on the email. I did not want the time the email sent. I want it to show the time of the first time the door is open on the email.. Maybe using a variable to store this when the garage door is open.

Link to comment

There are no string variables yet. Version 5 may allow for this when it is released. The simple solution for now would be to send a message when the door is opened that includes the current time:

 

If 
  Control GD_IOLinc_Sensor is Switched On

Then
   Send Notification To  Content GarageDoorOpened

 

For the custom notification:

Garage door opened at: ${alert.time12}} on ${alert.date}

 

Leave you "Still Open" reminders as they are.

 

When V5 comes out, hopefully you will be able to modify the above to simply store the date/time in variables when the door is opened then use those variables in your reminder messages.

 

It's been a while since I looked at apostolakisl's date programs and I don't remember if he tracks time as well as date. It may be possible that you could grab integer Hour and Minute from them to store in variables now but unless you have other uses for those programs, it's a lot of effort for this single use.

 

-Xathros

Link to comment

I'm wondering if it would it be better to use a state variable and change the init and current state together so the program would survive a power cycle? I'm still learning and use something similar with state variable but wasn't sure if there was a downside to that.

Link to comment
I'm wondering if it would it be better to use a state variable and change the init and current state together so the program would survive a power cycle? I'm still learning and use something similar with state variable but wasn't sure if there was a downside to that.

 

Big517-

 

Any place a value is critical, regardless of state or integer, setting the init value is a good idea for just that reason.

 

-Xathros

Link to comment

If
       Status  'IO Linc Garage Door-Sensor' is On
   And From     7:00:00PM
       To      11:59:00PM (same day)

Then
       Resource 'Garage Door: Has been left open '

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

 

 

What is the expected behavior in this program? If the door is open from 7-11:59 PM an alert message will arrive? I am trying to redo a auto close feature for the GDO. But, want to ensure safeties are in place so this works as intended.

 

Right now I have a program and a separate device that locks out the GDO when the alarm security system is in lock down mode.

 

Teken . . .

Link to comment
  • 1 month later...

The repeat function works great. But I got annoyed when I got repeated email forever. How can I make it better by only repeat the send email for only 3 times and stop send me any more email. And after the garage door is close, I want to send me email that the door is closed. Any ideas.. I could not find any feature in 99i that allow me to repeat for x number times for every hour..

Link to comment
I want to send me email that the door is closed. Any ideas.

 

I am in no position to check right now, but I thought the repeat could be defined for X number of times. Combined with a one-hour wait would , in my mind, accomplish your goals.

Link to comment
Guest
This topic is now closed to further replies.

  • Recently Browsing

    • No registered users viewing this page.
  • Forum Statistics

    • Total Topics
      37k
    • Total Posts
      370.9k
×
×
  • Create New...