Jump to content

Question about programs and using status


TJF1960

Recommended Posts

Posted

When "Status" is used in the If line of a program and that program is evaluating, the device is polled. Sometimes a program may have quite a few devices to poll, which slows things down a bit, and increases network traffic.

 

I have 3 programs used to control light output in the Kitchen. All three programs use the status of, in some cases, the same devices with minor differences in the If statement repeatedly. Therefore when all three programs are evaluating the ISY send a status request for each device, so the same device will be polled 3 times.

 

In the interest of keeping network traffic to a minimum and reduce actuation times would it be reasonable to create a program for each device which the status is to be monitored. For instance:

 

Program Kitchen Lite Staus

If Status 'Kitchen Lite' is on

Then

Else

 

etc., etc. for all devices

 

So if the kitchen lite is on this statement would be true. When the light is turned off the status would be false.

 

Now all three programs would be looking for true/false statements and not polling the devices.

 

Would this make sense and would there be any problems this could create?

 

Thanks,

Tim

Posted
When "Status" is used in the If line of a program and that program is evaluating, the device is polled. Sometimes a program may have quite a few devices to poll, which slows things down a bit, and increases network traffic.

 

To be clear, STATUS does not poll the Insteon devices themselves - it simply checks what the ISY thinks the status is. A QUERY would actually go out and check the status of a device over the powerline.

 

I do what you're suggesting to simplify my programs. For example, to know if a light is on in my office:

 

If
       Status  'OfficeMike1' is not Off
    Or Status  'OfficeBob1' is not Off
    Or Status  'OfficeCounter1' is not Off

Then
  - No Actions - (To add one, press 'Action')

Else
  - No Actions - (To add one, press 'Action')

 

Or my master bedroom area:

 

If
       Status  'MasterBedBathMain1' is not Off
    Or Status  'MasterBedBathMirror1' is not Off
    Or Status  'MasterBedBathVent1' is not Off
    Or Status  'MasterBedMainLamp1' is not Off
    Or Status  'MasterBedControls1A' is not Off
    Or Status  'MasterBedCloset1' is not Off

Then
  - No Actions - (To add one, press 'Action')

Else
  - No Actions - (To add one, press 'Action')

 

When I write a program that needs to know the status of these areas, I simply check these programs and not the individual devices.

Posted

I was under the impression that when Status was called up in a program that the ISY would poll that device. Thank you for clearing that up for me.

 

And I like your example of grouping If Status statements together in one program and using the true/false from those programs in the main programs to simplify.

 

Thanks again,

Tim

Guest
This topic is now closed to further replies.

×
×
  • Create New...