Let’s take a zigbee PIR as an example.
Is there any way for the zigbee integration to inquire about the status of an individual PIR?
To put this question in context, say you have an array of 5 PIR’s set up but you are tired of false triggers so you want to implement a system to suppress false triggers.
The idea is that at least two of the PIR’s have to report motion before the system recognizes that motion is valid.
I like working with node red so my idea would be implemented as follows:
If any PIR reports motion a counter is incremented by one. If any PIR reports a ‘no motion’ event the counter is decremented by one. If the counter goes higher than one, a message gets fired that motion was detected.
My problem is what happen when one of the PIR’s gets a low battery and manages to send a ‘motion detected’ message but fails to send the ‘no motion detected’ message. This would also happen any time he battery is changed. The counter would go out of sync and the entire idea of preventing false triggers would break down.
What I am wondering is that if my counter does not reach zero within an acceptable time frame (let’s say 5 minutes) can I somehow interrogate all PIR’s to determine what their current status is? If a PIR does not report back I can somehow compensate for that. Alternatively, if all PIR’s report ‘no motion’ and my counter is non zero I can set it to zero.
Has anybody implemented a system that requires more than one PIR to agree that motion is happening before triggering an output ?