Control home automation hardware with Home Assistant

Group Dynamics

To keep track of your own sensors, lamps, and other devices, it is a good idea to sort them into groups. The group structure will add convenience to the web interface. Aspiring automation engineers will want to extend the configuration.yaml file; add the lines in Listing 2 and then restart Home Assistant.

Listing 2



The names of your own devices (e.g., sensor.temperature_bedroom in Listing 2) appear in the States view below Developer Tools. The first part of the name indicates the device type, the second part defines a configurable, individual identifier for the device.

Let There Be Light!

For the first few attempts with Home Assistant, you'll be content to control individual devices with the browser. But in the long run, you won't want to search for your tablet PC (Figure 3) just to switch the light on.

Figure 3: A tablet is a useful option for occasional access.

Home Assistant come with useful automation features for hands-off operation. In the simplest scenario, a sensor can detect an event that triggers an action. For example, the default configuration provides a sensor that measures the presence of sunlight. On this basis, the automation rule in Listing 3 regulates the lighting depending on the external brightness.

Listing 3

Brightness Sensor


The trigger attribute indicates which event this rule should trigger. Optionally, the condition attribute lets the developer specify which other conditions must be met for the rule to apply. The action attribute describes one or more actions that Home Assistant will implement.

If you don't want to wait until the sun goes down, click on the name to activate automation rules in the browser. Manual activation is useful in the testing phase, when you're checking to see whether the action is working properly. A built-in logbook tracks when and why Home Assistant performs actions. The Home Assistant user interface lets you temporarily disable individual rules. For instance, you could disable a rule that started the furnace on a day when no one is home (Figure 4).

Figure 4: Home Assistant's interface lets you see whether each automation rule is currently active.

On request, Home Assistant combines different actions to create scenes – for example, to control several lights at once. Scenes are especially helpful with automation, because automation rules can only hold a single action.

Location-Based Automation Rules

Another central feature of Home Assistant is the ability to define geographic zones (e.g., home, work). The software triggers events as soon as particular users enter or leave these zones. The administrator defines the zones using latitude and longitude, as well as a radius (Listing 4).

Listing 4

Defining Geographic Zones


Home Assistant accesses localization services such as Find my iPhone [5] and GPS Logger [6] to recognize users who enter the defined zone. Admins can trigger actions based on the leave and enter events when someone exits or enters the space. The example in Listing 5 shows how to switch off the lighting automatically when a specific device – in this example, a mobile phone – leaves the home zone. On the summary page, the administrator can keep track of whether someone is in a specific zone in OpenStreetMap (Figure 5). The log will reveal when Home Assistant detects transitions between the individual zones.

Listing 5

Zone Alarm


Figure 5: The built-in map can locate mobile devices registered with Home Assistant.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Z-Wave Home Assistant

    Z-Wave components, a RaZberry module, and the free Home Assistant software make the Raspberry Pi a powerful smart home control center.

  • Home Assistant with MQTT

    Automating your four walls does not necessarily require commercial solutions. With a little skill, you can develop your own projects on a low budget.

  • Web Scraping with Bash

    You can use one line of Bash code to scrape a web page and show the data you're tracking in Home Assistant or Node-RED.

  • ESPHome

    With an ESP32 or Raspberry Pi Pico W microcontroller board, you can easily create your own home automation devices. Thanks to ESPHome, you don't even have to be a programmer.

  • Mycroft

    Voice-activated assistants like Mycroft bring online, hands-free help to users, but with more transparency and less spying.

comments powered by Disqus