Jump to content

Long Running Randomness


CoolToys
Go to solution Solved by larryllix,

Recommended Posts

Posted
3 hours ago, Guy Lavoie said:

Not to hijack the thread, but are you talking about the Insteon garage door kit that has an i/o linc? Just reply yes or no. If yes, it might be worth starting a separate thread on it. Thanks.

yes

 

Posted

So, rather than telling @CoolToys why what he was seeing couldn't happen, I tried some "stress testing:

  1. Constructed a program with 29 devices and the same wait sequence he used.
  2. Used a Set variable = 1 at the beginning and set variable = 0 at the end (to test if the program completed).
  3. Triggered the program with a 2477D switchlinc using a control "switched off".
  4. Seven (7) of the devices were plug-in's (lamplincs, ApplianceLincs, IOLincs) powered on a strip.  These were for inducing communication failures

Bottom line - the program ALWAYS finished.  My variable was always set to 0 at the end.  There were a crazy number of "other" programs being triggered as I went through the sequence.  None of this stopped the test program from completing.  

Turning off the strip of 7 devices caused PLM retries and ISY Retries.  Again - the program finished.

There was 1 very interesting development during the testing - The following would show up at in response to some commands to the PLM.  The 1st line is the command from the ISY to the PLM.  The 2nd line is the PLM acknowledging the command.  The 3rd line is very strange.  The PLM is sending a 2nd ACK back to the ISY.  I have never seen this before, nor can I find any reference to it on the forum.  

Has anyone ever seen this message?  Seems like the PLM is getting confused or out of synch with the ISY.

  1. Tue 12/24/2024 08:44:50 AM : [INST-ACK    ] 02 62 18.93.83 0F 13 00 06          LTOFFRR(00)
  2. Tue 12/24/2024 08:44:51 AM : [INST-ACK    ] 02 62 54.A5.19 0F 13 00 06          LTOFFRR(00)
  3. Tue 12/24/2024 08:44:51 AM : [INST-ACK    ] 02 62 54.A5.19 0F 13 00 06          LTOFFRR(00):  Duplicate or ACK for a different device 

 

Test Program - bold items are installed on power strip

CoolToys - [ID 0068][Parent 0067]

If
        'Basement / BSMT Fam Cans' is switched Off
 
Then
        $FirstDining.On  = 1
        Set 'Basement / BSMT Back Room' Off
        Set 'Basement / BSMT Back Room Load' Off
        Wait  5 seconds
        Set 'Basement / BSMT Fam Cans' Off
        Set 'Basement / BSMT Fam Rm Sconce' Off
        Set 'Basement / BSMT Game KPL Overhead A' Fast Off
        Wait  5 seconds
        Set 'Basement / BSMT Game Sconce' Off
        Set 'Basement / BSMT KPL Game' Fast Off
        Wait  4 seconds
        Set 'Basement / BSMT Kitchen Cans' Off
        Wait  4 seconds
        Set 'Basement / BSMT Kitchen Ceiling' Off
        Set 'Basement / BSMT Stair' Off
        Wait  5 seconds
        Set 'Basement / BSMT Stair 2' Off
        Set 'Basement / BSMT Storage' Off
        Set 'Basement / BSMT Video Cans' Off
        Set 'Basement / Basement Bed' Off
        Wait  5 seconds
        Set 'Basement / Furnace Room' Off
        Set 'Basement / Test LampLinc' Off
        Set 'Basement / Test Matthew Lamp' Off

        Wait  5 seconds
        Set '13.32.8B-Sensor / 13.32.8B-Relay' Off
        Wait  5 seconds
        Set 'Basement / Test-Sensor / Test-Relay' Off
        Set 'Basement / Test 13.07.33.1' Off

        Wait  5 seconds
        Set 'Basement / Test 13.05.A8.1' Off
        Wait  4 seconds
        Set '0F.82.A9.1' Off
        Set 'Basement / BSMT Back Room' On
        Wait  5 seconds
        Set 'Basement / BSMT Back Room Load' On
        Set 'Basement / BSMT Fam Cans' On
        Set 'Basement / BSMT Bed' On
        Wait  4 seconds
        Set 'Basement / BSMT Fam Rm Sconce' On
        Set 'Basement / BSMT Game KPL Overhead A' On
        Set 'Basement / BSMT Game Sconce' On
        Wait  4 seconds
        Set 'Basement / BSMT KPL Game' On
        $FirstDining.On  = 0
 
Else
   - No Actions - (To add one, press 'Action')
 

Posted (edited)

Interesting, a few days ago I also created a test program (but simpler than yours) to test that a series of waits would always complete, as part of trying to understand this problem. I created 9 integer variables, and a program like yours that incremented one variable, sent a few Insteon commands (turning off basement lights), wait a few seconds, then increment the next variable, etc, all the way to the end. Then I had a second program trigger it every few minutes. My thinking was that if the program ended before all the waits had executed, then some of the later integer increments would be missing. I let it run overnight. The next day, all the integers had incremented to the same value, about 550. None were missing.

Both our tests seem to indicate that the problem is elsewhere. Having motion sensors in the mix can certainly be a factor. I suggest that CoolToys try to simplify it down to something more linear (without anything that might cause random triggers, like motion sensors) and/or break it up into several programs that would make it easier to troubleshoot.

Edited by Guy Lavoie
Posted (edited)

@IndyMike, Happy Holidays and thank you for doing the test, it reminded me to double check my final variable to see if the program was finishing. I will watch the PLM to eISY comm more closely after the family leaves. I have been overlooking this.  I do know that the eISY is different that the ISY, and it is why I may go back and give up on adding blinds for now.

Last night the final variable triggered so the program did "finish" however four lights stayed on this time.  Which led me to comm, especially since using mostly scenes in the program to shut down.

Going back, way back in the thread there was a note about scenes not transferring perfectly from the ISY, there was someone who suggested I start over from scratch on the eISY and I may do that.  Last night I went through the four scenes that didn't work properly, and found this interesting tidbit which was and is true of all four scenes.  Two of these were new last night BTW.

Pressing the button next to the bed which was the Controller, turned the lights on and off perfectly.    These are three way set ups with one master and either two slave switches or two slave buttons on keypads or a mix of Master Switch, Slave Switch and Slave Keypad button.

Sending the command from UDI mobile or the AC did not work.  The AC would indicate 60%, On, On and both slaves responded but the master did not.  So the two slaves LED lit up as if they were on, and the lights didn't come on.  Pressing the master also lit up the slaves.  The previous day UDI mobile worked perfectly.

Per the recommendation of the post about transferred scenes not holding the keys, I deleted and rebuilt each of the 6 scenes that have randomly failed over the last three days.  One of the scenes, did not finish writing, so I selected write changes to device and still the same issue.  Now...

Either slave button or the master turns the lights on and off and correctly sets the scene.  The AC shows "65%,On,On"
Turning on the Scene with AC, the devices show "Off, On, On", AC shows "65%,On,On".
Turning on Master Switch with AC, the master sets to 65%, keypads remain off, AC indicates "65%,Off,Off" 

I don't recall this ever being the case with the ISY.  Why doesn't the AC triggering the switch trigger the scene when a physical switch press does?  

For a comm test, I set a button on the other side of the house as a controller and it also turned the scene on and off just fine.  

Since that last reboot, no lights have randomly come back on which is interesting in itself.

Today I am moving the PLM and eISY to another location to see if it is comm, but the scene failures don't indicate that.

I am down to three thoughts today,

1. noise/comm issues (but the errors are way more consistent after rebuilding the 6 scenes),  
2. Possible corrupt program because I didn't migrate correctly from my ISY.  
3. eISY is different logic and I have to do a lot of homework to understand it.

Post Edit - OOPS forgot to sync UDI mobile after rebuilding the scenes.  UDI mobile now works as I expect, only AC that fails when I activate the scene

Edited by CoolToys
Posted

@Guy Lavoie, I thought that way too, but I also used the model demo that @larryllix posted earlier here and if the state in the IF statement changes then the program stops.  

That appears to have been solved by making a simple program and Switched and Status both now work fine.
 

Bedtime Trigger - [ID 001D][Parent 0001]

If
        'MB Window Keypad.On' Status is Off
     Or 'MB Door Keypad 70 9B C0All On' is switched Off
 
Then
        $sBedtime  = 1
 
Else
   - No Actions - (To add one, press 'Action')


And then changing the IF of the Bedtime program to :

 

BedTime - [ID 0016][Parent 0001]

If

        $sBedtime is 1

The program now runs all the way through but not everything is working.  The random relighting appears to have stopped the last few days and I have no explanation why.  

Posted
Quote

Either slave button or the master turns the lights on and off and correctly sets the scene.  The AC shows "65%,On,On"
Turning on the Scene with AC, the devices show "Off, On, On", AC shows "65%,On,On".
Turning on Master Switch with AC, the master sets to 65%, keypads remain off, AC indicates "65%,Off,Off" 

I don't recall this ever being the case with the ISY.  Why doesn't the AC triggering the switch trigger the scene when a physical switch press does?  

When you actuate a device, you are executing a scene.  However, the device will (try to) interrogate each member of the scene to determine if it responded correctly.  If a group member does not respond, the device will try again up to 3 times.  If any device in the scene responds incorrectly, the initiating device (may) retry the command up to 3 times.  If the scene still fails, the device (may) flash red.  When there is high Insteon traffic, the device may abandon the group interrogation.

The ISY does NOT do this.  It sends the Group On command (scene) and does not interrogate the individual group members.  It assumes the command was followed and reflects this status.   

LeeG's description (better than mine): https://forum.universal-devices.com/topic/11690-understanding-retries-in-isy/#findComment-109217 

If you are concerned scenes not responding, you can run the "scene test" under "Tools/diagnostics/Scene Test".  This is a special test that runs the scene ON followed by an OFF followed by a group cleanup on each device.  It's actually not an easy test to pass.

Posted
2 hours ago, IndyMike said:

The ISY does NOT do this.  It sends the Group On command (scene) and does not interrogate the individual group members.  It assumes the command was followed and reflects this status.   

 

That's good to know. I would have thought that the PLM would have done that, not the ISY. That way, a failed scene command could have been reported back to the ISY as a communication error with a device.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

  • Forum Statistics

    • Total Topics
      37.2k
    • Total Posts
      372.5k
×
×
  • Create New...