[Gelöst] OpenWRT mit FHEM lepresenced

Begonnen von Volker80, 10 August 2020, 17:35:03

Vorheriges Thema - Nächstes Thema

Volker80

Hallo
Ich habe einen OpenWRT Router und auf diesem läuft FHEM (nach einigem Probieren). Nun wollte ich mit dem Presence Modul lepresenced nutzen. Da fangen die Probleme an. Ich habe mich durch alle möglichen Anleitungen gekämpft und bekomme auch ein erfolgreiche Anfrage über hcitool lescan.
Leider steht im FHEm define immernoch disconnect.
Beim starten über ./lepresenced kommt folgende Fehlermeldung:

Can't locate Net/Server/Daemonize.pm in @INC (you may need to install the Net::Server::Daemonize module) (@INC contains: /usr/lib/perl5/5.28) at ./lepresenced line 46.
BEGIN failed--compilation aborted at ./lepresenced line 46.

Hat jemand eine Idee wie ich weiter verfahren könnte. Mein Ziel ist es über mein Standart-FHEM auf einem Raspi 4 meine LE BT Dongles auch über den Router abzufragen, da sie manchmal nicht erreichbar sind wenn ich im Garten bin. Da steht der Router günstiger.
Vielen Dank schonmal im Vorraus

Wernieman

#1
Laut Fehlermeldung fehlt das perl Packet Server::Daemonize

Du schreibst leider nicht, auf was für ein System Du FHEM laufen lässt. Meide Glaskugel sagt:
apt-get install libnet-server-perl
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Volker80

Das FHEM System soll auf einem TP-Link Archer C7 v5 mit OpenWrt 19.07.3 laufen, bzw läuft es ja.
Da es bei OpenWrt OPKG und leider nicht apt-get gibt, fällt diese Option leider raus. Trotzdem Danke

Wernieman

Dann mußt Du Dir das Passende für OpenWRT raussuchen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

yersinia

Zitat von: Volker80 am 11 August 2020, 04:16:09
Das FHEM System soll auf einem TP-Link Archer C7 v5 mit OpenWrt 19.07.3 laufen, bzw läuft es ja.
Schau mal unter https://openwrt.org/packages/table/start ob du ein geeignetes perl Paket findest. Vielleicht perlbase-net? Das ist aber geraten. Es sieht aber so aus, als cpan auch zur Verfügung stände (FHEM Wiki: CPAN).

Installation via opkg auf Console
opkg update
opkg install [package1] [package2] [...]

oder via LuCI GUI.

Und die Pakete direkt notieren, die musst du nach jedem Upgrade nachinstallieren - oder du kompilierst selbst.

Aber mal ehrlich: FHEM auf einem Router? Außer als Spielerei/Test - warum?
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Volker80

Zitat von: yersinia am 11 August 2020, 09:31:53
Aber mal ehrlich: FHEM auf einem Router? Außer als Spielerei/Test - warum?
Naja mir geht es hauptsächlich um Presenced. Das funktioniert zwar auch ohne FHEM aber so lässte es sich leichter testen.

Dann werde ich mich mal mit cpan ausprobieren.
Dankeschön für die Hilfe

rob

Zu presenced/ lepresenced kann ich leider nix beitragen -  im Titel steht halt OpenWRT und so ist meine Anregung vielleicht auch passend/ willkommen, obwohl via Wifi statt Bluetooth.

Ottos Blog (http://heinz-otto.blogspot.com/2019/03/precence-und-openwrt-der-3-versuch.html) inspirierte mich zu schauen, wie ich den Status von Wifi-Teilnehmern aus OpenWRT nach Fhem kriege.
Ich mach das nun Event-basiert durch hostapd_cli und erhalte in Fhem den Status per MQTT-Nachrichten (wenn Dein Fhem doch einst auf einem anderen Gerät laufen soll, brauchst nur die Ziel-IP ändern).

OpenWRT-seitig braucht es die Pakete
hostapd-utils
mosquitto-client

und ein einfaches Script, das von hostapd_cli aufgerufen wird und den MQTT-Part macht. Fundorte https://forum.openwrt.org/t/solved-assoc-disassoc-event-trigger/3341/2 und https://helpmanual.io/help/hostapd_cli/.

Fhem-seitig MQTT2_Server mit aurocreate simple und der Rest läuft von allein. Als Ergebnis stehen in Fhem je Drahtlosschnittstelle ein MQTT-Device und darin die MAC-Adressen+Namen als Readings mit dem jeweiligen Status (connected/disconnected).

Wenn interessant, gebe ich gern die Details raus, ansonsten vergesst bitte mein reingrätschen :)

Viele Grüße
rob


rob

...ich deute die "gefällt mir" Marker als ein Ja. ;)

Hier geht es weiter https://forum.fhem.de/index.php/topic,113524.msg1078007.html#msg1078007, damit ich diesen Fred nicht zu sehr kapere und Einsteiger nicht vergraule.
@Volker80: vielleicht taugt es Dir ja.

Viele Grüße
rob

Volker80

#8
Oh das mit mosquitto is ne gute Idee. ich werde mich da mal ransetzen und berichten wenn es läuft. Wifi is ja das eine aber LE BT scheint etwas schwieriger.
Vielen Dank für die Idee

PS: Ich denke dafür reichen meine Kenntnisse nicht aus. Mein Idee! Ein Skript was das Ergebnis vom HCITOOL LESCAN und SCAN via MQTT weitergibt. Vielleicht hat das ja schon jemand umgesetzt.

Volker80

So mittlerweile hab ich eine Lösung ohne FHEM gefunden. Auf dem OpenWrt Router fehlten ein paar Pakete

perlbase-attributes und perlbase-universal sind Vorraussetzung um die Module

https://metacpan.org/pod/ExtUtils::MakeMaker (alternativ auch opkg install make)
https://metacpan.org/pod/Net::Server

Dann kamen noch

perlbase-getopt

zu installieren.

Danach läuft es und kann direkt über FHEM abgefragt werden.

   lan-bluetooth xx:xx:xx:xx:xx:xx IP-Openwrt:5333

Bei Gelegenheit resette ich den Router mal und probiere es mit weniger Schritten.

Ergebniss: Mein FHEM auf nem RB4 erkennt den BT LE Dongle in der Nähe oder in der Nähe des OpenWrt Routers. So wie es sein sollte.

Danke für die Ideen und Lösungshilfen