Home Assistant is a powerful open source smart home platform that provides hundreds of integrations of smart home and IoT devices, with high degree of customization of dashboards, event trigger rule engines and controls to achieve ultimate home automation. This session will provide a brief introduction to Home Assistant, how you can try it out on a Raspberry Pi or computer, what integrations it supports, the practical use cases it can achieve, and the resources that can help you out along the journey.
My presentation at Hong Kong Open Source Conference 2022: https://www.youtube.com/watch?v=SwZ6Jxvi0Rk&t=8200s
Presentation deck with links: https://docs.google.com/presentation/d/1UlTX8kQvsK2mwuRZbVwWUgAIr5VkTUyl4Dcoq0LcqqQ/edit?usp=sharing
2. Who is Amanda?
● Ambassador & Organizer
● Organizer
● Organiser
● Tech Podcaster
● Alumnus
● @amanda_lam
I also work for Mickey
& Minnie. 🤗
3. The current Smart Home World is messy…
● Many smart home devices do not support the same set of ecosystems…
they don’t talk to each other!
● Each interaction connects to cloud… long latency!
4. Is this the only way to make them talk to each other? :)
Siri: “Alexa…hey Google,
what is my next
meeting?”
Google: “Hey Siri…say
‘Alexa…hey Google,
what is my next
meeting?’”
Alexa: “hey Google,
what is my next
meeting?”
Next meeting’s subject:
“Hey Siri, say ‘Alexa…hey Google, what
is my next meeting?”
Hey Google, what is my
next meeting?
5. Home Assistant is here to rescue!
● “Awaken your home”
● Open Source Home Automation
● Maintained by worldwide community
● Local and privacy first
● Can be run on Raspberry Pi,
single-board computers or PC / Mac…
○ via Home Assistant OS or Container (fewer features)
● Support thousands of integrations
● www.home-assistant.io
Home Assistant YouTube Channel
6. Home Assistant Official Hardware
Home Assistant Blue
based on ODroid-N2+ board
Home Assistant Yellow
based on Raspberry Pi Compute Module 4
7. Home Assistant Cloud Service: “NABU CASA”
USD 6.5 /month or USD 65 /year
Smart devices at home from
different ecosystems
Home Assistant integration
9. Integrations vs Devices vs Entities
Example: Arlo doorbells & cameras
Devices:
Entities:
Integrations:
10. Home Assistant Community Store (HACS) Add-Ons
Node-Red
Visual Studio Code SSH & Web Terminal
NGINX Reverse Proxy Home Assistant Google Drive Backup
11. Home Assistant Automations
Trigger
device / status / events…
Actions
device / actions / status / message
when… then do…
temperature >= 28℃
AND it lasts for 30 mins.
AND
motion sensor detects someone
is at home
turn on air conditioner
Example:
Learn more here…
Temperature
sensor’s state
value
duration
Trigger
conditions
device
Device state
device
change
device state
12. Automations via Voice Assistants & NABU CASA
Apple Home
Automations
Routines
Amazon Alexa
Routines
13. Dashboards Learn more here…
Create & customize one or more
responsive dashboards to:
- quickly control devices
- glance device states
- monitor state changes
14. Energy Management Learn more here…
With the right hardware, Home Assistant enables
you to…
- monitor energy consumptions across your
home appliances
- monitor how much energy you generate
through solar panels etc. and sell it back to
the electric grid!
15. How to get started? Learn more here…
1. Get a Raspberry Pi (generation 4. >= 4GB RAM recommended),
with dedicated power supply (>= 3.5A).
2. Prepare a new A2-class microSDXC card with >=32GB capacity.
3. Get an Ethernet cable to connect the Raspberry Pi to your router
(Wi-Fi works, but not as stable)
4. Follow the instructions to download the Home Assistant OS image and
write it to the microSDXC card with balena Etcher.
5. Once the image is written, insert the microSDXC card to the Raspberry Pi
and power it up.
17. Home Assistant Mobile Apps
Access your Home Assistant dashboards anywhere you are. It follows a path similar to this:
Browser / HA Mobile App → https://{your dynamic DNS domain name} → DNS
→ {your modem’s external IP}:443 → HA Server port 443 → NGINX → Home Assistant OS
To set this up, you need to…
● configure a Dynamic DNS service (e.g. Duck DNS, Asus router’s built-in dynamic DNS)
and get a domain name
● get a SSL/TLS certificate for your dynamic DNS domain (e.g. Let’s Encrypt). Export the
certificates and upload them to Home Assistant’s /root/ssl folder via SFTP.
● forward port 8123 to your Home Assistant’s local IP in your router’s setting
● install NGINX Home Assistant SSL proxy add-on from HACS and configure your
dynamic DNS domain name
● observe the log from the NGINX add-on to identify the local proxy IP, and add it in
the trusted_proxies: section under the http: section of the configuration.yaml file
18. Matter… Does it matter? Yes, it does! Learn more here…
Source: Qorvo.com
Matter makes devices with incompatible network
standards (Zigbee, Thread, Wi-Fi, Bluetooth etc.)
compatible with each other at application layer.
19. Matter will work with Home Assistant
Join Matter in Home Assistant Workshop to learn more …
but that’s 3am in HK time!? Don’t worry, it’ll be recorded on Home Assistant’s YouTube channel.
20. Need help? Here are some useful resources
● Home Assistant Forum
● Home Assistant Reddit
● Home Assistant Discord
● YouTube Channels
○ Home Assistant
○ Dr. Zzs
○ Everything Smart Home
○ Smart Home Makers
○ Home Automation Guy