Prima automatizare Smart Home cu FHEM

FHEM Automation
FHEM Automation

In acest tutorial va voi arata un prim demo de automatizare Smart Home cu FHEM. Daca in tutorialul anterior conectam telefonul prim Bluetooth la Raspberry PI, de data asta vom simula un device care sa fie pornit/oprit functie de prezenta telefonului in retea.

Definire device virtual in FHEM – dummy

In acest demo voi folosi un dummy, insa in trealitate se poate folosi orice switch sau bec, spre exemplu, care in prealabil este implementat in FHEM.

Vom incepe prin crearea unui device virtual, si in linia de comanda vom scrie:

 define Switch1 dummy.

Acestui switch ii vom atribui ca si nume de camera Rezidenti, pentru o mai usoara vizualizare.

Tot de la atribute vom alege webCmd, iar in fereastra de comanda vom scrie on:off si vom confirma cu click pe attr

In contiunuare avem doua posibilitati de automatizare. Una este prin intermediul modulului Notify, cealata este prin intermediul modulului DOIF. Le vom trata pe rand, incepem cu modulul Notify.

Automatizare FHEM realizata cu modulul Notify

In linia de comanda vom defini urmatoarea rutina:

define mySwitch1_off notify NeC_Phone:absent set Switch1 off

Detaliat, inseamna ca atunci cand deviceul Nec_Phone va trece in starea absent, acest modul va trimite o comanda de schimbare de stare catre Switch1, comanda de off

Pentru usurinta il vom atribui in camera Rezidenti.

Deja putem vedea in zona de „Probably associated with” au aparut cele doua device-uri, impreuna cu starea lor actuala, cu care este asociata aceasta notificare.

Acelasi lucru vom defini si pentru starea de „prezent a deviceului NeC_Phone:

define mySwitch1_on notify NeC_Phone:present set Switch1 on

Ii vom atribui aceeasi camera, doar pentru usurinta in vizualizare, si vom confirma cu Save config.

Pornind de la acest exemplu putem adauga mai multe Switchuri si sa le comandam deodata. Iata, de exemplu, cum putem realiza acest lucru, astfel incat sa cream o rutina ca atunci cand telefonul este prezent in retea sa avem 2 Switchuri pornite, si o Lampa oprita, sau invers, cand telefonul nu este prezent sa avem cele 2 Switchuri oprite si Lampa pornita.

Incepem prin a crea inca doua deviceuri virtuale respectand indicatiile de mai sus. In cazul meu „Switch2” si „Lampa1”.

define auto1 notify NeC_Phone:present set Switch1 on;set Switch2 on; set Lampa1 off
attr auto1 room Rezidenti

Si comanda inversa:

define auto2 notify NeC_Phone:absent set Switch1 off; set Switch2 off; set Lampa1 on

Si iata ca folosind doar modulul Notify am reusit sa cream prima automatizare Smart Home cu FHEM

Automatizare FHEM realizata cu modulul DOIF

O alta modalitate, mai rapida si mai intuitiva, pentru a face acelasi lucru, ar putea fi modulul DOIF. Si iata cum putem implementa automatizarea prin intermediul acestui modul.

define auto_on.off DOIF ([NeC_Phone] eq "present") (set Switch1 on, set Switch2 on, set Lampa1 off) DOELSE (set Switch1 off, set Switch2 off, set Lampa1 on)

sau

define auto_on.off DOIF ([NeC_Phone] eq "present") (set Switch1 on, set Switch2 on, set Lampa1 off) DOELSEIF ([NeC_Phone] eq "absent") (set Switch1 off, set Switch2 off, set Lampa1 on)
attr auto_on.off room Rezidenti

A se observa diferentele din partea a doua a definitiei unde in primul caz avem DOELSE urmat de comanda/comenzile ce trebuiesc executate de sistem, si asta inseamna ca pentru orice alta stare, alta decat cea de „present” a dispozitivului NeC_Phone, se va executa comanda 2.

In al doilea caz avem DOELSEIF, in care limitam starea deviceului NeC_Phone la „absent”, conditionand executarea acestei comenzi de starea respectiva.

Atentie, pentru ca aceste comenzi sa fie executate de fiecare data, trebuie activat urmatorul atribut:

attr auto_on.off do always

Alternativ putem activa si:

attr auto_on.off event-on-change-reading .*
attr auto_on.off event-on-update-reading .*

.* va citi orice schimbare de stare

Iata cat de simplu este sa automatizam cateva rutine cu FHEM, datorita modularitatii serverului dar si flexibilitatii in definitii.

De Iulian Susnea

Pasionat de tehnologie, gadgeturi smart home si automatizari si am pornit la drum in crearea acestui site cu tutoriale pentru cele mai importante sisteme Smart Home ale momentului din dorinta de a-i ajuta pe cei la inceput de drum.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *