Overall, I love Indigo. But one thing that is very annoying and doesn’t seem to be built in, is the ability to poll all devices on a regular scheduled basis (ie: every 5 mins, 10 mins, etc.) of the status of my devices. This mainly causes a problem when accessing my system via my iPhone. When I connect, the status of my devices is more often then not, incorrect and showing things that are on when I know they’re off, or showing something at 20% dim when I know it’s 80% etc. and there is no way to request a refresh.
So what I want (need) to do is be able to regularly poll my devices so that their status is accurate and kept updated.
Does anyone know of an AppleScript or other way to easily do this?
Well, yes… Â There are quite a few different ways… Â But the simplest way to do this is this applescript…
tell application “IndigoServer”
with timeout of 60 seconds
try
repeat with curDevice in devices
status request (curDevice)
delay 0.75
end repeat
end try
end timeout
end tell
The delay statement may not completely be necessary, but I found during testing that if there wasn't a delay, that the requests would backlog and it would take a few moments for everything to clear out...
But this was originally written with a 2414U, and I haven’t retested this with a 2412U/2413U. Â The 2412U & 2413U both should allow a reduction in the delay…
Update — I just tested with my 2413U… Â I was able to reduce the delay to 0.15 without seeing a significant backlog in requests developing. Â Changing to 0.10 showed a significant backlog if any device had any delay in responding (ie was more than a 2 hops away).