Jump to content

rodtoll

Members
  • Posts

    3
  • Joined

  • Last visited

rodtoll's Achievements

Newbie

Newbie (1/6)

0

Reputation

  1. Good idea. I'll give that a try.
  2. These were very useful. Here's what I ended up doing.. I used a big if statement using status. I then made a number of additions: 1) I created a state variable to keep track of the number of minutes since the last activity 2) I grouped the switches into programs grouped by area of the house. 3) I created a state variable to tell me if anyone was home. 4) Created a program to drive the state variable based on the set of inactivity. Example of what I used to detect activity: If Status 'Interior Lights / Basement Rec Room Back Door' is On Or Status 'Interior Lights / Basement Rec Room Back Door' is Off Or Status 'Interior Lights / Basement Stairs Top - Main' is Off Or Status 'Interior Lights / Basement Stairs Top - Main' is On Or Status 'Interior Lights / Server Room' is On Or Status 'Interior Lights / Server Room' is Off Then $MinutesSinceLastDownstairsLightEvent = 0 Repeat 1440 times Wait 1 minute $MinutesSinceLastDownstairsLightEvent += 1 Else - No Actions - (To add one, press 'Action') I then reset the timeouts to a large number at midnight. I then combine these sub-programs with a master program which looks for activity on any of the timeouts like this: If ( $MinutesSinceLastDoorEvent < 21 Or $MinutesSinceLastUpstairsLightEvent < 21 Or $MinutesSinceLastDownstairsLightEvent < 21 Or $MinutesSinceLastGarageEvent < 21 Or $MinutesSinceLastMainFloorLightEvent < 21 Or $MinutesSinceLastMainFloorMotionEvent < 21 Or $AlarmStayModeActive is 1 ) And $SomeoneHome is 0 Then $SomeoneHome = 1 Send Notification to 'EmailToRod' content 'SomeoneHomeReport' Set Scene 'Home Buttons' On Else - No Actions - (To add one, press 'Action') This gives me an e-mail every time the ISY determines that someone is home because there was activity or because the alarm system is set to "Stay" because I will always know we are home if the Alarm is armed to "Stay". For those curious this has done a relatively good job although it tends to timeout artificially during the day because people don't open the doors or turn on and off lights a whole bunch during the day. My next attempt is going to be to create a state machine that changes state of home or not based on activity detection + door changes. For example, if I detect activity then I know someone is home and someone is home until I detect a door event. Then I go into a timeout mode like above to see if the door event resulted in someone leaving.
  3. I have an ISY-99i and a large number of Insteon switches. I would like to automatically detect when there is no one home. The easiest way to do this is when someone sets the alarm system and I have that setup. However, my family doesn't always remember to do that so I would like to provide an automatic option. To do this I am monitoring all the sensors I can and if any of them trigger the system realizes that someone is home. For example, if someone opens a door or triggers one of the Insteon motion sensors I know someone is there. Then I can do a timeout for inactivity. My question is -- is there a way in an ISY program to trigger a program to run if the state of a switch changes? I know I can trigger an action if the light is turned on or off but building a program which checks for on or off state changes for every switch in the house is going to result in a lot of programs or a very large if statement. Is there an easier way?
×
×
  • Create New...