Jump to content

Speed of program execution?


pbako

Recommended Posts

I'm trying to figure out if there is a way to speed up the execution of the programs I have defined on the ISY.  Right now it takes a second or so from the time the action is triggered until the program is evaluated and the result executed.  While I could understand that kind of a delay on a very complex program, the one I have just has two comparisons to make, yet still takes that second.

 

Specifically what I have is this.  One of the buttons on my mini-keypad is linked to my office light.  Pressing this to turn the light on or off is basically instantaneous.  I then linked this same button to a program which evaluates two things - first is the right button pressed and seconds is the time between sunset and sunrise (meaning its dark outside).  If those are both true it then turns the lights on in the room outside my office, waits one minute then turn that light off.  The program looks like this:

------

If

    From Sunset

    to Sunrise (next day)

  And (

             Control 'Keypad - A' is switched On

          or Control 'Keypad - A' is switched Off

         )

Then

   Set 'Front Room Light' On

   Wait 1 minute

   Set 'Front Room Light' Off

Else

  - No Actions -

------

Like I said pretty simply.  But due this delay, what happens that when I click the button the light in the office goes out (or on) immediately and about a second later the Front Room light comes on (assuming its dark).  I know I could put the control of the office light into the program, which would let both actions occur at the same time, but there still would be that delay, but this time between the time the button is pressed to when anything would happen.

 

So, can these programs be sped up, pre-compiled for example, to let them run faster?

 

Thanks,

Peter

Link to comment

My experience is that there is little to do to speed up programs.  On the other hand, total response time is also impacted more noticeably by communication delays between the various components, including the PLM.  Since programs require communication first from the trigger device to the PLM, then from the PLM to the responder device, program responses will take longer and there is not much you can do about that.  My guess is that if you are seeing a difference between a direct scene response and a program response that is a second difference, that you are probably not going to be able to improve on that too much.  If it is two seconds or more, I would focus on optimizing your electrical system so that communications are as good as they can be.

Link to comment

As oberkc stated above it really isn't the ISY slowing things down. It's about the time for the protocol to go back and forth.

 

When you have a direct link (scene) between your keypad and the light module the command is sent and the light module starts to respond immediately.

 

When you send command to ISY, the PLM has to send it to ISY. Now there is some processing time for the program to  trigger and execute and send back the response.

But when you send the command, three hops happen. This means that three more echoes of your signal are heard, and have to be waited for, before the PLM can take it's turn to send the command to the light module. This all takes some time.

 

I mostly build scenes between MS units and Light modules as the delay is even more apparent. Mostly they appear immediate then.

 

I try to leave ISY to do Off timing where timing is not a critical. There are a few tricks to pre-modify the light's response to the commands by tweaking the scene values before the command is expected.

 

For most other things a slower response doesn't matter.

Link to comment

Hello everyone,

 

Please note that communications from ISY->PLM->DEVICE->PLM->ISY will take at least 1 second (500 m.s. minimum for communications from PLM to Device).

 

With kind regards,

Michel

Thank Michel.

 

Should that also apply in reverse as being discussed starting with a device?

Link to comment

Hi larryllix,

 

Since there's really no way to figure out how long it takes from device->PLM communications, I would venture to say that it would probably very similar (not the same) and perhaps more since the PLM has to look through its database to find the device. So, the larger the number of devices in the PLM, it would take longer. But, it should still be in milliseconds unless there's something wrong with the PLM.

 

With kind regards,

Michel

Link to comment

Hi larryllix,

 

Since there's really no way to figure out how long it takes from device->PLM communications, I would venture to say that it would probably very similar (not the same) and perhaps more since the PLM has to look through its database to find the device. So, the larger the number of devices in the PLM, it would take longer. But, it should still be in milliseconds unless there's something wrong with the PLM.

 

With kind regards,

Michel

Thank You for that.

 

Insteon comm delays can add up to very noticeable delays with certain techniques.

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...