Jump to content

f11

Members
  • Posts

    141
  • Joined

  • Last visited

Everything posted by f11

  1. I set up some simple code to turn a light off at 11:45PM last night, but according to the ISY log, the code didn't execute until 11:59PM and change. The light did indeed stay on until 11:59PM when it went off. I checked that the ISY was sync'd up with my PC time/date (it was) and that my location was correct (it was). Any idea why execution was delayed? Rod
  2. So the IF conditional expression is evaluated, the THEN segment is initiated, but the WAIT does not cause the execution to idle in the THEN segment - instead the IF segment is continually being evaluated and when it goes false, the THEN segment is halted regardless of the WAIT command. I think of WAIT in the context of a multi-threaded multi-tasking OS like QNX when I coded in C (showing my age) - I can't recall what the actual command was, but you could block/idle a thread waiting for some condition to go true or a timer to expire before continuing in that segment. But as you say, the relationship between the IF and the THEN/ELSE isn't sequential, its parallel - the IF is always being evaluated, so a WAIT command in the THEN segment of a program with a quickly changing conditional in the IF segment may never get a chance to execute. So I have to dissociate my IF from my THEN statements to avoid that situation, or as you say, break the program into two pieces as you show. Thanks!!! My "f11" handle (or my alternate, "feleven") is all over the internet, in most of the forums I've joined since about 1999. It short, easy to spell, and was originally related to my fascination with the F111-F fighter jet. Rod
  3. My apologies if this has been discussed already... I did a Search and didn't come up with quite enough detail. I'm a new ISY99i user trying to get my first programs running. I have sufficient programming experience in my past to get me over the beginner stuff, but the details of ISY-specific programming were a little "thin" in the User Guide. Anyway, I wrote what I thought was a basic program: If On Mon, Tue, Wed, Thu Time is 6:50:00AM And ( Status 'MBRM - 00.65.BE.1' is Off ) Then Set 'MBRM - 00.65.BE.1' On Wait 5 minutes Set 'Fireplace - 00.47.B5.1' On Wait 5 minutes Set 'Stairs - 00.65.8F.1' On Else - No Actions - (To add one, press 'Action') I assumed the WAIT command would cause the THEN section to continue executing until the timers ran out (10 minutes later). But it doesn't. The program runs at 6:50AM, turns on the MBRM light and thats it. What is the rule with the WAIT command? Am I using it incorrectly, or had I misinterpreted what its supposed to do? THanks for the help! Rod
×
×
  • Create New...