Goose66 Posted January 4, 2011 Posted January 4, 2011 A more intuitive option would be divide the sections of the UI. One section to specify trigger events for the program, another to build the IF statement (which wouldn't change much). As far as the guts of the ISY, it's being done inherently, so making explicit should simplify things in the code, but may add to the XML used to save each program. In addition, a very simple, one-time-execution method of transforming the XML for existing programs upon upgrading could be devised that would pull out the trigger events inherent in the programs and explicity list them in the trigger events, thus no ones programs would break upon upgrading. It would be a definite improvement to the ISY, IMO, and a little bit of near-term pain for longer-term benefit. Using two programs (one disabled) is doable, but unless you use two programs in every case, you don't really get the overall simplification to the programming model that would come with actually splitting the specification of trigger events and IF conditions. OK, I've beaten this (possibly dead) horse to death. I suggested this in the suggestions section a year ago. It is there if they ever want to do it, and I would be glad to provide whatever assistance to its implementation, including interface design (I believe in the ISY that strongly). But, I'm ready to move on.
apostolakisl Posted January 4, 2011 Posted January 4, 2011 Using the little boxes and having them default to checked means, that for the most part, programming ISY would be exactly the same as currently. Unchecking the boxes would be available to those who want to venture into it. And I think I may have made it too complex to have a "condition" box and "trigger" box since I can't think of any logic that would allow something to trigger a program and not at least be an "or" condition. So just one box needed, a "trigger" box. Using a separate "trigger" section would require that you have to write your conditions twice for the majority of your programs. It would sort of be like the current situation where you use two programs. Along those lines, perhaps a solution to this issue that wouldn't require redoing the logic of ISY, would be to allow opening multiple associated programs at once on the same screen. It would be easier to keep track of what you are doing in the current scheme if you could see both your trigger program and execution program at once.
Goose66 Posted January 4, 2011 Posted January 4, 2011 I was thinking of something like this: http://cid-9429f89896e797d8.photos.live.com/self.aspx/Public%20Folder/ISY%20UI%201.png For those that cannot view this picture, here is the jist: When Control 'Outdoor / Driveway Motion-Sensor' is switched On If From Sunset To Sunrise (next day) And Status 'Outdoor / Driveway Floods' is Off Then Set Scene 'Outdoor / Driveway Floods on Motion' On Wait 8 minutes Set Scene 'Outdoor / Driveway Floods on Motion' Off Else - No Actions - (To add one, press 'Action') You would put a "Trigger" button down below in conjunction with the "Condition," "Action," and "Comment" buttons in the interface below (I think the "Schedules" button/interface should be absorbed under "Triggers" and "Conditions"). You wouldn't have to write your conditions twice, because most often your triggers and conditions would be seperate. For example, a condition of "Time is 4:30 PM" in the current model would just become a trigger, because it wouldn't make sense to test for this in the IF once the program was triggered, in most cases. Note that this is an ideal implementation, that provides maximum flexibility and ease of understanding, in my (humble?) opinion. That being said, I would be exceedingly happy with the checkbox!!!!
Recommended Posts