Jump to content

apostolakisl

Members
  • Posts

    6998
  • Joined

  • Last visited

Everything posted by apostolakisl

  1. apostolakisl

    Time of Day

    You don't need any crazy programming like that. Just If From Sunset To 6:30 pm same day Then Set lights on Else Set lights off The program runs twice, at sunset and at 6:30 pm It always runs false at 6:30 (lights turn off, if already off . .. nothing happens) It runs true at sunset if it is before 6:30 (lights turn on, or stay on if someone manually turned them on) It runs false at sunset if it is after 6:30 (lights turn off if they had been manually turned on, if already off, nothing happens) Just keep in mind that if you manually turned the lights on, this program will turn them off at sunset when it occurs after 6:30.
  2. No, that is not correct. $ical.Holiday is getting set to 0 and the rest of the programs are being triggered simultaneously. A "then" clause is "atomic" meaning that all items get set into motion simultaneously. In my experimentation, variables get set instantly for all practical purposes so all of the "run" programs are seeing the variable as set in the same "then" clause. You can put the "then" clause in any order you want and the results will be the same. Of course a "wait" clause changes that. Your program is running, it is just that it is running false because $ical.Holiday was still 0 because New Years Day program had not changed it yet. The delay as mentioned should work. Another option would be to change "$ical.Holiday" to a state variable (or have 2 versions of it, state and integer) and then the program "Holiday changed to 1" will trigger itself.
  3. What is triggering that program?
  4. Your "if" section has only integer variables. Integer variables are not triggers. You need a trigger. Like if time is 6am and i.holiday is 1. Or, you can use state variables. That will trigger anytime the variable changes. Which probably means midnight here.
  5. "Nesting" is done more or less like this If something Then Run program 2 (if) perhaps other stuff Else something Program 2 (disabled) If whatever Then whatever Else whatever
  6. I wrote a second set of programs that uses simpler logic. See the link below. http://forum.universal-devices.com/topic/13750-i-wrote-a-new-date-variable-program/ For you, you would have an if clause that was something like If $i.month > 10 or $i.month < 4 Then do whatever.
  7. Putting an always false statement like if 0 is 1 would push your run at startup to the else clause every time. It is 6 or half dozen, going with always true and filling out the "then" or always false and filling out the "else". But I would stick with going the true route, it just keeps the mind from spinning in circles. The basic jist is that "run at startup" is going to cause the "if" to evaluate. Really the only non-intuitive thing is that a blank "if" is evaluated as true.
  8. 1) "Run at Startup" is the same thing as saying "evaluate the if clause at boot" 2) A blank 'if" clause evaluates to true. This is true at startup or any time the "if" is asked to evaluate, regardless of what is asking it to evaluate (bootup, another program) So if you want a "then" clause to execute at boot, then leave the "if" blank or put an always true statement (like if 0 is 0) and set it to run at startup. Adding the always true "if 0 is 0" may or may not serve any purpose. At the very least it reminds you that it is true.
  9. This is all correct. I did quite a few tests on this when writing my date programs. If you want to be certain that programs execute the "then" or "else" clauses in order, then you need the last line of the clause to call the next program. Even if you do this: If whatever Then Run program a Run program b Run program c It could happen that some of program c would execute prior to parts of program a. You just can't predict it.
  10. I have about 70 or so insteon devices. My initial Insteon switches were all defective . . . 100%. They replaced them under warranty for the "tact switch" problem. This problem has been solved for a long time now. I have had zero Insteon switch/KPL failures since then. This is something like 5 years of use now. My PLM failed for the same reason as everyone else's (cheapo capacitors). Not covered under warranty. I replaced the capacitors myself. Supposedly this is fixed in the latest version. I had several lamp lincs fail for electrical component failure. They were covered under warranty. I am not aware of any of the current products having inherent problems. I did have a nasty power fluctuation issue a couple months ago and a separate lightening strike nearby that damaged a few things in my house . . . but none of my Insteon stuff suffered. I lost a fan on my AC unit and some relays on my Elk security panel.
  11. Yes, I actually have that very program. I wrote it before variables existed. That program will be a trigger when it changes conditions, so in that respect, you might still prefer an integer variable for certain applications. But as far as the OP's needs are concerned, it is a no-brainer to just use the simple program.
  12. Well, I am not sure I invented this approach. I did have to run some experiments to find out what happens when the "from" time is after the "to" time, but I was probably discovering something that was already known. To be fair, using variables for "daylight hours" has advantages as well. Mostly, it opens up when you want to have more complex conditions that don't trigger on the "from" and "to" times and also it allows you to use the else clause.
  13. You almost had it. If On Mon, Tue, Wed, Thu, Fri From 6:00:00AM To Sunrise (same day) Then Set Scene 'Wakeup Light' On Else This program only runs true at 6am if the sun hasn't risen. If sunrise happened before 6am, it runs false at 6am. It also runs false at sunrise. So if you want to also use the else clause, keep those things in mind. In a "from to" program, if the "to" is before the "from", it will be false. Both the "from" time and "to" times will trigger the program no matter what, just at some times of the year both triggers will run false and at other times the "from" will be true.
  14. If you are only getting an option to change the backlight level, then you are not tuning a scene on/off.
  15. To turn KPL buttons on and off you need to create a scene and put the button in the scene. Then turn the scene off.
  16. This should be good. I have played around with tasker and isy a bit, but pretty much have just achieved proof of concept. The wiki should help get things rolling.
  17. I wouldn't be so concerned about controlling your garage door over the internet. Using the https connection is going to be more secure than your garage door actually is. A garage door can be opened with a crow bar in like 2 seconds, so anyone who wants in, is going to get in the easy way, not spend days trying to crack your security key.
  18. That is a reasonable statement. And even if SH were to falter, they have a pretty big market established that is too valuable to just get ignored. Someone would buy the patents and keep it going. The only possible exception to that is if some other technology showed up that was just a huge game changer. The fact is that 99.999% of the world is already wired the way it is wired so that really only leaves performance and price as game changing categories. And at current Insteon price/performance levels, there is only so much room for improvement, probably not "game changing" room.
  19. I don't see where this particular program would flood the lines. It is just a single command every 2 seconds. I have several programs that operate exactly the same except I only have a 1 second wait on the loop and I don't have any issues with them running. The only thing close to calling a problem is that the beep is not perfectly at 1 second intervals, presumably the reason is varying number of hops from one PLC to the next.
  20. Unless something has changed since 4.2.8, there is no "repeat end" and using "repeat 1" is the proper way to end a repeat. Though "repeat end" would be more logical and a "repeat 0" would not even be an option.
  21. I suspect it would be quite complex to try and update the firmware via the PLC or wireless mode. As mentioned, a direct plug into the header would easily do it, but that is not really easy since you need special equipment. A usb could be installed on the switches, but that would add cost and (unless you want your swtiches to have a usb jack showing) require that you at least take the faceplate off and wander about your house with a laptop in hand updating one at a time. But, personally, I would be sort of OK with that.
  22. AC motors RPM is based on the AC hz, not voltage. A dimmer will effectively drop the voltage but makes no change to the hz. So the motor keeps spinning at the same speed until the voltage is insufficient to push through the load at which point it will spin unpredictably or stop and possibly over heat and catch fire or burn up the windings. The multi speed AC motors I know of work by having more than one takeoff of the power wires into the windings resulting in different magnetic configurations that change the speed. I am not really sure how fanlincs work, maybe someone else knows. But they seem to somehow tap into the same built-in speeds of the fan without physically changing which wires are connected to what inside the motor. Just recently some of the new ceiling fans have DC rectifiers and DC motors in them and are thus infinitely variable. They are also more efficient. But they cost more. My HVAC unit runs on fans like that. One of them burned out at 5.25 years (warranty 5 years) and the new fan motor was $800 (just the motor) (compared to about $125 for a similar AC one). I bitched and they covered it under warranty. . . but you get the idea. So I have to commend Carrier on covering it, but not on having it fail after 5.25 years.
  23. He said humidifier, not de-humidifier. There are lots of different kinds of humidifiers. Most of the ones I am familiar with don't use much electricity, so load won't be an issue. Without knowing exactly what humidifier you are dealing with it is hard to say. But, in general, no, you can't use a dimmer on an AC motor, which is almost certainly what is running the fan on your humidifier. You could look into the compatibility of the fanlinc, but I am doubtful.
  24. In the few and far between cases that I wanted an "If" clause to always be true, I have done something like that (see my first post). It would appear that leaving it blank is functionally equivalent. I doubt UD would change the fact that blank evals to true when triggered. My speculation is that the "logic" is more of how ISY works rather than logic of the program as written. In other words, my bet is that once a program is triggered, it must result in a true or false outcome because of how the code was designed.
  25. I'll look into this. I maybe wrong. Perhaps a blank "if" defaults to running "then" if you force a run. I just assumed that a blank "if" does nothing since it is neither true nor false. The logic of a blank "if" being true escapes me. EDIT: Indeed a blank if is somehow "true" Don't ask me how that logic works. No less, there still doesn't need to be 2 programs. The repeat every 30 minutes would take care of it If blank Then Repeat every 30 minutes $Climate_Outside_Temperature = $Thermostat_Great_Outdoor_Temp $Climate_Outside_Temperature Init To $Thermostat_Great_Outdoor_Temp Else - No Actions - (To add one, press 'Action')
×
×
  • Create New...