Home-Assistant

integrácia open-source systému pre automatizáciu domácnosti

About

Home-Assistant je open-source nástroj na správu inteligentnej domácnosti. Je napísaný v jazyku Python a je široko konfigurovateľný. Je obľúbený aj vďaka integrácii veľkého množstva zariadení určených pre inteligentnú domácnosť. Príklady jeho použitia si môže pozrieť na demo stránke.

My si dnes vyskúšame do neho integrovať vlastné zariadenia, ktoré budú komunikovať prostredníctvom protokolu MQTT - jednoduchý teplotný senzor a jednoduchý spínač.

Goals

  • zoznámiť sa so základmi používania aplikácie Home-Assistant
  • naučiť sa vytvárať vlastné MQTT senzory a spínače

Content

Krok #1: Get Ready

V prvom kroku rozšírime konfiguráciu nášho docker-compose.yaml súboru a vykonáme prvotnú konfiguráciu tohto nástroja.

Úloha 1.1: Rozšírte svoj súbor docker-compose.yaml o nástroj Home-Assistant.

  • obraz homeassistant/home-assistant:stable
  • volume pre nastavenie rovnakého času ako na hosťovskom počítači /etc/localtime:/etc/localtime:ro
  • volume konfiguráciu v lokálnom priečinku ./ha-config:/config
  • network_mode: host

Úloha 1.2: Spustite kompozíciu.

Výsledkom spustenia sa v priečinku spustenia vytvorí priečinok ha-config/, ktorý obsahuje aktuálnu konfiguráciu HA.

Úloha 1.3: Otvorte prehliadač na adrese http://localhost:8123 a prejdite prvotnou konfiguráciou.

  • vytvorte si účet používateľa zadaním prihlasovacieho mena a hesla
  • nastavte svoju lokáciu
  • potvrďte zariadenia, ktoré sa HA podarilo zistiť pri prvom spustení

Úloha 1.4: Rozhliadnite sa v prostredí systému.

Home-Assistant: Prvé spustenie

Úloha 1.5: Otvorte súbor s konfiguráciou configuration.yaml v priečinku ha-config/.

V tomto súbore sa nachádza celá konfigurácia HA.

Úloha 1.6: Do konfigurácie pridajte časť mqtt, kde špecifikujete MQTT broker.

V tomto súbore sa nachádza celá konfigurácia HA.

mqtt:
  broker: broker.hivemq.com
  discovery: false

Úloha 1.7: Pre aplikovanie zmien reštartujte HA.

Reštartnete ho pomocou menu Configuration > Server Controls > Restart.

Krok #2: Creating a MQTT Sensor Device

V tomto kroku vytvoríme jednoduchý senzor teploty v spálni.

Úloha 2.1: Do konfigurácie HA pridajte do časti sensor senzor reprezentujúci váš teplotný senzor.

sensor:
  - platform: mqtt
    state_topic: "kpi/iot/bedroom/temperature/get"
    name: "Bedroom Temperature Sensor"

Úloha 2.2: Overte, či bol senzor naozaj vytvorený.

Po reštartovaní by sa vám senzor mal zobraziť na prehľadovej obrazovke HA.

Home-Assistant: Teplotný senzor po prvom spustení

Úloha 2.3: V prostredí nástroja Node-RED si vytvorte flow s názvom Smart Home, v ktorom budete pridávať flow-y pre vašu domácnosť.

Úloha 2.4: Vo flow-e Smart Home vytvorte slider, pomocou ktorého budete posielať aktuálnu teplotu do príslušnej témy.

Home-Assistant: Flow pre teplotný senzor

Úloha 2.5: Overte vašu implementáciu.

Ak ste postupovali správne, váš senzor v HA zaznamená každú zmenu, ktorú vykonáte.

Home-Assistant: Teplotný senzor

Úloha 2.6: Pridajte si v prehľade ďalšie karty pre zobrazenie hodnoty z teplotného senzora iným spôsobom.

V pravom hornom rohu prehľadu si rozbaľte menu a vyberte si položku Edit Dashboard. V nej môžete upraviť vzhľad a rozloženie celého prehľadu. Napríklad môžete:

  • zobraziť teplotu vo forme budíka (gauge)
  • zobraziť graf buď pomocou karty History Graph alebo Sensor
Home-Assistant: Karty teploty

Krok #3: Creating a MQTT Device as a Switch

V tomto kroku vytvoríme jednoduchý svetelný spínač.

Úloha 3.1: Do konfigurácie HA pridajte do časti switch nový svetelný spínač.

switch:
  - platform: mqtt
    name: "Bedroom Light Switch"
    command_topic: "kpi/iot/bedroom/switch/set"
    qos: 1
    retain: true
    payload_on: 1
    payload_off: 0

Úloha 3.2: Overte, či bol spínač naozaj vytvorený a funguje správne.

Po reštartovaní by sa vám spínač mal zobraziť na prehľadovej obrazovke HA. Jeho fungovanie môžete overiť pomocou websocket klienta na stránke HiveMQ Broker-a.

Úloha 3.3: Pridajte kartu Button, ktorá bude reprezentovať váš spínač.

Additional Tasks