Home Assistant-ekin gure etxeko lokalizazioa jarraitzea
Post honetan oso gauza interesgarri bat ikusiko dugu, eta ez da bestelakorik, baizik eta Bluetooth gailu jakin batzuk jarraitu edo trackeatzeko aukera (uholde adimentsuak, telefono mugikorrak…) etxean, con el objetivo de localizar la posición en todo momento para realizar automatizaciones.
Esan dut, Gaur egun ditugun telefono móvil que nos sigue a todas partes, o llevamos una pulsera inteligente o smartband, todos estos dispositivos tienen bluetooth, eta erabili dezakegu MAC norabidea de cada dispositivo para localizarlo dentro de nuestra casa. ¿Para qué? Pues primero por estadística, visualizar cuánto tiempo pasamos y donde, es muy curioso. Evidently lo egin ahal izango dugu meter automatizaciones, adibidez, si es de gau eta zaude etxeko atean eta sarrera atea etxea ez itxita llave, pues que se cierre. When llegues a la cocina a la mañana te de los ones days, te ponga las noticias… O yo qué sé, para pintarnos zuzenean en el Floorplan o plano animado de nuestra casa, sentados en el sofa, comiendo, durmiendo… 😉 Ojo, que también podemos lokalizar a gure animaliak, si les ponemos an tracker de these bluetooth, y si el gato/perro sartzen da etxeko gela batean ez debe, que gure etxeko altxavoces altuak.
¿Cómo egiten dugu esto? Pentsatu behar dugu etxeko etxeko bizileku bakoitzean zenbait gailu jartzen ditugula, etxeko etxe bakoitzean, baño… non queramos localizar. Eta soluzioa ezinbestean hitz egin behar du gailu bakoitzaren artean, jakiteko zer gaude gehiago hurbil.
La hobeto soluzioa pertsonalki si ez tienes dispositivos hauek basarte en ESP32-mqtt-room, que unas placas basadas en el chip ESP32 y sobre guzti oso baratas podrás repartir eta erraz ezkutatu etxean. Esan behar dizuet soluzio hau gutxi gorabehera urtebetez erabili nuela, azkenean gaur post honetan ikusiko dugun soluziora migratu nuela, etxean hainbat Raspberry Pi ditudala kontuan hartuta, ez zitzaidan batere kostatzen funtzionalitate hau gehitzea. Egun batean aspertzen banaiz, ESP32-mqtt-room-i buruzko post bat egingo dut, hau ere oso polita delako.
Esan dut, hoy veremos gelako laguntzailea, soluzio bikaina ere bai, eta gure maite diren Raspberry Pi-ean instalatu eta exekutatu ahal izango dugu, eta noski, aurreko aukerarekin bezala, oso ondo integratzen den gure Home Assistant-en ¡beraz adi!!
Raspberry Pi-n instalazioa,
Empezamos! Raspberry Pi bakoitzean, room-assistant instalatu nahi badugu, pauso hauek jarraituko ditugu, lo primero, NodeJS instalatu:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs
Guztiak behar ditugun menpekotasunak instalatzen ditugu:
sudo apt-get update && sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev bluetooth libbluetooth-dev libudev-dev libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Instalatzen dugu room-assistant, class-transformer eta class-validator:
sudo npm i --global --unsafe-perm room-assistant sudo npm install i --global class-transformer sudo npm install i --global class-validator
Hurrengo baimenak gehitzen ditugu:
sudo setcap cap_net_raw+eip $(eval readlink -f `which node`) sudo setcap cap_net_raw+eip $(eval readlink -f `which hcitool`) sudo setcap cap_net_admin+eip $(eval readlink -f `which hciconfig`)
Zintzoki esateko, ez dut oso ondo gogoratzen zergatik egin nuen hau, baina dokumentatuta daukat 🙂
sudo nano /etc/avahi/avahi-daemon.conf enable-dbus=yes
Room-assistant bidezko direktorioa eta konfigurazio fitxategia sortzen ditugu (kontuz, gero konfigurazio fitxategia beteko dugu, zuretzat non dagoen jakiteko bakarrik):
mkdir -p ~/room-assistant/config touch ~/room-assistant/config/local.yml
Konfigurazio fitxategiarekin hasteko aurretik, room-assistant martxan jartzeko zerbitzua sortuko dugu:
sudo nano /etc/systemd/system/room-assistant.service
Eta honako konfigurazioa sartzen dugu zerbitzuan:
[Unit] Description=room-assistant zerbitzua [Service] ExecStart=/usr/bin/room-assistant WorkingDirectory=/home/pi/room-assistant Restart=always RestartSec=10 User=pi [Install] WantedBy=multi-user.target
Zerbitzua gaitzen dugu, abiarazten dugu (ongi, abiarazi aurretik zure room-assistant-eko konfigurazio fitxategia izan beharko duzu, hurrengoan ikusiko duguna) eta egiaztatzen dugu martxan dagoela:
sudo systemctl enable room-assistant.service sudo systemctl start room-assistant.service sudo systemctl status room-assistant
room-assistant konfigurazio fitxategia, de banakako adibidea, edo, bestela, banaka funtzionatzen duen Raspberry Pi bat, beste Raspberryekin hitz egin gabe, ‘instanceName’-en izena emango dioguna, bluetooth gailuetako MAC helbideak 'addresses'-ean jarri edo jarraitu beharrekoak, eta garrantzitsua, gure MQTT broker zerbitzaria adieraziko dugu, datuak bidaltzeko:
global:
instanceName: Garaje
integrazioak:
- homeAssistant
- bluetoothClassic
homeAssistant:
mqttUrl: mqtt://BROKER_MQTT_IP_HELBIDEA:1883
mqttOptions:
username: ERABILTZAILEA
pasahitza: PASAHITZA
bluetoothClassic:
minRssi: -20
addresses:
- 'FD:72:03:6B:BC:XX'
- 'EA:4B:B2:2A:56:XX'
- '7C:2F:80:EC:61:XX'
- 'B4:C4:FC:64:19:XX'
Eta ondoren, pasatzen dizuet cluster moduko adibidea room-assistant konfigurazio fitxategiaren, que será el que utilicemos cuándo tengamos más de una Raspberry Pi con room-assistant. A diferencia del anterior, en este tendremos que añadir la dirección IP de cada Raspberry Pi en peerAddresses:
global:
klusterra:
autoDiscovery: false
port: 6425
peerAddresses:
- DIRECCION_RASPBERRY_PI_1:6425
- DIRECCION_RASPBERRY_PI_2:6425
- DIRECCION_RASPBERRY_PI_3:6425
- DIRECCION_RASPBERRY_PI_4:6425
- DIRECCION_RASPBERRY_PI_5:6425
instanceName: Cocina
integrations:
- homeAssistant
- bluetoothClassic
homeAssistant:
mqttUrl: mqtt://BROKER_MQTT_IP_HELBIDEA:1883
mqttOptions:
username: USUARIO
password: PASAHITZA
bluetoothClassic:
minRssi: -20
hciDeviceId: 0
addresses:
- 'FD:72:03:6B:BC:XX'
- 'EA:4B:B2:2A:56:XX'
- '7C:2F:80:EC:61:XX'
- 'B4:C4:FC:64:19:XX'
Onena, ahora sí, tras grabar y tener tu fichero de configuración, acuérdate de reiniciar el servicio (o demonio) de room-assistant.
Home Assistant-en konfigurazioa,
¡Bueno, que ya lo tenemos! Ahora sólo queda añadir en nuestro querido. amado y deseado Home Assistant los dispositivos que queremos visualizar, hau da, los teléfonos móviles, pulseras… así que vamos al fichero de configuración de Home Assistant, configuration.yaml y en la section de 'sensor’ añadimos el siguiente bloke, indicando la MAC y la description del dispositivo:
sensor:
...
- platform: mqtt_room
device_id: "b4c4fc6419XX"
name: 'Teléfono móvil de Héctor'
state_topic: 'room_presence'
timeout: 5
away_timeout: 0
...
Eta beti bezala, grabamos el fichero y reiniciamos Home Assistant para que cargue la configuración. Ahal dugu gehitu ahal izango ditugun Entidad bakoitza erraz dada de alta con el ratón filtrando dispositivos mota 'room_presence'.
Eta ezer, dejemos que la magia corra, veremos cómo dependiendo de dónde estemos, iremos viendo en este historial el status de la Entidad y su positionamiento.
If se os va much la pinza y tenéis an Grafana por ahí, adibidez ikus dezakezue gazta-ikuspegi batekin modu erraz batean denborak, y claro, honek historial bat dauka… kuxkuxeatzaileentzat, kentzen dut bainugelan pasatzen den denbora, jeje, eta motz-bilaketa honetaz izango genuke:
SELECT state as metric, TIMESTAMPDIFF(SEGUNDO, min(last_updated), max(last_updated)) as value, last_changed as time_sec FROM states WHERE $__timeFilter(created) eta state = 'Sukaldea' eta entity_id = 'sensor.maixu_dordoka_room_presence' GROUP BY last_changed ORDER BY created DESC ;
Y bueno, automazioa adibide bat ikusteko garaia da, irudietan erraz ikusiko duzue, kasu honetan da, gauean, nik edo nire txabala ohean gaudenean, ateak giltzaz ez badu itxita, ba, itxi dezala, gainera etxeko bozgorailuetan jakinarazi dezala, Telegram bidali dezala, bla, bla…
beti bat placer, usteko espero dut disfrutatuko duzuelako, un abrazo y muchas gracias por esos likes en las redes sociales que no cuesta nada!! 🙂














































