TJF1960 Posted May 13, 2009 Posted May 13, 2009 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
MikeB Posted May 13, 2009 Posted May 13, 2009 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.
TJF1960 Posted May 13, 2009 Author Posted May 13, 2009 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
Recommended Posts