Best Home Assistant Integrations & Devices

Best Home Assistant Integrations & Devices

home assistant UI lovelace for living room

For those who want to dive deep into the Internet of Things, provides an incredibly powerful platform for monitoring and automation. After years of using it, this article focuses on some of the best Home Assistant integrations and use-cases. In my home, we use magic spellbooks as controls around the house. We even have it set up in the van, tracking our travels with integrations to the car itself.

The Home Assistant community has plenty of examples for setting up interesting integrations. In this spirit, I’ve open-sourced both my home configuration and van configuration. Below, I share some of my favorite features and the best Home Assistant integrations.

Like DIY solutions? Check out the IOT smart home retrofit project.

iot projects with raspberry pi, arduino, and home assistant

Related: IOT Projects

We converted a snowy cabin into a smart home using 100% DIY, maker-made components. This project is much more thorough — it breaks down each part of smart home design. The following post focuses on a more 'off-the-shelf' solution.

Read More »

Home Assistant Devices

By popular request, here are the parts I’ve used. These are mostly plug-and-play Z-Wave devices, rather than cheap and/or DIY alternatives. I’ll be exploring such DIY approaches (and writing more about my uses of Raspberry Pi and Arduino), but for now…

Controlling dumb appliances with a smart plug is a pretty easy way to go. However, watch out for anything that has a remote. Physical knobs on the device indicate that it has no memory, which is good because it will resume the last state when turned back on. By using a smart plug, you’re basically cutting off power to the device… it needs to not reset itself when turned back on, or else you may end up with the default settings again.

Building Good Habits with Lighting

One of the beginner examples for Home Assistant is using motion detection to turn lights on for a short period of time. This is handy in hallways and bathrooms, especially at night, to avoid fumbling for a light switch. I also find it convenient to turn on the hall lights when the front door is opened, which helps when carrying things in the house.

My favorite sensor is the Aeotec Multisensor 6, because it can detect practically everything: motion, temperature, humidity, light, UV, and vibration.

The first easy change I made to the examples was to change the brightness of the light based upon the time of day. This way, when heading to the bathroom at night, the light is not so bright as to wake us up.

Thinking about lighting, I noticed how we often left closet doors/curtains open. At the same time, the light switches for the closets were in awkward places in the room. I decided to use the same motion detection strategy, placing the detectors inside the closet this time.

Some of the best home assistant integrations are also the most hidden.
When the curtain is opened, the closet light turns on automatically.

Because the light only turns off when there is no motion detected, the act of closing the door/curtain also ensures that the light will turn off. At the same time, leaving the closet open means that the light will stay on as people move around the room.

I turned all of this into a general motion package for Home Assistant.

Per-Room Occupancy

Again, the best Home Assistant integrations examples demonstrate how to know when someone is at home with presence detection. One simple use of this is to turn off lights/music automatically when nobody is at home.

For more fine-grained control, it’s possible to detect if someone is in a particular room in the house. Simple GPS coordinates probably won’t do the trick, though. They’re often too inaccurate, and don’t work well with multi-story houses.

The best solution I know of is using BTLE (Bluetooth). With the Raspberry Pi spellbooks in each room, I can detect how close a given phone is to each room. I adapted the Espruino Hub project, which reports BTLE signal via MQTT, into a docker container for Tiny Cluster. The RSSI (signal strength) is converted into a sensor to determine which room each of us are in.

Perhaps the best use of this information is climate control…

Climate Control (without Central Air/Heat)

Where I live in San Francisco presents an interesting challenge.

Though we technically have central heat, it is a single zone for the entire house — which means we cannot heat rooms individually. It’s not a large apartment, but is four stories tall… so the temperature difference between the bottom and top floors can be up to 20 degrees (F). No matter what temperature we set the thermostat to, some rooms will probably be uncomfortable.

We installed two portable A/C units, and one portable space heater and use smart power outlets to control the on/off state (for simple, cheap units like ours). More expensive portable heating/cooling units may be able to integrate directly into Home Assistant, or use a remote IR thermostat that can connect to Home Assistant.

best home assistant integrations: thermostat zone control
A simple temperature sensor and on/off switch are enough to create a custom thermostat.

When combined with the Room Occupancy, above, it’s easy to imagine creating an automation that keeps every room at the perfect temperature depending on who’s home (and where).

To go a bit further, it’s even possible to build an entirely DIY HVAC system:

hvac arduino diy learning thermostat

Related: How to Replace a Thermostat with a Raspberry Pi

HVAC systems can be very elaborate. But with some research, it's surprisingly easy to learn how to replace a thermostat with a smart, programmable Raspberry Pi thermostat. Even basic, student-focused electronic kits contain all the parts necessary to control the heat in a house.

Read More »

Guest Automation

When we leave town in the van, we sometimes have guests. I created a simple toggle for “guest mode,” which turns off automatons that might not apply to guests. For those who rent their home, such guest interaction automatons are some of the best Home Assistant integrations (for security and peace of mind):

best home assistant integrations: Airbnb guest automation
Changing the guest door code.

I also like changing the door code for every guest who is not a close friend. For that, I created a simple input_text and script to change the guest door-code. This also can change behaviors in the house when a guest is around.

Remote Control Kiosks

I already mentioned the magic spellbook kiosks. These devices are locked to the Home Assistant main screen, so that users can only navigate the prescribed UI. They are further secured by not having an active USB port, nor any way to click into the home assistant admin menus. This is achieved with a kiosk script that hides the navigation bar.

Guests can come to my home and control the projector, music, TV, etc. all without logging in to any secure systems. I only give out the password to the guest network, so all the home automation stays enclosed in the private network.

Other Ideas

There are many things I didn’t cover here.

I also covered my use of Home Assistant in the van separately, where I track fuel usage, temperature, internet bandwidth, and other interesting things. There are a number of things I’m still experimenting with. I hope to one day build an automated garden with Raspberry Pis, as well as reduce energy usage even further.

Build Guides

Looking for even more detail?

Drop your email in the form below and you'll receive links to the individual build-guides and projects on this site, as well as updates with the newest projects.

... but this site has no paywalls. If you do choose to sign up for this mailing list I promise I'll keep the content worth your time.

Written by
(zane) / Technically Wizardry
Join the discussion

  • Hi,

    Nice post thanks for sharing. What I do like is that you are sharing knowledge with a proper source. Great job.

    As for your AirBnB guests you can use a NFC card with a QR code printer. If they turn on their NFC or scan the QR code their in.

    Next step would be to have this guest code changed after they leave.


    • Thanks! I try to save all the links as I work, so that I can cite everything.

      I like the guest idea, but I’m afraid many are not that tech-savvy. My plan is instead to integrate with the Airbnb platform itself to message them their personal PIN code for entry about 24 hours before check-in. I find this works very well when done manually because the guest also receives the PIN code via email & SMS (Airbnb notifications), meaning they’re unlikely to forget it. This means there are no physical objects to change, as well — the code is handled entirely digitally, and reset for the next guest.