deeepdish
Members-
Posts
56 -
Joined
-
Last visited
deeepdish's Achievements
New (2/6)
0
Reputation
-
Thanks Michel. Perhaps adding the ability to apply "flags" to a program to define its execution characteristics. For instance adding a NO_IF_OVERRIDE flag to a program would prevent the IF statement's state (TRUE/FALSE) from impacting THEN statement's execution. More flexibility at the end of the day. I understand where you and Chris are coming from, however there are cases where not having the behavior outlined in the previous email complicating the program and making the user jump through (unnecessary) hoops just to get a desired behavior to function as intended.
-
Hi Chris & UD Developers, I'm going to resurrect this issue as I feel it's a flaw in the logic of the way IF statements are handled by the ISY. Here's a scenario that actually happened today: Program in question: IF FROM 10:00:00 PM TO 8:00:00 AM (next day) AND STATUS "KPL-FANBTN-A" is OFF THEN REPEAT EVERY 30 mins STATUS "FAN-MOTOR" ON WAIT 2 MINUTES STATUS "FAN-MOTOR" OFF In the above program example, and using the IF logic as described earlier in the thread. At 8AM, the fan turned on, however never turned off since the IF loop was no longer valid and therefore interrupted the WAIT 2 MINUTES statement. Regardless whether the IF statement is valid or not at the time of executing the THEN statement; any THEN statement that is actively running should be able to run it's course without interruption. The IF logic in the ISY should mirror that of the standard implementaion in actual development languages (e.g. Basic, C, PHP, even good old ASM code -- look up CMPs , etc..).
-
Thanks Chris, however your suggestion would not fuinction in my situation as I would like to have visual status of each device thats on via the KPL. This is why I'm triggering scenes. I realize that a spinning fan is sufficient indication that it's on, however this recent discovery is actually going to hinder how I'd like to deploy some other ideas I have for the house. I've invested quite a bit in the technology (I don't think I have a traditional switch in any part of the house or the shed at this point), as I've seen the potential and benefits of this technology. I understand why the mechanism is in place to give the end user control over programs that may be triggered accidentally, however I would suggest that the ISY, given its PLC-type nature, be flexible enough to give users who wish to override this behaviour the capability to do so. At this point, the device has a limited scope in my household. There are a number of programs that I'd like to compose that would rely on condition checkon at the end of a loop vs statement that I can't, or I'll have to exponentially increase the complexity of the code through scenes, etc.. to get it done. I'm the type of person who like to set it once and essentially forget it. For me, home automation is a tool not a hobby As such when I define a program, I should be able to return to it in the next year or two and be able to figure it out quickly instead of going through a mess of scenes that have work arounds to various coding restrictions. The other thing that would be nice is to programatically turn on/off individual KPL buttons (not the 0 button, but ABCD, etc..).. I realize this can be done through scenes, but again why all the complexity and work arounds. . Ok, now I understand, if the scene is turned on by something else, you want to leave it on and not cycle on/off for 30 seconds. I would also assume that if the fan is on (during the 30 second cycle), that if the KPL button is pressed, you would want the fan to remain on after 30 seconds. The simplest way to solve this is base it on the status of the KPL button, basically when the KPL button A is off it cycles, otherwise it doesn't: Program: Fan Cycle --> Enabled If Status 'KPL Button A' is Off And From 9:00:00PM To 6:00:00AM (next day) Then Repeat Every 30 minutes Set Scene 'Ceiling Fan Scene' On Wait 30 seconds Set Scene 'Ceiling Fan Scene' Off Else Run Program 'Fan Cleanup' (If) Program: Fan Cleanup --> NOT enabled If Status 'KPL Button A' is Off Then Set Scene 'Ceiling Fan Scene' Off Else - No Actions - (To add one, press 'Action') Note: This program is needed to make sure the fan is shut off after the schedule ends, but not shut off if the KPL button is on. Essentially this is the same as saying there is no way to stop a program until the end of the repeat (without using an explicit Stop from html or admin console). This has undesirable effects if someone accidently starts something and wants to turn if off right away (such as away program random lighting, a sprinkler sequence etc.).
-
Thanks Chris. .... However there is a slightly different condition criteria than just a time range. Every ceiling fans is connected to one inline dimmer and one inline relay. The inline devices are part of scene(s) that are controlled by a wall mounted KPL. Here's the challenge. I would like the program I define to have sufficient logic to determine the right conditions for running: 1. The ceiling fan motor is OFF. This would assume that the Ceiling fan scene is off as well. 2. AND Time is within a certain range. Because the Ceiling Fan Inline relay is checked (part of condition) to be OFF and the ISY program turns the Ceiling Fan Inline ON during program execution, the program is interrupted because the original condition is not valid anymore. The ISY should check to see if the condition if valid at the end of each loop iteration instead of at the end of each statement executed. If there are already dependencies on this condition checking algorithm, perhaps a check box to change the condition checking algorithm can be made available when defining a program.
-
I've been staying below the radar -- had a baby girl within the past 3 weeks.. Correct. The Fan should run for 30s (or whatever set interval) every 30 mins. Provided the "scene" that controlls the fan is OFF. If the scene that controlls the fan is ON, this would override the program. This is what breaks the original program logic. The program furns the scene on and then the ISY sees the condition change, and stop the program. It fails to proceed to the next line to wait for 30s and turn the scnee off. The program is for the baby actually. Idea is to circulate the air in the room every so often. Why not use the cieling fan and cycle it on/off for short bursts now and then provided the scene is off... I agree with you that the program logic should be polled to make sure the condition initiating the program is still valid, however this should be done after every itteration of the program / loop (in my case the repeat every 30 mins loop) -- sequential. Perhaps an additional parameter can be made available to check conditions after every itteration. It's a fine line where the event that altered the condition was triggered from (self - program, or externally -- i.e. me turning on a switch) Too much for the ISY though
-
Hi everyone, I have a quick question how the "IF" criteria is evaluated and under what conditions. Consider the following simple cieling fan example: IF CielingFan-Motor is OFF (happens to be a inline switchlinc relay) THEN Repeat every 30 minutes Set CielingFanScene ON Wait 30 seconds Set CielingFanScene OFF ELSE Set CielingFanScene OFF For those wondering why spin a fan for only 30 seconds, well it's intend for the baby room at night to keep the air moving. In any regard, provided that the CeilingFan-Motor is off (which is part of by the scene CielingFanScene controlled by a KPL) the program should cycle the repeat loop of turning the fan on for 30 seconds then off. I expect that after every iteration of the Repeat loop the if condition would be checked. However it seems that the IF statemetn is polled everytime s statement is executed which would effectively kill the program after the second THEN statement. I also tried removing the ELSE Statement which didn't alter program behavour. Thanks.
-
Hi Mark, Is there any way that the iPhone Web remote control code you produced thus far can be released for those of us who have web servers running in their home can start using / testing the code with the ISY? Thanks.
-
Ever since I got my iPhone, I always wanted to tinker with it (writing some simple apps). However, my home renos have impeded that timeline Hence all the Insteon stuff Hopefully after the backyard gets landscaped I'll have sometime to tinker a bit before the baby comes... Until then, it's a very cool cell phone. No need to fire up the lap top when checking email, checking something quick on the 'net or very soon being too lazy to get up and walk up to a switch to turn it off
-
Hi Mark, Yes, just JavaScript at the present time. A new firmware is scheduled for sometime in June, containing major updates to the device and including new capabilities. Here is a link to iPhone web app devleopment. hxxp://http://developer.apple.com/webapps/ If it asks you to log in, you can register for a free account. No cost involved. Under the iPhone Tech Talk Videos you can dowload (for free) from iTunes videos about developpig iPhone web apps and device capabilities. In using the Safari, one of the better layouts I found was on hxxp:/iiphone.foxnews.com.. This is the type of menu / hierarchy I was thinking of.
-
Would it be possible to do an iPod.app type two level selection.. Top level would have entries like: Scenes Devices Programs (potentially). Second level would be: Scenes --> list of all scenes (on / off / dim / Bright) Devices --> List of all devices (can add third level to identify device type (e.g. kpl, switch link, etc..) Programs --> list of all programs.
-
Good idea. The app is a java client and the iPhone will eventually support Java however Sun has not yet ported the runtime. The web method would be a quick hit, with a possible migration of code later on. My 0.02.
-
I'm using the iPhone. I'm not aware of the differences between the Touch and the Phone.
-
native HTML Auth, no --- at least I haven't been able to save password. It supports cookies.
-
Something to conisder RE: the iPhone/ITouch implementation -- there should be an option to bypass authentication -- username / pass for simplicity. This way you can use the Iphone as a remote without logging in.
-
You guys are awesome!