In a recent blog post, I extolled the virtues of installing industrial sensor systems–normally found in warehouses, stockrooms, labs and the like–in your home. Why? These systems tend to be low cost, much more robust than consumer sensing products, and designed for customization. To test out my idea, I bought an evaluation kit from the industrial sensing company Monnit, and resolved to create a network of industrial temperature sensors in my home.
As a brief aside, if you decided to get your own Monnit system, use coupon code “diyha” at checkout. Monnit have been gracious enough to offer a 3% discount to visitors of this site.
How It Works
The way these systems work is pretty straightforward. The sensors themselves are little wireless devices, transmitting at 900mhz (the same frequency as xBee pro and those terrible walkie talkies you bought at Radio Shack when you were a kid), and powered by a coin cell battery. You can buy sensors for all kinds of applications (more on this later), and Monnit makes them in cheerful colors with fancy little icons indicating the sensor type. The temperature sensors have a little thermometer, the water sensor has a raindrop, and so on. Cute!
Because the sensors transmit at such a low frequency, their range is quite good (350ft+), and their battery life is excellent (more than a year, according to Monnit). They’re also really tiny; about the same height and width as the coin cell that powers them, and maybe half an inch thick, with a little 3 inch antenna sticking off the top. Using screws or double sided tape, you simply stick the sensors wherever you need them.
Next, you need some kind of gateway for the sensors to talk to. The gateway receives transmissions from all the sensors in your network, and beams them over the internet to Monnit’s servers. Monnit offers gateways in many different flavors. You can get a simple USB one that plugs into your computer (requiring it to remain on all the time), a standalone one which plugs directly into your router, and even a cellular one which establishes its own internet connection. The latter could be especially useful for sensing in remote locations, such as in a farm field, at a vacation home, on your boat (you do have one, right?), at your business, etc. I opted for the simple and cheap USB one to start.
Once the gateway connects to the sensors in its network, it starts sending data to Monnit’s servers at regular intervals. Monnit saves all the data, and displays it for you through an interface in your browser. You can log into your Monnit portal from anywhere, and see all your sensor data, with pretty graphs and whatnot. Importantly, you can also instruct Monnit to send the data to your own server (see below). This is key, as it makes it really easy to integrate all your sensor data into your existing HA system.
Installing My System
As I mentioned, I decided to get started with a basic temperature sensing setup from Monnit. I ordered their kit, which was $135 (3% off if you use our coupon code ‘diyha’) and includes two sensors and a USB gateway. The kit arrived about two weeks later (one downside to using industrial systems is a long lead time for delivery: corporations move slowly). Setup was relatively straightforward. Monnit includes a full instruction manual in the box.
Basically, you download some software, install it on your computer, create a Monnit account, and plug in your USB gateway. The gateway is linked to your Monnit account, and starts looking for sensors. You pop a coin cell battery into each sensor, enter a unique id (printed on the back) into your Monnit account to associate the sensor with your gateway, and then wait. If all goes well (for me, it took a couple tries with each sensor to get it right), the sensor starts talking to your gateway, the gateway talks to Monnit, and you can log into your account and start seeing the data. Here’s my data flowing in.
Using the System
As you can see, you get to name your sensors according to how you plan to use them. For me, I wanted to start by tracking the temperature in my office and kitchen/dining area. My HVAC’s thermostat is located in a hallway, which is kind of stupid, because I rarely hang out in my hallway. Rather, I’m usually in the kitchen/dining room or the office. I’ve always suspected that the kitchen is way colder than the hallway, and the office is way warmer. If I set my thermostat to 72, both places where I actually spend time end up being uncomfortable.
Through the miracle of home automation, I hoped to discover a more rational thermostat setting, which could save money and also keep both areas more tolerable. I also wanted to answer some questions about how the temperature in these rooms changes over time. Does the office heat up as I use my computer during the day? What effect does opening a window have? When I cook, does the heat from the oven warm up the dining area enough that I can turn off my HVAC system during dinner and save some cash?
To begin testing these things, I put one sensor in my office, and another in the dining room. Since the sensors are so tiny, it’s really easy to hide them away unobtrusively. For the kitchen one, I just stuck it to the underside of my table and haven’t noticed it since.
Exploring the Data
Once your system is set up and transmitting, Monnit gives you a bunch of great ways to explore your data. Through their interface, you can see all your sensors, and their most recent data. You also get important status information, including signal strength and battery level. The system also allows you to adjust how frequently each sensor transmits, from only once per day to once every ten minutes. Less frequent transmissions save on battery life, and Monnit complains if you set your interval for less than an hour, but I haven’t had any issues with battery even setting my sensors to 10 minutes.
In addition to seeing near-realtime data on current conditions, you can also get graphs of your sensor values for the last day, week, month, etc.
You can even export your data as a CSV file, if you want to do your own graphing and analysis.
If you want, you can configure alerts for certain sensor conditions. Monnit will email or text you if your sensor values go above or below a certain level. For example, you could set a sensor in a vacation house to alert you if the temperature drops below freezing, to avoid having burst pipes.
Monnit even offers a snazzy interface where you can upload a floorplan of your home, and then drag little virtual pictures of your sensors to the correct location on the plan. You can then pull up a visualization of your home, and click on each sensor to get its most recent data.
From an initial look, it appears that I was right! My kitchen tends to be chilly (around 68 without the heat on in the morning), and the office tends to be hot (74 at the same time of day). I’ll go deeper into analyzing the data in future writeups.
The Monnit interface is definitely cool. Perhaps what’s most exciting to me about the system, though, is a feature which automatically sends the sensor data to your own server (via an HTTP POST) each time a new value comes in. This opens up all kinds of possibilities for integrating the system with your existing HA hardware. And because Monnit offers so many different sensor types, the possibilities are huge. Here are a few ideas I’d like to pursue:
- Installing temperature sensors and occupancy sensors in every room, and then using a Nest thermostat to turn on the HVAC system only when a room is actually occupied AND falls above or below a target temperature. This way, if I’m in the kitchen and the stove is keeping the kitchen toasty, the HVAC won’t cycle on to heat the chilly, unoccupied hallway.
- Using the sensor data to create a realtime heat map of my home, then seeing how actions like opening a window change the temperature in each room.
- Installing a vehicle presence sensor above my parking space, and having my system turn on the lights (via Phillips Hue), turn up the heat, etc. when I arrive home, and turn these systems off when I leave.
- Using the same vehicle presence sensor to get a text alert or sound an alarm if my car leaves during the night or while I’m on vacation.
- Installing a vibration sensor on my furnace to see how often it cycles on, then trying to minimize this through different thermostat settings.
- Installing a vibration sensor on appliances like my dryer, to see when I use them and then try to shift use to times of day when electricity is less expensive. If I know that a certain appliance will heat up the house, I could also switch off HVAC via a wifi thermostat when these systems are in use.
- Create a DIY alarm system with CO sensors, open/closed sensors and water sensors, and interface it with a Nest Protect to add smoke sensing capabilities. Tie it to a Raspberry Pi camera to take surveillance photos if it detects a problem.
- Install a light sensor in my mailbox and get a text message when the postal mail arrives and my mailman opens the box.
- Install a light sensor in the living room, and then adjust the brightness on my lights (using Phillips Hue) so that if natural light is coming in the window, the lights dim automatically to maintain a constant light level.
- Connect a current sensor to a sump pump to see how often it runs. Interface in weather data, so if it’s raining but the sump pump isn’t running, I get a text message. Adding a liquid level sensor to the sump would add another margin for error.
- Install a button sensor, and press it before bed and after waking up. Automatically log the resulting sleep data to my Fitbit interface.
There’s a lot of cool stuff which an industrial sensing system could enable! I’m hoping to start tackling some of these projects and posting more info. If you have any ideas of your own, feel free to reach out via our Twitter.
If you want to try this yourself, make sure to use the code “diyha” when you make a purchase from Monnit, and you’ll save 3%!