How to get sensors to report when sleeping -- other systems seem to do it
linus72982 last edited by
I had SimpliSafe for a while and the batteries last a long time (3 1/2 years, no battery change for me in any sensor) -- but the base station, even after a reset, still seems to know when a door sensor is open or closed. I had thought about using the IRQ pin on the radio to wake up the node when a status request was sent, but most people here were saying this is terrible for battery life. How the heck is SimpliSafe keeping batteries lasting for almost 4 years (and maybe longer) but still retain the functionality of detecting what state a sensor is in?
Is it maybe that they have the sensors wake up and report every minute or something? I thought about doing that, 1 second of every 60 seconds powered up shouldn't have too much battery impact, should it?
@linus72982 For a door sensor there is little use in 'polling' the door state from the base station; it's much more efficient to only send the state changes from the sensor to the base station.
That's probably what the SimpliSafe does, so the sensors can powerdown their radios until a door's state changes.
You can achieve the same thing using an nRF24 radio and wire the door contact to an interrupt pin of the AVR.
The AVR and radio will be asleep at very low power until woken by the interrupt. Once an interrupt occurs the sensor will send the new state to the gateway+controller ('base station').
This scenario is very energy efficient and can easily run for a long time without replacing batteries.
See e.g. this example sketch on how to achieve this with MySensors.