Conectare FHEM la dispozitive Bluetooth pentru detectie prezenta

FHEM Bluetooth
FHEM Bluetooth

In tutorialul urmator va voi arata doua moduri de conectare la FHEM prin bluetooth. Daca dorim ca mai tarziu sa facem diverse scene bazate pe recunoasterea a unuia sau a mai mulor telefoane din locuinta, putem implementa in FHEM un modul de detectiea a acestora. Modulul se numeste PRESENCE. Este deja instalat in sistem asa ca nu vom avea nevoie decat de definirea acestuia.

Din acest modul, vom folosi local-bluetooth, este cel mai stabil pentru ca la actualele modele de telefoane atunci cand bluetooth-ul este activat, acesta este tinut in permanenta pornit. Nu acelasi lucru se intampla si in privinta conexiunii Wi-Fi.

Pentru a stabili legatura cu telefonul, avem nevoie sa identificam adresa bluetooth a telefonului. Aceasta o putem gasi rapid si simplu in setarile telefonului functie de modelul de telefon si sistemul de operare al acestiua. Adresa BT este de forma 1A:B2:33:4D:E5:66. Ea contine atat cifre cat si litere. Alternativ putem scana din consola SSH a Raspberry Pi sa gasim adresa BT a telefonului nostru.

Configurare Bluetoot Raspberry Pi

Primul pas este configurarea bluetooth pe Raspberry PI. Pentru asta deschidem o conexiune SSH la acesta.

systemctl status bluetooth

Verificam daca BT service este activ. In cazul de fata este marcat ca „inactiv” de aceea este necesara pornirea serviciului cu urmatoarea comanda:

sudo systemctl start bluetooth

Va porni serviciul BT. Acesta va ramane activ si dupa restart.

apasam

ctrl c

pentru a iesi din sesiune.

sudo apt-get update && sudo apt-get upgrade -y && sudo reboot

Facem un update si la finalul acestui proces vom restarta minicomputerul.

hcitool scan

Va scana toate dispozitibele BT care se afla in apropiere. Se pot folosi si BT-Tag-uri de la Gigaset, TrackR, UDOO Neo, PebbleBee, iTag von Unitec, X4-LIFE, iTag Wireless Anti, Trackr bravo, GhostyuBeacon iBc41.

Definitie modul prezenta in FHEM

in linia de comanda a FHEM vom scrie:

define <NUME> PRESENCE local-bluetooth 94:65:2d:d5:54:9d 10 300

Desigur „<NUME>” este un nume pe care il alegeti voi, iar adresa BT va fi adresa telefonului/dispozitivului pe care vreti sa il conectati.

Penultimul argument din definitie, reprezinta 10 secunde ca si interval de ping in momentul in care deviceul devine inactiv-absent. 300, ultimul argument din definitie reprezinta intervalul, in secunde, de ping in momentul in care deviceul este activ-prezent. Aceste valori se pot modifica functie de preferinte.

In dreptul DeviceOverview vom avea denumirea deviceului dat de noi, si anume NeC_Phone, si in dreapta statusul deviceului: present/absent dupa caz.

In zona de Readings, avem atributele deviceului citite prin intermediul modulului.

Vom atribui aceasta definitie intr-un bloc, astfel incat sa putem avea o vizualizare mai rapida a statusului acestuia.

In dreptul lui attr NeC_Phone room apasam pe linia de comanda si definim numele camerei in care vrem sa punem acest device. In cazul meu Rezidenti, deigur avem libertatea de a alege alt nume.

Confirmam apasant pe attr, si imediat vom observa inmeniul din stanga ca a aparut o noua scurtatura catre camera creata.

Mai putem adauga un argument, si anume presenceTreshold si absenceTreshold.

FHEM va trimite 2 pinguri catre device, la intervalul stabilit de noi anterior, daca la primul ping deviceul nu este prezent, va aparea la status maybe present, la al doilea ping la care deviceul cautat nu raspunde se va schimba statusul in absent. Desigur logica inversa pentru absent. Aceste atribute sunt de recomandat pentru deviceuri care sunt de regula in miscare cum ar fi Smartphone, Smartwatch, tablete etc.

Salvam configuratia actuala, confirmand cu un click pe Save config.

In urmatorul tutorial pe baza acestei definitii vom vedea cat de usor este sa realizam prima automatizare.

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 *