UPDATE:
Nálam sokkal okosabb emberek megoldották az integrálást, itt lehet nézelődni:
https://github.com/peterbuga/HASS-sonoff-ewelink
A bejegyzés további része elavultnak tekinthető.
A Sonoff termékek integrálása legegyszerűbben valamilyen custom firmware-rel lehetséges, de ha nem akarunk vele pepecselni, akkor lehetséges enélkül is. Hátrányai vannak ennek a megközelítésnek, az eszközök állapotát nem tudjuk nyomonkövetni, csak ki- és bekapcsolni tudjuk őket, internetfüggő, így előfordulhat egy kis csúszás a végrehajtásban.
Ha mégis ezt választanánk, alább a leírása:
Elsőként vegyük fel az eszközeink a gyártói eWeLink appba.
Látogassunk el a IFTTT oldalára, ahol létrehozunk magunknak egy API kulcsot:
Ezt az API kulcsot illesszük be a Home Assistantunk configuration.yaml fájljába:
ifttt:
key: APIKEY
Ezután indítsuk újra a Home Assistantot, hogy érvényre jusson a beállítás. Amíg a rendszer újra feláll nézzünk vissza az IFTTT oldalára, és hozzuk létre az appletünk.
A this ágnál válasszuk ki a Webhooks komponenst, annak is a Receive a web request részét.
Adjunk nevet az eventünknek. Az én esetemben ez sonoff_aquarium_on lesz.
A then ágnál keressük meg az eWeLink Smart Home alkalmazást. (Lehetséges, hogy szükség lesz egy bejelentkezésre itt.)
Válasszuk ki milyen sonoff kapcsolót szeretnénk használni, nálam ez az egycsatornás eszköz lett.
Válasszuk ki melyik eszközünket akarjuk irányítani, és milyen akcióval. A bekapcsoláshoz és kikapcsoláshoz is külön applet kell.
A galériában lépésről lépésre láthatóak a fentebbiek:
Innen több irányba is mehetünk, ezeket részletezném.
Elsőként készítünk két scriptet, amivel ki- és bekapcsolhatjuk az eszközt.
A scripts.yaml-be írjuk be az alábbit:
sonoff_aquarium_on:
alias: Akvárium bekapcsolása
sequence:
- service: ifttt.trigger
data: {"event":"sonoff_aquarium_on"}
sonoff_aquarium_off:
alias: Akvárium kikapcsolása
sequence:
- service: ifttt.trigger
data: {"event":"sonoff_aquarium_off"}
Ezután ezt már kitehetjük a Home Assistant frontendjére, vagy ha groupokat használunk, akkor az általunk kívánt groupba.
A másik megközelítés:
Csináljuk meg a scripteket. Hozzunk létre egy input_boolean elemet a configuration.yaml-ben:
input_boolean:
sonoff_aquarium:
name: Akvárium kapcsoló
Ezután az automations.yaml-ben:
- alias: Aquarium on
trigger:
- platform: state
entity_id: input_boolean.sonoff_aquarium
from: "off"
to: "on"
action:
service: script.sonoff_aquarium_on
- alias: Aquarium off
trigger:
- platform: state
entity_id: input_boolean.sonoff_aquarium
from: "on"
to: "off"
action:
service: script.sonoff_aquarium_off
Hozzáadtam a kapcsolók groupjához, egy kis testreszabás után így néz ki:
Ahogy korábban is írtam, sajnos a kapcsolók állapotát nem tudjuk, így lehetséges, hogy többet kell kapcsolnunk, hogy elérjük amit akartunk.