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.
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
Upozornenie
Predvolená hodnota vlastnosti discovery
je
true
. Ak ju necháte nastavenú na túto hodnotu, HA urobí
operáciu discovery nad verejným broker-om, čo znamená, že
nájdete kopec zariadení, o ktoré nemáte záujem. Naopak - prípadný
útočník by o ne záujem mal. Pre naše experimenty si vystačíme s verejným
broker-om. Pre reálne nasadenie však svoju domácnosť nevystavujte na
verejnosti ;) Môžete použiť napr. obraz eclipse-mosquitto.
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"
Poznámka
Senzor alebo obecne entita môže mať samozrejme výrazne viac
vlastností, ako len uvedené. Môžete si ho rozlične upravovať napr.
pridaním ikony (kľúč icon
) alebo jedinečného identifikátora
(kľúč unique_id
). Viac informácií o upravovaní entít
nájdete v dokumentácii.
Task
Overte, či bol senzor naozaj vytvorený.
Po reštartovaní by sa vám senzor mal zobraziť na prehľadovej obrazovke HA.
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.
Task
Overte vašu implementáciu.
Ak ste postupovali správne, váš senzor v HA zaznamená každú zmenu, ktorú vykonáte.
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
aleboSensor
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
Additional Links
Home-Assistant - domovská stránka nástroja Home-Assistant