edokid Posted September 11, 2014 Posted September 11, 2014 Hi everyone, I was using the trial of HomeSeer before and they had advised that to do criteria like pressing a button to activate Goodnight mode, which causes motion sensors to turn lights on dimly, vs Away mode which causes all lights to come on etc, was to make a virtual device, with true or false values. Turning the virtual device on is your variable. How does that work in the ISY since there's no virtual devices? I had thought maybe I'd make a scene called Home, Away, etc, but I don't think you can do "If" criteria based on "If Night.Scene is On" unless I'm mistaken. I'm guessing with Keypadlinc it's easier, but until I have one I'd be using the web interface, or my phone like MobiLinc or something. Thanks!
stusviews Posted September 11, 2014 Posted September 11, 2014 A variable can be used as a virtual device. What do you intend to use to trigger the Goodnight and Away modes?
edokid Posted September 11, 2014 Author Posted September 11, 2014 Well eventually Keypadlinc buttons hopefully, so one that is maybe Home, one Away, one Night, etc. As for now though it would have to be my iPhone either using one of the apps to control devices etc, or even just the ISY's web interface as that works well also. I'm just confused because with HomeSeer's virtual device it would have a state of On or Off, or 1 or 0 or whatever you wanted, so you could just go on your phone and turn that "device" called "Away" on for example, and then all your other programs would look and see "If VirtualDevice.Away is On" do this this this etc. Was just wondering how to accomplish that same thing from the ISY if I don't have a Keypadlinc yet.
stusviews Posted September 11, 2014 Posted September 11, 2014 (edited) Goodnight mode can be accomplished using scenes. That mode (dim lighting) becomes the default. Create an Away variable that has an initial value of 0. Create a program for each sensor that turns the responder on to 100%. Include the condition that the Away variable is equal to one. Create two programs, Away which sets the variable to 1 and Home which set it to 0. Motion Sensor Program(s) If Control 'Your motion sensor' is switched On And $Away is 1 Then Set 'Your responder' On Else - No Actions - (To add one, press 'Action') Away If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then $Away = 1 Else - No Actions - (To add one, press 'Action') Run the Away program when you leave and the Home program when you return. The lights will immediately come on dim the go to full on when in Away mode due to the slight delay when running a program as opposed to a link. Alternatively, you can set the variable level from the HTML (web) interface. Edited September 11, 2014 by stusviews
edokid Posted September 11, 2014 Author Posted September 11, 2014 (edited) Great thanks, having one issue here though. I made 3 programs, Away which sets the HouseStatus variable to 1, Home which makes it 2 and Goodnight which makes it 3. I did a test with the door sensor sending an alert when the door is open, so I said If the door opens, and it's between 9pm and 9am, OR HouseStatus is not equal to 2, then send notification. On my phone I go to programs, and it shows all 3 saying "False" as their status. I go to Away mode and have the options Run If, Run Then, Run Else, Stop, Enable, Disable, Run at Startup, Do not run at startup. I picked Run If, and that changed the status to "True" and as expected the door sent a notice when it opened. However here's where I'm stuck, how do I turn it off now? If I run the "Home Mode" program to make the variable 2, the Away mode program still says "True" under enabled and as expected the notice doesn't get sent ,but if I then go to Away program and Run If again, then nothing happens. I used the Integer variable type, is that maybe why? Edited September 11, 2014 by edokid
edokid Posted September 11, 2014 Author Posted September 11, 2014 I confirmed the programs are working finally, notifications are sent when Away or Goodnight programs are running. However as mentioned on the web interface all programs show status "False" and then when you run one manually by "Run If" it changes to "True" however it never goes back to False even if you run another program, but the variables do change and it does work. So I suppose with the Keypadlinc it would be easier.
edokid Posted September 12, 2014 Author Posted September 12, 2014 This is driving me crazy, it was working for awhile and now its sending me notifications still! When I open the back door I get an email, I have no idea why this is triggering as the variable $sHouseStatus is set to 2 right now. If Control 'BackDoor.Sensor- Door Sensor' is switched On And $sHouseStatus is not 2 Then Send Notification to 'Default' content 'Door Open Warning Back' Else - No Actions - (To add one, press 'Action')
Techman Posted September 12, 2014 Posted September 12, 2014 (edited) edokid, Your variables should all be "state" variables, not "integer" variables. Edited September 12, 2014 by Techman
edokid Posted September 12, 2014 Author Posted September 12, 2014 Thanks I had changed them to state after but just realized the 3 programs that set the actual variable numbers were still integer, so when I was looking to see the current value of the variable I was looking at the wrong one. The only issue still is on the ISY web interface if you run a program like Away, it changes from false to true, but when you run Home, it also goes from false to true but Away never changes back to false. Not a huge deal but just no real way to tell which program is running without going to the variable screen.
stusviews Posted September 12, 2014 Posted September 12, 2014 I find the program runs successfully using integer variables.
Michel Kohanim Posted September 12, 2014 Posted September 12, 2014 Hi edokid, Have you upgraded to 4.2.10? Programs are color coded based on their status so you don't have to go back and forth. With kind regards, Michel
edokid Posted September 12, 2014 Author Posted September 12, 2014 Hi Michael, yeah I did upgrade and I see that, I was just looking at the wrong thing. I had originally made it with integer variables but changed it to state, but missed changing one of the programs to the new variable, so was going crazy when it kept triggering even though it said "When sHouseStatus is not 2" and then I'd check and "HouseStatus" was 2, but that was the old integer one, so we seem to be good.
larryllix Posted September 12, 2014 Posted September 12, 2014 Hi everyone, I was using the trial of HomeSeer before and they had advised that to do criteria like pressing a button to activate Goodnight mode, which causes motion sensors to turn lights on dimly, vs Away mode which causes all lights to come on etc, was to make a virtual device, with true or false values. Turning the virtual device on is your variable. How does that work in the ISY since there's no virtual devices? I had thought maybe I'd make a scene called Home, Away, etc, but I don't think you can do "If" criteria based on "If Night.Scene is On" unless I'm mistaken. I'm guessing with Keypadlinc it's easier, but until I have one I'd be using the web interface, or my phone like MobiLinc or something. Thanks! I have used non-existent X10 devices as "virtual devices" that can be controlled by MobiLinc. I have the X10 modules so I can also name the pseudodevices with sane labels. Currently I use lots of motion detectors to switch modes except for security items, which are done by Insteon patterns on wall switches and time of day.
Abusyhouse Posted December 5, 2014 Posted December 5, 2014 I am trying to do the same thing. I find that the program route is cumbersome, requires 2 program buttons vs. the one for a toggle switch, but also is not intuitive for the front end user (like my wife). A virtual switch looks cleaner and is much easier to use intuitively. how can someone create a virtual x10 device? I don't have the module, but would be happy to get it. Currently, when I try to create a fake insteon device, the ISY looks for it, and when it doesn't find it, does not allow me to add it to the device screen.
stusviews Posted December 5, 2014 Posted December 5, 2014 Abusyhouse, I replied here: http://forum.universal-devices.com/topic/14728-can-i-create-a-dummy-virtual-device-switch/
shannong Posted December 7, 2014 Posted December 7, 2014 (edited) I run most of my house based on four factors that are tracked with variables. Occupancy, Time of Day (TOD), Weekday. and Luminance. With these variables setup, writing programs to control things automatically is easy and effective. For me "home automation" means I shouldn't be setting or changing things manually on a daily basis unless it can't be predicted. That is only the time when I go to sleep. Everything else happens automatically because it's predictable or automatically detected. For example, my son's cell phone is used to know when he is here vs when he is not. When 5.x is released, I'll probably create a virtual switch for Sleep instead of running a program, but I won't change the way things run or remove any programmed KPLs. Mobilinc is just too slow for me for frequent use. Occupancy ========= Most of the home is controlled by the "Occupancy" state. Home, Away, & Sleep. Many lights and other programs are triggered when the variable for one of them is switched from zero to one or vice versa. Only one of them can be "on" at a time. I have a RemoteLinc and one KPL in the Master Bedroom to physically trigger Sleep. I most often use the program on my phone via Mobilinc to set the Sleep variable on. Once the variable is changed to one, programs are triggered like turning off lights, setting thermostat temps, arming alarm for night, etc. Away is triggered whenever the house security Alarm is armed for exit. I have a KPL I hit as I walk out to the garage that arms the alarm and opens the garage door together. But I do have one KPL to turn Aawy on if I want to leave for some odd reason without arming the alarm. I never use a program to turn this one on, although I could. Home is on whenever the alarm is disabled or the one KPL I referenced is manually turned off. I never use a program for this one either, although I could. TOD ========= I also have time of day variables (TOD) that work in conjunction with Occupancy. Day, Evening, and Night. For me, "Evening" is the time when it's dark outside but Sleep is not yet on. Once Sleep is on, Evening is turned off and Night is turned on. Day is turned on automatically based on sunrise. Luminance =========== I also have one luminance variable to decipher between dark vs light which for the most part helps set the TOD variables but also triggers a few lights which behave differently depending if I'm Home or Away. It's triggered by sunrise/sunset plus one luminance sensor to trigger the change if it happens to be very cloudy/stormy that day making darkness come early. Weekday ========== I tracked weekday vs weekend using one variable. It's used mostly for automatic thermostat changes but a few lights decorative lights as well. I also have a Guest variable for slight modification to some of the Occupancy scenes. It has one KPL actually in the guest room but normally triggered by a program via Mobilinc. Edited December 7, 2014 by shannong
bernieb Posted December 8, 2014 Posted December 8, 2014 Shannnong, This is exactly what I would like to accomplish with my ISY. I am still deep in my learning curve as I am a fairly new user of ISY. Seems like it's the perfect foundation for building a smart home. Any chance (if there is a way) that you can share your programs/routines?
Quietminded Posted December 8, 2014 Posted December 8, 2014 I'd really appreciate seeing programs/routines as well. Very very new in my learning. Thank you
jcoverton Posted December 9, 2014 Posted December 9, 2014 I do the same kind programming but use a single time mode variable with multiple values. This prevents the condition where the multiple states could be active at once. 0 = initial value which indicates that the ISY has restarted and the variable needs to be set to the proper value based on time. 1 = Day mode (no default lighting on) which is from sunup to sundown. 2 = Evening mode (a lot of lighting on) which is from sundown to bedtime. 3 = Bedtime mode (outside lights and a few inside lights on) which is from bedtime to house shutdown. 4 = Nighttime mode (All lights off) which is from house shutdown to sunup. The modes can shift by themselves if without intervention. 4=>1 at sunrise, 1=>2 at sunset, 2=>3 at 10pm and 3=>4 at midnight. I also can manually declare Bedtime and Nighttime with a KPL buttons. So I can go to bed early, of shutdown the house. I have a party mode KPL button which turns on party lighting and sets a variable which stops the time based mode shifts. For example, this keeps the lights from going out at midnight. When Party KPL button is turned off it resets the time mode variable to the right value based on the time. A second variable Home/Away is set based on my ELK alarm status. The combination of the time mode variable and the home/away variable control what lighting is set and what actions happen when various KPL buttons are pressed. Some examples are: * KPL buttons in the bedroom are dimmed during bedtime and nighttime. * Bathroom lights turn on dimly automatically based on ELK motion sensors during nighttime. * Motion detector programs use these variables to control their associated lighting. (during daytime nothing happens, during evening lights brighten for a time, and during nighttime lights come on for a time) * If bedtime or nighttime is selected and the Garage door sensors indicate an open door, a program causes the ELK voice module to speak a warning.
builderb Posted December 9, 2014 Posted December 9, 2014 (edited) I've got 5 states. At 0, that's a power interruption and it triggers certain startup programs to run. 1 is All Home, so internal lights mostly, exterior is off. 2 is Some (but not all) Home, so interior lights are on, but so are some exteriors. 3 is All Away, that's the typical weekday when everyone is at work or school, and 4 is Vacation, which is 24 hours of no activity. Schedules that depend on these conditions are kept in different folders that run based on the state number. I also set a Bedtime variable to 1 from a mini-remote taped to the wall next to the bed. The variable is reset to 0 at 4:00am each morning, but nothing is triggered by that. I also have IsDayOff variables for each of us to kill standard morning schedules and heater adjustments if someone is sick or otherwise home unexpectedly. At some point I'd like to be able to put a vacation event in my calendar, and have that translate to control of that variable too, but not there yet. Sent from my iPad using Tapatalk Edited December 9, 2014 by builderb
shannong Posted December 9, 2014 Posted December 9, 2014 I agree that a single variable with values to represent various "Occupancy" states is better and cleaner. However, I built the functionality slowly and evolved into the scheme I have now over a 9 month period. I might go back someday and rewrite them but I'm not optimistic.
shannong Posted December 9, 2014 Posted December 9, 2014 Shannnong, This is exactly what I would like to accomplish with my ISY. I am still deep in my learning curve as I am a fairly new user of ISY. Seems like it's the perfect foundation for building a smart home. Any chance (if there is a way) that you can share your programs/routines? I really don't think posting all of my occupancy/TOD related programs would be helpful for you. Probably just the opposite since you would have so many to comb through without explanation of what they do or why certain things were done. I didn't comment my code. I know... I know... It's a sin. Factors like whether or not you have an integrated alarm system is a big difference in how you'll construct yours along with other considerations. The ideas posted here are good. I suggest you take these ideas and consider what will work for your environment based on what you want to accomplish and what needs to be accommodated. Then you can start writing those programs and post specific questions to the forum on how to accomplish something specific or solve a particular problem you're stuck on. You'll find that many are willing to help.
Quietminded Posted January 3, 2015 Posted January 3, 2015 From another beginner, I would so much appreciate anyone willing to share some programs to study..... To get a better idea of how one manipulates different scenarios. As I've said in other posts, Thank you all so much, reading through the loads of topics has been so helpful, and though I don't consider myself geeky.... It's been hugely entertaining.
Recommended Posts