Ghost Security Sensor Trips

So I have had this ghost trip happen almost once a day on a single sensor so I wanted to report the results of a few tests I made here:

  1. Because it is a single sensor, I was wondering if it was caused by a rogue scene hidden somewhere which I could not find. I tried changing the id of that sensor and… no luck so that’s not it. The same sensor would still trip every day or two for with no physical trip so… it is either the sensor itself or the at least one level below the luup logic layer.
  2. I tried replacing the sensor. Luckily I have a spare so I swapped them out. Well, now the problem is affecting another sensor which never had any problem before and now is also only affecting that one sensor. What is the likelyhood that this sensor started failing only after I replaced the other one?

I think something is happening in the luup engine causing these random (in time) ghost trips affecting only a single device at a time. I don’t think the trip command is coming from the sensor. I need to dig out the log the next time it happens.

Edit:

Looking through my logs I am seeing only one event involving the sensor in question and though I have not been able to verify timing, it looks like the engine is doing something very weird:

02 01/28/20 12:33:31.260 e[33;1mZWaveNode::HandlePollUpdate node 4 device 109 skipping bogus class 0x30e[0m <0x7ef80520>
02 01/28/20 12:33:32.189 e[33;1mZWaveNode::HandlePollUpdate node 4 device 109 skipping bogus class 0x30e[0m <0x7ef80520>

I checked what the bogus class 0x30 and found out it is not bogus at all: http://wiki.micasaverde.com/index.php/ZWave_Command_Classes
It is a binary sensor which is exactly what this device is. @edward. What would this happen?

1 Like

That might account for why

  1. One of my Fibaro motion sensors trips then immediately resets when there’s no one there (and it’s in my server room so it would have to be birds. Don’t ask)
  2. One of my door sensors trips and immediately resets. Again, no one there, and I can check on the camera. Plus the alarm doesn’t go off (there is a non vera alarm as well)
  3. Some of my sirens change state randomly

Or not. Just running a quick grep I see bogus class errors
0x30 on my thermostat
0x31 on the fabled Fibaro temp sensors that keep locking up
0x60 on a device I need to hunt down

C

Hi,

I have some Everspring motion sensors and there is nearly always one that will trip when they get armed. For most I ignore it as it happens when the house mode changes to away. But one I arm daily to detect I got in the main room and turn on the radio, lights etc. Quite annoying when that happens at 6 AM instead. It seems that if I replace the battery on that one, the phantom trigger moves to one of the other motion sensors again.

Cheers Rene

Come to think of it’s I’ve been having quite a few random trips with my ZOOZ motion sensors. Was beginning to think my house was haunted!

Looking at a full day of logs, I am seeing all my bogus class entries to be 0x30 binary sensors and are associated with my thermostat (130x), my Aeotec HEM (1x) and the door sensor which had a ghost trip (2x) as posted above.

I did not know these ghost sensor trips were so widespread… thank you guys for reporting! I am down to writing luup code to prevent them at this point but it is a bit insane to have a problem like this. My device in question is set to never be polled and to never wakeup… It is not communicating at all so the vera is changing the device status on its own…

I have some luup code filtering trip, so I’m not sure if I’m experiencing this.
My code is saving the latest state and check if it’s changed before calling my own code. I don’t arm sensors and I write my own logic. Never had any problems. I started because I got false report (re-triggering to be honest) since day 1 (so, almost 4 years ago).

I’ve got 267 instances of bogus classes today

The vast majority are 0x31 on
Temperature sensors
But there are two 0x60 on a plug module.

Tracing back to my last phantom trip there’s no bogus class entry but this is very odd

06	01/21/20 10:28:10.105	Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Armed was: 0 now: 1 #hooks: 0 upnp: 0 skip: 0 v:0x1267d08/NONE duplicate:0 <0x772d1520>
06	01/21/20 10:38:16.111	Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:HaDevice1 variable: WakeupRatings was: 4.15 now: 4.15 #hooks: 0 upnp: 0 skip: 0 v:(nil)/NONE duplicate:1 <0x772d1520>
06	01/21/20 10:43:13.813	Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Armed was: 1 now: 0 #hooks: 0 upnp: 0 skip: 0 v:0x1267d08/NONE duplicate:0 <0x740d1520>

That device should be armed when the house goes into Away mode which is right, but it should not have tripped…

C

Mind sharing exactly what you did? I am seeing sensor trips not associated with armed events. Why does it affect only one sensor? When I arm 2 dozens at a time? Why is it always the same sensors in spite of having dozens of the same type? Why removing this sensor moves the problem to another sensor? I do remember having issues with zooz motion sensors (seemingly always the same 1 or 2) as well but I don’t have any of them. Now it is all on door sensors which I am 100% sure never moved and never transmitted.

I’m not sure why it’s doing this, but after waking up in the middle of the night for a couple of times (I have a light turning on in case one of the doors, garage doors or entryways are open at night) and spent half an hour to check every cams, entryways, etc, I added this code.

I will post it when I’ll be back at my desk.

EDIT: Here’s the code:

D_SECURITYSENSOR = "urn:micasaverde-com:serviceId:SecuritySensor1"

local previousState = luup.variable_get(D_SECURITYSENSOR, "LastState", dID) or "-1"
local newState = luup.variable_get(D_SECURITYSENSOR, "Tripped", dID) or "-1"

local delay = 60 -- in seconds
local lastTrip = luup.variable_get(D_SECURITYSENSOR, "LastTrip", did) or os.time()

if (tonumber(newState) ~= tonumber(previousState)) then
	luup.variable_set(D_SECURITYSENSOR, "LastState", tonumber(newState), dID)
	return true
end

return false

I use it in a function, called when every sensor is tripped. This way, I can trip a device only if it has not tripped. I just have a scene/lua code waiting for the function to return true (not already tripped). My false negatives are zero now. In the past, as I said, I had a lot of trip-untrip-trip sequences, trip-trip and so on, causing lights or announcements to be repeated. I also have another filter function to wait for at least X minutes before untripping, very similar to this, used to avoid continuous on-off cycles.

1 Like

Thanks! It seems to be a different problem from mine so your code would not be helpful. For me it is a sensor which trips out of the blue without any correlation with any previous trip. My code would more to send a warning on the trip first and let the user decide whether to untrip upon arming.

1 Like

Pulling this out of the 7.31 thread cos it was beginning to feel off topic. While looking at why my VP might be reloading I found this:

01	01/28/20 23:10:26.734	UserData::ParseStateList device 80 corrupted service:(null) variable:(null) <0x77b33320>

This is my thermostat. The message seems a bit serious. Thoughts?

C

Digging further into the Luup Reload issues I had another phantom trip of the front door this morning.

I disarmed the system at 0555

|08|01/30/20 5:55:24.257|JobHandler_LuaUPnP::HandleActionRequest device: 225 service: urn:micasaverde-com:serviceId:SecuritySensor1 action: SetArmed <0x752a1520>|
|---|---|---|
|06|01/30/20 5:55:24.257|Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Armed was: 1 now: 0 #hooks: 0 upnp: 0 skip: 0 v:0x112a830/NONE duplicate:0 <0x752a1520>|

We left home at 0702

06	01/30/20 7:02:29.700	Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Tripped was: 0 now: 1 #hooks: 0 upnp: 0 skip: 0 v:0x112b620/NONE duplicate:0 <0x76ea1520>

The reactor we use with iPhone locator set the house away at 0726 (which is great as we were both in the car.

08	01/30/20 7:26:29.917	JobHandler_LuaUPnP::HandleActionRequest device: 0 service: urn:micasaverde-com:serviceId:HomeAutomationGateway1 action: SetHouseMode <0x73aa1520>
02	01/30/20 7:26:29.920	JobHandler_LuaUPnP::SetHouseMode delay mode 2 30 seconds <0x73aa1520>
08	01/30/20 7:26:59.111	JobHandler_LuaUPnP::HandleActionRequest device: 0 service: urn:micasaverde-com:serviceId:HomeAutomationGateway1 action: SetHouseMode <0x76ea1520>

The sensor armed:

06	01/30/20 7:26:59.121	Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Armed was: 0 now: 1 #hooks: 0 upnp: 0 skip: 0 v:0x112a830/NONE duplicate:0 <0x76ea1520>

I then got notification from Vera:
A door/window was opened at 2020-01-30 07:26:59. Reported by Catman’s Plus serial #50103066 device #225 “Front Door” in “Hall”. Alert ID #28036358872

By email, and the log entry:

07	01/30/20 7:27:00.370	RAServerSync::SendAlert 0x3450690 PK_Event 28036358872 retries 0 URL https://vera-us-oem-event11.mios.com/event/event/event age: 1 file:  err: 0 sess: 000000019D90005E33522237C07E6A495089ED serv: vera-us-oem-event11.mios.com/vera-us-oem-event11.mios.com <0x770a1520>

But there’s nothing about the device actually tripping:

|06|01/30/20 7:26:32.107|Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:HaDevice1 variable: WakeupRatings was: 3.88 now: 3.88 #hooks: 0 upnp: 0 skip: 0 v:(nil)/NONE duplicate:1 <0x76ea1520>|
|---|---|---|
|06|01/30/20 7:26:59.121|Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Armed was: 0 now: 1 #hooks: 0 upnp: 0 skip: 0 v:0x112a830/NONE duplicate:0 <0x76ea1520>|
|06|01/30/20 7:41:32.107|Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:HaDevice1 variable: WakeupRatings was: 3.88 now: 3.88 #hooks: 0 upnp: 0 skip: 0 v:(nil)/NONE duplicate:1 <0x76ea1520>|
|06|01/30/20 7:56:32.107|Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:HaDevice1 variable: WakeupRatings was: 3.88 now: 3.88 #hooks: 0 upnp: 0 skip: 0 v:(nil)/NONE duplicate:1 <0x76ea1520>|
|06|01/30/20 8:11:32.107|Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:HaDevice1 variable: WakeupRatings was: 3.88 now: 3.88 #hooks: 0 upnp: 0 skip: 0 v:(nil)/NONE duplicate:1 <0x76ea1520>|
|06|01/30/20 8:26:32.107|Device_Variable::m_szValue_set device: 225 service: urn:micasaverde-com:serviceId:HaDevice1 variable: WakeupRatings was: 3.88 now: 3.88 #hooks: 0 upnp: 0 skip: 0 v:(nil)/NONE duplicate:1 <0x76ea1520>|

Unless I should be grepping for something else other than ‘device: 225’

TIA for any thoughts!

C

Hi @Catman,

I have some thing similar. Now I am thinking. I see your sensor got tripped at 7:02. The Vera sends an alert by default for armed tripped sensors. Yours got armed at 7:26. Do you have a trip redetect interval of more than 25 minutes? In that case the tripped value may still be 1 for all that time when the sensor gets armed. At that moment the ArmedTripped value becomes 1. This value does not come from the sensor. It is a Vera made condition. I would think you’d see an entry in the log for the ArmedTripped value changing which does not seem to be the case, but I also do not see the Tripped changing from 1 back to 0 in your log.

I will pull some more logs on my system too. Problem is the logs rotate so quickly it is all gone once I think about it.

Cheers Rene

Yeah, as I said in the other thread, I had to stop using arm and write my own logic. This may be related to the armedtripped becoming 1 and sending the alert. @edward can you please double check for us? Thanks.

Hi @reneboer no trip redetect that I am aware of. Certainly not in the Reactor, but where would I find such a setting?

The trip at 7:02 BTW was us leaving, so totally expected.
But you’re right, no Tripped was 1 now 0!

Currently my log is running from Jan 18. Log rotation seems to have stopped, so I may force one. Mine get FTPed to my own server anyway.

EDIT: had a stuck lock file from Jan 18. Log rotation back on :slight_smile:
C

Scratching my head as to the relationship between the title and your post… what does it have to do with luup reload?
You are discussing the same ghost trip I am seeing in my other thread which I should split.

I guess it came from that reload thread. So changed.

C

Pulling this out of the 7.31 thread cos it was beginning to feel off topic. While looking at why my VP might be reloading I found this:

01	01/28/20 23:10:26.734	UserData::ParseStateList device 80 corrupted service:(null) variable:(null) <0x77b33320>

This is my thermostat. The message seems a bit serious. Thoughts?

C

I merged the topics. It seems to be a long standing issue which has gone unresolved. I wouldn’t think it is too hard for @edward to look for what can change the trip status of a device and figure out why it can be done by something other than the device itself.

1 Like

I think I know what’s happening with the front door sensor.

For some reason it’s staying in tripped mode.

Looking at the variables it’s showing Tripped = 1 and LastTripped as 0702 this morning. (And the icon has the little red curves above it)

So that mystery is solved but we just have another one as to why it’s stuck in tripped. Seems to have been a bit common doing some googling.

I’ve set it back using the UI and I guess I could use a but of code in a Lua activity to set all sensors to ‘Untripped’ when the security goes armed.

Tried do to it with the code from here:

luup.variable_set(“urn:schemas-micasaverde-com:serviceId:DoorSensor1”, “Tripped”, “0”, 225)

But totally failed. Any ideas as to why would be lovely.

C