Adventures in Home Automation – Part II

Back in Part I, we discussed the start of our journey into Home Automation. We had the dedicated wireless network, the smart switches, Smart Life app and some basic functionality around it all that revolves heavily around physical buttons, using a phone app and talking to Alexa.

Then we discovered Home Assistant – an automation tool that takes a pile of “smart” devices to the next level.

They offer a range of supported installation methods. It can also run in Docker, on Raspberry Pi or you can even use the Home Assistant Operating System.

We took the latter option, and installed in a dedicated VM given that we have plenty of server capacity. Installation is straightforward and well documented.

We set this up on our management network given that it’s not externally accessible (we don’t want remote access), and that network has the capability to connect into our IoT network if required.

The first task for us was to get all of our Smart Life/Tuya devices integrated.

Tuya have some doco on this process here

Make sure you keep that link handy, as you’ll need it in about a month when your trial expires and the API no longer works. Tuya are nice enough to document how you can keep extending your trial. It’s fairly straight forward.

Once our devices were in, we were able to setup a simple dashboard to show us all of our switches. We were also able to bring up nice simple displays for our bathroom heater and a dedicated box just for the garden shed power.

With that done, we also found that the Home Assistant had discovered other devices on our network, including our Epson multifunction:

Oh.. it’s time to start replacing the ink.

We have a TP-Link Kasa device on the network as well. We use it for monitoring our Reef Aquarium’s power usage. A couple of minutes tweaking and we have this:

I guess the heater is on…

It also discovered our TV and Amazon Fire Sticks:

Our ISP has an integration as well, so that allows us to see some useful information about total data usage for the month.

We have a Plex server for our home media, and it integrates with that. It also has a whole range of integrations into popular home media management utilities if you’re into that kind of thing.

We have a pair of Pi-Hole servers – both virtual machines. One for the bulk of our network – it’s really just an ad blocker. The other is for the Kids and is setup with some more intensive regexs, blocklists and a few DNS redirects to stop them getting to things that they shouldn’t.  Both are integrated into our dashboard:

You can see why the kids – with a total of 3 devices between them have their own PiHole.. so many ads.. most of which are embedded in apps on their devices. The two blocks are tuned differently. The kids network is small and only has a couple of devices so we’re not interested in client counts. What we are interested in is the blocked ad count, percentage blocked and total queries. If nothing else, it makes a good comparison to see how much garbage the kids would be seeing otherwise.

Another interesting one for us was server temperature monitoring. We have 2 servers, both in a garage that can get quite warm. One server is a HPE Proliant DL380, so we were able to integrate the ILO easily and obtain the information that we want – CPU fan speed, inlet temperature and power meter. We were also able to setup a basic graph.

That was a pretty easy setup, with only a little manual modification required to get the wattage to report correctly. It was easy enough to Google instructions on this setup.

A little harder to setup was the hddtemp reporting on our storage server, but we got there. We still don’t quite have that server constantly reporting hddtemp for each disk out to the network, but it worked when we first set it up. It’s on the “to do” list to make that work post reboot.

Finally and most recently, we added the Sonoff S26 Smart Plug to Kevin, our Tiger Oscar’s aquarium to work around our misbehaving LED controller. To get this working, we needed to use the eWeLink app instead of Smart Life.  We setup our schedule for the switching via the app.

Home Assistant out of the box doesn’t know about eWeLink, but eWeLink know about Home Assistant and make it easy to add a repository and setup their integration – you just need to follow their instructions.

Once that was installed, it found the Sonoff S26 device and allowed us to add it to our dashboard:

It took a little bit of fiddling to get the eWeLink integration going, but again.. this isn’t rocket science.

Other stuff we have integrated:

CCTV: We have a Zoneminder server running, driving nearly a dozen cameras. We were able to import feeds from the cameras we’re most interested in into Home Assistant. It shows a single frame every 5 seconds.

OctoPi: We have a Raspberry Pi connected to our 3D printer running Octoprint. It turns out that we can integrate the status of this into our Home Assistant as well.

We did have a camera hooked up that was better positioned for time lapse but it died and we stopped caring. Now there’s a web cam in there. We’re mostly interested in being able to ensure that we don’t have any spaghetti issues arising. And yes, we’re quite aware of the state of that plate. That’ll scrub right off (literally, it’s well coated in hair spray).

The common theme here is that this stuff takes time and patience. You can integrate a lot into it. Some of it is nice and simple GUI based stuff. Some of it requires you to get in and tweak configurations manually. There is a bit of testing involved and it’s not always perfect. 19 days into December and they’ve already released the 7th update for the month – so there’s always a bit going on with Home Assistant.

Leave a Reply

Your email address will not be published. Required fields are marked *