Thanks for the explanation - very neat graphs as well!
For motion, did you consider sending a byte value that increments when there is motion? That way you'll always know if there was motion, unless you manage to miss 256 packets in a row!
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Thanks for the explanation - very neat graphs as well!
For motion, did you consider sending a byte value that increments when there is motion? That way you'll always know if there was motion, unless you manage to miss 256 packets in a row!
Also, by removing the name (see http://www.espruino.com/Reference#l_NRF_setAdvertising) you can get a little bit more space for advertising data.
With a bit of care you could probably convert all your readings into bytes (ranged 0 to 255) and stick them all in one big characteristic:
Then decode it on the Pi - either my modifying EspruinoHub or maybe just with node-red.
It'd be a lot more efficient than sending ASCII strings.
The current method will work well though - but I wouldn't bank on getting the full 1 year battery life out of it :)