ZigBee2MQTT -CC2531 sau CC2652R in Home Assistant

ZigBee2MQTT
ZigBee2MQTT

Din ce in ce mai multe device-uri folosesc protocolul de comunicare ZigBee putand fi cu usurinta integrate in reteaua locala adaugand un Gateway ca si poarta de comunicare intre deviceuri router si end user. Majoritatea Gatweway-urilor vin la pachet cu solutii cloud insa in tutorialul de astazi ne vom focusa pe integrarea dispozitivelor fara aceste solutii cloud, direct in serverul Smart Home Home Assistant.

Dar sa facem o recapitulare a hardware-ului necesar pentru a putea integra device-uri cum ar fi Ikea TRÅDFRI, Philips HUE, Xiaomi Aqara sau Intrerupatoare cu touch Livolo.

Hardware

Pe langa cele de mai sus ne trebuie un Stick CC2531, sau Stickul CC2652R. Dezvoltat de Texas Instruments, poate fi folosit cu succes in decodarea si interconectarea dispozitivelor ce folosesc protocolul ZigBee.

In mod normal acesta are nevoie de un dispozitiv pentru a scrie softul pe el, insa achizitionand din aceste surese – Sursa 1, Sursa 2. Stick-ul vine cu software-ul actual gata instalat fara a fi necesara programarea lui.

CC2531

Software

Avem nevoie desigur ca Raspberry PI sa ruleze Home Assistant, cu update-urile la zi.

Asa cum aminteam mai sus Stickul CC2531 achizitionat din sursele mentionate vine cu software-ul deja preinstalat si gata de utilizare impreuna cu serverul de Smart Home – Home Assistant. Daca totusi ati achizitionat un stick fara noul software, atunci avem aici instuctiunile pentru instalare, dar trebuie luat in considerare ca vom avea nevoie si de acest tool pentru a putea instala softul necesar.

Instalare MQTT Broker

Inainte de instalare verificam pentru update-uri de sistem si recomandat este sa facem un back-up in prealabil.

Navigam in interfata Home Assistant – Supervisor – Dashboard. Selectam update daca este cazul, dar nu inainte sa fi facut Back-up. Dupa update este recomandat a se face un restart la sistem.

Dupa restart vom crea un nou user cu drepturi de adminostrator.

Navigam in Configuration – Persons – Users. Cu butonul „+ din dreapta jos a ecranului adaugam un nou utilizator.

Acestui nou utilizator ii vom configura un nume si parola pentru scopuri demonstrative eu am ales la nume – mqtt, nume de utilizator – mqtt si o parola (de test) – mqtt.

User MQTT

Pentru ca User-ul nou creat sa devina activ este necesar un nou restart la serverul Home Assistant. Navingam in Configurations – Server controls si din Server management alegem „Restart” .

Dupa pornirea sistemului navigam in Home Assistant – Supervisor – Add-ons si cautam MQTT – server de telemetrie ce initial a fost folosit la scara industriala, insa in ultima perioada a capatat o tot mai buna adoptie intre pasionatii de automatizare a casei inteligente open source, pentru ca este un protocol foarte usor de inteles si implementat.

Instalam Add-on-ul Mosquitto broker apoi selectam „Start on boot” si „Autoupdate„.

Inainte de a porni serverul MQTT mergem in tab-ul „Configuration” si va trebui sa adaugam User si parola predefinite anterior.

Configuratia finala va arata de forma:

logins:
  - username: mqtt
    password: mqtt
anonymous: false
customize:
  active: false
  folder: mosquitto
certfile: fullchain.pem
keyfile: privkey.pem
require_certificate: false

desigur cu datele voastra de logare. Apasam in dreapta pe „Save” pentru a salva modificarile facute.

Ne intoarcemin tabul „Info” si putem deja sa pornim serverul MQTT apasand pe start si urmarim in tabul „Log” daca serverul porneste corect.

Daca in fereastra de Log pe ultima linie vedem urmatorul mesaj:

Warning: Mosquitto should not be run as root/administrator.

Atunci inseamna ca serverul MQTT a folosit userul si parola default a sistemului si trebuie sa configuram sa finctioneze cu userul si parola definite in pasul anterior.

Navigam in Configuration – Integrations si apasam pe „Configure” .

Vom selecta Enable discoverymqtt home assistant enable discovery si confirma cu „Submit” .

Configuram datele de logare, apasand pe „Configure” .

La Username inloc de „homeassistant” vom scrie userul definit anterior (mqtt-in cazul meu), de asemeni si la parola vom scrie parola definita anterior, fara a face alte selectii confirmam cu „Submit” .

Repornim serverul MQTT si in Log vom vedea urmatorul mesaj:

1596892976: New connection from 172.30.32.1 on port 1883.
[INFO] found mqtt on local database
1596892977: New client connected from 172.30.32.1 as auto-5B5404E7-0A4C-3DED-580E-358B33A12E93 (p2, c1, k60, u'mqtt').

ceea ce inseamna ca acum serverul MQTT functioneaza corect cu datele de logare definite anterior.

Instalare ZigBee2MQTT

Pentru ca Stick-ul achizitionat sa finctioneze in Home Assistant avem nevoie sa instalam manual un Add-on. Pentru a face acest lucru mergem in Supervisor – Addon Store, apasam pe cele trei butoane verticale din dreapta sus Home assistant Repo. Vom adauga Repository-ul lui Daniel Welch, din acest link.

Confirmam cu „Add” .

I fereastra de cautare scriem „zigbee2mqtt” si instalam Add-on-ul ZigBee2MQTT. Dupa instalare activam „Start on Boot” si „Autoupdate” .

Inainte de a configura acest Add-on, conectam Stick-ul CC2531 la Raspberry PI, astfel incat acesta sa fie citit si initializat de catre sistem.

Navigam in Supervisor – System si in tabul Host system apasam pe „Hardware

Ne intereseaza adresa pe care a primit-o Stickul CC2531 si anume:

/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B000FFB7984-if00

Acum ca avem aceasta adresa ne putem intoarce in meniul de configurare a Add-on-ului ZigBee2MQTT.

Vom avea de facut urmatoarele modificari

permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://IP.R.P.I:1883'
  user: mqtt
  password: mqtt
serial:
  port: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B000FFB7984-if00

Astfel incat la final fisierul de configurare va arata ca in exemplul de mai jos, desigur cu IP-ul actual al Raspberry PI portul definit anterior (daca nu ati modificat atunci va ramane 1883) Userul si Parola aleasa de voi.

Foarte important, in dreptul portului veti trece adresa Stick-ului CC2531 asa cum am vazut-o in tabul Hardware din sistem. De asemenea „permit_join” trebuie sa fie schimbat in „true„, altfel sistemul nu va primi deviceurile pe care vrem sa le adaugam. Dupa ce am adaugat toate deviceurile pe crare vrem sa le integram in sistem, putem schimba argumentul inapoi in „false„, inchizand astfel sistemul. Pentru ca schimbarile sa aibe efect trebuie salvata configuratia, apasand butonul „Save” din dreapta.

Dupa salvarea fisierului de configurare pornim Add-on-ul ZigBee2MQTT si suntem gata sa adaugam primele deviceuri care cominica prin intermediul protocolului ZigBee la Gatewayul integrat in Home Assistant.

Integrare Xiaomi Aqara fara cloud in Home Assistant

Pentru un prim test voi folosi un senzor de temperatura si umiditate de la Xiaomi Aqara,

Apasand butonul de Pairing, aproximativ 10 secunde, in apropierea stickului CC2531.

Timp in care navigam in Configuration – Integrations si ne concentram atentia catre modulul MQTT.

Dupa cum vedem in serverul MQTT a aparut o nou device care transmite 5 campuri de date. Dar hai sa le vedem rand pe rand care sunt acestea.

Mergem in Tab-ul Devices si vedem ca avem un device cu numele in format numeric, produs de Xiaomi.

La un simplu Click pe el vom putea sa vedem mai multe informatii referitoare la senzorul nostru.

Pentru a-i da un nume lizibil folosim fereastra de setari din dreapta

Si iata cum am reusit sa integram un device de la Xiaomi fara a fi nevoie sa apelam la Gateway-ul special oferit de Xiaomi, dar mai important fara sa fie nevoie de serviciile cloud.

In tutorialele viitoare urmeaza si conectarea altor device-uri dar in special cum le putem integra in diverse scenarii si rutine astfel incat sa putem automatiza casa smart cu Home Assistant si snifferul CC2531.

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 *