Integrant Sonoff Bridge RF amb Hassio – Home Assistant i provant un sensor magnètic de portes/finestres

Comença la marxa! El primer pas en el meu cas (després de tenir Home Assistant instal·lat), serà centralitzar i rebre tots els senyals de radiofreqüència amb el fabulós Sonoff Bridge RF; per després enviar al Broker MQTT que muntarem a Home Assistant les dades dels sensors. O sigui, el Sonoff Bridge en aquest cas escoltarà per RF i transmetrà per Wifi al Hassio qualsevol dada que ens interessi.

 

Canviant el firmware a Sonoff Bridge RF

Abans de començar, necessitem que el Sonoff Bridge RF corri amb un firmware que ens permeti trastejar, tenim diversos interessants com pot ser Tasmota o Espurna (feta per un gurú), per ara els posts els tinc fets amb Tasmota, així que seguiré usant aquest firmware. Si tens dubtes de com canviar el firmware al teu dispositiu Sonoff pots fer-li una ullada a aquest post anterior.

Com un resum més que molt ràpid, connectem el dispositiu USB TTL als pins d'una Raspberry Pi, o també podeu fer-ho des d'un Windows amb GUI, o directament amb un conversor d'USB a Sèrie el connectem per USB a la Pi, ull que a l'hora de connectar els pins del Sonoff hem de connectar els que estan al costat de la pantalla LED llarga/gran, quedant:

  • De 3v3 de USB TTL al 3v3 del Sonoff Bridge.
  • De TXD de USB TTL al RX del Sonoff Bridge.
  • De RXD de USB TTL al TX del Sonoff Bridge.
  • De GND d'USB TTL al GND del Sonoff Bridge.

Abans d'encendre el Sonoff Bridge, recordar posar el PIN de la placa a OFF sempre que voleu gravar el firmware al Sonoff i deixar-lo de nou a ON per a l'operativa habitual. I en encendre'l, acordar-se de mantenir polsat el botxit que té la placa durant uns 7-8 segons crec recordar.

Després de descarregar el firmware de Tasmota i l'eina esptool.py podrem carregar el firmware mitjançant aquest adaptador USB/Serie al Sonoff amb el següent comandament des d'una Raspberry Pi, Linux…

[sourcecode]esptool.py –port /dev/ttyUSB0 write_flash –flash_size 1MB –flash_mode dout 0x00000 tasmota.bin[/sourcecode]

Després com sempre, hauríem de connectar-nos a l'AP Wifi que muntarà el Sonoff i connectar-nos amb l'equip que estem, ens obrirà la web directament d'aquest dispositiu Tasmota, que haurem de configurar que xarxa Wifi (de 2,4Ghz) volem que es connecti. Després d'això li canviarem la IP que haurà obtingut per DHCP de la nostra xarxa i li assignem al Sonoff Bridge RF la IP que ens interessi:

[sourcecode]http://DIRECCION_IP_ACTUAL/cm?cmnd = IPAddress1% 20DIRECCION_IP:DESITJADA&cmnd = IPAddress2% 20PUERTA_DE_ENLACE&cmnd = IPAddress3% 20MASCARA_SUBRED&cmnd = IPAddress4% 20DIRECCION_IP_DNS[/sourcecode]

 

Habilitant Mosquitto Broker

Vam habilitar un broker MQTT a l'Home Assistant, normalment farem servir Mosquitto Broker.

 

Per a això, des de Hassio, anem al menú “Hass.io” > “Add-Ons” > i posem en “Mosquitto broker”,

 

Posem en “Install”,

 

I llest, ja tenim el broker MQTT Mosquitto instal·lat, hem de canviar la configuració i usar una autenticació per connectar-nos per MQTT, canviem la config i indiquem un usuari i contrasenya, us deixo un usuari mosquitto d'exemple que hauríem de canviar òbviament i el seu password:

[sourcecode]{
"logins": [
{
"username": "mosquitto",
"password": "mosquitto"
}
],
"anonymous": false,
"quiet_logs": true,
"customize": {
"active": false,
"folder": "mosquitto"
},
"certfile": "fullchain.pem",
"keyfile": "privkey.pem"
}[/sourcecode]

 

Gravem la configuració i iniciem Mosquitto des de “Start”, queda llest el broker per atendre qualsevol petició mitjançant MQTT, el nostre protocol de missatgeria lleugera per a xarxes IoT. Basat en patrons de comunicació de publicació/subscripció, que mitjançant uns topics ens permetrà rebre informació dels nostres sensors i tractar-la.

 

Configuració de MQTT a Sonoff Bridge RF

Accedim a l'interfície web del nostre Sonoff Bridge RF, que recordem tenim Tasmota, vam habilitar MQTT des del menú “Configure MQTT”, apuntarem contra l'adreça IP del Broker de MQTT (o sigui, el nostre Home Assistant), posem els mateixos credencials que configurem a l'hora d'habilitar l'Add-On i posem en “Save”.

 

Anem a “Configuration” > “Integrations” > “MQTT” > “Configure”,

 

 

Permetem que Home Assitant es pugui connectar al Broker MQTT que acabem de definir, pot que això ho necessitem a futur, “Submit”,

 

“Finish”,

 

Controlant l'estat de sensors RF amb Home Assistant,

En aquest exemple veurem com un sensor d'aquests magnètics que podem posar en portes o en finestres ens detectaran si una porta o una finestra està oberta. Personalment m'encanten els GS-WDS07 Wireless Door Magnetic Strip 433MHz for Security Alarm Home System que podem comprar a Banggood per a penes 3€ cada dispositiu, ja que aquests emetran un senyal en obrir i una altra diferent en tancar, amb això sabrem quan s'obre i quan es tanca. I també important és que porten la pila ja amb aquest preu! aquests dispositius duren aproximadament 2 anys sense canviar-los la bateria (ja ho veurem…). Així que no es digui que no tenim controlada casa nostra/oficina!

És moment d'encendre un sensor magnètic d'aquests, li posem bé la pila i provem d'allunyar i acostar l'altre extrem amb l'imant. Des de la interfície web del nostre Sonoff podrem veure les dades que mana el nostre sensor, veurem que rebem en “Data” un codi quan separem els imants (obrir porta), i un altre codi en ajuntar-los (o tancar la porta).

A Tasmota farem servir les Regles per publicar un topic i que des del Mosquitto a Home Assistant puguem interactuar. Tasmota ens permet crear fins a un màxim de 5 regles, i cada regla com a màxim pot contenir 511 caractéres (tot i que en pantalla veuríem els 422 primers). En aquestes regles serà on busquem la dada que envien mitjançant RF els nostres dispositius o mòduls i indicarem l'acció que realitzen. En aquest cas, sensor magnètic quan se separa envia en “Data” el codi “D82D0A” i quan el tornem a ajuntar envia “D82D0E”. Aquestes accions quedarien una cosa així, on en rebre un codi publica un topic i el seu estat:

[sourcecode]on rfreceived#Data=D82D0A do publish2 RFBridge/sensor_puerta_sala_jardin Obert endon
on rfreceived#data=D82D0E do publish2 RFBridge/sensor_puerta_sala_jardin Tancat endon[/sourcecode]

 

Les creem des de la “Consola”, en la primera regla, i anirem pegant en aquesta rule1 totes les accions que hàgim de necessitar sense passar-nos d'aquests 511 caràcters. Si necessitem més per a això estan les següents regles, cal que documentis correctament les regles que estàs utilitzant. Amb aquest exemple comunicarà a Hassio l'estat del dispositiu Sensor Porta Sala-Jardin:

[sourcecode]rule1 on rfreceived#Data=D82D0A do publish2 RFBridge/sensor_puerta_sala_jardin Obert endon on rfreceived#data=D82D0E do publish2 RFBridge/sensor_puerta_sala_jardin Tancat[/sourcecode]

 

Després de crear una regla, ho hem d'habilitar, ho fem amb:

[sourcecode]rule1 1[/sourcecode]

 

Ara anirem ja per fi a la nostra màquina amb Hassio, on vam haver de definir els dispositius que tenim, o sigui, aquest Sensor Porta Sala-Jardin (entre d' altres). Podrem definir aquests sensors en un fitxer 'binarysensor.yaml’ separat o directament a l' arxiu de configuració de Home Assistant, en el meu cas faré servir el fitxer general, editem '/usr/share/hassio/homeassistant/configuration.yaml', i a la part on es defineixen els sensors, en #Sensors, hi afegim:

[sourcecode]…
# Sensors
binary_sensor:
– platform: mqtt
name: "Porta Sala-Jardin"
state_topic: "RFBridge/sensor_puerta_sala_jardin"
availability_topic: "tele/Sonoff-Bridge-01/LWT"
qos: 1
payload_on: "Obert"
payload_off: "Tancat"
payload_available: "Online"
payload_not_available: "Offline"
device_class: door
…[/sourcecode]

Els sensors d'aquest tipus són 'binary_sensor', usarem MQTT, indicarem un nom al dispositiu com li volem veure a Hassio, indiquem el topic al qual subscriure's i definirem els payload per saber si està oberta o tancada la porta. Definim el tipus de dispositiu perquè ens posi entre d'altres la icona correcta a 'door', si vols fer una ullada a tots els tipus de sensors que pots fer servir, fica una ullada a: https://www.home-assistant.io/components/binary_sensor/.

 

Després de qualsevol canvi de configuració hem de reiniciar Hassio, fàcilment des de l' interfície GUI > “Configuració” > “Configuració General” > “Gestió del servidor” > “Reiniciar”. Recomanable abans de res polsar en “Verificar la configuració”, i personalment fer-se backup periòdic dels fitxers de configuració que fem servir.

 

I després d'uns segons i arrencada Home Assistant, podrem en la vista inicial personalitzar la vista des de “Configurar la vista d' usuari” a la qual accedirem amb els “…” de dalt a la dreta 🙂 i aquí ja podrem afegir Targetes i anar afegint els sensors que hàgim anat configurant. Seguim un altre dia amb més! Espero que us sembli interessant, anirem en futurs posts afegint més idees, automatitzacions, etc.…

 

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!