Jump to content
Portal Maintenance March 18th ×

oskrypuch

Members
  • Posts

    756
  • Joined

  • Last visited

Everything posted by oskrypuch

  1. I have four T1800s in the house, together with some floor heating zones as well, and some circulation fans. I have ISY control all these, and change their settings automatically and dynamically based on the time of day as well as the "season" (summer-hot, summer, spring/fall, winter, winter-cold). The season is determined by the current temperature and wind chill outside, for a given time of day. This all works very well, but sometimes I want a certain zone to be given priority, the bedroom before going to bed in the summer, or first thing in the morning in the winter. In addition you may wish to give priority to the main floor cooling in the summer, sacrificing the second story until the main floor is satisfied. You may also wish to have a priority button, that will cool (or warm) a given zone rapidly under manual control. The priority mode closes all the other zones for a period of time, and then cycles them back on/off, until the prioritized zone is satisfied, or until the condition driving the priority is extinguished. In any case, the possibilities are many. I wrote a set of programs, the key elements from one zone I highlight below. This is yet another example of machine state programming. There are three levels of program flow, arbitrarily dubbed L1, L2 and L3. L1 can trigger/stop the L2 logic, and in turn L2 controls L3. Control is triggered by passing a true/false state. I use a program variable (vice v3+ variables) for that just by force of habit. The L1 level is where I define the conditions that drive the potential priority setting. For example, if it is morning and it is winter, then do something. When the condition is true, then L2 is triggered by setting condition program variable. There can be any number of L1 priorities, or rules, each having a START and STOP program. Once L2 is triggered, then it decides whether to start the priority cycle depending on whether the current zone is calling, and whether others are calling as well. As appropriate, it triggers L3. L3 does the actual work of cycling the other zones off and on. All taken from the folder Priority Master (Bedroom), enough code to understand the logic. Some "program variables" are used, these programs all start with "var", and are used as a boolean true/false variable, and are probably self-explanatory in their use from the labels. Some v3+ variables are used, state variables all start with "$_", eg. $_pri_mas_tick. "flash seasons" is a program that will reset all the thermostats to normal operation for the season and time of day. The Max/Min tick values are set to determine the percentage time priority. For example, Max can be set to 20, and Min to -10. The tick program decrements the value each minute. When it is set to Max then the zone is set for priority, when the tick reaches 0, then the zones are normalized, when the tick reaches -10, then the tick is set to 20, the zone is prioritized again, and the cycle continues. LEVEL 1 program pri mas.L1 cond1.start If Program 'var pri mas.L1 cond1' is False And Program 'var away setback' is False And Program 'var tstat nite' is True And ( Program 'var season summer' is True Or Program 'var season summer hot' is True ) Then Wait 30 seconds Run Program 'var pri mas.L1 cond1' (Then Path) Else - No Actions - (To add one, press 'Action') program pri mas.L1 cond1.stop If Program 'var pri mas.L1 cond1' is True And ( Program 'var away setback' is True Or Program 'var tstat nite' is False Or ( Program 'var season summer' is False And Program 'var season summer hot' is False ) ) Then Wait 30 seconds Run Program 'var pri mas.L1 cond1' (Else Path) Else - No Actions - (To add one, press 'Action') ----------------------------------------------------------------------- LEVEL2 program pri mas.L2 do If Program 'var pri mas.L3 exe' is False And ( Program 'var pri mas.L1 cond1' is True Or Program 'var pri mas.L1 cond2' is True Or Program 'var pri mas.L1 cond3' is True ) And Status 'thermostats / Master - tstat -' is not Calling for Nothing And ( Status 'thermostats / UpStrs - tstat -' is not Calling for Nothing Or Status 'thermostats / MAIN - tstat -' is not Calling for Nothing ) Then Run Program 'var pri mas.L3 exe' (Then Path) Send Notification to 'oskrypuch - GMail' Else - No Actions - (To add one, press 'Action') program pri mas.L2 end If Program 'var pri mas.L3 exe' is True And ( ( Program 'var pri mas.L1 cond1' is False And Program 'var pri mas.L1 cond2' is False And Program 'var pri mas.L1 cond3' is False ) Or Status 'thermostats / Master - tstat -' is Calling for Nothing ) Then Wait 30 seconds Run Program 'var pri mas.L3 exe' (Else Path) Send Notification to 'oskrypuch - GMail' Else - No Actions - (To add one, press 'Action') ----------------------------------------------------------------------- LEVEL 3 program pri mas.L3 exe If Program 'var pri mas.L3 exe' is True Then Run Program 'pri mas.L3 exe.reset' (Then Path) Run Program 'pri mas.L3 exe.tick' (Then Path) Else - No Actions - (To add one, press 'Action') program pri mas.L3 exe.activate If $_pri_mas_tick is $pri_mas_tick_max Then Set 'thermostats / MAIN - tstat -' Mode Off Set 'thermostats / UpStrs - tstat -' Mode Off Else - No Actions - (To add one, press 'Action') program pri mas.L3 exe.deactivate If $_pri_mas_tick is 0 Then Run Program 'flash seasons' (If) Else - No Actions - (To add one, press 'Action') program pri mas.L3 exe.reset If $_pri_mas_tick <= $pri_mas_tick_min Then $_pri_mas_tick = $pri_mas_tick_max Else - No Actions - (To add one, press 'Action') program pri mas.L3 exe.tick (disabled) If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Wait 1 minute Repeat Every 1 minute $_pri_mas_tick -= 1 Else - No Actions - (To add one, press 'Action') program pri mas.L3 stop If Program 'var pri mas.L3 exe' is False Then Stop program 'pri mas.L3 exe.tick' $_pri_mas_tick = 0 Else - No Actions - (To add one, press 'Action') Kind of for the obsessive/compulsive, but I have to say I am really happy with the control this gives me. Instead of simple time programming to try give priority, this dynamic system gives just the right amount without sacrificing efficiency. * Orest
  2. Most all the Insteon devices that use relays will reset back to OFF (open) with a power failure. The EZIO devices as well, although their status after a power failure will vary somewhat. However, the simple 2476S Switchlinc relay will remember its ON/OFF setting across a power failure. Not sure how long, but certainly at least 5 to 10 min. I have only tested the v.3A firmware. Note that the Switchlinc with Sense (v.37) will NOT remember its setting. If you have something critical that is driven by a relay insteon device, and wish to preserve across a power failure, the plain old Switchlinc is what you need. I now have a bunch of ways to detect a power failure and correct settings across it, but I still use the Switchlinc for things that are critical, like a water valve control. * Orest
  3. Michel, Got you. Looks like phenneberry might have made the same mistake, when reading that posting. * Orest
  4. Michel, Are you a .x behind? From the first post in this thread ... Bug Fixes and Enhancements in 3.1.3 IMPORTANT If you choose to downgrade from this release to 2.8.8 and below, YOU MUST UPDATE THE TIMEZONE again once downgraded. Bug Fixes - IOLinc set options was timing out waiting for an extended response - SyncrhoLinc i2 linking issues ... That post was last edited by you a couple of weeks ago ... "Last edited by Michel Kohanim on Thu May 12, 2011 7:26 pm; edited 7 times in total" * Orest
  5. A great use for state_variables, I enjoyed reading through it. * Orest
  6. I've also had a no-nonsense RMA authorization and trade out of DOA units. aartech.ca are a good outfit, nice to have it on this side of the border, carrying virtually the full SmartHome line, as well as a bunch of other stuff. * Orest
  7. program set something If Status 'thermostats / MAIN - tstat -' > 23° (Temperature) program reset something If Status 'thermostats / MAIN - tstat -' < 24° (Temperature) I use Celsius by default. Will the two inequalities above cover the entire range of temps, without an overlap, or do we have to account for fractional temps on the stats? If so, that is a problem as there is no greater than or equal, or less than or equal comparative. Same question, different phrasing, are the tstat temps always reported (internally) as whole numbers? You do have to account for fractional temps in the weather reports, but there you do have at least one of the greater/less than or equal constructs. * Orest
  8. Prog set something Status 'thermostats / MAIN - tstat -' > 23° (Temperature) Prog reset something Status 'thermostats / MAIN - tstat -' <24>= contstruct. * Orest
  9. Ah, it may indeed send an ON/off pair. The dusk/dawn you can set to send or not, and can define the code offset in this box. I did have it set at P8 I believe, but don't use it any more. * Orest
  10. I didn't capture it other than by noting what was in the ISY dialog/advice box that popped up. That was P1 ON only. I should have put my tester on. It may be in the ISY log, I have not looked yet. The X10 motion, I'm pretty sure, sends only a P1 (or whatever is set) ON. * Orest
  11. This guy: Leviton HCA02-10E 2-Phase X10 Coupler-Repeater Leviton HCA02-10E 2-Phase X10 Coupler-Repeater * Orest
  12. Thanks for the speedy reply! I have figured out the problem. There were three clues, the first two .. continuous Receive ON light (ISY) X10 - P1 in the alert box I have two X10 devices left, the motion in the front sends P1 with motion. I went out and pulled the power on the device. Tried everything else, still no change. As I was looking at the ISY (in the utility room) I noticed that the X1 active bridge was continually flickering its activity light. I turned off its breaker, and checked the ISY The Receive light went OUT! I ran up and rechecked the admin interface, it was working again, and further the ISY was responding to commands and programs. So there you have it, the problem was the active X10 bridge jamming the powerline network, and more specifically overloading the ISY. The bridge may be faulty, or it may have been a one off. I'm inclined to pull it, perhaps put in a passive Signallinc -- any thoughts on that? And, thanks for the safe mode suggestion, I will tuck that away! I was also careful to abide by your repeated advice to NOT factory restore the PLM or ISY. Certainly on the mark here. * Orest
  13. OK, cannot access the ISY not at all, the "connecting" icon just keeps whirling. The ISY shows the power and receive light on continuously. I'm going to leave it like that for bit, hopefully someone will have a suggestion. If the ISY and/or the PLM is toast, will need to order a new one I guess. * Orest
  14. Restarted the java interface. Devices and variables are listed, but looks like the programs are all gone now. I do have a backup. Java interface just hung again. * Orest
  15. I tried executing some short programs with a right-click/run-"then", that hung the interface, also the program did not have its normal effect. I pulled the TStat modules to reboot them, no change to the situation. * Orest
  16. Whoa, just got into the Programs tab, all is still there. Now the System busy dialog looks like it is executing all the things that were not done in the last little bit. A whole bunch of programs are active, maybe 20 out of 120 or so. Is this just waking up from a hard hang of some sort? * Orest
  17. Although peripheral scenes are working, the ISY is not responding correctly. I loaded the interface, it pops up, the devices are listed, but there is a continuous "System Busy" notice, with the following below: [ X10] P1 I do have one X10 unit left, a motion, and it does send a P1 code. I cannot get into "Programs" tab at all, it just cycles continuously with the Loading Programs box. I tried rebooting the ISY, no change. There is no ERROR light, the POWER light is ON, there was a flickering of the Rec and Send lights, and now there is just an occasional flickering of the REC light. What next? * Orest
  18. http://www.ispeech.org/ ... will play it only, but you can just record the voice easily. From the brief survey I've done, seems to be the most natural sounding voice. * Orest
  19. Looks like that is no longer functional. In any case, how did you trigger the wav phrase play? * Orest
  20. Interesting approach. I have a ton of old computers lying around. * Orest
  21. Rod, Yes, I have an X10 ding-donger, and can use it for a number of things. I have a motion outside that it runs, the garage door opening, it rings it twice. But what about a detected water leak, or some other more urgent condition. Ringing the same ding donger three times doesn't quite do it. Or perhaps some other situation, non-urgent, that you want to differentiate from a motion outside. * Orest
  22. oskrypuch

    audio alerts

    Short of a blaring siren, but more than the X10 ding-donger, what are folks using? This would be to for example alert that the garage door is opening. I have the keylincs beep, but that is not very loud. It would be nice to be able to play a number of different alerts, kind of like cellphone alerts. * Orest
  23. Run Else That is a spiffy little statement, didn't realize you could do that, it will be handy. * Orest
  24. Well, it is pretty easy to short the wires around the relay, or even wire in a breaker to provide a bypass in the event of relay failure. Don't think either approach is wrong, depends on priorities. A bit of a story .... Just recently, our main floor clothes washer dumped its entire load of water, from all of its cycles, on the floor. The water moved to the wall along a built-in raised floor area (raises the washer to chest level), ran down the drywall at the back to the lower level, where it took out a dozen dropped ceiling tiles, which then rained down on the carpet and furniture. It was a big mess, not a disaster, but a real nuisance. After cleaning up, I am now running fans all over to try to dry everything out, and debating whether I should chop into the drywall to check the in-wall state. The above, is the reason I want to kill that pump! BTW, I was just about to install a water sensor in that location, frustratingly it was still in the box on top of the washer. Without a pump kill it would not have stopped the water, but at least would have warned my wife to run up and shut the darn thing off. Also, I spoke generically when I said solenoid, thanks for correcting. As you say, what I indeed have is a gear driven, slow open/slow close, non-restricting valve that my plumber recommended. I was rather surprised at how expensive it was. We also kill the water when we are away for any period of time, by setting away mode. * Orest
×
×
  • Create New...