Yet Another Smart Camper Project

I know many similar projects/topics exist on this forum, but I felt like I was hijacking other OP’s topics when posting parts of my own project. I have integrated some things I had not read elsewhere, so I figured I’d share. I’m new to HA as of this spring - and until 2-3 months ago was just using it as an Espresense and MQTT broker supporting my home Hubitat. But HA made the most sense for the camper right out of the box because it already supported a lot of things in my camper.

Home Location/Altitude/Weather - I use a Verizon Mifi hotspot which happens to have built in GPS support - in the form of an NMEA data stream. I set up a shell command and script that, when the camper is away from home, gets the current latitude, longitude and elevation every half hour and updates HA’s current home location. When the camper is back on the home network, it defaults back to the home location and the 30-minute automation stops.

Shore Power Surge Protector - there was already an esphome project for the Hughes Power Watchdog. I just modified it slightly- mainly to include API support, but also to suit a couple other preferences as well.

Propane Tank Gauges - obviously Mopeka - I already had these because of their proven accuracy over other gauges, and these are initially what pushed me towards HA over others.

Water Tank Level Sensors - I have three tasmotized Shelly Plus Unis - for the fresh, gray and black water tanks. One output activates the tank sensor, the other output connects the ADC circuit (this was necessary as to not throw off the manual button LED readings), and the ADC input measures voltage which is inversely converted to percent full. The tank sensors activate sequentially every half hour and publish to MQTT.

Battery Monitor - PZEM-017 was used for this. I found some instructions online to modify this for a 24v boat application - where a D1 Mini is connected ahead of the TTL to modbus converter and gets a direct read from the shunt without additional parts. I modified this for a 12v application and it all fit back into the same PZEM enclosure. That said, this board cannot determine the direction of current (charge vs discharge) so it will be replaced soon.

Awning - A zooz zen53 was used for this. Additionally I put a zooz tilt sensor on the stairs to disable the zen53 zwave and local controls when the stairs are up. Additionally, I use Espresense for disabling/enabling control. So, my wife or I must be present -and- the stairs must be down for the awning to be able to be controlled - either manually or through zwave.

Keyless Entry - I installed a latch.it keyless entry lockset when we first got each of our two campers. On this project, I sacrificed one key fob and a tasmotized d1 mini to allow for lock or unlock of the camper door. Again, I used Espresense for the unlock helper. My wife or I must be present to unlock the door. Locking can be done remotely.

Lighting - all lighting except for storage bay lights are connected to HA using zen16/17’s where they fit, Shelly 1’s where they didn’t, and Shelly RGBW2’s where I could get to the negative wire. Some of the Shelly’s are tasmotized for better control.

Smart Switches - in several locations, I replaced the existing toggle switches with double throw momentary switches. I also added a single throw momentary switch in the bunk. The momentary switches are tied either directly to the switch input on the Zen16/17’s, a tasmotized d1 mini, or to tasmotized RGBW2’s. For the d1 mini, I set up single, double and triple tap actions to control other lights that don’t have switches. For the RGBW’s, I have single tap for on/off, press and hold to dim up, press and hold again to dim down, and double/triple taps to control other lights/fans.

Basic ceiling exhaust fan - We have the basic Maxx Fan with two buttons - an off button and a speed control (1-2-3-4) button. I tucked a tasmotized Shelly plus uni up inside and paralleled the two outputs to the two buttons. I also tied the fan control board to the ADC input. I configured a “virtual” relay on an unused GPIO and exposed it to HA. Tasmota rules allow for control and on/off status of the fan. I also expose the speed button to adjust speed. Hey Siri turn on/off the camper ceiling fan effectively controls the fan.

Wall mount fan - This fan is a Caframo Sirocco II fan, apparently popular among boaters. It is a 3-speed fan with a single button for control (off-1-2-3). Again, a tasmotized Shelly was tucked in, and again an output was paralleled to that button, and again the adc input was connected to the fan control board output. This time though, I set up a virtual PWM dimmer and convert the ADC input to the current fan speed and set the PWM status accordingly. Conversely, setting the PWM will adjust the speed accordingly. With a fan template in HA, I can now control and set speed like any other fan control. Through the tasmota rules, the number of “button presses” needed to get from the current speed to the target speed are performed through the output. So, I can ask Siri to set a fan speed and no matter the current fan state, that speed is set. Hey Siri, set the camper bunk fan to off/low/medium/high sets the fan accordingly.

HVAC - I connected an output from a zen16 to the thermostat connection on the furnace. Then connected the thermostat to the zen16 input. This allows for thermostat or HA control of the furnace. Separately, I have a dumb line-voltage controlled AC unit with no thermostat. For this, I am using an Aeotec heavy duty switch on the line side of the AC unit. I also hardwired power to a Xiaomi e-ink temp/humidity sensor clock. Using the dual mode generic thermostat, I can now have a single HA thermostat that controls heat and cool.

Misc Temp Sensors - I use the small Xiaomi temp humidity sensors in the bathroom and fridge and a govee sensor in the freezer.

TV’s - fortunately, HA has integrations for our Vizio and LG TV’s… and for the main 12v camper TV, I already had a CCWGTV there - using CEC.

Network Connectivity - I wanted one common WiFi network between the house and the camper, and I wanted the camper to be on the home network when at home. So, I feed both a power line connection over the house shore power as well as the Verizon Mifi hotspot into my wireless access point - with the Mifi fed through a usb powered network switch. Both the home router and the Mifi are set up with the same DHCP range and IP assignments for the camper devices. I use a tasmotized XY-WFUSB with rules set up to ping a specific device on my home network. If the device is found, the WFUSB kills power to the Mifi network switch. If it is not found, it turns the switch back on. I know this is sloppy network management, but has worked flawlessly for me for a couple months. This also triggers automations to enable/disable Tailscale - which I only need running when on the Mifi.

Voice Control - A HomePod mini seemed like the obvious choice here since it can be powered easily off the camper 12v and gives me remote Siri/homekit control.

Pushing IPhone Automations - I managed to get a 10DLC campaign approved through twilio. I use this to push data from HA to our phones. On our phones, I silenced all notifications from my twilio number. I then set up iPhone automations which parse the twilio text messages and act on that data. For example, “Siri, find my camper” triggers an HA automation which text messages me (or my wife) the camper’s latitude and longitude. An iPhone automation is then automatically triggered that opens Apple Maps with directions from my current location to the camper. This is helpful when my wife and daughter come meet me at a site I’ve already set up. She can hop in the car, “Siri, find my camper” and within 10 seconds directions pop up on her CarPlay.

Presence - for this I use Espresense - including our phones, watches and cars. The phones and watches are connected to my wife’s and my “persons” in HA to show home/away status. The car beacons are used to illuminate the camper exterior when arriving back to camp after dark - if the camper is away from home. While at home, a driveway sensor illuminates the exterior after dark. Our long driveway is dark at night and the camper sits right next to it so I wanted to make sure anyone pulling into our driveway clearly sees the camper - so they don’t accidentally hit the stairs if they are out.

To Do:

  • Z-wave smoke detector
  • Interface to gas detector - still need to figure this out
  • Replace the PZEM-017 with something that can measure direction (charge vs discharge)
  • Water pump (possibly)
  • Tasmotize the rest of the Shelly’s (tasmota seems to have more reliable WiFi reconnection)
  • Dashboards, dashboards, dashboards!

I’ll post back if I think of anything else that I’ve missed here. It’s been a mad dash the last couple months making the camper smart - a lot of late nights and a lot of :beers:.

2 Likes

Wow, great project! I’m also building a camper from a van at the moment and implementing as much HA as I can. It is a lot of work…especially the dashboards etc. Did you also find the Guition 480x480px touchscreens? I’m implementing one at each door, the bed, etc to control everything around that area, so I don’t need to grab my phone each time. Also got an RF implant in my hand which I want to use to (un)lock the doors. I hope you keep posting, when I got more time I want to create a topic as well for inspiration (and help maybe :wink: )

1 Like

I did not know about these devices, and have not ventured into LVGL (or even Berry on tasmota), but it’s on my list to explore. Thanks for the suggestion.

Edit: I just ordered one of these displays. Thanks again for the suggestion.

Edit 2: I received my Guition touchscreen. I had to flash openhasp the “hard” way, but got it loaded. I also don’t need the relay and don’t like that the device needs to be mounted in a box as a result. So, I removed the relay, along with the header it plugs into. I ”implanted” a tiny 12v to 5v power converter inside behind the screen and fed the two 12v wires out through the hole where the header stuck through the back cover and filled the rest of that hole with hot glue. Finally, I cut the relay enclosure/mounting plate flush so that I can still use the mounting holes. So now I just need to drill a small hole in the camper wall to feed the 12v wires through and the device will sit flush to the wall. Now that power and mounting is figured out, I’ll start working on the screens. I’ll post photos once complete.

1 Like

Auto-Switching Remote VPN Connection:

When my camper is connected to the home network, I use my home router’s VPN connection to access HA remotely. And when the camper is connected to the cellular network, Tailscale is automatically enabled on the HA for remote access.

Combining some of the concepts in my OP, I push a “variable” through twilio to my iPhone (using an iPhone automation and reminder list). Separately, I have a shortcut on my Home Screen that when run, checks if I am connected to my common home/camper WiFi SSID, and if not, checks that variable, connects to the appropriate VPN connection (L2TP or Tailscale) and then loads my HA URL.