Anybody who has a couple of smart devices in their house will recognize the fact that every brand seemingly has their own way of communicating with their devices. This can quickly result in you having a ton of different apps on your phone, each controlling one separate thing. In addition, they’ll probably tell you you need a dedicated hub to communicate with these devices. This means you are either stuck with one brand, or with multiple brands that are incompatible with each other.
“Do you want the lights to turn on when you come home? Sorry, your smart light bulbs are not compatible with the door sensor. Want to be woken up when your basement is flooding? Sure, just get a flood-sensor, a new app on your phone and make sure your phone is always on & connected otherwise you won’t receive the notification.”
From the time working with smart devices I have come up with a few rules I try to stick to as much as I can:
- No services should run on my phone directly, otherwise they will drain the battery and they require me to always have my phone on. They should be offloaded to a dedicated external device.
- My phone should have as little apps as possible.
- Devices, and in particular the lights, should have a high WAF-factor (Wife Acceptance Factor), meaning:
- They should work quickly and reliably.
- They should preferably have a physical button, or at least have voice control so that they are easy to (manually) control.
- Lesser important, but where possible choose a device that does not require WiFi to avoid unnecessary traffic on my WiFi network which could make it slow.
A big help in living after these rules has been my Athom Homey. I bought a Homey V2.0 in November 2019, and since then it has slowly become the center of my smart home. Homey is a smart home hub, able to communicate directly with over 50.000 devices of over 1000 manufactures, without the need for additional hubs. It is able to communicate over both WiFi, ZigBee, Z-Wave, 433MHz, 868MHz, Infrared and Bluetooth, so it is extremely versatile in terms of what devices it can communicate with.
Homey is also accessible from outside my local network, so as long as I have internet I can check up on the status of my devices at home. At the time of writing I have around 30 devices integrated into Homey, and 17 apps to control all of them and the automation’s that run behind them.
Smart WiFi sockets
One of the simplest things you can start with when starting your smart home are smart WiFi sockets. These plug in your existing wall outlet, and measure the voltage, current and power of whatever is plugged in to them. In addition, they have a relay which you can use to turn things on & off.
Homey can use the relay to turn things on and off, for example the power to our robot vacuum Dustin to control when it is allowed to charge. Additionally, with the help of Flows (which I’ll explain a bit further down) you can automatically detect when a device is on by monitoring the energy consumption. This is useful for, for example, the washing machine or the dishwasher. In our case, when the washing machine is running it uses a certain amount of power. Homey monitors if the power consumption of the smart WiFi socket exceeds 100W, and if it does it turns on a virtual device which is called ‘Washing Machine’. Vice versa, if the energy consumption drops below 10W for over 5 minutes, the virtual device ‘Washing Machine’ is turned off. A full guide on how to implement this can be found here. This is used to calculate the total energy consumption & price, but also allows us to ask ‘Hey Google, is the Washing Machine on?’, and Google Home will understand and tell us the answer.
In my case, I currently use BlitzWolf SHP6 sockets (10A versions) for controlling power to the Playstation and Dustin, and BlitzWolf SHP2 sockets (16A versions) for monitoring the washing machine and the dryer. All of these sockets are re-branded Tuya sockets, and I have flashed them with ESPurna software to make them compatible with Homey and remove the need for a separate BlitzWolf hub. I am considering moving towards Aqara smart plugs as they use Zigbee instead of WiFi, see rule #4.
Homey integration into Google Home
Talking about Google Home, Homey is integrated into Google Home. This means that any device that is added into Homey automatically gets forwarded to Google Home! This makes it very simple to add voice steering to anything, from the Awning to the Playstation.
One exception to the ‘easy integration’ are the Aqara temperature sensors. Homey does not support the synchronization of sensors to Google Home (link). I therefore made a virtual thermostat for each sensor, which did allow exposure to Google Home. This however meant that if one asks for the temperature in the living room, Google Home will respond with ‘The temperature is set to X, and currently it is Y degrees’.
Homey communicates with my Philips Hue bridge over WiFi/LAN. The Hue bridge takes care of the communication with the light bulbs and light switches over Zigbee. Theoretically Homey could take over the functionality of the Hue bridge completely (Homey talks Zigbee after all), but I have one reason why I haven’t switched it out yet: Reliability. The Hue system has over the last 4 years proven itself to be very, very stable. We have never had issues where we pressed a button, the lights would not come on. They respond quickly, all the time. I have realized this is essential to keep the family on-board with the whole smart home journey.
Also, I can tinker as much with Homey as I want while the lights and light switches will still be working fine as they are on a separate system. Lastly, resetting each separate light and programming it into Homey will require a lot of work (with 4 light switches and 17 light bulbs this is quite a job). Since everything works so smoothly, it is best to keep this system as is for now.
Here in Norway every energy meter is since January 2019 ‘smart’, as they are all required to have a HAN-port (Home Area Network-port). This port reports every second the real time power consumption of your house over M-Bus, which means that when you connect an M-Bus reader to this port you can get this information send over for example WiFi or Zigbee.
This is where Tibber comes in. They are a Norwegian energy provider and sell a little device called a Tibber Pulse. The Pulse connects to the HAN-port (but also works with smart energy meters in other countries), snaps onto the front of your meter with magnets and sends the data over WiFi to Homey.
Tibber is also my energy provider and connected to Homey, which means Homey has access to my current energy prices, information on lowest and highest energy prices during the day as well as statistical data on the price. This I use for example to calculate how much it costed to wash our clothes, or to charge Dustin during the time of the day the energy prices are at their lowest.
BTW, if you want to sign up for Tibber, give me a shout! We can both earn €50,-/500NOK in their web store if I register you as invited!
Flows in Homey are like If This Then That (IFTTT) applets. You can program certain ‘triggers’ which start an automation (If This), which will then perform certain actions (Then That). In addition you can program parameters which need to be met before the actions are performed. A few examples I have below are:
- Detect if somebody is showering.
- Virtual Devices.
- Automating the extending and retracting of the awning.
This was my first automation, and mostly meant to try out the ‘Flows’. This flow runs when humidity changes in the bathroom. When the humidity is greater than 80%, the first flow creates a notification saying ‘Somebody is showering!’, and then deactivates itself. A second flow activates when the humidity is lower than 80% and the first flow is disabled. This indicates the shower is back off, so it simply re-enables the first flow.
This has worked remarkably well so far. I’ve never seen any false positives, nor any double notifications.
If a device cannot be added directly to Homey, maybe because it is a ‘dumb’ device or it is incompatible, it is often possible to make a Virtual Device by looking at the power consumption, like what we do with the washing machine.
Another possibility for virtual devices is to use them as (voice activated) triggers, for example with the Playstation. When the virtual device ‘Playstation’ is turned on by Google Home (‘Hey Google, turn on the Playstation’), Homey runs a flow which turns the electrical socket on, turns the TV on and sets it to the right input channel. The TV then sends a CEC command to the Playstation, which will turn it on as well.
There is also a second flow that turns the Playstation power socket off again when the power consumption drops below 10W, and the countdown timer (which is set to 5 minutes) is not running.
The awning motor which I recently installed can be steered from Homey using a Z-Wave signal. An extensive description of how the awning is extended and retracted based on the seasons & weather can be found here.
I have ordered a couple of different Aqara sensors to go and try out. All of these sensors use Zigbee to communicate, which I like a lot as it doesn’t clutter my WiFi network. Among the things I have ordered are firstly a wall switch which I’m planning to use to steer some of the lights in the hallway. Secondly, a door sensor to turn up the light intensity of those same lights for a couple of minutes when the front door is opened. Lastly, I ordered a flood sensor which should give an alert on the Google Home devices when it detects a flooding, as well as flashing the lights. I also have some cool ideas for the Xiaomi lux sensors, which could completely automate the awning and the lights in the living room.
Another thing I am looking for is a cool-looking dashboard which I can for example put on a tablet somewhere in the house, which can then be used by the rest of my family to control devices and check the status on them. This will greatly increase the WAF factor because it makes the data more accessible. I am considering to use MQTT to push data to the Magic Mirror, where I can create a floor map to show the status, but this won’t enable us to steer devices. If you have any suggestions, please let me know in the comments below!
Unfortunately, as I mentioned in my Roborock post, the Xiaomi Mi Home app is outdated which means I cannot control my Roborock through Homey. I have temporarily added the Roborock directly into Google Home, but hopefully the developer will come with an update for this app. I am also considering looking into this myself, as it looks like the app is not actively maintained any longer.
Lastly, we have a Sharp TV in the living room which uses an RF control. As no library has been created to control TV’s over RF with Homey, it cannot be added. Homey is also physically in a different room, so even if we switch out the TV for one that is controlled by IR, Homey couldn’t control it.
If I want to control the TV (and the amplifier & TV set-top box) I have two options; the first is to start creating my own app for Homey, however I find that my time to do this is quite limited. The other option is to buy a Broadlink RM Pro, which should be able to learn the controls of the TV and should also be able to steer the amplifier and set-top box (which are using IR). If you have any more idea’s/suggestions, please drop me a message!