Must Reactor be reset and tripped again to keep an long-lasting activity?

I’m setting up a Reactor to heat on a boiler when the requested temperature on one thermostat valve is higher than the measured temperature on the same valve.
The logic is working well, heating on or off depending on the conditions, except that after a while (+/- 1 hour), the boiler is off, although the conditions are requesting it to be heating on.
The Reactor is still in “tripped” mode, but the “True” activity seems being replaced by the “False” one.
The only way to execute the “True” activity is pushing on the “Reset” button, followed by the “Trip” one.
I join the Logic Summary Report :

*************************************************** REACTOR LOGIC SUMMARY REPORT ***************************************************
   Version: 3.4hotfix-19317 config 19226 cdata 19082 ui 19237 pluginDevice 34
    System: Vera version 1.7.4832 on Sercomm NA301; loadtime 1576063013; systemReady 1576063028; Lua 5.1; JSON dkjson 1.2
Local time: 2019-12-11T14:51:35+0100; DST=0; Ottignies, Wallonia Belgium
House mode: plugin 1; system 1; tracking on
  Sun data: 
  Geofence: not running
====================================================================================================================================
T°TropBasseDs1Piece (#36) armed tripped
    Version 19082.49 12/11/19 12:24:01
    Message/status: Tripped
    Variable/expressions
       0: TempMesureeSDB           getstate( "Radiateur SDB", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "22.30"(string)]
       1: TempMesureeBureauAnne    getstate( "Radiateur Anne", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "22.40"(string)]
       2: TempMesureeCuisine       getstate( "Radiateur Cuisine", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "21.40"(string)]
       3: TempMesureeSalon         getstate( "Radiateur Escaliers", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "17.54"(string)]
       4: TempMesureeParents       getstate( "Radiateur Parents", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "15.84"(string)]
       5: TempMesureeEmilien       getstate( "Radiateur Emilien", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "14.07"(string)]
    Condition group "T°demandee>T°mesuree" (OR)  TRUE as of 14:49:48 <root>
      |-F-service Radiateur SDB (8) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeSDB} [22.00 at 14:49:48; F/F as of 14:49:48/14:49:48] <cond0>
      |-T-service Radiateur Anne (14) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeBureauAnne} [23.00 at 14:49:48; T/T as of 14:49:48/14:49:48] <condl232uc5>
      |-F-service Radiateur Cuisine (11) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeCuisine} [21.00 at 14:49:48; F/F as of 14:49:48/14:49:48] <condl233j3t>
      |-F-service Radiateur Escaliers (20) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeSalon} [17.00 at 14:49:48; F/F as of 14:49:48/14:49:48] <condl234dx3>
      |-F-service Radiateur Emilien (17) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeEmilien} [14.00 at 14:49:48; F/F as of 14:49:48/14:49:48] <condl235ma5>
      |-F-service Radiateur Parents (33) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeParents} [11.50 at 14:49:48; F/F as of 14:49:48/14:49:48] <condl2350by>
    Activity root.false
        Device Chaudiere (53) action urn:upnp-org:serviceId:HVAC_UserOperatingMode1/SetModeTarget( NewModeTarget="Off" )
    Activity root.true
        Device Chaudiere (53) action urn:upnp-org:serviceId:HVAC_UserOperatingMode1/SetModeTarget( NewModeTarget="HeatOn" )
    Events
        12/11/19 14:21:15 devicewatch: device=20, old="17.31", name=Radiateur Escaliers, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.43"
        12/11/19 14:21:15 variable: oldval=17.31, variable=TempMesureeSalon, newval=17.43
        12/11/19 14:25:59 devicewatch: device=17, old="14.21", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="14.18"
        12/11/19 14:25:59 variable: oldval=14.21, variable=TempMesureeEmilien, newval=14.18
        12/11/19 14:35:48 devicewatch: device=17, old="14.18", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="14.12"
        12/11/19 14:35:48 variable: oldval=14.18, variable=TempMesureeEmilien, newval=14.12
        12/11/19 14:36:37 devicewatch: device=33, old="15.73", name=Radiateur Parents, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="15.84"
        12/11/19 14:36:37 variable: oldval=15.73, variable=TempMesureeParents, newval=15.84
        12/11/19 14:40:53 devicewatch: device=20, old="17.43", name=Radiateur Escaliers, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.54"
        12/11/19 14:40:53 variable: oldval=17.43, variable=TempMesureeSalon, newval=17.54
        12/11/19 14:45:37 devicewatch: device=17, old="14.12", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="14.07"
        12/11/19 14:45:37 variable: oldval=14.12, variable=TempMesureeEmilien, newval=14.07
        12/11/19 14:49:39 action: action=SetEnabled, state=0
        12/11/19 14:49:47 action: action=SetEnabled, state=1
        12/11/19 14:49:47 action: action=Restart
        12/11/19 14:49:47 start: 
        12/11/19 14:49:48 variable: newval=22.30, variable=TempMesureeSDB
        12/11/19 14:49:48 variable: newval=22.40, variable=TempMesureeBureauAnne
        12/11/19 14:49:48 variable: newval=21.40, variable=TempMesureeCuisine
        12/11/19 14:49:48 variable: newval=17.54, variable=TempMesureeSalon
        12/11/19 14:49:48 variable: newval=15.84, variable=TempMesureeParents
        12/11/19 14:49:48 variable: newval=14.07, variable=TempMesureeEmilien
        12/11/19 14:49:48 condchange: newState=false, cond=cond0
        12/11/19 14:49:48 evalchange: newState=false, cond=cond0
        12/11/19 14:49:48 condchange: newState=true, cond=condl232uc5
        12/11/19 14:49:48 evalchange: newState=true, cond=condl232uc5
        12/11/19 14:49:48 condchange: newState=false, cond=condl233j3t
        12/11/19 14:49:48 evalchange: newState=false, cond=condl233j3t
        12/11/19 14:49:48 condchange: newState=false, cond=condl234dx3
        12/11/19 14:49:48 evalchange: newState=false, cond=condl234dx3
        12/11/19 14:49:48 condchange: newState=false, cond=condl235ma5
        12/11/19 14:49:48 evalchange: newState=false, cond=condl235ma5
        12/11/19 14:49:48 condchange: newState=false, cond=condl2350by
        12/11/19 14:49:48 evalchange: newState=false, cond=condl2350by
        12/11/19 14:49:48 condchange: newState=true, cond=root
        12/11/19 14:49:48 evalchange: newState=true, cond=root
        12/11/19 14:50:05 action: action=Restart
        12/11/19 14:50:05 start: 
        12/11/19 14:50:23 action: action=SetArmed, state=0
        12/11/19 14:50:29 action: action=SetArmed, state=1
        12/11/19 14:50:50 action: action=Reset
        12/11/19 14:50:50 sensorstate: state=false
        12/11/19 14:50:50 startscene: scene=root.false, sceneName=root.false
        12/11/19 14:50:50 runscene: scene=root.false, sceneName=root.false, group=1, notice=Starting scene group 1
        12/11/19 14:50:50 endscene: scene=root.false, sceneName=root.false
        12/11/19 14:51:02 action: action=Trip
        12/11/19 14:51:02 sensorstate: state=true
        12/11/19 14:51:02 startscene: scene=root.true, sceneName=root.true
        12/11/19 14:51:02 runscene: scene=root.true, sceneName=root.true, group=1, notice=Starting scene group 1
        12/11/19 14:51:02 endscene: scene=root.true, sceneName=root.true
    Devices
        Radiateur Anne (14) urn:schemas-upnp-org:device:Heater:1 (5/2); parent 1; plugin -
        Radiateur SDB (8) urn:schemas-upnp-org:device:Heater:1 (5/2); parent 1; plugin -
        Radiateur Emilien (17) urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1 (5/1); parent 1; plugin -
        Radiateur Escaliers (20) urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1 (5/1); parent 1; plugin -
        Radiateur Parents (33) urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1 (5/1); parent 1; plugin -
        Radiateur Cuisine (11) urn:schemas-upnp-org:device:Heater:1 (5/2); parent 1; plugin -
        ZWave (1) urn:schemas-micasaverde-com:device:ZWaveNetwork:1 (19/0); parent 0; plugin -

Thank you in advance for your recommendation,

Reactor states are persistent until there is a relevant change.

It’s hard to tell what happened externally from the Logic Summary posted (thank you!), but if you follow along, there seem to be some manual trips and resets coming from some external source, some playing with the arming state of the sensor, etc. The reset for sure will make the false activity run and turn the heater off.

Indeed, I pushed on the different buttons (Disable, Enable, UnArm, Arm, Reset, Trip).
Only pushing on Reset then Trip is launching the boiler again.
But it stops after a while.
K.r,

OK. Let it run. If it stops unexpectedly again, go immediately to the ReactorSensor, run a Logic Summary, and post it here. Don’t push any other buttons or modify any configs before making the report.

Here is another Logic Summary, after an unwanted switch off.
I’m guessing a problem with the switch.
Thank you in advance,
Eric

*************************************************** REACTOR LOGIC SUMMARY REPORT ***************************************************
   Version: 3.4hotfix-19317 config 19226 cdata 19082 ui 19237 pluginDevice 34
    System: Vera version 1.7.4832 on Sercomm NA301; loadtime 1576222437; systemReady 1576222451; Lua 5.1; JSON dkjson 1.2
Local time: 2019-12-13T09:38:39+0100; DST=0; Ottignies, Wallonia Belgium
House mode: plugin 1; system 1; tracking on
  Sun data: 
  Geofence: not running
====================================================================================================================================
T°TropBasseDs1Piece (#36) armed tripped
    Version 19082.62 12/12/19 21:41:00
    Message/status: Tripped
    Variable/expressions
       0: TempMesureeSDB           getstate( "Radiateur SDB", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "20.50"(string)]
       1: TempMesureeBureauAnne    getstate( "Radiateur Anne", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "19.90"(string)]
       2: TempMesureeCuisine       getstate( "Radiateur Cuisine", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "20.60"(string)]
       3: TempMesureeSalon         getstate( "Radiateur Escaliers", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "17.07"(string)]
       4: TempMesureeParents       getstate( "Radiateur Parents", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "14.07"(string)]
       5: TempMesureeEmilien       getstate( "Radiateur Emilien", "urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ) [last "17.32"(string)]
    Condition group "T°demandee>T°mesuree" (OR)  TRUE as of 06:15:50 <root>
      |-T-service Radiateur SDB (8) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeSDB} [16.00 => 21.00 at 06:40:27; T/T as of 06:40:27/06:40:27] <cond0>
      |-T-service Radiateur Cuisine (11) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeCuisine} [16.00 => 21.00 at 09:03:53; T/T as of 09:03:53/09:03:53] <condl233j3t>
      |-F-service Radiateur Escaliers (20) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeSalon} [15.00 => 17.00 at 08:15:14; F/F as of 09:14:07/09:14:07] <condl234dx3>
      |-F-service Radiateur Parents (33) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeParents} [14.00 => 4.50 at 22:03:26; F/F as of 21:24:32/21:24:32] <condl2350by>
      |-T-service Radiateur Emilien (17) urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint > {TempMesureeEmilien} [14.00 => 19.00 at 08:33:29; T/T as of 08:33:29/08:33:29] <condl235ma5>
    Activity root.false
        Device Chaudiere (53) action urn:upnp-org:serviceId:HVAC_UserOperatingMode1/SetModeTarget( NewModeTarget="Off" )
        Device Television (26) action urn:upnp-org:serviceId:SwitchPower1/SetTarget( newTargetValue="0" )
    Activity root.true
        Device Chaudiere (53) action urn:upnp-org:serviceId:HVAC_UserOperatingMode1/SetModeTarget( NewModeTarget="HeatOn" )
        Device Television (26) action urn:upnp-org:serviceId:SwitchPower1/SetTarget( newTargetValue="1" )
    Events
        12/13/19 08:34:50 variable: oldval=16.70, variable=TempMesureeCuisine, newval=20.60
        12/13/19 08:34:50 condchange: newState=false, cond=condl233j3t, oldState=true
        12/13/19 08:34:50 evalchange: newState=false, cond=condl233j3t, oldState=true
        12/13/19 08:34:51 devicewatch: device=20, old="16.40", name=Radiateur Escaliers, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="16.62"
        12/13/19 08:34:51 variable: oldval=16.40, variable=TempMesureeSalon, newval=16.62
        12/13/19 08:35:20 devicewatch: device=14, old="19.60", name=Radiateur Anne, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="19.90"
        12/13/19 08:35:20 variable: oldval=19.60, variable=TempMesureeBureauAnne, newval=19.90
        12/13/19 08:43:18 devicewatch: device=17, old="15.06", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="15.67"
        12/13/19 08:43:18 variable: oldval=15.06, variable=TempMesureeEmilien, newval=15.67
        12/13/19 08:44:59 devicewatch: device=33, old="14.04", name=Radiateur Parents, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="14.15"
        12/13/19 08:44:59 variable: oldval=14.04, variable=TempMesureeParents, newval=14.15
        12/13/19 08:53:08 devicewatch: device=17, old="15.67", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="16.76"
        12/13/19 08:53:08 variable: oldval=15.67, variable=TempMesureeEmilien, newval=16.76
        12/13/19 08:54:29 devicewatch: device=20, old="16.62", name=Radiateur Escaliers, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="16.94"
        12/13/19 08:54:29 variable: oldval=16.62, variable=TempMesureeSalon, newval=16.94
        12/13/19 08:54:57 devicewatch: device=11, old="18.00", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="18.0"
        12/13/19 08:55:00 devicewatch: device=11, old="18.0", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="16.00"
        12/13/19 08:55:01 devicewatch: device=11, old="16.00", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="18.00"
        12/13/19 08:56:59 devicewatch: device=11, old="18.00", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="18.0"
        12/13/19 08:57:01 devicewatch: device=11, old="18.0", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="16.00"
        12/13/19 08:59:51 devicewatch: device=11, old="16.00", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="16.0"
        12/13/19 08:59:54 devicewatch: device=11, old="16.0", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="16.00"
        12/13/19 09:00:30 devicewatch: device=11, old="16.00", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="21.00"
        12/13/19 09:00:30 condchange: newState=true, cond=condl233j3t, oldState=false
        12/13/19 09:00:30 evalchange: newState=true, cond=condl233j3t, oldState=false
        12/13/19 09:02:51 devicewatch: device=11, old="21.00", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="21.0"
        12/13/19 09:02:58 devicewatch: device=17, old="16.76", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.11"
        12/13/19 09:02:58 variable: oldval=16.76, variable=TempMesureeEmilien, newval=17.11
        12/13/19 09:03:02 devicewatch: device=11, old="21.0", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="16.00"
        12/13/19 09:03:02 condchange: newState=false, cond=condl233j3t, oldState=true
        12/13/19 09:03:02 evalchange: newState=false, cond=condl233j3t, oldState=true
        12/13/19 09:03:53 devicewatch: device=11, old="16.00", name=Radiateur Cuisine, var=urn:upnp-org:serviceId:TemperatureSetpoint1/CurrentSetpoint, new="21.00"
        12/13/19 09:03:53 condchange: newState=true, cond=condl233j3t, oldState=false
        12/13/19 09:03:53 evalchange: newState=true, cond=condl233j3t, oldState=false
        12/13/19 09:04:26 devicewatch: device=33, old="14.15", name=Radiateur Parents, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="14.13"
        12/13/19 09:04:26 variable: oldval=14.15, variable=TempMesureeParents, newval=14.13
        12/13/19 09:12:49 devicewatch: device=17, old="17.11", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.19"
        12/13/19 09:12:49 variable: oldval=17.11, variable=TempMesureeEmilien, newval=17.19
        12/13/19 09:14:07 devicewatch: device=20, old="16.94", name=Radiateur Escaliers, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.08"
        12/13/19 09:14:07 variable: oldval=16.94, variable=TempMesureeSalon, newval=17.08
        12/13/19 09:14:07 condchange: newState=false, cond=condl234dx3, oldState=true
        12/13/19 09:14:07 evalchange: newState=false, cond=condl234dx3, oldState=true
        12/13/19 09:22:40 devicewatch: device=17, old="17.19", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.18"
        12/13/19 09:22:40 variable: oldval=17.19, variable=TempMesureeEmilien, newval=17.18
        12/13/19 09:23:52 devicewatch: device=33, old="14.13", name=Radiateur Parents, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="14.07"
        12/13/19 09:23:53 variable: oldval=14.13, variable=TempMesureeParents, newval=14.07
        12/13/19 09:32:31 devicewatch: device=17, old="17.18", name=Radiateur Emilien, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.32"
        12/13/19 09:32:31 variable: oldval=17.18, variable=TempMesureeEmilien, newval=17.32
        12/13/19 09:33:45 devicewatch: device=20, old="17.08", name=Radiateur Escaliers, var=urn:upnp-org:serviceId:TemperatureSensor1/CurrentTemperature, new="17.07"
        12/13/19 09:33:46 variable: oldval=17.08, variable=TempMesureeSalon, newval=17.07
    Devices
        ZWave (1) urn:schemas-micasaverde-com:device:ZWaveNetwork:1 (19/0); parent 0; plugin -
        Radiateur SDB (8) urn:schemas-upnp-org:device:Heater:1 (5/2); parent 1; plugin -
        Radiateur Emilien (17) urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1 (5/1); parent 1; plugin -
        Radiateur Escaliers (20) urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1 (5/1); parent 1; plugin -
        Radiateur Cuisine (11) urn:schemas-upnp-org:device:Heater:1 (5/2); parent 1; plugin -
        Radiateur Parents (33) urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1 (5/1); parent 1; plugin -

That’s indeed a behaviour of my switch : (extract from the manual)
" The SSR303 has a failsafe mode where by the relay is turned off if a command has not been received within 60 minutes"
How can I “reactivate” the activity every 59 minutes ?
K.r,
Eric

Indeed. No evidence in the event log that the “off” (false) activity is being run by Reactor.

OK, to get repeated run of the “on” activity takes a little surgery… you need a little different structure. Follow this very closely.

  1. Remove the “root is TRUE” activity that turns the switch “on”. We going to move that elsewhere later.
  2. Move the “root is FALSE” activity that turns the switch “off” to the “T°demandee>T°mesuree is FALSE” activity.
  3. Create a new group (at top level, in “root”) called “Repeat Switch On” with AND operator
  4. Add a “Group State” condition to the new group, for “this ReactorSensor”, select “T°demandee>T°mesuree” and operator “is TRUE”
  5. Add an Interval condition to the new group, set timing to 59 (or whatever–I suggest 30), and “relative to condition is TRUE”, and choose the Group State condition from the previous step.
  6. Save.
  7. Go the to Acitvities tab, and put your switch on action in the “Repeat Switch On” activity.

It will end up having a condition structure similar to this…

And Activities will look something like this…

Edit: By the way, as of 3.5, the “pulse” output mode option for conditions will allow repeats, so it will basically make a single condition work like the condition+Interval pair–a shortcut, if you will.

I implemented your (non-edited) proposal and it seems working fine for 2h now.
Many thanks for your help !
Reactor is very powerful :+1:
Eric

1 Like