A step-by-step guide to building cost-effective and complete home automation DIY projects using tools such as Home Assistant, Raspberry Pi, IoT devices, the Tasmota sensor, ESP32, and Grafana
Key Features
Learn by doing using real-life practical examples to build your own home automation system
Create, hack, and configure IoT devices through hands-on projects to be used with or without Home Assistant
Customize your home automation system using Home Assistant, Node-RED, InfluxDB, and Grafana
Book Description
Picture a home where you can adjust the lighting based on the time of day or when movement is detected. In this same home, you can also detect when a door is unexpectedly opened or an alarm is triggered in response to any suspicious activity. Such automated devices form part of a smart home, and the exciting part is that this book teaches you how to create and manage these devices all by yourself.
This book helps you create your own ecosystem to automate your home using Home Assistant software. You’ll begin by understanding the components of a home automation system and learn how to create, hack, and configure them to operate seamlessly. Then, you'll set up Home Assistant on a Raspberry Pi to work as a home automation server, build your own IoT sensors based on ESP32/ESP8266, and set up real-life automation use cases using hands-on examples and projects. The chapters will also guide you in using software tools such as Node-RED, InfluxDB, and Grafana to manage, present, and use data collected from your Home Automation devices. Finally, you’ll gain insights into new technologies and trends in the home automation space to help you continue with your learning journey.
By the end of this book, you’ll be able to build your own creative, IoT-based home automation system using different hardware and software technologies.
What you will learn
Understand the fundamental concepts of home automation systems
Set up a home automation system using Home Assistant and Raspberry Pi
Create and configure ESP8266-based sensors to work with Home Assistant
Hack a commercial actuator to work with Home Assistant using Tasmota
Create automations, customize, and use applications with Home Assistant
Leverage IoT software tools to take your home automation to the next level
Work on hands-on projects, including LED strip lights and an ESP32 five-zone temperature logger
Explore home automation FAQs, emerging technologies, and trends
Who this book is for
The book is for engineers, developers, students, makers, and enthusiasts who’re working on or interested in working with electronics and IoT devices, embedded systems, systems integration, computer software, and coding to develop their own smart home automation systems. Technicians, teachers, and other professionals who want to learn home automation–related technologies will also find this book useful. Prior experience of working with Raspberry Pi, creating hardware prototypes, and software programming will be beneficial.
Author(s): Marco Carvalho
Publisher: Packt Publishing Limited
Year: 2023
Language: English
Pages: 496
Building Smart Home Automation Solutions
with Home Assistant
Contributors
About the author
About the reviewers
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Code in Action
Conventions used
Get in touch
Share Your Thoughts
Download a free PDF copy of this book
Part 1: Introduction to Home Assistant – Installation and Configuration
1
Understanding Home Automation Systems
Technical requirements
Overview of home automation systems
Benefits of having an automated home
Saving time
Feeling comfortable
Saving money
Being safe
Home automation structure
Home automation server
Sensors
Actuators
Communication media
Protocols and brokers (MQTT)
User interface and other clients
Example of a real home automation system
History
Current configuration
Bill of materials and costs
Summary
2
Getting Started with Home Assistant
Technical requirements
Learning about Home Assistant
Introduction and evolution
Home Assistant features and resources
Important Home Assistant definitions
Home Assistant availability
Community and support
YAML
Raspberry Pi as a home automation server
Hardware architecture
Main Raspberry Pi features used by the home automation system
Installing Home Assistant on a Raspberry Pi
Preparing the SD card for Home Assistant installation
Home Assistant installation verification of Raspberry Pi
Home Assistant initial configuration
Exploring a Home Assistant installation
Home Assistant default screen and menu disposition
Home Assistant sidebar navigation
Home Assistant basic configurations
User preference configuration
General configuration
People configuration
MQTT configuration
Wi-Fi network configuration
Dashboard cleanup
Summary
Part 2: Install, Create, and Hack Sensors and Actuators
3
Hands-On Project 1 – Creating Your Own Sensor
Technical requirements
Knowing the parts and tools to build your sensor
Element sensor and signal conditioner 1 – the motion sensor
Element sensor and signal conditioner 2 – environmental/temperature sensor
Wireless communication module – ESP8266
Power supply and cabling
Connecting the electronic parts and cables
Understanding Tasmota and how to install it in our sensor
What is Tasmota?
Installing Tasmota in our sensor
Configuring the software of your sensor
Getting data from sensor elements
Device name
Configuring the MQTT information in the sensor
Integrating the sensor data into Home Assistant
Integrating the temperature sensor
Integrating the motion sensor
Enclosing, calibrating, and installing the sensor
Enclosing our sensor
Calibrating the sensor
Installing the sensor
Summary
4
Hacking a Commercial Actuator to Work with Home Assistant
Technical requirements
Understanding hacking a sensor or actuator
How to choose a commercial sensor or actuator to be used with Tasmota
Using tools and hacking the firmware of a commercial actuator
Learning about the tools and materials used to hack an actuator
How to hack your commercial actuator
Configuring your hacked actuator
Configuring the Tasmota firmware in your actuator
Configuring the actuator in Home Assistant
Adding another commercial actuator to Home Assistant (non-hacked)
Using a Home Assistant integration to add a commercial device
Installing actuator devices in your home
Getting started with the actuator installation
Installing other types of devices in your home
Installing small actuators in electrical wall boxes
Installing outlet plug actuators
Installing smart lamps (bulbs)
Installing battery-powered devices
Summary
Part 3: Automations, Customizations, and Integrations Using Home Assistant
5
Creating Automations Using Home Assistant
Technical requirements
Learning what automations are
Components of an automation in the context of Home Assistant
Understanding entities
Understanding the automation components
Creating your own automations
Automation 1 – convenient light for your garage
Automation 2 – turn off screen monitor at bedtime
Testing and debugging your automation
Setting and checking the state of entities
Changing the state of output devices using services
Using traces to debug your automation
Expanding the Home Assistant automation capabilities
Using and creating pre-formatted automations (blueprints)
Creating and using scripts
Creating scenes
More examples of automations
Summary
6
Doing More Using Integrations and Customizations
Technical requirements
Adding more devices to your home using integrations
Using Home Assistant-based integrations
Using device manufacturer-based integrations
Adding other devices to your home
Using dashboards in Home Assistant
Understanding and creating dashboards
Populating dashboards by using cards
Populating the dashboards by using badges
Customizing your dashboards
Dashboard approach 1 – by home dependencies
Dashboard approach 2 – by device type
Dashboard approach 3 – Home Assistant integrations
Using extra resources to customize your dashboard
Using the Picture Elements card
Installing and using other customizable cards and items
Summary
Part 4: Expanding Home Assistant’s Capabilities
7
Extending Home Automation Capabilities Using Add-ons
Technical requirements
What are add-ons in Home Assistant?
Doing automations without Home Assistant using
Node-RED
Installing and using Node-RED
Recreating an automation using Node-RED
Using database and chart tools to present data from
your home
Installing and creating databases using InfluxDB
Installing and presenting data using Grafana
Managing your network of Tasmota devices using TasmoAdmin
Accessing Home Assistant remotely
Summary
8
Installing and Setting Up Home Assistant Container
Technical requirements
Creating backups in Home Assistant
Creating and retrieving manual backups using Home Assistant
Creating an automation to back up your system
Understanding the architecture of IOTstack
Installation of IOTstack
Configuring the IOTstack
Raspberry Pi static IP configuration
Accessing and configuring the container software applications
MQTT server configuration in Tasmota devices
Configuring Home Assistant in IOTstack
Running and managing the applications in IOTstack
Maintaining the software used by IOTstack
Summary
Part 5: Learn by Doing and Future Trends
9
Hands-On Project 2 – Creating an LED Strip Controller and Adding It to Home Assistant
Technical requirements
How an LED strip controller works
Grouping the materials and connecting the parts
Materials required to build the LED strip controller
Connecting the parts to build the LED strip controller
Deploying the controller software
Configuring the LED strip controller using the WLED software application
Configuring the Wifi network in the WLED application
Configuring the main parameters of the WLED application
Integrating the LED strip controller into Home Assistant
Creating an automation using the LED strip controller
Installing the LED strip controller in your home
Summary
10
Hands-On Project 3 – Creating a Five-Zone Temperature Logger for Your Home
Technical requirements
Understanding the five-zone temperature logger system architecture
Hardware system architecture
Software system architecture
Creating and configuring the five-zone temperature sensors and the ESP32 module-based temperature hub
Changing the Mi Bluetooth thermometer firmware
Uploading the ESP32 Tasmota firmware variant to the temperature hub
Connecting the sensors data to a database using
Node-RED
Double measurement sensor data capturing and formatting
Temperature hub data capturing and formatting
Configuring the data to be stored in the InfluxDB database
Storing data in a database using InfluxDB
Presenting the InfluxDB data using Grafana
Using the five-zone temperature sensor in Home Assistant
Summary
11
The Road Ahead in Home Automation Technologies
Technical requirements
New technologies and trends in home automation
Using current and new technologies to interact with your home
Using different smart devices in your home
Using a single home automation communication protocol
Using energy-efficient systems
Including security in home automation
Home Automation and Home Assistant FAQs
Home automation FAQ
Home Assistant FAQ
How to get ideas for projects to automate your home
Additional resources
Websites
YouTube channels
Online forums and communities
Podcasts
Books
Summary
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share your thoughts
Download a free PDF copy of this book