Jump to content

apostolakisl

Members
  • Posts

    6869
  • Joined

  • Last visited

Everything posted by apostolakisl

  1. You have to set up a port forward on your router. Use the secure port to do this and connect using https://yourroutersexternalipaddress So you would set your router to forward incoming requests on port 443 to local port 443 of the local IP address of your ISY. It sounds like you may have multiple routers behind your modem/router with multiple LAN's. In this case, life will be much more complicated. The way I know how to do it is to have your modem/router pass your external IP to the router that has the ISY on it. This can be done using the DMZ feature on the modem/router. You might also be able to set your modem/router to bridge mode in which case it becomes a pure modem, but then you can't connect a second router to it. Once the router that is directly attached to ISY has your external IP, then you set the port forward up on that router. There might be a way to do it using NAT settings where you can tell your modem/router to forward port 443 to the second router which then forward to ISY, but I haven't any idea how to do that. But for sure, if you can get the router that has ISY attached to it to have your external IP, then the port forward on that router will work. This is how I have my Uverse modem/router setup. I also have 2 LAN's, and I have not been able to get anything on the one LAN to talk to the other LAN. In other words, my guest LAN which is hosted by the Uverse modem/router can't communicate with anything on my personal LAN hosted by my VPN router.
  2. You second program will work the same with one exception, it requires that 'Great Room / Great Room Devices / GR Spots KPL (DB) - A Spots / GR Spots KPL (DB) - F Night' is not off to run the "then". Otherwise both require that at least one of the other conditions be true. You basically have made that single kpl of equal importance to the sum of all the other conditions.
  3. You are right, but what is the point. You could just as easily put all the "then" statements into the first program and be done with it. In other words why do this If whatever Then run then program a run then program b run then program c etc When you could get rid of the a, b, c, etc programs and simply do If whatever Then do whatever program a did do whatever program b did do whatever program c did etc Instead of a whole bunch of programs, you get 1.
  4. Stop for a second and think about 2 concepts 1) Triggers 2) True/False Realize that (as Lee said) anytime you list the status of a device in the "if" section, that a change in the status of any one of those devices is a trigger. In other words, the program will run. It doesn't matter what the change is, any change is a trigger. Also realize that if no change occurs, the program will sit idle. Once the program is triggered, then it will go through each line and determine the true/false status of each line and logically connect everything per your "and"/"or"/"()" and determine if the entire statement is true or false.
  5. I would do something similar but slightly different. If status hall is not off and control garage sensor is switched off Then set hall light off wait 1 second set hall light on Else - - If status status hall is off and control garage sensor is switched off Then set hall light on wait 1 second set hall light off Else - --
  6. What do you mean by running every program? You can certainly enable and disable all the programs in a folder like that, but you can't cause them to trigger. If you want them to trigger, then you need either include the state variable within the "if" section of each program, or have another program like this If state variable = x Then run program a if clause run program b if clause run program c if clause etc.
  7. OK, so the program did what you wanted, it was a failure to communicate. The question then becomes is this a repeating comm problem or just a random miss. If you didn't do anything, they would have tried to turn off again at sunrise minus 1 hour by the program. Or if you turned the kpl on then off that would also trigger the program to shut them off again. Sometimes you have something making noise/sucking that is on randomly and is hard to pin down. What about just hitting a manual run then/run else. This should turn the lights on/off. Per chance you don't have two different lights that you accidentally named the same.
  8. It appears to me that at 1:15 am you turned the KPL off. Turning the KPL off is a trigger and will run the "else" clause as per the last line of the "if" section which is "anded" to the rest of the clause. There is nothing in that program that can cause it to run false at 1:15am except for manually turning the kpl off (actually pushing the button). "And Control 'Hall and Foyer / Hallway KPL8 - A - Hallway / Hallway KPL8 - F - Work' is not switched Off" It was my understanding that this is what you wanted to happen, but maybe it isn't.
  9. In my mind, I think of the "not switched off" as a double negative. .. so it just does the opposite of what it would do if the "not" were absent.
  10. Sorry, I made a typo, the kpl was off. The status of the KPL is irrelevant. "control switched . . " has nothing to do with the status. It is strictly a statement that refers to an action taken on the switch by the user physically pushing it. It is ISY responding to the switch sending an "on" or "off" or "Fade" or whatever. Whether it is true or false has to do with the exact language. If the program runs by some other trigger, then "is switched whatever" will always be false, and "is not switched whatever" will always be true. Anyway, I promise you, that program is true at sunset - 2minutes. There is no doubt about that. If a couple seconds later you pushed the kpl and turned it off, then it would go false. The last line "and not switched off" serves 1 purpose: to drive the else clause when you physically push the kpl button and it goes from on to off. . . which it will do no matter what time it is.
  11. No, that is not how that logic works. The switch was indeed "not switched off". This program will be true at sunset - 2 minutes. There really is no way for this program to not trigger and be true at sunset - 2 minutes. Did you look at your program summary page and see the last time the program ran and whether it was true or false? You could easily change the "from" time to something a couple minutes in the future to test it. The purpose of the logic "not switched off" is in this fashion, switching off is a trigger and it activates the else clause. Any time the program runs for any other reason, a "not switched off" statement will always evaluate to true.
  12. You can use "fast on" and "on" to control it. Set the KPL as a "non-toggle on" only by going to the KPL in the main tab and clicking on the KPL master on the left tree. Then in the right pane at the bottom it will have a button to click "toggle mode". Set the button you want to control the fan as non-toggle on. Create a scene and put the KPL button and fan switchlinc into the scene with the KPL button as a controller. Now turning the KPl button on turns the fan on without a program. You can make the switchlinc a controller also but if it is in the attic I am guessing that means you will never actually touch it so it won't make any difference. Program turn fan off after 15 minutes If control kpl is switched on Then wait 15 minutes set fan scene off Else . . . This is the normal program that shuts the fan off and KPL light off after a routine turning of the fan on by pushing the KPL. If you hit the KPL button while the fan is already running, the KPL light stays on and the program starts the 15 minutes over. Program turn fan off immediately If control kpl is switched fast on Then set fan scene off This will let you double click the KPL button when it and the fan are already on and it will turn the fan and KPL off.
  13. Your programs look exactly as I had suggested. Hopefully I didn't flub it up! It is very easy to have the fan timer reset by clicking the KPL button again. You can set the KPL button to always send an "on" command, and the on command can reset the timer. Of course this will mean you can't shut the fan off manually if you want. You can also utilize the "fast on" function to create an alternate outcome.
  14. Erick, You are done. That is all you do. Now when you write programs you will use the drop down menu to pick variable, then the next drop down menu over picks which variable. Since you only have 1 so far, it won't be a long list. Just a quick helpful hint. I suggest naming your variables that are integer with an "i" and the state ones with an "s". So you will know right away what it is when it shows up on the drop down since all variables, integer and state, show up in the same drop down menu. IE $i.work.late Integer variables do not act as triggers. In other words, they will not cause a program to run when they change, they will only be checked when the program runs for some other reason. State variables will act as triggers. So if its value changes for any reason, any program that has it referenced in the "if" section will be triggered. Check out this video: And this wiki page http://wiki.universal-devices.com/index ... le_Details RE: parenthesis You will see that there are 2 conditions connected together inside of those parenthesis. The parenthesis simply puts those 2 things together as a single entity when they are compared to the other conditions. for example: (a and or c is not the same as a and (b or c)
  15. Provided you need 4 of them. Of course you have to pay sales tax at costco so the price ends up equal to the 20% off sale, but like you said, no waiting for Christmas. I'd be happy to help you out, but don't really know if I can drop ship the device to canada or whether it would need to be shipped to me then reshipped to you.
  16. I had no idea Costco sold Insteon. http://www.costco.com/Insteon-Dimmer-Sw ... 83308.html These dual band switches work out to $37 each including shipping. They list a model number that I am not familiar with, however. I assume this is just a Costco thing and that they are in fact 2477D switches. Anyone have any experience here? They also come with screwless cover plates which I suppose is worth a buck or so.
  17. EDIT: I noticed a simple "mistake" that lets me take it all down to 2 programs (intead of 3) What you have done works but adds extra programs and makes it a little harder to organize/edit Variable syntax is just what I wrote above, except the word "set" isn't actually there. It is all in the drop down menu in the programming page under the details tab. You can do it all in 2 programs with no time gaps as follows. No need for any variables or anything fancy except parentheses in the one program. Program KPL working late If status KPL working late is off and time is 11:59pm Then set lights off Else - - - Program working late/default on off If time is from sunset-11 minutes ****this clause is the basic on/off at the 2 times to sunrise - 1 hour OR *** this clause turns the light on during those hours if you switch the kpl on, notice use of parenthesis (time is from sunset - 11 minutes to sunrise - 1 hour and control KPL working late is switched on) AND **** this clause will always run the else (and turn the light off) when kpl is turned off, no matter what time it is control KPL working late is not switched off Then set lights on Else set lights off The only "weird" thing this set of programs would do is: if you turned the KPL on, and the outside lights were on, and it was not inside those time constraints, the outside lights would turn off. If I understand how you are using these lights, I don't think this is going to be an issue.
  18. Try making a scene that contains all the lights you want off and the KPL buttons you want off, then have the program turn that scene off when you double click it.
  19. In that situation you would want to use a program that states If control kpl is switched off Then set light off Else - - - You could add time limits in there as well if you only wanted this to happen at certain times. You can not set the KPL as a scene controller since that would cause the light to turn on whenever you turned the KPL on. There are ways around that, like setting the scene on level to 0, but that also cause the light to turn off every time you turned the KPL on or off.
  20. Yes, you got it. Integer variables work perfectly as indicators. Status, unfortunately, does not, especially when you have a program which uses the else clause. Variables are easy. There are other ways to do this besides variables, but I think in this case it will be at least as easy as any other method and probably more directly understandable. A couple tips. 1) No spaces in the name of a variable 2) Don't forget to hit the "save" button
  21. The main problem you are going to have is the line that includes the STATUS of the KPL button. Every time the status of that button changes, it will TRIGGER both of those programs. This will at times cause the "else" to run when you didn't want it. I assume you want to use the KPL as a flag, not as a trigger. A simple solution to this would be to use an integer variable. Integer variables are never triggers, they are checked when the program runs for other reasons but do not cause a program to run. If time is from sunset to 1am next day And $i.worklate = 1 Then set light on Else set light off If time is from sunset to to 11:58 And $i.worklate = 0 Then set light on Else set light off If Status KPL button is on Then Set $i.worklate = 1 Else Set $i.worklate = 0 The details can be changed. But the point here is that the act of pushing the KPL button does not run the programs that turn the light on/off when you use the variable. Otherwise, all of the programs will run and you will always have each one end up executing a then or else clause and you will get unintended outcomes.
  22. This comes all the time. I really think the guys at UD need to just add a statement to the notifications screen that says "PLEASE BE SURE TO INCLUDE CONTENT IN BOTH BODY AND SUBJECT OR YOUR MESSAGE WILL NOT BE SENT" Or, if they wanted to be a little fancier, they should have an error message pop up when you save the notification and don't have content in both sections. Or, make it so that the message is actually sent even if one is left blank. I have never seen this problem with other email programs so I don't know why ISY has it. But the first solution I would think could be implemented with minimal coding effort on the part of UD.
  23. As Lee said, you are right. The concept here is a trigger. ISY programs that are true or false are not enforced unless they are caused to run (triggered). So in a program that is a from/to program, there are only 2 triggers, the from and to times. At any other time it is as though the program doesn't exist. However, adding another clause in the program could change things. If Time is from 8am to 10 am And status of device x is off Then Do something Else Do something else Now realize that every time device x changes status the program will be triggered and the truth or falseness of the time being between (or not between) 8 and 10am will be important. Also there still would be no conflict with another program that also has time definitions on a device if it is idle (not being triggered). There would only be a conflict if 2 programs had the same triggers and different outcomes.
  24. I think the most common use of "is not off" is in a "status" line of a program when you want the program to run "true" for any partially on or totally on state. These 2 are not the same program If status light x is not off *****light must be 1% or more to be true***** Then do something vs If status light x is on ****light must be 100% on to be true**** Then do something Please realize that there are other ways to say the same thing. The second use is in a control program when you want to run the "else" clause. This is much less common and is only needed when you have something of a more complex program with multiple conditions. But here it is If Control light x is switched off ***then clause runs when switched off, else clause never runs from this program**** Then do this Else do that If control light x is not switched off ****else clause runs when switched off, then clause never runs from this program**** Then do this Else do that In the above, switching off is the one and only trigger, so when an "off" command is received, it is either true or false depending on the "not" being there. I sometimes use a "is not switched" condition as a condition to abort a timer. If control button a is switched on and control button b is not switched on Then wait 10 minutes do something Else do blank In the above, if you push button a, the timer starts, if you push button b, the timer aborts.
×
×
  • Create New...