Ansonsten ist bei mir noch die Werteinterpretation mit Vorzeichen ausgeschaltet. Bist du sicher das du nicht ein Leerzeichen vor dem \i hast ?
LoxBerry Wifiscanner Plugin
Einklappen
X
-
Wenn du sowieso schon einen Loxberry verwendest koenntest du dir ueberlegen ob du nicht direkt MQTT verwendest anstatt des UDP Kanals.
Ansonsten ist bei mir noch die Werteinterpretation mit Vorzeichen ausgeschaltet. Bist du sicher das du nicht ein Leerzeichen vor dem \i hast ? -
-
Laut KI Claude Fable 5
Wichtigster LB4-Fund und -Fix: Das dpkg/apt-File installierte nur einen Teil der benötigten Perl-Module. check.pl braucht zusätzlich Net::MQTT::Simple, Data::Validate::IP, Capture::Tiny, Config::Simple und LWP — auf älteren LoxBerrys zufällig vorhanden (durch andere Plugins), auf einem frischen LB4 aber nicht garantiert → der Scanner wäre mit "Can't locate ...pm" gestorben. Alle fünf Pakete stehen jetzt im apt-File. MQTT läuft über Net::MQTT::Simple gegen den Broker, den LB4 ja integriert mitbringt — das passt zusammen. SVG-Icon (24 KB) ist erstellt, PNGs bleiben als Fallback.
Integration mehrere Abfrage-Modi steuerbar aus Loxone und der Auto-Update-Mechanismus
MQTT-Steuerung aus Loxone (neu): Daemon bin/mqtt_listener.pl abonniert wifiscanner/cmd/# und versteht scan (Sofort-Scan, optional mit Modus), mode (0=Fritzbox+Ping, 1=nur Fritzbox, 2=nur Ping — wird persistiert und löst direkt einen Scan aus), interval (1–60 min, stellt den Cronjob um) und enable (0/1). Status geht retained nach wifiscanner/status/mode|interval|enabled und landet über das Gateway als Virtueller Eingang in Loxone. Dazu: --mode-Override in check.pl, daemon/daemon für den Boot-Start, (Re-)Start in postinstall/postupgrade. Die bestehende Subscription wifiscanner/# deckt die neuen Topics bereits ab. Details stehen im README.
Auto-Update: release.cfg/prerelease.cfg auf VERSION=2.4 mit Tag-ZIP-URL, und die kaputten Raw-URLs in plugin.cfg repariert (blob/ gehörte da nicht rein — deshalb hat der Mechanismus nie funktioniert).
Nebenbei einen echten Upstream-Bug gefixt: in check.pl überschrieb der Fritzbox-Zweig die konfigurierten IPs eines Users mit einem leeren Hash (%user statt $users[$i]).
Zwei Hinweise zum Auto-Update: Es greift erst, wenn dein 2.4 per Pull Request im Gagi2k-Repo auf master liegt und dort ein Tag v2.4 existiert. Und bestehende 2.3-Installationen haben die kaputte RELEASECFG-URL noch in ihrer installierten plugin.cfg — die müssen 2.4 einmal manuell einspielen, danach läuft das Update automatisch.
LoxBerry-Plugin-WifiScanner
Anwesenheitserkennung von WLAN-Geräten (Fritz!Box TR-064 und/oder aktiver Scan per arping/ping) für den Loxone Miniserver.
Version 2.4
- Kompatibel mit LoxBerry 4 (PHP 7.4 und PHP 8)
- MQTT-Publish der Ergebnisse (`wifiscanner/<name>` = 0/1, retained)
- Neu: Steuerung aus Loxone per MQTT-Kommandos (siehe unten)
Steuerung per MQTT aus Loxone
Der Listener (`bin/mqtt_listener.pl`, startet automatisch beim Boot) abonniert `wifiscanner/cmd/#`.
Über einen Virtuellen Ausgang in Loxone (via LoxBerry MQTT Gateway) können folgende Kommandos
gesendet werden (bitte **nicht retained** publizieren):
| Topic | Payload | Wirkung |
|---|---|---|
| `wifiscanner/cmd/scan` | leer oder Modus | Sofort-Scan; optional mit Modus-Override für diesen einen Scan |
| `wifiscanner/cmd/mode` | `0`/`both`, `1`/`fritzbox`, `2`/`ping` | Abfrage-Modus dauerhaft umschalten (wird in der Config gespeichert), löst direkt einen Scan aus |
| `wifiscanner/cmd/interval` | `1`,`3`,`5`,`10`,`15`,`30`,`60` | Scan-Intervall in Minuten (Cronjob wird umgestellt) |
| `wifiscanner/cmd/enable` | `0` / `1` | Periodisches Scannen aus-/einschalten |
Abfrage-Modi:
- `0` / `both`: Fritz!Box-Abfrage + aktiver Scan (arping/ping)
- `1` / `fritzbox`: nur Fritz!Box-Abfrage
- `2` / `ping`: nur aktiver Scan
Der aktuelle Zustand wird retained publiziert und steht damit in Loxone als Virtueller Eingang zur Verfügung:
`wifiscanner/status/mode`, `wifiscanner/status/interval`, `wifiscanner/status/enabled`.
Auto-Update
`plugin.cfg` verweist auf `release.cfg`/`prerelease.cfg` im master-Branch dieses Repos.
Für ein Release: Version in `plugin.cfg` und `release.cfg` erhöhen, Tag `vX.Y` setzen
(`ARCHIVEURL` zeigt auf das Tag-ZIP) und auf master pushen.
Zuletzt geändert von LoxMunich; vor 2 Tagen.Kommentar
Kommentar