Még 2020-ban írtam arról, hogyan lehet szerintem legegyszerűbben WiFi eszközök megjelenését/eltűnését regisztrálni okosotthon rendszerben, valós időben.
Akinek esetleg elkerülte volna figyelmét, mostanában az MQTT Autodiscovery híve lettem, a nemrég készített Tasmota alapú termosztátom mellett a Shelly eszközök integrációja is ennek jegyében telt, sőt mi több, a Raspberry-khez készített RPIEasy szoftverem is kapott egy Autodiscovery controllert, hogy egyszerűsítsem a Domoticz-ba kerülését a virtuális eszközöknek.
Ennek fényében talán nem meglepő, hogy a régi "owrtwifi2mqtt" szkriptet egy kissé módosítottam, és az MQTT Autodiscovery-hez igazítottam, így már nincs szükség Python fordítóra, hanem a Domoticz, a 2022-es verziójától, automatikusan felismeri az újonnan megjelent eszközöket. (meg akár a HA is)
https://github.com/enesbcs/owrtwifi2mqtt
A telepítési lépések ugyanazok, mint amiket már leírtam a két évvel korábbi cikkben, letöltjük a presence_report fájlt, az scp segítségével felmásoljuk az OpenWRT routerünkre, futtathatóvá tesszük, telepítjük a mosquitto-client és coreutils-nohup csomagokat a routerre, majd a "Startup"-ba betesszük a scriptet.
Annyi az eltérés, hogy már csak egy parancssori paraméter kell: az MQTT szerver IP címe. Az "event" paraméter nem szükséges, mivel csak ezt az üzemmódot hagytam benne. (az IP címet sem kell megadnunk itt, ha beírjuk közvetlenül a presence_report fájl elejébe, ha nem "homeassistant/" az AUTODISCOVERY címünk, ugyanúgy a fájl elejében írhatjuk azt át az MQTT_DISCOVERY változóban)
nohup /usr/bin/presence_report 192.168.1.100 >/dev/null 2>&1 &
Ha ezzel megvagyunk és újraindítjuk a routerünket, hamarosan érkeznie kell az MQTT szerverünkre hasonló útvonalra az adatoknak:
openwrt/HOSZTNEV/00-00-00-00-00-00/iwevent
Az adattartalma pedig JSON:
{
"state": "Online",
"name": "IAMTEDEVICE"
}
A "state" tartalmna Online/Offline, a "name" mezőben pedig az eszköz DNS neve található.
Ha pedig Domoticz (vagy HA) MQTT Autodiscovery -vel használjuk, a homeassistant/binary_sensor/MAC/config alá automatikusan bekerül a megfelelő konfigurációs objektum, így az új eszközök automatikusan meg is jelennek. A korábbi megoldáshoz képest a módszer előnye, hogy nem igényel semmilyen python (vagy NodeRed) fordítót a Domoticz felé.
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.