
IndyMike
Members-
Posts
1619 -
Joined
-
Last visited
Everything posted by IndyMike
-
Michael, I've had three different versions of your program running for ~ 5 days now. All have performed properly. I've tried numerous things and haven't been able to "trip them up". Let us know how things are going when you return, IM
-
Sorry! I didn't realize I was assigning homework (I always hated that). In regard to the rest of your post - 1) It's amazing the number of Pilots I've met doing HA. Is it because you guys are always "on the road"? 2) If you're asking me to strap into the cockpit of a wide-body, yep that scares the heck out of me. However, if you're flying a Boeing, Airbus, or MD airframe, you've got many of my components on board. 3) I write code, but I am certainly not a programmer. Actually I'm just a design engineer that had to pick up some programming experience to "get by" (makes me the worst kind of hack). I'm still curious about the schedule: AND FROM 12:00:00 0n 1/1/08 to 11:59:59 oN 12/31/08 Do you want your program to stop on 1/1/09? IM
-
Alf, I think I understand what you are trying to accomplish with the above. However, if your above code works for you then I don't understand the ISY "order of operations" (we'll need to consult Chris and Michel). I normally evaluate these by writing a boolean equation. Definitions: True=1 False=0 X (multiplication) = and statement + (addition) = or statement A + B = 0 + 0 = 0 (false) A + B = 1 + 0 = 1 (true) A + B = 0 + 1 = 1 (true) A + B = 1 + 1 = 1 (true) A X B = 0 X 0 = 0 (false) A X B = 1 X 0 = 0 (False) A X B = 0 X 1 = 0 (False) A X B = 1 X 1 = 1 (true) Now for your code - Changing the "Or statments" to "+" and the "and statements" to "X": ('KPL ABC E' is ON) + ('KPL XYZ E' is ON) + ('APL AWAY' is ON) X (FROM 12:00:00 0n 1/1/08 to 11:59:59 oN 12/31/08) X (FROM SUNRISE -30 MINUTES TO SUNSET +30 MINUTES) X (STATUS 'LAKE OUTLETLINC' IS OFF) Substituting variables: A + B + C X T1 X T2 X D = result Looking at the above, if either A or B are true, condition will evaluate to a true 1 + B + C X T1 X T2 X D = 1 (true) A + 1 + C X T1 X T2 X D = 1 (true) If A and B are false, and any of the multiplied terms are false, you will get a false out of that section of the code. Said differently terms C, T1, T2 and D all need to be true to get a true. A + B + 0 X T1 X T2 X D = 0 (false) I'm not entirely sure why you have the T1 constraint below. As written, your schedule will stop functioning on 1/1/09. AND FROM 12:00:00 0n 1/1/08 to 11:59:59 oN 12/31/08 AND FROM SUNRISE -30 MINUTES TO SUNSET +30 MINUTES So, if I haven't bored you to tears yet, here's what I believe you were trying to accomplish - (A + B + C) X T1 X T2 X D = result For your actual code: IF ( 'KPL ABC E' is ON OR 'KPL XYZ E' is ON OR 'APL AWAY' is ON ) AND FROM 12:00:00 0n 1/1/08 to 11:59:59 oN 12/31/08 And FROM SUNRISE -30 MINUTES TO SUNSET +30 MINUTES AND STATUS 'LAKE OUTLETLINC' IS OFF THEN 'LAKE OUTLETLINC' ON If ( Status 'Bar Cans' is On And Status 'Bar Lamp' is On And Status 'Dinette' is On ) And From 12:00:00AM on 2008/01/01 To 11:59:00PM on 2008/12/31 And From Sunrise - 30 minutes To Sunset + 30 minutes (same day) And Status 'Kitchen Cans' is On Then - No Actions - (To add one, press 'Action') Else - No Actions - (To add one, press 'Action') Also - copy a program by "right clicking" on the program tree. Select copy to clipboard and past into the forum post. Happy programming, IM
-
Alf, What were talking about here is really the "distributive property" of multiplication. i.e. A x (b + c) = (A x + (A x C) In the above the "X" is an "and" statement and the "+" is an "or" statement. The equivalent logic in terms of the ISY conditions : A X (B + C) If Condition1 and ( Condition 2 or Condition 3) would be the same as: (A X + (A X C) If (Condition 1 and condition 2) or (Condition 1 and condition 3) Does that make sense, or have I just made things more confusing? IM
-
HokiePerogi, I'm almost sorry I brought this up. I don't believe it's related to your current problem. It could cause problems down the road. In general you should avoid programming an action that will change your conditions. This will create a new "event" that will be evaluated by your program (i.e. your program is re-started and the conditions re-evaluated). A status request on one of the conditions will (I believe) produce the same re-evaluation. If you are using a "status" condition, and want to modify the status of the same device, you need to use two programs. The following is a modification of your latest code. If Status 'Rec Room Stairs Top' is Off And-( | Control 'Rec Room Theater Front' is switched Off | Or Control 'Rec Room Theater Front' is switched Fast Off | Or Control 'Rec Room Theater Front' is switched Fade Down -) And From Sunset - 1 hour For 10 hours Then Set Scene 'Rec Room Stairs 3-way' On delay 30 seconds Set Scene 'Rec Room Stairs 3-way' Off Else - No Actions - (To add one, press 'Action') 1)If the "Set Scene 'Rec Room Stairs 3-way' On" changes the state of your status condition "Status 'Rec Room Stairs Top' is Off" a new event will be triggered and the condition will be re-evaluated. 2)If the status condition has changed from "off" the program will evaluate to false, and terminate execution (most likely in the middle of the 30 sec delay). 3) Worst case - an event is generated and the status is still true (rec room stairs is off) - you wind up with a looping program (constantly re-triggering). This is my supposition - Chris is the expert. To handle this properly, divide the program up as follows: If Status 'Rec Room Stairs Top' is Off And-( | Control 'Rec Room Theater Front' is switched Off | Or Control 'Rec Room Theater Front' is switched Fast Off | Or Control 'Rec Room Theater Front' is switched Fade Down -) And From Sunset - 1 hour For 10 hours Then Run program "Theater Room Stairs" Else - No Actions - (To add one, press 'Action') Program "Theater Room Stairs" If - no conditions Then Set Scene 'Rec Room Stairs 3-way' On delay 30 seconds Set Scene 'Rec Room Stairs 3-way' Off Else - No Actions - (To add one, press 'Action') Again, I don't believe this has anything to do with your current problem. I think your program will work "as is". I'm just trying to prevent any hardship "down the road". I'm speaking as one who has been through the "school of hard knocks". To my mind, the best way of learning is through doing - welcome to the club. IM
-
Well, I said 1 additional comment - I guess I lied. In your code below I'm assuming the the statement Set Scene 'Rec Room Stairs 3-way' On also activates the condition And Status 'Rec Room Stairs Top' is Off changing it's status to "not off". If this is true, it's a no-no. When you activate the "scene" it will generate a status event on the "Rec room stairs top" and your condition will evaluate to "false". As written, you do not have any statements past the "set scene". This will most likely work. If you had additional statements, they might not be executed. Try to avoid this in the future.
-
Frank, I've been a bit remiss in not posting this earlier - nice to have you back guy! Your AWOL period must have invigorated you - you've been active (to the forums benefit). In regard to your post regarding folder/program schedules, if you have some examples that you could provide, I'd be happy to spend some time running tests. My curiosity has been "peaked". IM
-
Michael, To be honest, if the "1 minute" suggestion works I won't be able to explain why. All I can say is that this is the way that I structure my schedules (definite time period). I still don't see anything "wrong" with your original (single ended) schedule. I have three different versions of your schedule running now. They all functioned as I expected at 2:30PM today. We'll see what happens tomorrow. IM
-
One additional comment, With the V2.6.1 firmware, a fade Up/Down is only registered by the ISY when it is followed by a Fade Stop. Can't comment on the latest beta 2.6.2. In your example, using the Fade up will not register a change in the status of the Scene devices. I'm not sure if that is what you had in mind. IM
-
mcrean, First, I apologize for my last post - I had missed the fact that you had aleady taken steps to correlate the ISY status with your KPL. From your post below, I'm not sure where You believe the problem is - Actually, I would have expected the Deck Spots Status program to show "True". If Time is 10:01:00PM And Status 'Deck Spots' is not On Then Run Program 'Deck Spots Turns Off Night' Else - No Actions - (To add one, press 'Action') The "event" in the above is the Time 10:01:00PM. At that time the entire conditional is evaluated. It will retain that evaluation until it is retriggered (10:01 the next day, or the deck spots are activated). I would expect this to show "true" if your spots were off at 10:01PM. A false indication indicates the "then" was not executed. Please try the following : If From 10:01:00PM For 1 minute And Status 'Deck Spots' is not On Then Run Program 'Deck Spots Turns Off Night' Else - No Actions - (To add one, press 'Action') Assuming that you did not turn your Deck Spots on while the folder was active, I believe the "True" is correct for this program. If Control 'KeypadLinc A (Deck Spots)' is switched Off Then Wait 1 hour Set 'Malibu Lights' On Wait 4 minutes Set 'Malibu Lights' Off Wait 1 minute Set Scene 'Deck Spots Button' On Else - No Actions - (To add one, press 'Action') Like the program above, this is showing the status of the last call (event) on 3/12/2008. Since you are calling the "Then" statement directly, is has no choice but to reflect a "true" status. As I indicated above, the then loop was not called on 3/13. You may be referring to a discussion between myself and Linuxguy. If that's the case, we were not discussing a "bug" in the nextday condition. We were discussing the fact that it's not possible to troubleshoot a nextday condition (other than letting the clock run). I use this condition in many folders and programs and don't have an issue. From your description, your folder appears to be enabling correctly. Please try adding the "1 minute window" to your program. I will try checking some things tonight. IM
-
mcrean, If I had to guess, I'd say that the original failure was due to your Insten Device not properly communicating a off status to the ISY. Last night, when you monitored the conditions and status, everything worked properly (as it should). This could be due to general noise/signal absorption in the vicinity of the Insteon device (reducing margin) or it could be something that is turning on at night (cfl's and outdoor photocells that activate at night are prime candidates). Keep us posted, IM
-
mcrean, As Chris indicated, I don't see anything incorrect with your programs. I tested the Deck Spot Status and folder conditions and everything appeared to work properly. You mentioned that "you turned the deck spots off at 7:00 and at 10:01, the Deck Spots Turns off Night was not running" - 1) Was the folder running (true) at that point. Is it possible you switched the night and day conditions between folders? I don't mean to insult your intelligence. I bring it up because I've made this mistake (multiple occasions). 2) How did you "turn off" the deck spots (ISY or at the switch). Is it possible that there is a noise source that prevented the ISY from registering the "off event"? Short of that, I don't see any problem. I do have a couple of observations (unrelated): 1) Beware of the condition "And Status 'Deck Spots' is not On". A level between 1% and 99% is considered "not on". You may want to change this to a status of "off". 2) The time conditions between your two folders have a possibility of overlapping (not sure how the ISY handles this). Chris would be far more knowledgeable here, but I typically use a underlap of 1min between daytime and nighttime conditions. IM
-
Chuck, Intermittent problems are often the worst kind. Unfortunately, I don't believe the ISY can ascertain that a command sent to a KPL secondary button has been properly received. It assumes that the Insteon communications are intact and uses a predictive status (I sent the command, therefore the device is on/off). If your communications are less than "stellar" you get the results that you are seeing now. As an example, I have a very similar "status monitor" setup on a KPL. I can air gap my KPL and execute the program and the KPL secondary status registers "ON". That's obviously not possible since I've removed power from the device. I understand that you're trying to work around this problem with software in the ISY. Just my opinion, but I believe your time would be better served if you improve the communication to the device itself. Unfortunately, the nature of Insteon communication makes it very difficult to troubleshoot. I've used a ELK-ESM1 and a PLC to listen to communications with limited success. In the end, the old X10 methods of mapping, isolating, and filtering problem devices do appear to work with Insteon. FWIW, the following has worked well for me (both X10 and Insteon). 1) PLM on dedicated circuit next to the breaker panel (basement). 2) Passive coupler at the breaker panel. 3) Signalincs located on second floor. Other possibilities - 1) Check your signalincs/accesspoints to make sure they haven't locked up (they're still communicating). 2) Consider moving a signalinc/accesspoint to the same circuit as your problem KPL. 3) If you have a BoosterLinc installed (or devices with Boosterlinc capability) - pull it. Once my Insteon installed devices grew beyond 25, Boosterlincs became a problem. Let us know where you stand, IM
-
Hello again Chuck, Your code below is changing the status of your condition 'Living Room - ALL OFF' is not Off. When this is executed the program status be changed to "false" and the statements that follow will not be executed. The fact that you require the status check may indicate that you're having communication problems with your device. Executing the scene "All off LED" off should work by itself. You may want to focus your efforts on improving the device communication rather than "re-querying" the device. If you feel you need to check the status of the lamp, you should divide things up into two programs to prevent changing the state of your conditions within the program: If ( Status 'Basement Playroom Lights (loa' is not Off Or Status 'Dining Room - LIGHT (load)' is not Off Or Status 'Dining Room Ceiling Fan (load' is not Off Or Status 'Kitchen Ceiling Lights (load)' is not Off Or Status 'Kitchen Sink Light (load)' is not Off Or Status 'Living Room Ceiling (load)' is not Off Or Status 'Living Room Lamp (load)' is not Off Or Status 'Office Ceiling Light (load)' is not Off ) And Status 'Living Room - ALL OFF' is not Off Then Wait 2 seconds Run Program 'ALL OFF LED - Off (Daytime)' Else - No Actions - (To add one, press 'Action') Program 2 sets the scene OFF and tests the status. If the status comes back "ON" I would assume that the ISY would treat this as an "event" and Program 1 would again become true (triggered by the event "Status 'Living Room - ALL OFF' is not Off"). I haven't tried triggering programs with status calls. Hopefully someone else can confirm if they function in this manner. If No conditions Then Set Scene 'ALL OFF LED' Off Wait 10 seconds Set Scene 'ALL OFF LED' Query (if the light is on, the ISY will hopefully see this as an event and call the original program) Else No actions Be careful with this code - If you cannot turn the indicator lamp off for some reason, you may wind up stuck in a loop (querying and re-triggering the original program). IM
-
Chuck and Darrel, Sorry for the misinformation. Obviously (hindsight) the below is incorrect - you can turn an Insteon device off if it is already in the off state. I honestly never considered this before. I guess my "old school" brain isn't wired that way. Also seems that I may have some holes to plug in my programming... IM
-
Hello Chuck, From what I can see, your Status and Control statements below can't be satisfied with the same event. The light can't be off and switched off at the same time. I tried the below code with varying ramp rates to try to ensure that there wasn't some trick involved - could not get it to execute. The below will function with an "or" between the status and control. You mentioned that this worked at one time - I honestly can't see how. Is it possible that you modified the program and didn't save it? Be advised that beta 2.6.1 did not save programs with it's "backup feature. Programs could only be saved with an explicit export. IM
-
Michael, I re-read your original post again. I sounds as if the PLM can't "hear" the switch unless it's at a level somewhere above 40%. Does the switch respond to the ISY/PLM when it's off (turn on from a off condition)? I'm beginning to wonder if you have a problem with your neutral connection to the switch. If this switch works in another location, you may want to start checking connections along the circuit (other boxes in the chain).
-
mcrean, I'm not sure if this is a typo but, your original post specified a local on level of 40%. Your program specifies 43% - if this is correct you won't get a trigger. Other than that this program should function properly (just tested it). I looked over your second program as well. I don't see any obvious error's. I'm assuming that these both worked at one time. If that's the case, and you're still running V2.6 or 2.6.1, you may have been bit by the Feb 29th bug. These versions have a calender problem with the 29th and caused problems with timed schedules. Check the status of your "scheduled folders". If they are "false" when they should obviously be "true" you have two options: 1)Upgrade to beta 2.6.2 (problem corrected). 2)Manually update your date on the ISY and reboot.
-
jgraziano, What version are you running? From reports that I've seen, the Feb 29th schedule issue was corrected in ver 2.6.2. I ran into a similar problem yesterday using Ver 2.6.1. I changed the date to March 1 and reset the ISY. Everything checked normal after that. If you are running 2.6.1 or previous you may need to "reboot" your ISY to terminate any schedules that are still running from the 29th. IM What's going on here???? Thx.
-
Clark, Sorry we took this thread a bit sideways (that's my/our nature). I'm glad that you were able to pick out the pertinent details. You're correct that, in some instances, the ISY documentation hasn't progressed. This is due to the fact that the ISY people have been following this forum and implementing changes at a incredible pace (documentation hasn't kept up). Once we users stop throwing requests at Michel and Chris I expect a new documentation package will be released (they really have been extremely attendant to our requests). In the mean time, MarkSanctuary has been doing a wonderful job of including things in the Wiki. IM
-
Dave, I experimented with something similar using two programs to detect the "control" of the kitchen light. Activating one program would turn the other off. Unfortunately, I realized that this would not work if the light was activated by a scene (I use a lot of them - I understand that you do not). If Control 'Bar Lamp KPL2-Primary' is switched On Then Run Program 'Bar Control Off' (Else Path) Else - No Actions - (To add one, press 'Action') If Control 'Bar Lamp KPL2-Primary' is switched Off Then Run Program 'Bar Control On' (Else Path) Else - No Actions - (To add one, press 'Action') You setup is obviously simpler (and interesting). My question is (I haven't tested), does the " Or Control 'Kitchen Light' is not switched Off" set the program status to "false"? Sorry, it's Sunday and I'm feeling a bit lazy - actually working on my projection TV and doing a brake job in parallel... IM
-
Clark, As d_l stated, if you do not run the "else path" the program status will remain "true" in the program summary table. Since I sometimes use the status of one program to qualify another ( if program 1 true, then run program 2) it's become habit to run the else path to ensure a "false" status. IM
-
Upstate, That's great news. I was beginning to get concerned - the symptoms resembled some of the X10 problems of bygone years. I suppose I should dig out my PLC and powerhome to make sure that I don't have any "old" links running around in my devices. Most of my installs were performed with the "replace all existing links", but I can't be 100% sure. Thanks for having the patience to see this one through. It was a rather long and winding road. This should be a great help to the rest of the forum for "future" phantom problems (I've bookmarked this thread). IM
-
Paul, Answers/clarifications below - You may want to post in the Linux thread. Maybe LinuxGuy has experience. Sorry, I wasn't very clear on a number of items: 1) All of my interfaces include the "last entered" unit code along with the Allon/Alloff command. To activate the ISY you need the "-" unitcode (as you surmised). 2) I am currently running Version 2.6.1 (2.7 beta). It's entirely possible that the "-" unit code wasn't available in 2.6 (full release). Email the ISY guys and they'll give you a link (they're great about this). The ISY linking is a snap once you've gotten accustomed to it. My preferred method is to "remove all existing links" (option 1) so that the ISY has knowledge of all links in the system. 1) Place the ISY into Linking mode (option 1 remove all links) 2) Tap link your individual devices - Place them in linking mode by holding on for 10 sec's (or per instructions for lamplincs - etc). 3) Hit cancel in the ISY - It will link all of your "tap linked" devices" Absolutely correct - this become far more dangerous if you happen to choose the incorrect "neutral" connection. If this happens, there is the possibility of developing 220V across your switch. There's a long thread over at techmall dealing with this. If you're interested, I'll try to forward it (initiated by Yardman). Sorry this is again a bit brief - I'm elbows deep into a big screen TV and have an hour before game time. IM
-
Paul, Welcome to the ISY. Like you I'm a long time X10 user transitioning to Insteon. I had used the Insteon devices for 2 years waiting for a credible stand alone controller to be developed - the ISY has fit the billing. Once you get beyond the (short) learning curve, I believe you'll be elated. I can't help much with the linux questions. I have a linux server, but chose to administer the ISY through my windows machines. There is one linux tread located here : http://www.forum.universal-devices.com/viewtopic.php?t=225 In regard to the X10 command troubleshooting - there are debug commands that can be accessed. The wiki describes how to enter debug mode 1 through telnet. X10 receipts can then be monitored through the Java console (I find firefox to be a convenient browser interface). The Wiki instructions are located here : http://www.universal-devices.com/mwiki/index.php?title=ISY-26_Insteon:X10_Troubleshooting I just tried an X10 All-on trigger with three different devices (controlinc Maxi, X10 remote/RR501, CM15a) - these do work. The issue may be related to the trigger itself. The ISY is very literal - what you see is what you get. The X10 protocol embeds a unit code (the last accessed) within the allon/alloff commands as shown below. Java Console Monitor (DBG=1) 2008/02/16 16:40:34 : [ X10] hc=A uc=1 2008/02/16 16:40:36 : [ X10] hc=A uc=1 cc=5 {all on} 2008/02/16 16:40:37 : [ X10] hc=A uc=1 cc=13 {all off} 2008/02/16 16:40:39 : [ X10] hc=A uc=5 2008/02/16 16:40:41 : [ X10] hc=A uc=5 cc=5 {all on} 2008/02/16 16:40:43 : [ X10] hc=A uc=5 cc=13 {all off} Trigger If X10 'A/All Lights On (5)' is Received Then - No Actions - (To add one, press 'Action') Else - No Actions - (To add one, press 'Action') Note that in the above the trigger is for "A" (no unit code). In order to select this you need to choose the unit code "-" from the drop down menu. If this doesn't work for your X10 device, please post the Java Console reception for your X10 Allon command. IM