A Smarter Home

At Waterstons we run an internal Hackathon once a year. It’s an opportunity for us to explore projects we wouldn’t usually get to do and work with colleagues we don’t often work with. This year, my team decided to look into something I was really interested in myself and that was improving smart home technology.

Our concept was simple. There is a lot of technology for smart homes. Thermostats, lights, security and more. However it’s very disjointed, with many different ecosystems, it should be easier than that.

We see the home of the future having this all built in. I want to be able to monitor each room in my house, for temperature, humidity, air quality, and be able to understand how to best optimise heating my home, or maintaining a good air quality. I want to know when I’m wasting energy. I also want to be able to manage all the key aspects of my house from my tablet or phone, through one app or website.

Unfortunately, we only had a day and a half to produce this concept, so building a whole house was a little out of the question. That’s where the favourite device of every hackathon came in:

Our trusty Raspberry Pi Zero W

That’s the Raspberry Pi Zero W. The little computing device not much bigger than a thumb, and costing less than £10. We combined it with the BME680 sensor above (£18), and this combination, with a bit of programming, meant we could collect data on temperature, pressure, humidity, and air quality. This replaced our ‘built in’ sensors that our smart home would have, whilst also showing how inexpensive it is to gather this information.

However we wanted more. So we also created a doorbell:

The ‘doorbell’ without pretty casings

OK, so it doesn’t look much like a doorbell. We didn’t get time to put it in a nice case. However that is a combination of another Raspberry Pi Zero W, a wide angle camera (with infrared for night vision), and a button. A bit more programming, and we had a fully operational doorbell that would take your picture when you rang the doorbell to show the owner of the house who is at the door.

A very simple API connected all the devices to our central dashboard, a progressive web app (PWA). From here, we could see the current readings from all rooms being monitored, and the history of the readings. We could also handily see the last visitor to our house. On top of this, if someone was to ring the doorbell, the dashboard would play a sound and show a full screen image of who was at the door, and could even vibrate your device if it supported that feature.

The simple smart home dashboard

PWAs are extremely good and very easy to build on top of a normal web app. Then when a user is on the website, they can add it to their home screen, and it behaves like a native app, opening full screen, and can have it’s own icon and access to various native APIs. For our prototype we used create-react-app to create the website and got most of this behaviour out the box. I’d certainly recommend this for quick projects, and have built whole websites from this in the past.

Somebody is at the door

There is obviously plenty more to explore here. We are moving to smarter homes, including smart meters, improved home security, lights, and thermostats. I’d like to look at integrating all this into one dashboard to have management over all of it from one place. The hackathon showed this was not only feasible, but easy to add to with your own cheap devices as well. Perhaps my home will be smarter than I anticipated in the near future!

Waterstons Development

Thoughts and tutorials written by the development team at Waterstons

Paul Burgess

Written by

Developer for Waterstons, and creator of various open source libraries http://github.com/codepb

Waterstons Development

Thoughts and tutorials written by the development team at Waterstons