HOME01 - The beginning of my useful smart home
15 min read
I have been toying around with the idea and also the execution of creating the ultimate smart home. In the past four years I've lived in many different places and apartments, so investing heavily into a system like that did not make sense at the time. Now however, I just moved to Berlin and plan to spend multiple years in this amazing place and amazing apartment. Therefore, it is time to whip out the big guns and create a smart home that actually makes sense, not just one that's a nice gimmick.
Just like modeling data for DynamoDB, I have to start at looking at the "access patterns". In this case, what are the things that my smart home can make my life easier and better with. Instead of having to go out of my way to turn on/off a light, my system will be working for me, and not the other way around. Throughout my life, I have never met a smart home in person that achieves this, so it will definitely be a big adventure and a lot of work. The first step was to write a User Story of some kind. The result is kind of a mixed bag between a User Story and documentation, but it gave me a great general idea of the pieces that need to fit together, as well as how they'll work.
All of my devices are Apple. Currently I have two MacBooks, two iPhones and a pair of AirPods. I love Apple's ecosystem and therefore everything that can be, will be an Apple device. This means that for my smart home, the system used will be HomeKit. While Alexa's and Google Home's systems might be more widespread and have more accessories, they are not suitable for me for a couple reasons. Firstly, I value my privacy, and as much as we could not trust Apple with it, we all know very well how much data Google and Amazon is harvesting from their assistants. I simply do not feel comfortable with using either product line anymore. Secondly, Apple's HomeKit offers a way of automation I'm familiar with already. I did experiment a couple years back with some heavy DIY and Home Assistant (HA - more on this later) setups through my iPhone's Siri, and I like the way everything gets set up and works. HomeKit came a long way in these past [short] years. Now most of the major brands support it out of the box, and I'll use HA to bridge the gaps where needed. I can safely say however that I do not have any fears that something will not work or will cause headaches in usage.
I want lighting to be highly automated. First and foremost, the goal is to have a cozy, and inspiring place for all times of the day. This has to be done in as much of an automated fashion as possible. There will be different types of lights and they will be synced and matched together on what inspires the mind, my mind. On top of this automation, there will be scenes that I can activate with very simple and intuitive voice commands. These phrases will be thought-through in order to be as natural as possible to say and think out. There might also be motion detection at some points as well, such as underneath my coffee table and bathroom for when I visit the toilet at night.
In order to make this work, there are a lot of components to consider, buy and get together in a network. The central station for the lighting will be a Homepod, and an IKEA TRÄDFRI gateway. The gateway is communicating the ON/OFF/DIM instructions to the bulbs, and the Apple device is telling it what to do. I choose to go TRÄDFRI because Philips Hue's system is way too expensive for what it offers. Good news is however, that the TRÄDFRI and Hue bridge work with both systems, so I will be able to get Hue lights paired onto the IKEA gateway as well.
A HomePod will be the main and central audio source of the whole living room (with a possible upgrade to two HomePods). It will be used to play the sound for the Apple TV and therefore anything and everything on the projector. It will also be used to play music, be a personal assistant with Siri, control most of the smart home automations and as a decoration piece. The HomePod Mini just came out tho and I already pre-ordered one. It will be used as the central hub until I get the chunky boy version of it.
Apple TV + Projector
The living room visual media center. The Apple TV will be the central video processing unit for the living room. It will be connected as the only source to the projector and every piece of media will go through that that gets shown on the projector in the living room. It will be on wifi so there might be an upgrade to the wifi router needed later. For now, the assumption is that it won’t be necessary. This Apple TV must be at least the 4th generation, so the HD unit, or the 4K unit. The HD unit has the exact same software as the 4K unit, and is for our requirements a perfect match for a much lover price point. The projector is only Full HD first and foremost, so we could not utilize the 4K resolution anyways. Besides this, there is not much difference between the two, apart from the 4K model having a bit more powerful chipset, but this Apple TV will unlikely to be gamed on much anyways. At least that is not the primary reason for its presence.
There needs to be consideration that the projector will have to be manually turned on and off when using it for a while. My current assumption based on going through the projector’s menu system is that it does not support HDMI CEC, which means the Apple TV can’t turn it on automatically when I start the TV. The way I thought up is to run a Home Assistant instance on a Raspberry Pi - as this will be required for some future smart home automation stuff as well - and put an IR transmitter/receiver on it. This, as we learned from before - wishing I had written some kind of documentation - does work for turning the projector on and off. I already have the required compontents - the IR LED and the Raspberry - in storage.
The outside "wall of my apartment" is a giant pane of floor-to-ceiling windows, fitted with electric blinds. Problem is, the blinds are very slow to pull up and down. You have to do them manually and have to hold the button the whole time. The complete process takes at least 1 minute, which is way too long. More importantly, I don’t want to be in charge of that. I constantly find myself irritated having to pull down the blinds manually. I would much rather have a system that I decided is good take care of it for me. Therefore, the blinds will be fully automated as well, with possible manual input. This means that they will be controllable by both the current switches on the walls, and by voice control / automation digitally.
The two devices that will likely enable this - as there are two blinds in total - are called “Shelly 2.5”, which is a modern relay switch that can be controlled by HA. This is why I said before that HA will be required for other parts of the home as well. It is not the only way, but the most stable way - as opposed to flashing “custom HomeKit” firmware on the device. My home automation system is not going to be in a constant
dev state without never maturing to production. It will be a production grade installation, documentation, updates and maintenance if required. With this setup - as far as I have found info - it will be possible to expose the Shelly device from HA to the Homepod and create automations with that. As I said before, HA will be communicating with the devices but the Homepod will be the automation lead. The reason is that automations in the Home app are assumed to be easier than in HA directly. This can change however.
What I am not sure of currently is what technology to use to control the Shelly device, as there are a multitude of them. HA could handle it via wifi, which would be a great option. Another one is through RF but I’d rather not go that way as I do not have much experience in that. In any case, the required components to be in place before this project can even be started are the HomePod and a running installation of HomeAssistant. The cost of each Shelly 2.5 is around €40, so €80 in total. It would make my life currently a bit better, but it will be extremely enhanced once the lighting inside is smart, as they can be synchronized to create moods instead of being too dark or harsh bright. This will require custom bash automation from HomeAssistant I believe, or the HomePod could possibly be programmed to pay attention to sunset and sunrise as well.
Living with the smart home
The pieces by themselves are important, but as I said in the beginning, the "access pattern" is what matters. Therefore I thought about how my life will be once the system is fully working. These scenarios are examples of how it all will play together, and are not an exhaustive list.
Listening to music
Whenever I will want to listen to music, I will be able to shout “Hey Siri, shuffle my library” or “Hey Siri, play my Take it Eazy playlist”. Besides this, I can also control the music from my phone or MacBook - it is possible to allow sharing from the same network even when it’s not technically “paired” to the HomePod - via streaming to it using AirPlay. I am curious to hear what a pair of HomePod + Mini will sound like, as the Minis will be heavily utilized in the apartment for my bedroom and bathroom as well.
The Apple TV is the center of the video media in the living room, along with the projector. When I will want to play any video content, I will likely say “Hey Siri, turn on the TV”. This automation will send the IR signal from Home Assistant - and therefore the Raspberry Pi with a connected and programmed IR transmitter - which will turn on the projector. Luckily the Apple TV wakes up automatically when there is something starting to stream to it. I do not want to use the remote or the remote app, that should be an unnecessary step, and it will be. The TV will also be set up to use the HomePod as the fixed audio output. No, I do not and will not have regular cable lol
In the evening when the sun is going down, the blinds will go down gradually and automatically. I do want the blinds mostly (80%) down in the evening, then the bedroom one will open up automatically before I wake up, and the living room will wake up as I make my morning routine - maybe both at the same time before I wake up. When the evening comes, a bit later down the road, the lights will be synced with the sun going down in a way that it will always be a cozy atmosphere in the apartment. Not too bright, not too harsh but also not too dark. Of course any time the lighting doesn’t fit the want, it can be changed with a voice command through Siri. Each mood will be a named automation that will get executed, so the gradual increase and decrease in brightness should possibly be incorporated into that, if necessary. Each of the lights can be controlled by themselves as well. There will be an automation for example “I want to read” that will turn on the reading lamp to the brightness that I enjoy. There will also be a “make it chill” that will turn on matching colored lights (via color TRÄDFRI bulbs) and make the atmosphere aesthetic, cool and chill. Another example is “make it bright” where there will be general brightness in the room. There will be a ton of bulbs - sources of light - throughout this rather small space, so I will have a lot of wiggle room in this topic.
I will put Christmas lights on my balcony handrail. I want to do this because it just looks cool and cozy, and is also a great view for the neighbors, as they have them as well. I have next to the blind controls a switch that turns the balcony power socket on and off. In the simplest and most straightforward solution I could just add a TRÄDFRI switch to the outlet on the balcony and have the outlet powered on constantly. Then with the TRÄDRI gateway and the HomePod have it automated to turn on rather early in the evening, or exactly at sunset and turn off at midnight. The other solution is to plug the lights directly into the outlet and control the outlet’s switch from the inside with a Shelly device, which would be a more expensive but also more proper solution, as this would offer the manual and automated switching as well.
I want to have a couple, big and small plants in the apartment. Currently there are two on my desk, but I have zero idea when and how much to water them. They also don’t have an underplate so over-watering could cause issues. Long story short, I have no data nor knowledge on plant watering. What I will do however is stick an Arduino plant monitor and have it send all the data to Home Assistant via wifi. This will in turn let me know the exact moisture levels of all plants, and in case it goes under critical levels, alert me. The alert can come via Telegram or spoken via the HomePod (first preferred, once a day). I am not sure how to better take care or water the plants with less tech, possibly a water holder straw thingy stuck into the dirt. The two solutions could be used in conjunction as well.
My current router is a TP-LINK Archer C6. From specifications, it should be enough to handle all the devices connected to the wifi network. It will be around 10 devices at the same time maximum. The HomePods, Apple TV, work Macbook, work phone, personal MacBook, personal phone, IKEA TRÄDFRI gateway, the two shelly devices for the blinds, the possible shelly device for the balcony lights. That is 9-11 devices at the same time on wifi, plus the Raspberry Pi (HA) connected on LAN, as well as maybe a networked backup device. I think the current router will be enough for a big chunk of those devices, but an upgrade will definitely be considered later to a more powerful (Link-Sys or Netgear) device.
There will be a robot vacuum, a Xiaomi device. This robot will vacuum the floors every day. My original thought was to let it run overnight, but then it will come into my room buzzing around at night for at least an hour. I am not sure if that would not disturb my sleep. In any case, the living room, kitchen, the entryway and bathroom can be vacuumed up overnight without any noise issues. Maybe the bedroom will be vacuumed up throughout the day, since I’m rarely in there at that time. That is actually a great plan, and can be automated with Home Assistant as well. One of the huge upsides to Xiaomi devices is that they are supported by HA. The vacuum robot is around €250 and is available on Amazon.
My desk is right in front of the aforementioned window in the living room corner. When I'm sitting at my desk I have an amazing view onto the other buildings in my complex. I don't want to show exactly where I live, but this complex has been featured on Archdaily, so believe me it is a good view. Since I work fully remotely, it is important to have good lighting at my desk - eg. for meetings. In the summertime this is not an issue as sunlight will reach in until ~8PM, but in the wintertime there is no light after 4PM. The solution to this will be a dedicated light bulb hanging from the ceiling right above my desk that will be controlled by HomeKit as well, and will sync with the time of day automatically.
This post was the beginning of the documentation of my smart home. This project will take at least a couple months to get up and running. I will be updating my progress here in written form, as well as make YouTube videos later (I still want to get into YouTube lol).