[ANSWERED]: Insteon scene cleanup messages

Posted on
Tue Jul 26, 2016 9:06 pm
brlandy offline
Posts: 31
Joined: Feb 19, 2012

[ANSWERED]: Insteon scene cleanup messages

Hi, I noticed that calling indigo.insteon.sendSceneOn() or sendSceneOff() always request device cleanups by default, regardless of the interface's setting. Is there a way to read the interface's current setting so I can pass that into the scene function calls?

Thanks,
Brian

Posted on
Tue Jul 26, 2016 9:51 pm
matt (support) offline
Site Admin
User avatar
Posts: 21417
Joined: Jan 27, 2003
Location: Texas

Re: Insteon scene cleanup messages

Hi Brian,

Unfortunately, there is no API to get that preference from the Indigo Server. You could read it out of the Indigo Server Prefs XML file directly:

Code: Select all
<PrefList type="dict">
   <PowerLincV2 type="dict">
      <ForceGroupCleanupMessages type="bool">true</ForceGroupCleanupMessages>

but I'm not sure if that is worth the effort really.

Image

Posted on
Wed Jul 27, 2016 1:58 pm
brlandy offline
Posts: 31
Joined: Feb 19, 2012

Re: [ANSWERED]: Insteon scene cleanup messages

Ok, thank you. I surprised me to see the scene cleanup messages in my logs when I knew I had that setting off. Is there a reason the scripting commands don't obey the global setting by default?

Unfortunately I'm guessing there isn't a way to trigger when the interface setting is changed to know when to re-read the file? So you'd probably have to do it at interface initialization and assume it doesn't change for that server session? Or re-read the file periodically. I'm thinking I wouldn't want to read the file every time I trigger a scene.

Brian

Posted on
Wed Jul 27, 2016 9:30 pm
matt (support) offline
Site Admin
User avatar
Posts: 21417
Joined: Jan 27, 2003
Location: Texas

Re: [ANSWERED]: Insteon scene cleanup messages

To be honest, I'm not a fan of the cleanup messages. The idea behind them is to send direct "make sure you did your scene" messages to every module in the scene after the global scene broadcast is sent. The problem is if you have more than 2 or 3 modules in the scene and you are having reliability problems with some modules not receiving the scene command then a better approach would be to just send the scene broadcast command 2 or 3 times. It would be much faster and arguably just as reliable. For example, say you have 20 modules in a scene and 2 or 3 of them cannot always receive the first attempt of a command. With cleanups the result will be 1 global scene command + 20 cleanup commands + possibly some retried of the any cleanup commands that might fail. That is a ton of traffic, and it would be just as reliable to just blast out the global scene command 2 or 3 times.

Anyhow, climbing off of my soapbox, I think in Indigo the cleanup command preference really shouldn't be global given its utility varies based on how many modules are in the scene. It should probably live at the scene or action level so that folks can only enable it if there are just 2 or 3 modules in the scene, or so Indigo can intelligently disable it in those cases.

So that is the main reason why Indigo ignores the the pref when the API is called – it isn't very useful and how Indigo uses it needs to be redesigned. :evil:

Image

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 15 guests

cron