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

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.

Task

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

Task

Spustite kompozíciu.

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

Task

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í

Task

Rozhliadnite sa v prostredí systému.

Home-Assistant: Prvé spustenie

Task

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

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

Task

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

Task

Pre aplikovanie zmien reštartujte HA.

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

Creating a MQTT Sensor Device

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

Task

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"

Task

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í

Task

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ť.

Task

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

Task

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

Task

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

Creating a MQTT Device as a Switch

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

Task

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

Task

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.

Task

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

Additional Tasks