Hi!
Danke für Deine Tests, den Patch und Konfigurationsbeispiele.
1. Wie stoppe ich das Tool wieder, wenn ich's als Daemon gestartet habe?
Zunächst mal durch kill/killall. Eine PID-Datei wird auch unter /var/run angelegt, so dass Du es auch sauber über kill $PID beenden könntest. Prinzipiell kannst Du Dir damit einen Systemd-Service bauen.
Das ginge alles natürlich noch schöner und automatisch mit einem DEB-Paket. Leider verwendet ble2mqttd CPAN-Module, für die es keine Debian-Pakete gibt, daher verfolge ich das aktuell nicht.
2. --absentinterval geht (noch) nicht, oder?
Gerade mal den Code überflogen. Müsste eigentlich berücksichtigt werden. Wo geht es denn bei Dir schief?
3. Warum minimal 30s absentinterval?
Das ist ein Versuch, den User vor fehlerträchtigen Einstellungen zu schützen. Das Problem ist hier, dass bluetoothctl bei meinen Tests keine Duplicates anzeigt, auch wenn ich sie explizit angefordert habe. Im Ergebnis sieht ble2mqttd weniger Beacons als es tatsächlich gibt. Setzt man nun absentinterval zu niedrig, führen diese übersehenen Beacons zu (falschen) absents. Wenn Du damit experimentieren möchtest, kannst Du einfach den Check in Zeile 190 auskommentieren. Die 30s sind aber nicht in Stein gemeißelt, also gerne Feedback, was bei Dir funktioniert.
4. Ist noch ein dritter Status "away" nach x Stunden absent geplant? Der wäre für mich wichtig.
Nein. Ich möchte offen gestanden auch nicht zu viel Logik in ble2mqttd auslagern, das eigentlich nur nackte Informationen an FHEM weitergeben soll. Streng genommen ist das present-topic eigentlich auch schon zuviel, da man in FHEM über lastseen die Anwesenheit auswerten und beliebig personalisieren kann.
Patrick