Node-RED v Home Assistantu: od instalace k prvnímu flow
Node-RED ti dá moc nad automatizacemi které HA YAML prostě nezvládne – komplexní podmínky, stavové stroje, čekání na události. Tady je kompletní instalace a hned první reálný flow: notifikace když někdo zazvoní.
Instalace Node-RED addonu
Node-RED není v oficiálním obchodě – přidej Community Add-ons repozitář:
Nastavení → Doplňky → Obchod → ⋮ → Repozitáře
https://github.com/hassio-addons/repository
Po přidání najdi Node-RED a nainstaluj. V konfiguraci addonu nastav:
credential_secret: "ZVOL_SILNE_HESLO" # šifruje uložené credentials
dark_mode: true # tmavý editor
Spusť addon a otevři UI přes Otevřít webové rozhraní nebo na http://IP_HA:1880.
Instalace HA pluginu do Node-RED
Bez pluginu Node-RED s HA nekomunikuje. V Node-RED UI: ☰ Menu → Manage palette → Install, hledej:
node-red-contrib-home-assistant-websocket
Po instalaci přidej HA server: v editoru přetáhni nod server-state-changed na plochu, dvojklik → Server → + Add new server. URL: http://homeassistant.local:8123, vygeneruj Long-Lived Access Token v HA (Profil → Bezpečnost → Dlouhodobé přístupové tokeny) a vlož ho do pole Token.
Koncepty které musíš znát
Node-RED flows jsou propojené bloky (nody). Každý nod zpracuje zprávu a pošle ji dál. Základní nody z HA pluginu:
- server-state-changed – spustí flow když se změní stav entity v HA
- api-current-state – přečte aktuální stav entity (neustále, na vyžádání)
- api-call-service – zavolá službu v HA (zapni světlo, pošli notifikaci, nastav hodnotu)
- function – JavaScript kód, libovolná logika
- switch – větvení podle hodnoty zprávy
- delay – čekání nebo rate limiting
- time-range-switch – větvení podle denní doby
První flow: notifikace při zvonění
Postavíme flow krok za krokem. Výsledek: když zazvoní zvonek, pošle se notifikace do mobilu.
Krok 1: Přetáhni na plochu nod server-state-changed. Dvojklik → Entity: binary_sensor.zazvoneni_na_zvonek_obsazenost (nebo tvůj zvonek). State: on. Output only on state change: zaškrtni.
Krok 2: Přidej nod api-call-service. Nastav:
Domain: notify
Service: mobile_app_TVUJ_TELEFON # najdeš v HA: Nastavení → Doplňky → Companion App
Data:
{
"title": "🔔 Zvonek",
"message": "Někdo zazvonil!"
}
Krok 3: Spoj oba nody tažením od výstupního puntíku prvního k vstupnímu puntíku druhého.
Krok 4: Klikni Deploy (červené tlačítko vpravo nahoře). Flow je aktivní.
Rozšíření: foto ze kamery při zvonění
Přidej mezi oba nody api-call-service pro snapshot kamery:
Domain: camera
Service: snapshot
Data:
{
"entity_id": "camera.kamera_vchod",
"filename": "/media/zvonek_snapshot.jpg"
}
Pak v notifikaci přidej do data:
{
"title": "🔔 Zvonek",
"message": "Někdo zazvonil!",
"data": {
"image": "/media/zvonek_snapshot.jpg"
}
}
Import/export flows
Celý flow nebo jeho část lze exportovat jako JSON: vyber nody (Ctrl+A pro vše), pak ☰ Menu → Export → Clipboard. JSON zkopíruj. Import: ☰ Menu → Import → Clipboard.
Takto sdílím flows v dalších návodech na tomto webu – zkopíruj JSON, importuj do Node-RED, uprav entity na svoje a Deploy.