So I bought an RV....

So I bought an RV....

Tags
Projects
Software Development
OSS
Data Visualization
Published
October 3, 2021
Author
Randall Hand
URL
A few months back, Laura talked me into buying an old RV from a friend of ours.  WE thought it would be a great way to get our elderly Mother-in-Law back home to Mississippi to visit relatives.  It's been an interesting few months. 
notion image
So the RV in question is a 1994 Fleetwood Bounder 34C.  Chevrolet engine, 34 feet long, and almost entirely original.  Original carpet, original wallpaper, original electrics.  Needless to say, she's needed a lot of work.  We've been taking it out regularly to work on it.    So far we've replaced the flooring (some old stained carpet, switched out for vinyl flooring), replaced the wallpaper, repainted the cabinet, replaced the power inverter, replaced the water pump, replaced the awning, replaced the AC Compressor... It's been a big project. 
Over the course of all this, it's been important to monitor all the variables of the RV and see if things are improved or getting worse.  It didn't take long to stumble across a product called RV Whisper
The RV Whisper is a low power communication devices that runs a local webserver and low-power communication network that can talk to a wide variety of sensors.  I bought some temperature sensors (to monitor the temp inside the RV, as well as the fridge and freezer to make sure they work), door open sensors (To work like an alarm for the front door, and to allow me to correlation temperature inside the RV to the opening of the door), and some battery sensors for both the Coach & Engine battery (the batteries were one of the first main problems we tackled).   
The device generates a weak wifi network that you can connect to directly to monitor the device, or you can connect to a larger Wifi and the RVWhisper company offers (for a small annual payment) a reverse proxy from their website to your device.  They don't store any of your data, which is nice. However, this also means that if you have an interruption in your network then you can't get any data.. Not even historical. 
Me being me,  I wanted something a bit more robust.. And while I'm at it, if I could get some more sophisticated visualization and analysis I might be able to get more information on what's going on inside the RV. 
Introducting "RVWhisper Monitor", freely available on Github. 
 
notion image
I'm running this at home on my Raspberry Pi.  Every 30 minutes it pulls an hour of data (the overlap helps with small network problems) and stores it locally in SQLite databases.  There are also a few scripts there to visualize the data as static HTML files uses Chart.js for some basic interactivity.  Check out an example here
Once the data is stored locally, I can start calculating some more advanced visualizations.  The most important one I've come up with so far is the Battery analysis visualizations that show the slope of the battery state, as well as things like min/max/average over select periods (daily).  You can see some of those visualizations here.   
I'm still working on it.  It's been a great help so far, particularly since I'm forced to park my RV at a storage lot a few miles away from home.  With the help of a decent solar panel to charge up the engine battery  I can keep the Nighthawk modem and RVWhisper unit powered, and then monitor it from the comfort of my house between visits.   
If you have any ideas or recommendations, don't hesitate to let me know!