Monitorizare Dispozitive Bluetooth cu FHEM

Bluetooth TV monitor
Bluetooth TV monitor

Sau cum sa monitorizam durata de functionare a Televizorului, de exemplu, cu ajutorul modulului Presence (pe care l-am mai prezentat intr-un tutorial anterior) si a unui adaptor bluetooth.

Majoritatea televizoarelor actuale sunt Smart TV. Majoritatea au pe langa WI-FI si module Bluetooth incorporate. Daca nu au module Bluetooth incorporate, atunci au sigur cel putin un port USB disponibil. In acel port USB se poate pune un adaptor Bluetooth. Important este de verificat inainte de a achizitiona un adaptor bluetooth in acest scop daca pe perioada cat televizorul sau aparatul pe care intentionam sa il monitorizam, opreste alimentarea USB-ului in timp ce se afla in stand-by.

Dar sa vedem implementarea cea mai simpla, si care e modalitatea cea mai rapida de a face acest lucru.

Intai ne asiguram ca televizorul este pornit. Verificati in specificatiile tehnice daca are incorporat un adaptor bluetooth, altfel atasatm unul extern.

Deschidem o noua sesiune SSH la Raspberry PI si scana deviceurile din zona:

hcitool scan

Dupa cateva secunde ID-ul televizorului, sau adaptorului nostru va aparea in rezultate.

Acum ca avem ID-ul deviceului putem defini device-ul ca in tutorialul anterior.

define NeC_TV PRESENCE local-bluetooth 84:A4:66:41:F4:7B 10 500
attr NeC_TV room Rezidenti

Noutatea apare din faptul ca vom atribui noului device creat un reading nou si anume cu:

attr NeC_TV userReadings Statenum {if(ReadingsVal("NeC_TV","state","") eq "absent") {return 0} elsif (ReadingsVal("NeC_TV","state","") eq "present") {return 1}}

vom avea in Readings Statenum 1 pentru device prezent, adica deschis, si Statenum 0 pentru absent sau inchis.

Acum ca am creat noul nostru dispozitiv si pentru ca vrem sa facem unfrumos grafic cu informatiile obtinute din ultimul atribut, este nevoie sa scriem aceste informatii intr-un logfile.

Vom defini Log-ul nostru cu:

define FileLog_NeC_TV FileLog ./log/NeC_TV-%Y-%m-%d.log NeC_TV
attr FileLog_NeC_TV room LOG

Odata creat logul trebuie sa definim si ce trebuie sa scrie in el.

Mergem in zona de Regexp parts a definitiei filelogului si dupa set FileLog_NeC_TV addRegexpPart din casuta urmatoare alegem deviceul nostru, in cazul meu NEC_TV.

Dupa care vom defini care parametru sa il logeze. Noi avem nevoie de cel creat mai sus, si anume Statenum.

Confirmam apasand pe set in stanga, Si vom observa ca definitia data de noi mai devreme s-a schimbat din

define FileLog_NeC_TV FileLog ./log/NeC_TV-%Y-%m-%d.log NeC_TV

in

defmod FileLog_NeC_TV FileLog ./log/NeC_TV-%Y-%m-%d.log NeC_TV|NeC_TV:Statenum:.*

Si iata ca avem deja primele loguri create:

Acum vrem sa punem cele de mai sus intr-un grafic, astfel incat sa putem monitoriza mai usor.

Sun zona de Regexp parts apasam pe Create SVG plot.

In zona de Plot title vom denumi graficul.

In zona Y-Axis label vom scrie ON/OFF

In zona Diagram label Source, in loc de Line 1 vom scrie cum se numeste aparatul pe care il monitorizam.

Verificam ca sa avem selectat filelog-ul dorit.

La RegEXP vom alege paramtrul pe care vrem sa il plotam, si anume NeC_TV:Statenum:

In loc de lines vom alge steps.

In loc de l0 vom alege l1fill

Salvam apasand pe Write gplot.file

Si iata ca avem deja graficul.

Ramane doar sa cream un room pe care sa il accesam cat mai usor, si vom face cu urmatoarea comanda:

attr SVG_FileLog_NeC_TV_1 room Plot_TV
Plot

In graficul de mai sus putem sa mai adugam totusi cateva deviceuri. Dar hai sa vedem cum.

Avand deja Logfile-ul creat pentru unul dintre deviceuri putem scrie in el si datele altui device.

Ne intoarcem la definitia filelogului anterior creat si in zona de Regexp parts vom adauga datele pe care vrem sa le logam. In cazul meu NeC_Phone cu Statenum:.* sau cu comanda:

set  FileLog_NeC_TV  addRegexpPart NeC_Phone Statenum:.*

Dupa cateva minute vom putea vedea deja primele date scrise in fisierul de log.

Mergem la graficul creat anterior ca sa adaugam si starea celui de-al doilea device.

Pe a doua linie vom denumi deviceul.

Filelogul va ramane acelasi, in schimb vom alege ce date sa ia din el, si anume, in cazul meu, NeC_Phone: Statenum:.*

Ca si mai devreme, in loc de lines alegem steps, si vom alege o culoare pentru grafic diferita de cea anterior aleasa.

Astfel vom avea doua dispozitive monitorizate intr-un singur grafic.

Desigur pentru scop demonstrativ eu am folosit deviceurile mai sus mentionate, insa se poate folosi practic orice device care are un modul bluetooth incorporat.

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 *