Jump to content

apostolakisl

Members
  • Posts

    6998
  • Joined

  • Last visited

Everything posted by apostolakisl

  1. If you haven't updated to the 3.1.x series of firmware you won't have variables. So . . . update if you haven't already. I didn't actually write the program and test it. I suggest you do that but instead of having it subtract 1 at 1pm, have it subtract 1 every second and set it to turn a light on for like 3 seconds instead of the charger for three hours. You should see the light turn on for 3 seconds every 15 seconds and get an email every 15 seconds. Once it does that cycle 3 or 4 times I think you can be confident it will work. I have lots of programs on my Elk M1G that are like this. The Elk deosn't have nearly as many time options as ISY, so this is how I do it.
  2. If $State_1 is 0 Then Set 'battery charger' on wait 3 hours Set 'battery charger' off Send Notification to 'me' $State_1 = 15 If Time is 1:00:00 pm Then $State_1 -= 1 Set your initial value of $state_1 to a number which equals the number of days until you want it to trigger for the first time (taking into account whether you are writing the program before after 1pm, or whatever time you are having the program subtract 1).
  3. If Time is Sunset Then Set 'rope lights (Main)' on If control 'lightsOnDemand' is switched On Then Set 'rope lights (Main)' on $State_1 = 1 Wait 20 minutes $State_1 = 0 Set 'lightsOnDemand' Off If From 11:00:00pm To Sunset - 1 second (Next Day) And $State_1 = 0 Then Set 'Rope Lights (main)' Off I have assume the 'rope lights (main)' is the load carrying switch. I also assumed that 'lights on demand' is kpl button or some other switch that is only used to initiate that 20 minute extra. I haven't tested the program series, but think it should work. If 'lights on demand' is a kpl, you will need to turn it off, then back on to reset the timer. If it is a switchlinc, just hitting the up paddle will reset it.
  4. ISY is going to take care of you, don't worry. First off, write one simple program to turn the lights on at sunset. Right a second program to turn the lights off at 11pm. But include a stipulation that a variable should equal something, like 0 for it to happen. Right a third program that says if button x is pushed, turn the light on and set variable to 1, wait 20 minutes set to zero. Right another program that says when variable becomes 0, and time is after 11pm, turn the light off. Now, whenever you push that button, the light will stay on for 20 minutes, or until 11pm, whichever is later. And if you pushed it once, and then 5 minutes later you push it again, it will reset to 20 minutes again. Sorry I didn't write this in full out program language, but I am not at a computer that I can get to my ISY language.
  5. I might have spread my answer out and not been as specific in the first paragraph as I should have been, but the topic was in the presence of "wait" statements and that was what I referred to. If you read paragraph two I was very clear in stating that the then clause is not interuptible until you hit the wait statement, then the program gets killed if a trigger event should happen.
  6. ISY programming is a little different but it is fun and very capable. If you write the program how I demo'd earlier it will do what you want. But you could make it better. For example, say the time is 10:55 and you are walking your guests out. You don't want the light to shut off at 11. You should think about re-writing things so that pushing that button keeps the light on past 11. At present, pushing that button won't stop the 11pm off command from executing. Typically you separate the program that automatically turns the lights on from the one that turns them off at 11. Then in the one that turns them off you can put more if clauses that block it from running in the event that you have pushed your button. Variables are a good way to do that. It can all be great fun! yeah! You have to be a geek! Also, highly suggest using folders to nest these programs otherwise you will have a hard time organizing things. And using the memo section helps to. It all seems so obvious when you write it, then a year later you look at it and go "what the heck was I trying to do here"
  7. I think the best way to think of this is that a "wait" gives the if clause the opportunity to be re-evaluated. If there are no statements in the if clause that behave as triggers, the if clause doesn't re-evaluate and the program keeps on its merry way. If a trigger condition does exist in the if section, the program stops and then runs again according to how the "if" section plays out now. Everything before a "wait" or "repeat" executes regardless. The logic runs all of the lines of the then statement in parrallel (or at least nothing can get in the way of it progressing through all of them) until it hits a wait or repeat. But "wait/repeat" itself, as well as the stuff after a "wait" or "repeat" is subject to the "if" clause not re-evaluating. Any statement in the if section that triggers after the original trigger will restart the program, even if it evaluates to the same thing (true/false). For example If status light x is not off then wait 5 minutes do something status is a trigger whenever the status changes. So, if I turn light x on, the 5 minute timer starts running. If during that 5 minutes, I dim the lights, the timer restarts. Even though the program was always true (on and dimmed both qualify as true in this program). Edit: After reading LeeG's stuff, I think there are some slight differences on what he and I mean to say evaluate. When I say evaluate, I mean that the if clause has been triggered and the program is actively moving towards a "then" or "else" result. I think he means that it is available for testing of the conditions in the event of a trigger. And there is a point in LeeG's statement that implies an incorrect point. The status of the if clause does not need to change from true to false or vice-versa for the program to interupt the then statement. Anything that triggers the if section to be reassesed (a trigger) kills the program, period. So any then/else statement that has not already been sent off, will not happen. If the status stays the same, it will rerun (from the beginning) the then (or else) statement.[/i]
  8. Austin, Please read my post, they may have "crossed in the mail". I speculated correctly on your program. "wait" does not trigger an action, "set rope lights main fast on" however does. And becuase of that, the wait gets terminated. If you write you program like I showed it will work.
  9. Post the program, but I bet LeeG nailed it. Your program probably goes somethin like this if control button x is switched on and status light y is off then set light y on wait 20 minutes set light y off. You need to realize that as soon as the first then statement "set light y on" is executed, the program will loop back and re-evaluate the if statement to false, terminating the then part and running the else part (which is blank). Remember anytime you have a "status" in a program, the if statement gets evaluated every time anything happens to the status of that device. When an evaluation occurs, any then/else stuff currently running stops, and starts again according to the true/false status of the if section. You can solve this problem by having a second program, I'll call it "keeping the lights on for 20". Leave the if section blank and in the then section put wait 20 minutes set light y off And the first program then section should read run program 'keep the lights on for 20' (then path) set light y on
  10. You probably need to change your dns. I had the same problem. When you click on the "synchronize now" button does it give you an error about the DNS? It would make sense that this would happen when you switch providers since the DNS from your old provider is probably not accessable unless you are on their connection.
  11. OK, I fixed it by changing my DNS server. Don't know why it stopped working.
  12. So I tried time-nw.nist.gov as well. I get the same error. Must be something with the ISY.
  13. I noticed that my ISY clock was off by like 15 minutes. So I checked the time server section and I had an ! mark next to the time server. I was using us.pool.ntp.org which used to work I tried changing to 0.north-america.pool.ntp.org and that didn't work either. What am I doing wrong here? The error it is giving me is that it can't resolve the dns.
  14. I don't understand why you want the program to be false except while sending an email. I don't think this has anything to do with you email issue, but the program will only send an email when it is triggered. the following program If time is 7:00 am and if away folder is true then send email else nothing Will send an email every day at 7am and only at 7am provided away folder is true. Why are you trying to make the program list as false at other times? I would look to your away folder as the most likely reason it is not sending an email. Is it possible that it is becoming false for some reason?
  15. Why are you using the time interval instead of just a single time?
  16. So the beep duration setting on ISY is just decoration? I also noticed that nothing seemed to change with different settings.
  17. Sorry to hear about your mess. I have a bunch of water sensors installed but haven't got around to doing all of them yet. I also have a whole house surge supressor sitting in a box waiting to get installed on my second breaker box. I keep thinking I better get to it or I'll be sorry! Even if you had the water sensor in place without the kill switch on the machine but it at least shut off the whole house water, it would have cut the water spillage down to just one cycle instead of three (or however many your maching is set for). And yes, I feel your pain on how pricey those water valves are. I think I spent like $300 on mine. However, I do know of multiple people who have suffered extensive water damage which makes $300 seem like nothing.
  18. Actually, in more critical applications, it would be better to run it electrically NO. Otherwise, if the relay should fail, you wouldn't know until you actually needed it. I set up my water shutoff valve along the same way, the main supply solenoid/valve is normally flow closed, it needs to be powered to allow flow. Odd about the terminology, that an electrical NO = a plumbing NC. * Orest True, but by leaving a relay energized all the time you are inviting it to fail and then you will be stuck without a dishwasher until you get around to fixing it. When the only down side is the water that is in the machine getting pumped to the floor, it wouldn't be the end of the world if it failed. The whole house water valve would be another story. With a water valve you should use one of the actuated models, not a solonoid model. The elk WSV for example. I do have the relay the signals the actuator in the energized position when open, which means a failure of the relay would close the water valve. But that doesn't protect you from a failure of the actuator. I have my Elk WSV shut the house off 30 minutes after the system arms away so it gets operated several times per day. I can see and hear it actuate as I drive the car into the garage upon returning.
  19. I totally concur with using a properly rated relay. I would suggest a double throw relay and hook the dishwasher up to the NC side. In this way powering the relay will disconnect the appliance. Since the relay will spend 99.9999% of its life with the appliance powered, you probably don't want the coil constantly energized. You can use an Insteon lamplinc or appliancelinc to power the coil. I have water protection in my house but have hard wired everything. Insteon almost always works, but I prefer the higher reliability of hard wired for my security and water protection.
  20. As mentioned, yes. This is exactly what you do to get a then clause to run all the way through without possibility of being interupted. Put the "then" claue in a disabled program and use an enabled program to call it up.
  21. I am with you Vipola. I know that you can click on the path header and drag it across to the first row sort of making a tree, but the rest of the world puts everything into actual trees in the first place. Also, once you exit and return, it goes back to displaying things the old way. I would love to see it all in a tree format right off when you open the program summary page. Lou
  22. Sounds like a bad switch. You might try removing it from ISY completely (not just deleting from programs), and, if still behaving like that, wiring it into a home that has no other Insteon devices.
  23. That is great. I didn't realize that programs can be used to "reprogram" scenes. I look forward to using that feature.
  24. If you think about it a little bit, you can see why controlling a switch from something other than switch should only control that switch, and not propogate onto other switches. When you start creating more scenes and having switches in more than one scene, what you would realize is that turning a single switch on could potentially cascade into practically every switch in your house. You will also notice that a switch is allowed to be a controller for only one scene. It can be a responder to as many as you like. Again, this keeps things from snowballing. Think of it this way, for a change in switch "A" to cause a change in switch "B" switch "A" must be physically acted on (you pushed it), not acted on by an insteon command (responding to a scene). Also, imagine having a switch as a member of two scenes, just because you want that switch to turn on in a specific scene doesn't mean you want all of the lights associated with that switch in a different scene to also turn on. Hope that made sense. Mobile linc has a shortcomming, it doesn't list the status of a scene. So, to know if a light is on, you need to look at the device list, but to turn it on and off and actually have all of the switches in the virtual three-way follow, you need to use the scene. I do not like this either. I am hoping that in future versions they put a scene status where something like red is off, green is on, and orange means that some of the switches are on and others off.
  25. The above answers are very good, but may be a bit more complex of a response then a "newbie" is looking for. Here is how I think of it. 1) A program is true if the last thing it did was run the "then" 2) A program is false if the last thing it did was run the "else" 3) Disabling a program only disables it from spontaneously running (self triggering). In other words, another program can force the "if", "then", or "else" to execute, but it won't do it on its own. -for example, "if status light xyz is on" triggers every time light xyz is changed and runs "then" if light is on or "else" if it is not (and becomes true or false respectively). If the program is disabled, the program will not trigger if you control the light, it just sits there. However, another program can force it to run the program as usual by stating "run program blah blah blah (if)" or another program can jump ahead and force the "then" or "else" clause to run without regard for what is written in the "if". Hope I didn't make it too confusing again.
×
×
  • Create New...