Home Automation Setup
In this post I describe the current setup of my home automation system as well as some past developments. Finally, I will also detail what I have planned for the future.
History
My Home Automation journey started as I was gifted an old original Google Home smart speaker, and a Philipps Hue Bridge with 2 white and color bulbs. I quickly connected the speaker and used the Google Home App to add the Hue system into the mix. While one speaker and some bulbs were enough for my dorm room I quickly outgrew this setup when moving to my current 2-bedroom apartment. Eventually I added additional bulbs for everywhere possible and multiple Google Nest smart speakers. For the kitchen, bedroom, and bathroom I added regular size Google Nests and for the living room a Nest Mini. That is due to the fact I already had nice speakers in the living room so the Nest Mini was mainly for voice control.
Because I wantedmore control over my WiFi as well and the signal was quite weak in my kitchen I decided to add a Google WiFi Router to my system with an additional mesh hub near my kitchen. This mesh setup worked quite nicely and additionally the mesh hub serves as a speaker and smart voice control. I really like the idea that the router can easily be configured via an app. However, I do feel like some more advanced options are not available.
My system continued to grow and I added three more components: a smart TV, smart power strip, and smart vacuum cleaner.
As smart TV I opted to go with a Philips Android TV. It runs Android so it ties in nicely to the Google Home system. Further, it comes with Ambilight which I quite like and Google Cast included.
The power strip I got is a nice Koogeek KLOE4 with four sockets and 4 USB ports additionally. Through their app it was easily possible to add to my smart home system.
The final piece I added was a Roomba smart vacuum cleaner. While I really enjoy cooking the other housework I could do without. That is why I really like a vacuum robot. Again it could be added easily to my system and controlled either through the Google Home Dashboard or via voice control. I also set it to clean at the same time everyday.
Issues
- Not all bulb sockets support Philips Hue. In my bathroom I have special bulbs I thought were GU10 at first. However, they are slightly different. This leaves me in a situation where most of the rooms are in the smart light system while others are still operated manually. Eventualy I plan to add these rooms as well either through SwitchBots or something like Shellys. More On that in Planned Setup.
- When running the Roomba everyday you have to remember to keep the surroundings clean so it does not suck in cables and the like. This is why I disabled this routine at some point and only run it manually now.
- There are two reasons I eventually turned away from a wholly Google-based system: 1) I wanted more in-depth control over my smart home 2) I started to feel uncomfortable in general with the amount of data Google collects. Thus, having a Google smart speaker in every rooma and a Google Router was not ideal. Therefore, I eventually sold all Google hardware and switched to a more open and controlled solution based on Home Assistant.
Current Setup
This is a quick overview of most devices in my smart home system:
- Home Assistant on Raspberry Pi
- ZigBee stick (Philips Hue, Tradfri bulbs, Tradfri switches)
- Roomba
- Smart TV
- Printer
- Router
- Smart power strip
- Server
As mentioned above my current setup is based on Home Assistant. When I searched for an open source smart home solution several years ago I first stumbled upon the Java-based OpenHab. This still seems like a nice solution but Home Assistant has a much larger community and cleaner and more modern look. That is why I chose it. When I got a Raspberry Pi 4B with 8GB RAM it was the perfect opportunity for me to run Home Assistant. After the straightforward installation it was easy to add Philips Hue, Roomba, and my smart TV.
I subsequently sold all my Nest smart speakers and switched to a different router. To my surprise it was also straightforward to add my printer and router to Home Assistant. This way I can monitor ink levels and internet connections and even use these for automations.
I also expanded my lighting setup. As Philips Hue is quite expensive I searched for alternatives. I found quite cheap ZigBee based bulbs from IKEA. As ZigBee is an open standard also used by Philips Hue it is possible to add these to a Hue Bridge. Further, IKEA also adds under cabinet kitchen lights with ZigBee so I could light my kitchen as well.
With this setup I was already quite content. However, several parts were still non open-source and not completely under my control: my smart TV, Philips Hue, and my smart power strip. For my smart TV I tried out Kodi on an old Raspberry Pi I still had lying around. This was a nice solution. However, the old hardware was unable to run Kodi smoothly. Because there was a severe Raspberry Pi shortage at that time I was unable to get a newer one for a reasonable price. That is why I discontinued Kodi. I will definitely return to it at some point!
Philips Hue was easily replacable with a simple ZigBee stick. I went with the Phoscon Conbee II. It supports a wide range of devices and is easily integrated into Home Assistant. It completely replaced my Hue Bridge. Another nice touch is that I could add IKEA Tradfri smart switches so guests without the Home Assitant app are able to switch lights as well.
The last component that was still dependant on a chinese cloud was my Koogeek power strip. Luckily, I found the Tasmota project which provides a local replacement for ESP-based devices. It works by faking an update server that way replacing the stock firmware with Tasmota. The official website does not have a configuration for my exact power strip. Luckily I found one here. After flashing Tasmota I could add the power strip to Home Assistant through MQTT. For that I installed the Mosquitto Broker.
As my Google Nest devices had to go I no longer have smart speakers. Voice control and multiroom audio was nice, though. I briefly tested out snapcast for multiroom audio and MyCroft as voice assistant on the old Raspberry Pi with a connected webcam mic. Especially snapcast worked quite nicely. MyCroft still had some problems. The plan to run this setup in every room was cut short by the Raspberry Pi shortage. Eventually I plan to add speakers with something like a Raspberry Pi Mini running snapcast to every room for multiroom audio. Right now I am waiting for the Home Assitant voice assistant to mature so then I can use that.
In a different post I detail my current server setup. I also monitor and control this server in Home Assistant through the TrueNAS integration.
Automations
These are some of the automations I use in Home Assistant:
- Lights out when everyone leaves
- Lights on when someone comes back home and it is dark
- TV lights when TV turns on
- Run Roomba everyday
- Notifications for low battery/ink
Discontinued
As of right now I have discontinued multiroom audio with snapcast and Mopidy as music system, Mycroft, Kodi, and everything Google.
Planned Setup
In the future I plan to expand my setup a lot. One of the most important additions for me would be multiroom audio. For that I need a nice pair of speakers in every room to which a Raspberry Pi Mini is connected running snapcast. Then a central Raspberry Pi would run Mopidy over MPD as a music player. Also I would add spotify control through something like Raspotify. I already tried and tested this setup. Once I have this setup it would be worth checking out whether a DAC like the HifiBerry improves the sound quality. One thing I would yet have to figure out is a nice interface to group rooms and control which music the zones are playing in Home Assistant.
After I set up this multiroom audio system I would like to add voice again. If the Home Assistant Voice Assistant already matured by that point this could be an option. Other options I consider are Mycroft and Rhasspy Rhasspy. The latter is nice since it runs fully locally. However I could not find a nice solution to conduct a web search as fallback. Once this component is implemented I want to connect the voice assistant and multiroom audio. Every single speaker should be able to record a command and respond accordingly. Also starting music in different zones should be possible. Since I plan on using Raspberry Pi Minis they are probably not powerfull enough for voice control. An option would be to use every Raspberry Pi Mini as "satellite" which records the voice, sends it back to a central processor and responds with the corresponding answer.
I would also like to add additional smart sockets. Preferably ones that are able to monitor energy usage. I could use them for my dryer or dishwasher and trigger automations once the cycles finish.
Further, it would be nice to add even more automations. Right now I mainly have a smart home with controls but not really automated yet. One option I looked into is a bed occupancy sensor based on weight cells that could for example turn off lights, music, and TV when I lie down at night.
The last planned addition in the near future is to bring all lights into the smart home control including the ones with weird sockets. One option would be to use something like a SwitchBot Bot. This is a simple device that physically presses buttons like a light switch. This way I could switch the bathroom lights. A more involved and professional option would be to use something like Shellys. These are small relays you put under a light switch in a wall controllable via WiFi. The nice thing is that you do not see them and can still use your normal light switches and bulbs. If this option works nicely I would like to eventually switch to Shellys only and ditch the smart bulbs. That way visitors are able to easily understand the system while I could switch it via Home Assistant.
Obviously there are many more options for a smart home. I am constantly monitoring what is on the open source market.