Repeat not registering quickly enough [openLuup]

Hi @rigpapa,

I’m trying to use reactor to build a triple click mechanism. I’m running reactor on openluup. If I click the wall button 3 times within 10 seconds, I want my ventilator to turn on.

This seems simple enough. This is my logic summary:

*************************************************** REACTOR LOGIC SUMMARY REPORT ***************************************************
   Version: 3.9develop-20295.1440 config 20263 cdata 20045 ui 20190 pluginDevice 77 LuaXP not loaded
    System: openLuup version 200522 on Linux 3858c2f27237 4.15.0-118-generic #119-Ubuntu SMP Tue Sep 8 12:30:01 UTC 2020 x86_64 GNU/Linux; in ./; loadtime 1461088957/1604747451; systemReady 1604747456; ALTUI v2.50
       Env: Lua 5.1; JSON dkjson 2.5; UnsafeLua=nil/2
Local time: 2020-11-07T13:55:56+0100; DST=0; Zwaag, Europe Nederland; formats %d/%m/%Y %H:%M:%S
House mode: plugin 1; system 1; tracking off
  Sun data: {}
  Geofence: not running
        RS: 1604575388,1604579942,1604580354,1604580717,1604580734,1604580792,1604735850,1604736125,1604746625,1604747451
        NS: 1603957080:D,1603957201:U,1603957320:D,1603957380:U,1603957500:D,1603959120:U,1603959240:D,1603961040:U,1603961160:D,1603962122:U
************************************************************************************************************************************
Reactor Sensor WC (#91)
    Version 20045.12 11/07/20 13:22:35
    Message/status: Not tripped
    Condition group "3 click switch" (OR)  false as of 13:41:08 <root>
      |-F-service WC (10307) urn:upnp-org:serviceId:SwitchPower1/Status = 1 repeats 2 within 10s [1 => 0 at 13:42:26; F/F as of 13:42:26/13:41:08] <cond0>
    Activity root.true
        Notify method PO nid 1: message "Afzuiging AAN"; index="1"
    Events
        2020-11-07 13:26:40.142: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:26:40.143: Sensor update starting
        2020-11-07 13:26:40.143: Condition cond0 test state changed from false to true
        2020-11-07 13:26:40.143: Condition cond0 repeat restriction 2 in 10; so far 2 in 98
        2020-11-07 13:26:40.143: Sensor update completed; 0.000s
        2020-11-07 13:26:44.518: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:26:44.518: Sensor update starting
        2020-11-07 13:26:44.518: Condition cond0 test state changed from true to false
        2020-11-07 13:26:44.518: Sensor update completed; 0.000s
        2020-11-07 13:27:23.869: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Target changed from "0" to "1"
        2020-11-07 13:27:23.869: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:27:23.869: Sensor update starting
        2020-11-07 13:27:23.869: Condition cond0 test state changed from false to true
        2020-11-07 13:27:23.869: Condition cond0 repeat restriction 2 in 10; so far 2 in 43
        2020-11-07 13:27:23.869: Sensor update completed; 0.000s
        2020-11-07 13:27:28.901: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Target changed from "1" to "0"
        2020-11-07 13:27:28.901: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:27:28.901: Sensor update starting
        2020-11-07 13:27:28.901: Condition cond0 test state changed from true to false
        2020-11-07 13:27:28.902: Sensor update completed; 0.000s
        2020-11-07 13:34:10.675: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:34:10.675: Sensor update starting
        2020-11-07 13:34:10.675: Condition cond0 test state changed from false to true
        2020-11-07 13:34:10.675: Condition cond0 repeat restriction 2 in 10; so far 2 in 407
        2020-11-07 13:34:10.675: Sensor update completed; 0.000s
        2020-11-07 13:34:15.702: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:34:15.702: Sensor update starting
        2020-11-07 13:34:15.702: Condition cond0 test state changed from true to false
        2020-11-07 13:34:15.702: Sensor update completed; 0.000s
        2020-11-07 13:40:12.807: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:40:12.808: Sensor update starting
        2020-11-07 13:40:12.808: Condition cond0 test state changed from false to true
        2020-11-07 13:40:12.808: Condition cond0 repeat restriction 2 in 10; so far 2 in 362
        2020-11-07 13:40:12.808: Sensor update completed; 0.000s
        2020-11-07 13:40:17.838: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:40:17.838: Sensor update starting
        2020-11-07 13:40:17.838: Condition cond0 test state changed from true to false
        2020-11-07 13:40:17.838: Sensor update completed; 0.000s
        2020-11-07 13:40:22.888: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:40:22.888: Sensor update starting
        2020-11-07 13:40:22.888: Condition cond0 test state changed from false to true
        2020-11-07 13:40:22.888: Condition cond0 repeat restriction 2 in 10; so far 2 in 10
        2020-11-07 13:40:22.888: Condition cond0 evaluation state changed from false to true
        2020-11-07 13:40:22.888: Group 3 click switch test state changed from false to true
        2020-11-07 13:40:22.888: Group 3 click switch evaluation state changed from false to true
        2020-11-07 13:40:22.888: Preparing 3 click switch.true (root.true) activity
        2020-11-07 13:40:22.888: Launching scene/activity root.true
        2020-11-07 13:40:22.888: Starting "root.true" group 1 at step 1
        2020-11-07 13:40:23.745: Activity "root.true" finished in 0.85699987411499s
        2020-11-07 13:40:23.745: Stopping activity "root.true"
        2020-11-07 13:40:23.745: Changing RS tripped state to true
        2020-11-07 13:40:23.745: Sensor update completed; 0.858s
        2020-11-07 13:40:38.151: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:40:38.153: Sensor update starting
        2020-11-07 13:40:38.153: Condition cond0 test state changed from true to false
        2020-11-07 13:40:38.153: Condition cond0 evaluation state changed from true to false
        2020-11-07 13:40:38.153: Group 3 click switch test state changed from true to false
        2020-11-07 13:40:38.153: Group 3 click switch evaluation state changed from true to false
        2020-11-07 13:40:38.153: Changing RS tripped state to false
        2020-11-07 13:40:38.153: Sensor update completed; 0.001s
        2020-11-07 13:40:48.330: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:40:48.330: Sensor update starting
        2020-11-07 13:40:48.330: Condition cond0 test state changed from false to true
        2020-11-07 13:40:48.330: Condition cond0 repeat restriction 2 in 10; so far 2 in 26
        2020-11-07 13:40:48.331: Sensor update completed; 0.000s
        2020-11-07 13:40:53.444: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:40:53.444: Sensor update starting
        2020-11-07 13:40:53.444: Condition cond0 test state changed from true to false
        2020-11-07 13:40:53.445: Sensor update completed; 0.000s
        2020-11-07 13:40:58.516: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:40:58.516: Sensor update starting
        2020-11-07 13:40:58.516: Condition cond0 test state changed from false to true
        2020-11-07 13:40:58.516: Condition cond0 repeat restriction 2 in 10; so far 2 in 10
        2020-11-07 13:40:58.516: Condition cond0 evaluation state changed from false to true
        2020-11-07 13:40:58.516: Group 3 click switch test state changed from false to true
        2020-11-07 13:40:58.516: Group 3 click switch evaluation state changed from false to true
        2020-11-07 13:40:58.516: Preparing 3 click switch.true (root.true) activity
        2020-11-07 13:40:58.516: Launching scene/activity root.true
        2020-11-07 13:40:58.516: Starting "root.true" group 1 at step 1
        2020-11-07 13:40:59.374: Activity "root.true" finished in 0.85800004005432s
        2020-11-07 13:40:59.374: Stopping activity "root.true"
        2020-11-07 13:40:59.375: Changing RS tripped state to true
        2020-11-07 13:40:59.375: Sensor update completed; 0.859s
        2020-11-07 13:41:08.674: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:41:08.674: Sensor update starting
        2020-11-07 13:41:08.674: Condition cond0 test state changed from true to false
        2020-11-07 13:41:08.674: Condition cond0 evaluation state changed from true to false
        2020-11-07 13:41:08.675: Group 3 click switch test state changed from true to false
        2020-11-07 13:41:08.675: Group 3 click switch evaluation state changed from true to false
        2020-11-07 13:41:08.675: Changing RS tripped state to false
        2020-11-07 13:41:08.675: Sensor update completed; 0.001s
        2020-11-07 13:42:11.345: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
        2020-11-07 13:42:11.346: Sensor update starting
        2020-11-07 13:42:11.347: Condition cond0 test state changed from false to true
        2020-11-07 13:42:11.347: Condition cond0 repeat restriction 2 in 10; so far 2 in 73
        2020-11-07 13:42:11.347: Sensor update completed; 0.000s
        2020-11-07 13:42:26.747: Device WC (#10307) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
        2020-11-07 13:42:26.747: Sensor update starting
        2020-11-07 13:42:26.747: Condition cond0 test state changed from true to false
        2020-11-07 13:42:26.747: Sensor update completed; 0.000s
    Devices
        ZWave (1) urn:schemas-micasaverde-com:device:ZWaveNetwork:1 (19/0); parent 6; plugin -; mfg Mi Casa Verde model GC100; dev D_ZWaveNetwork.xml impl X
        WC (10307) urn:schemas-upnp-org:device:BinaryLight:1 (3/0); parent 1; plugin -; mfg  model ; dev D_BinaryLight1.xml impl X
    Watches
        Device #10307 WC service urn:upnp-org:serviceId:SwitchPower1 variable Status
        Device #10307 WC service urn:upnp-org:serviceId:SwitchPower1 variable Target
        Device #91 Reactor Sensor WC service urn:toggledbits-com:serviceId:ReactorSensor variable cdata
        Device #91 Reactor Sensor WC service urn:toggledbits-com:serviceId:ReactorSensor variable TestTime
        Device #91 Reactor Sensor WC service urn:toggledbits-com:serviceId:ReactorSensor variable TestHouseMode
    Special Configuration
        Retrigger = 0

When I do it slowly and watch the status in reactor, it works. But when I do it quickly, reactor doesn’t seem to pick up the changes. Have you seen this before (in combination with openluup)? Maybe it’s an openluup issue.

@akbooer Could it be that openluup misses the variable change when it is done too fast? Although I’m not doing THAT fast…

Ps. I’m using PLEG on the Vera itself at the moment for this.

I need to wait around 3 sec between the clicks to trigger reactor, when I do it faster a state switch is missed, it seems.

Looks like Reactor is performing correctly when it gets the changes. My first suspicion is that you are configured for short polling (not async), which only updates every 5 seconds by default, and that would not be fast enough.

@akbooer, since I don’t use the VeraBridge, can you advise on how to check and possibly turn on the async polling?

Simply set the device variable AsyncPoll to true and restart.

I assume that means VeraBridge as the device? (So much do I not use it, I don’t even have a VeraBridge device or any of the plugin files).

Yes, indeed (since you could have multiple bridges set differently… I used to have it configured this way!)

1 Like

Wow, that did the trick. Thanks! Openluup keeps getting better :wink:

1 Like

It should improve the overall responsiveness of the whole setup. I didn’t set it as a default because it came late to the implementation and many people’s setups were working quite well enough without the enhancement.