Integrando un detector de movimiento con Home Assistant o Hassio
Mugimendu sentsoreak jarri eta mugimenduak detektatzen dituen oinarritutako ekintzak egin nahi baditugu, TXinatar merke hauek pila pare batekin elikatzen diren IR sentsore batzuk erabil ditzakegu, txikiak eta ezkutukoak dira… Dokumentu honetan ikusiko dugu nola gehitu Home Assistant-en eta nola konfiguratu ekintza batzuk, adibidez, etxean ez bagara, Telegram mezu bat bidaltzeko mugimendu baten berri emateko, edo ordutegi jakin batean LED batzuk pizteko argia emateko.
Gure Sonoff Bridge RF-ri esker, edozein sentsore RF bidez komunikatzen den Kokagunean konekta dezakegu Hassio-ra, bestelakorik behar gabe. Lehenago post batean ikusi genuen moduan, Sonoff Bridge-ri firmwarea aldatu ahal izan genuen eta horrela MQTT bidez Home Assistant-ekin komunikatzeko aukera izan genuen, Post horretan ate edo leiho sentsorea nola gehitu ikusi genuen. Post honek gailuak gehitzen jarraitzeko balioko digu, Mugimendu sentsorea, Hassion ikus dezakegun eta ekintzak konfigura ditzakegun sentsorea.
Mugimendu-detektagailua Hassion gehitu
Gure mugimendu sentsorea pizten dugu, Gure Sonoff Bridge RF nabigatzaile batean irekitzen dugu, Gure kasuan Tasmota erabiliz, Kontsolan gertatzen den guztia ikus dezakegu, Han izango da gure mugimendu-detektagailuak bere funtzioa betetzen duenean bidaltzen duen kodea ikusten duguna, edo, bestela, Edozein mugimendu detektatu. Balioa kopiatu “Datuak”. Eta libre dugun arau batean honako hau gehitu beharko dugu, ez da izango jasotzen dudan Datu baino eta argitaratuko duen topic bat:
[sourcecode]on rfreceived#data=85DB26 egin publish2 RFBridge/sensor_pir_hall Mugimendua endon[/sourcecode]
orain, gure mugimendu-sentsorea alta ematen dugu, Hassio konfigurazioaren barruan, gehitzen dugu atalean “binary_sensor” sentsore berri hau. Izen bat adierazi beharko diogu, topic bat, bidaliko duen payload-a mugimendu bat dagoenean edo ez dagoenean eta gailu motak, honela geldituz:
[sourcecode]binary_sensor:
– platform: mqtt
name: "Sensor Hall"
state_topic: "RFBridge/sensor_pir_hall"
availability_topic: "tele/Sonoff-Bridge-01/LWT"
qos: 1
payload_on: "Movimiento"
payload_off: "Sin movimiento"
payload_available: "Online"
payload_not_available: "Offline"
device_class: motion[/sourcecode]
Konfigurazio fitxategia gordetzen badugu eta Home Assistant berrabiarazten badugu ohiko moduan konfigurazioa kargatzeko, gure sentsorea ikusiko dugu eta Laburpen ikuspegian gehitu ahal izango dugu.
Automatizaciones
Usaremos las automatizaciones para darle sentido al sensor de movimiento, un primer ejemplo que de la luz si detecta un movimiento, luego haremos otra para que apague la luz si tras 30 segundos no hubo ningún movimiento. Y por último y quizá el más importante, una automatización que si tras 5 segundos no detecta más movimiento, pues mande a Home Assistant dicha información y diga que no hay nadie. Ya que estos sensores comunican cuando hay un movimiento, nada más, no informa cuando ha finalizado de moverse algo 🙂
Empezamos con la primera automatización, obligada, ya que tendremos que decirle a Home Assistant que si no detecta movimiento tras 5 segundos entenderá que no hay más movimiento y por tanto nadie por ahí pululando. Así que en el Desencadenante seleccionamos nuestro sensor de movimiento, indicamos 5 segundos con el estado “on” y que ejecute la Acción que nos interese, en este caso será que mande por MQTT su nuevo estado, que no hay movimiento. Os dejo el código de esta automatización que podrás manualmente también añadir en automations.yaml:
[sourcecode]- id: '1563905146870’
alias: Sensor PIR Hall Reseteo
trigger:
– entity_id: binary_sensor.sensor_hall
platform: state
-ra: 'on’
for:
seconds: 5
condition: []
action:
– service: mqtt.publish
data:
topic: RFBridge/sensor_pir_hall
payload: Sin movimiento
[/sourcecode]
Os dejo de un ejemplo de automatización que podremos usar para cuando detecte un movimiento de 20h a 6h encienda una tira de leds, como siempre le damos un nombre, en el Desencadenante seleccionaremos nuestro Sensor de movimiento e indicaremos que cuando pase de off a on, cumpliendo la Condición horaria (adibidez), y en Acciones indicaré lo que nos interese, en este caso ejecuto un script en shell que enciende una tira led controlada por una Raspberry Pi remota. Os dejo también el código que me genera este ejemplo en “automations.yaml”:
[sourcecode]- id: '1563924390485’
alias: Hall – Movimiento – Dar la luz
trigger:
– entity_id: binary_sensor.sensor_hall
from: 'off’
platform: state
-ra: 'on’
condition:
– after: '20:00:00′
before: 06:00:00
condition: denbora
action:
– service: shell_command.ledsa100[/sourcecode]
Esan dut, necesitaremos otra automatización para que nos apague la luz, no la dejaremos por siempre, ez? En mi caso particular, si tras 30 segundos no hay movimiento.
[sourcecode]- id: '1563999476366’
alias: Hall – NO Movimiento – Apagar la luz
trigger:
– entity_id: binary_sensor.sensor_hall
for:
seconds: 30
platform: state
-ra: 'off’
condition:
– after: '20:00:00′
before: 06:00:00
condition: denbora
action:
– service: shell_command.ledsa10[/sourcecode]
Y bueno, aunque ya lo vimos en otro post el cómo integrar Telegram con Home Assistant, pero quizá te interese ver cómo quedaría esta automatización, la usaremos para que nos mande un mensaje de Telegram cuando detecte un movimiento en el Hall cuando en principio no haya gente en casa. Os dejo el código que genera esta automatización por si la necesitases:
[sourcecode]- id: '1563907587744’
alias: Notificación Telegram – Sensor Pir Hall
trigger:
– entity_id: binary_sensor.sensor_hall
from: 'off’
platform: state
-ra: 'on’
condition:
– condition: state
entity_id: device_tracker.hector
state: not_home
– condition: state
entity_id: device_tracker.seila
state: not_home
action:
– data:
message: Hay movimiento en el Hall
service: notify.telegram[/sourcecode]
Onena! Espero que os haya resultado interesante, ya tenemos otro cacharro más totalmente controlado y haremos nuestro hogar un lugar más seguro, ya tenemos controladas las aperturas de las ventanas y de las puertas, en este post ya cualquier movimiento lo conoceremos!
















































