Most RV thermostats are cheap, low-end units - certainly nothing like the fancy domestic WiFi models. Find out how we added a WiFi-controllable thermostat in our RV.
Before we jump in, I should lead with a disclaimer. This project leverages several components of home automation to achieve a WiFi-enabled RV thermostat. Although it's not incredibly complex, it's also not a drop-in replacement. But if you're comfortable with basic electronics and some programming, then there's nothing stopping you.
As always, this is a "how we" rather than a "how to" and if you choose to copy what's documented in this article then you do so at your own risk. That being said, it is my hope that others can learn from our experience as much as we learn from others every day.
In this article...
In the world of RVing, many things are a compromise. If you want more stuff, you need a bigger rig - and that limits where you can go. From the outset, we wanted to stay small so we could go places other people can't - off the beaten path. When you're in a small rig therefore, you can't think bigger - you have to think smarter.
This isn't a new concept - in conventional houses, there's a large community of hackers and companies investing in Smart Home technologies. Lightbulbs, speakers, TVs, thermostats and many more home objects have been "smartened".
But what does "smart" mean? Well, most "smart" products are WiFi-enabled, but many also learn behaviors and try to predict their usage - such as the infamous Nest thermostat.
The RV world is lagging behind - many smart items expect to work in a domestic setting, often with 110V AC. There are exceptions, such as various Alexa or Google Home speakers that can run off USB.
Our Outdoors RV 21RBS came with a very basic Coleman Mach thermostat. Forget WiFi, this thing doesn't have a screen - it's just an analog slider for the temperature, and a couple of sliders to switch between heating / cooling and fan speed. Very basic, and the thermostat isn't very sensitive either so it takes quite a big temperature swing before the heating or cooling kicks in. Although expensive motorhomes and trailers may have an integrated control system, more basic models such as ours do not.
Unfortunately in all of my research, I couldn't find a WiFi-enabled thermostat that would work with the 12V DC wiring in an RV (as opposed to the typical 24V AC in a house thermostat) and would also let us integrate it into an overall smart RV system. The EcoBee Si WiFi thermostat can be hacked to work in an RV, but didn't give me the open platform I wanted - and is also discontinued.
Although I couldn't find a single device that would be a drop-in replacement for our thermostat, I can achieve the desired results by building out a basic home automation system - the thermostat can talk to the controller, and I can interact with the controller via WiFi.
Radio Thermostat CT101
In my research though, I stumbled across a company called Radio Thermostat Company of America. They produce several thermostats with varying abilities, but the one that caught my eye is the Radio Thermostat CT101 model.
According to the manual, it can operate off batteries, 24V AC or 12V DC, and although it doesn't support WiFi, it does support a technology called Z-Wave - more on that later!
From what I can tell, this model is no longer available, but I did manage to buy an overstock unit from The Smartest House. At the time of writing this article, they still show stock available.
In addition to the Z-Wave support, this is just generally a better thermostat than the original one in the trailer. It has a digital, touch-screen display (not color though, sadly), a thermostat with configurable sensitivity, and supports an Auto mode where it will heat or cool as required. It's also programmable, so we can set schedules - we tend to get up at the same time each morning so it'd be nice to have the heating kick on automatically!
Z-Wave is a wireless communication technology, most often used in home automation settings - arguably the most well known being Samsung's SmartThings. It allows devices to talk to each other, as well as to controllers which link multiple devices together - and, with a WiFi hub, control them via your mobile phone.
You can also buy Z-Wave USB hubs - these allow Z-Wave devices to communicate with a computer. As part of our Smart RV infrastructure, we already have a low-power computer (an Intel i3 NUC) that is powered on 24/7 to run various tasks, including monitoring all aspects of our electrical system, and recording GPS and weather data.
I chose to go with the Aeotec Z-Stick Gen5 Z-Wave Plus USB stick - a small USB device that I can plug into the computer so it can talk to the CT101 thermostat.
The last component we need is some software to act as the controller - to shuffle data back and forth to the thermostat. Home Assistant is one of the most popular software packages used for home automation. I have dabbled with it in the past, but this felt like the perfect opportunity to set it up in the RV.
I'm not going to go into detail here about how to install Home Assistant, more than to say it is free, open source software that can be run on the cheap single-board Raspberry Pi 3 B+ computer. These start from under $40 although you may want to add a few extras like a case and power supply.
Given we already have our Intel i3 NUC running, I installed Home Assistant in Docker (as I do all services) on that.
Installing the Thermostat
Although the product specifications say the CT101 thermostat should work on 12VDC, I was still a little skeptical. After taking plenty of photos of the old thermostat wiring (for reference), I unscrewed it from the wall to reveal the wires - and took more photos for good measure!
Although we're dealing with 12V DC not high power AC here, you still want to make sure everything is disconnected so that nothing short circuits. I pulled the fuse from the DC fuse panel, then turned off the inverter and disconnected its power supply with our cut-off switch. I checked the power was off (and hence had pulled the right fuse!) using my digital multimeter on the thermostat wires.
The first thing I wanted to check was whether it would power on from 12V. I cut the wire nuts off the red (12V DC) and blue (ground) wires on the existing thermostat. The instructions say that the 12V positive and negative wires should be connected to the C and Rh terminals in either polarity - I chose to connect blue (negative) to C and red (positive) to Rh as Rh is typically the power pin on a thermostat.
I reinstalled the fuse in the DC fuse panel, and hoorah - the thermostat turned on! Now time to connect the other wires. I pulled the fuse again, and then connected the wires as follows:
- Blue (12V negative / ground): C
- White (furnace): W
- Yellow (air conditioning): Y
- Red (12V positive): Rh (with jumper pin connected to Rc)
- Green (high speed fan): G
Our RV also has a grey wire that controls the low speed fan. The idea of high vs low speed fans appears to be unique to RVs, and so this thermostat doesn't support it. I could have opted to install a separate switch to select between low or high speed fan, but I felt this was unnecessary - I can always add it later if I change my mind. For now, I simply taped up the grey wire so it wouldn't short.
It took some trial and error (each time pulling the fuse before changing any wires), but I eventually found that the thermostat should be configured as a gas heat pump with no aux heat - setting A in the HVAC setup. If you don't set it as a heat pump, the AC fan would blow when the furnace was running.
With the fuse reinstalled, I thoroughly tested the system - making sure that not only would it heat or cool as the desired temperature was changed, but also that it would keep the heater fan on for a while after the heater was turned off, and that the AC would wait for a while after being turned off before it could be turned on again. All good!
Happy that everything was working, I reused the original self-tapping screws to mount it on the wall, installed the face plate covers and set the date / time.
Configuring Home Assistant
I plugged in the USB Z-Wave adapter and followed the instructions on the Home Assistant website to configure the Z-Wave adapter. It was really straightforward, but will vary slightly depending on how you've installed Home Assistant. In our case, we had to tell Docker about the USB device (added it to the docker-compose.yaml file).
Once Home Assistant knows about the Z-Wave adapter, I chose the option to Add Node in the configuration, and tapped the Radio icon on the thermostat - within a few seconds they had paired.
With Home Assistant now aware of the thermostat, I could add it to my dashboard. This instantly appears in the iOS app on my iPhone too - so finally I can control the thermostat over WiFi! With just a few taps, I can switch the thermostat on / off, choose between heating, cooling or auto (i.e. heat or cool as needed) and set the desired temperature.
The whole process from start to finish took me just a couple hours, but we already had Home Assistant set up and running. The end result is not just a WiFi thermostat but something far more powerful (at least to geeks like us)!
Now that Home Assistant is aware of the thermostat's current settings and control it, we can begin to create automations that link other devices and add true "smart" behavior. Some ideas include:
- Automatically switch to "auto" mode when we're connected to shore power
- Turn on the A/C automatically if our batteries are at 100% and it's above X degrees inside
- Turn off the A/C when off-grid if the battery State of Charge drops below X%
- Turn on the heating automatically when we get back to the RV if it's cold
- Prioritize an electric heater when on shore power, but turn on the furnace if the underbelly (and hence storage tanks) are close to freezing
- Control it remotely, when we're not in the RV - e.g. warm it up before we get home
- Monitor how long the furnace runs for each night so we can estimate propane consumption
- Control the thermostat by voice using Siri, Alexa or Google Home
There are lots more clever things you can do, and this is just the tip of the iceberg. Our plan over time is to integrate more and more of our RV's electronics into the home automation - water heater, lights, etc.
It's disappointing that for your average RVer, looking to upgrade their basic thermostat to something similar to a home smart thermostat, it is as complex as this. I hope manufacturers will read this and take note - there is no technical reason why a thermostat cannot operate on 12V DC, and I think there'd be tremendous demand for it amongst RVers.
I've not tested it, but my understanding is that this should work with a Samsung SmartThings hub, so if you don't want to install Home Assistant, that could be another option for you. But if you have any experience with basic electronics and programming, or you're prepared to spend a little time learning, this may be one solution for the time being - the total cost for us (excluding the Intel i3 NUC) was under $100.
Let us know in the comments if you're considering changing your thermostat, and what you'd like out of a smart thermostat.