Hi @rigpapa , today my reactor sensor that notifies us of the garage opening or closing (via app and Alexa TTS) went completely mental for a while - it’s a very very simple sensor but was flapping like crazy and I had to disable it for a while as it was annoying the wife. I havent changed the way it works in months.
I forced a Luup Reload and waited 10 mins while I went thru the logs - I’m not sure why it was flapping but im assuming it’s a Vera issue even tho the Vera device (garage) did not appear to be changing state in the UI or app.
Any ideas an what to look for if it does it again? Everything else was fine and there was nothing obvious in the logs.
```
*************************************************** REACTOR LOGIC SUMMARY REPORT ***************************************************
Version: 3.5 config 20017 cdata 20045 ui 20045 pluginDevice 120 LuaXP not loaded
System: Vera version 1.7.4970 (7.31) on Sercomm G450 ID 36 (Vera Plus); loadtime 1584328379; systemReady 1584328419; Lua 5.1; JSON dkjson 1.2; UnsafeLua=nil
Local time: 2020-03-16T17:07:46+1100; DST=1; Kilsyth, Victoria Australia; formats %Y-%m-%d %H:%M:%S
House mode: plugin 1; system 1; tracking on
Sun data: { "source": "int", "civdawn": 1584301891, "nautdawn": 1584300043, "sunset": 1584347819, "nautdusk": 1584351243, "stamp": 2020076, "latitude": -37.804519, "astrodusk": 1584353125, "longitude": 145.331965, "civdusk": 1584349395, "astrodawn": 1584298161, "sunrise": 1584303467 }
Geofence: not running
************************************************************************************************************************************
TTS - Garage Open (#123)
Version 19082.19 03/12/20 16:38:28
Message/status: Not tripped
Condition group "Door Monitor" (OR) false as of 14:04:02 <root>
|-F-group "Door Open" (AND) false as of 14:04:02 <grpdhrvxj4>
| &-F-service Garage Door (66) urn:upnp-org:serviceId:SwitchPower1/Status = 1 for ge 1800s [0 => 1 at 16:44:02; T/F as of 16:44:02/14:04:02] <cond165c8076262>
Activity grpdhrvxj4.true
Run Lua:
1: luup.call_action("urn:dlna-org:serviceId:DLNAMediaController1", "Say", {Text="The Garage door has been open for 30 minutes", Volume=50, GroupZones="Kitchen", Repeat = 1}, 388)
2: luup.call_action("urn:dlna-org:serviceId:DLNAMediaController1", "Say", {Text="The Garage door has been open for 30 minutes", Volume=50, GroupZones="Lounge Room", Repeat = 1}, 388)
3: luup.call_action("urn:dlna-org:serviceId:DLNAMediaController1", "Say", {Text="The Garage door has been open for 30 minutes", Volume=50, GroupZones="Garage", Repeat = 1}, 388)
Events
2020-03-16 14:13:34: Reactor startup (Luup reload)
2020-03-16 14:13:35: Starting (Luup Startup/Reload)
2020-03-16 15:01:10: Device Garage Door (#66) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
2020-03-16 15:01:10: Condition cond165c8076262 test state changed from false to true
2020-03-16 15:01:10: Condition cond165c8076262 holding evaluation state for check that duration >= 1800 (1800 to go)
2020-03-16 15:02:17: Device Garage Door (#66) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
2020-03-16 15:02:17: Condition cond165c8076262 test state changed from true to false
2020-03-16 15:42:51: Device Garage Door (#66) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
2020-03-16 15:42:51: Condition cond165c8076262 test state changed from false to true
2020-03-16 15:42:51: Condition cond165c8076262 holding evaluation state for check that duration >= 1800 (1800 to go)
2020-03-16 15:45:48: Device Garage Door (#66) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
2020-03-16 15:45:48: Condition cond165c8076262 test state changed from true to false
2020-03-16 16:44:02: Device Garage Door (#66) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
2020-03-16 16:44:02: Condition cond165c8076262 test state changed from false to true
2020-03-16 16:44:02: Condition cond165c8076262 holding evaluation state for check that duration >= 1800 (1800 to go)
Devices
ZWave (1) urn:schemas-micasaverde-com:device:ZWaveNetwork:1 (19/0); parent 0; plugin -; mfg model ; dev D_ZWaveNetwork.xml impl
Garage Door (66) urn:schemas-upnp-org:device:BinaryLight:1 (32/5); parent 1; plugin -; mfg Aeotec model ZW062; dev D_BinaryLight1.xml impl
Watches
Device #123 TTS - Garage Open service urn:toggledbits-com:serviceId:ReactorSensor variable TestHouseMode
Device #123 TTS - Garage Open service urn:toggledbits-com:serviceId:ReactorSensor variable cdata
Device #123 TTS - Garage Open service urn:toggledbits-com:serviceId:ReactorSensor variable TestTime
Device #66 Garage Door service urn:upnp-org:serviceId:SwitchPower1 variable Status
Special Configuration
UseReactorScenes = 1
Retrigger = 0
FailOnTrouble = 0
ContinuousTimer = 0
```
I would recommend a luup reload… This is very similar to the ghost sensor trip thread and looks like a memory corruption issue on the vera. Nothing to do with reactor.
I suppose it has stopped flapping now? Maybe after you did a luup reload?
Had another bout today - I suspect the issue is Vera but here’s the summary anyway (removed as it didnt cover the events):
Again the garage state didn’t appear to be flapping in the iOS UI and this time I resolved it by actually opening then closing the Garage Door from the app.
General advice: any time a ReactorSensor isn’t doing what you want it to do, you need to run, not walk, to the Tools tab and grab the Logic Summary. Look at the Events section–it lists every device change received, and every response to those changes, so you can trace the source of the response. Do not restart the sensor, restart Luup, or reboot the Vera before pulling the Logic Summary. By default, the Events log is an in-memory structure, so anything like that will erase the log.
There is a way to persist an Events log, however, and log more data (by default, the Events log keeps only the last 100 events). Turn on logging to file by setting LogEventsToFile on your ReactorSensor to “1” (0 turns it off). Watch your disk space! The default max log size is 256KB, and should not be a problem even for tight systems, but be careful if you enable this on multiple RSs, because each one gets its own 256KB log!
I think something screwy is going on with either the controller or Vera as it happened again a few mins ago:
```
*************************************************** REACTOR LOGIC SUMMARY REPORT ***************************************************
Version: 3.5 config 20017 cdata 20045 ui 20045 pluginDevice 120 LuaXP not loaded
System: Vera version 1.7.4970 (7.31) on Sercomm G450 ID 36 (Vera Plus); loadtime 1584409410; systemReady 1584409435; Lua 5.1; JSON dkjson 1.2; UnsafeLua=nil
Local time: 2020-03-18T08:33:58+1100; DST=1; Kilsyth, Victoria Australia; formats %Y-%m-%d %H:%M:%S
House mode: plugin 1; system 1; tracking on
Sun data: { "source": "int", "civdawn": 1584474804, "nautdawn": 1584472962, "sunset": 1584520435, "nautdusk": 1584523852, "stamp": 2020078, "latitude": -37.804519, "astrodusk": 1584525725, "longitude": 145.331965, "civdusk": 1584522009, "astrodawn": 1584471089, "sunrise": 1584476379 }
Geofence: not running
************************************************************************************************************************************
Garage Sensor (#121) tripped
Version 19082.9 03/02/20 20:56:22
Message/status: Tripped
Condition group "Garage Status" (AND) TRUE as of 08:33:41 <root>
&-T-group "Closed" (AND) TRUE as of 08:33:41 <grpmr03tl6>
| &-T-service Garage Door (66) urn:upnp-org:serviceId:SwitchPower1/Status = 0 for ge 8s [1 => 0 at 08:33:33; T/T as of 08:33:33/08:33:41] <cond165c802679a>
Activity root.false
Run Lua:
1: luup.call_action("urn:dlna-org:serviceId:DLNAMediaController1", "Say", {Text="Garage Door is now Open", Volume=50, GroupZones="Kitchen", Repeat = 1}, 388)
Activity root.true
Run Lua:
1: luup.call_action("urn:dlna-org:serviceId:DLNAMediaController1", "Say", {Text="Garage Door is now Closed", Volume=50, GroupZones="Kitchen", Repeat = 1}, 388)
Events
<SNIP>
2020-03-18 08:28:02: Restart action invoked; clearing state and restarting ReactorSensor
2020-03-18 08:28:02: Restarting
2020-03-18 08:28:04: Condition cond165c802679a test state changed from (nil) to true
2020-03-18 08:28:04: Condition cond165c802679a holding evaluation state for check that duration >= 8 (8 to go)
2020-03-18 08:28:04: Condition cond165c802679a evaluation state changed from (nil) to false
2020-03-18 08:28:04: Group Closed test state changed from (nil) to false
2020-03-18 08:28:04: Group Closed evaluation state changed from (nil) to false
2020-03-18 08:28:04: Group Garage Status test state changed from (nil) to false
2020-03-18 08:28:04: Group Garage Status evaluation state changed from (nil) to false
2020-03-18 08:28:04: Launching Garage Status.false activity
2020-03-18 08:28:04: Launching scene/activity root.false
2020-03-18 08:28:04: Starting "root.false" group 1
2020-03-18 08:28:07: Activity "root.false" finished
2020-03-18 08:28:07: Changing RS tripped state to false
2020-03-18 08:28:12: Condition cond165c802679a successfully sustained for at least 8 seconds (actual 8)
2020-03-18 08:28:12: Condition cond165c802679a evaluation state changed from false to true
2020-03-18 08:28:12: Group Closed test state changed from false to true
2020-03-18 08:28:12: Group Closed evaluation state changed from false to true
2020-03-18 08:28:12: Group Garage Status test state changed from false to true
2020-03-18 08:28:12: Group Garage Status evaluation state changed from false to true
2020-03-18 08:28:12: Launching Garage Status.true activity
2020-03-18 08:28:12: Launching scene/activity root.true
2020-03-18 08:28:12: Starting "root.true" group 1
2020-03-18 08:28:14: Activity "root.true" finished
2020-03-18 08:28:14: Changing RS tripped state to true
2020-03-18 08:29:03: Restart action invoked; clearing state and restarting ReactorSensor
2020-03-18 08:29:03: Restarting
2020-03-18 08:29:04: Condition cond165c802679a test state changed from (nil) to true
2020-03-18 08:29:04: Condition cond165c802679a holding evaluation state for check that duration >= 8 (8 to go)
2020-03-18 08:29:04: Condition cond165c802679a evaluation state changed from (nil) to false
2020-03-18 08:29:04: Group Closed test state changed from (nil) to false
2020-03-18 08:29:04: Group Closed evaluation state changed from (nil) to false
2020-03-18 08:29:04: Group Garage Status test state changed from (nil) to false
2020-03-18 08:29:04: Group Garage Status evaluation state changed from (nil) to false
2020-03-18 08:29:04: Launching Garage Status.false activity
2020-03-18 08:29:04: Launching scene/activity root.false
2020-03-18 08:29:04: Starting "root.false" group 1
2020-03-18 08:29:07: Activity "root.false" finished
2020-03-18 08:29:07: Changing RS tripped state to false
2020-03-18 08:29:12: Condition cond165c802679a successfully sustained for at least 8 seconds (actual 8)
2020-03-18 08:29:12: Condition cond165c802679a evaluation state changed from false to true
2020-03-18 08:29:12: Group Closed test state changed from false to true
2020-03-18 08:29:12: Group Closed evaluation state changed from false to true
2020-03-18 08:29:12: Group Garage Status test state changed from false to true
2020-03-18 08:29:12: Group Garage Status evaluation state changed from false to true
2020-03-18 08:29:12: Launching Garage Status.true activity
2020-03-18 08:29:12: Launching scene/activity root.true
2020-03-18 08:29:12: Starting "root.true" group 1
2020-03-18 08:29:14: Activity "root.true" finished
2020-03-18 08:29:14: Changing RS tripped state to true
2020-03-18 08:29:24: Device Garage Door (#66) urn:upnp-org:serviceId:SwitchPower1/Status changed from "0" to "1"
2020-03-18 08:29:24: Condition cond165c802679a test state changed from true to false
2020-03-18 08:29:24: Condition cond165c802679a evaluation state changed from true to false
2020-03-18 08:29:24: Group Closed test state changed from true to false
2020-03-18 08:29:24: Group Closed evaluation state changed from true to false
2020-03-18 08:29:24: Group Garage Status test state changed from true to false
2020-03-18 08:29:24: Group Garage Status evaluation state changed from true to false
2020-03-18 08:29:24: Launching Garage Status.false activity
2020-03-18 08:29:24: Launching scene/activity root.false
2020-03-18 08:29:24: Starting "root.false" group 1
2020-03-18 08:29:27: Activity "root.false" finished
2020-03-18 08:29:27: Changing RS tripped state to false
2020-03-18 08:33:33: Device Garage Door (#66) urn:upnp-org:serviceId:SwitchPower1/Status changed from "1" to "0"
2020-03-18 08:33:33: Condition cond165c802679a test state changed from false to true
2020-03-18 08:33:33: Condition cond165c802679a holding evaluation state for check that duration >= 8 (8 to go)
2020-03-18 08:33:41: Condition cond165c802679a successfully sustained for at least 8 seconds (actual 8)
2020-03-18 08:33:41: Condition cond165c802679a evaluation state changed from false to true
2020-03-18 08:33:41: Group Closed test state changed from false to true
2020-03-18 08:33:41: Group Closed evaluation state changed from false to true
2020-03-18 08:33:41: Group Garage Status test state changed from false to true
2020-03-18 08:33:41: Group Garage Status evaluation state changed from false to true
2020-03-18 08:33:41: Launching Garage Status.true activity
2020-03-18 08:33:41: Launching scene/activity root.true
2020-03-18 08:33:41: Starting "root.true" group 1
2020-03-18 08:33:43: Activity "root.true" finished
2020-03-18 08:33:43: Changing RS tripped state to true
Devices
ZWave (1) urn:schemas-micasaverde-com:device:ZWaveNetwork:1 (19/0); parent 0; plugin -; mfg model ; dev D_ZWaveNetwork.xml impl
Garage Door (66) urn:schemas-upnp-org:device:BinaryLight:1 (32/5); parent 1; plugin -; mfg Aeotec model ZW062; dev D_BinaryLight1.xml impl
Watches
Device #121 Garage Sensor service urn:toggledbits-com:serviceId:ReactorSensor variable TestTime
Device #121 Garage Sensor service urn:toggledbits-com:serviceId:ReactorSensor variable TestHouseMode
Device #121 Garage Sensor service urn:toggledbits-com:serviceId:ReactorSensor variable cdata
Device #66 Garage Door service urn:upnp-org:serviceId:SwitchPower1 variable Status
Special Configuration
UseReactorScenes = 1
Retrigger = 0
FailOnTrouble = 0
ContinuousTimer = 0
```
Sorry, there are restarts of the RS in here (which is something I said not to do). You have false actions, which is going to make it chatty after restarts. There’s no evidence of anything I would call “flapping” here, but maybe I need a more clear description of the problem? I don’t see anything wrong here. If you turned on the log file, maybe that captured what was going on before you did the restarts?
I haven’t touched the sensor other than to grab the logic summary - all I’ve done is manually forced my garage door open or closed to provide a legitimate state change.
I wasnt able to turn on logging before this happened (was busy getting kids ready for school) but it is on now.
Hmmm… did you code that action somewhere for some reason? Because something is restarting it, and the way the actions are set up, it will “Say” on every restart.
Wait a second… are you playing with Test Time and Test House Mode? The RS is watching those, which indicates they’ve been used. Changing those causes a restart of the RS, and because you have an “is FALSE” action, every restart of the RS will cause a Say…
OK. Well something caused two restarts of that ReactorSensor, it’s plain as day in the Events in the logic summary. And that would make your Say commands in the “is FALSE” activity run, and that likely is the cause of the annoyance to your spouse. As far as I can see, Reactor isn’t doing anything wrong here.
Unfortunately, I don’t think I can help here. There are two questions here that you need to answer: what’s up with those 3am notifications, which suggest the system itself thinks the device is changing; and where are those ReactorSensor restart actions coming from. Have you done all the usual health checks on your system… disk space, combed through the logs looking for red, etc.?