Moin zusammen,
ich suche nach einer Idee, wie ich einen mobilen wLAN Router per fhem ausschalten kann oder ggf. einen anderen Lösungsansatz zum fixen des Problems.
Hintergrund:
Wie viele Andere nutze ich zur Anwesenheitserkennung presence, in meinem Fall per "ping" an mehreren Standorten.
Das setzt natürlich voraus, dass das Handy im jeweiligen lokalen wLAN (5GHz-Band - Mesh mit Fritzboxen) angemeldet sind.
Weiterhin nutze ich einen mobilen Router (LTE) wenn ich unterwegs bin (ebenfalls wLAN 5GHz-Band).
Unterwegs besteht nur nach manuellem Start eines VPNs eine Verbindung zu fhem. Die Standorte sind per VPN verbunden.
Problem:
Befindet sich z.B. der MobileRouter (SID = @MOBIL) in der Nähe des Heimnetzes (SID = @HOME), verbinden sich die Handys willkürlich mit dem einen oder anderen wLAN. Dadurch ist der Status "Anwesenheit" nicht mehr klar definiert.
Genauso verhält es sich z.B. @WERKSTATT oder @GARAGE, wenn der MobileRouter dabei ist.
Die größten Schwierigkeiten bereitet es natürlich @HOME.
Bisherige Versuche zur Lösungsfindung:
a.) die Handys per Tasker am Standort HOME immer automatisch mit @HOME zu verbinden
b.) auf den Handys per diverser APPs eine wLAN Priorisierung zu automatisieren
Leider haben beide Wege diverse Nachteile oder es funktioniert schlichtweg nicht belastbar.
Die nächste Idee meinerseits war nun, den MobilenRouter per HTTPMOD auszuschalten.
Dazu müsste fhem erstens, die Anwesenheit der SID @MOBIL erkennen können
und zweitens, sich automatisch verbinden und als Admin einloggen können.
Daran bin ich aber ebenfalls gescheitert, Stand jetzt jedenfalls.
Nun die Frage an die Schwarmintelligenz nach Ideen, Möglichkeiten oder Ansätzen.
Vielleicht hat ja auch der ein oder andere sogar ein ähnliches Problem oder gar eine Lösung dafür gefunden, oder ist einfach ein Leidesgenosse :D
Bin gespannt auf Euren Input
cheers
mi.ke
Darf ich mal (auch für mein Verständnis) vereinfachen und zusammenfassen?
Du hast mehrere WLANs, davon ist eines "Mobil". Alle sind dauerhaft "an".
Du willst Wissen, ob ein Gerät X in Reichweite von WLAN Y ist, durch das Mobile WLAN kann es aber sein, das es dort und nicht in Y erkannt wird. Dafür brauchst Du eine Lösung ...
Zitat von: Wernieman am 14 November 2019, 09:15:12
Du hast mehrere WLANs, davon ist eines "Mobil". Alle sind dauerhaft "an".
Ja
Zitat von: Wernieman am 14 November 2019, 09:15:12
Du willst Wissen, ob ein Gerät X in Reichweite von WLAN Y ist, durch das Mobile WLAN kann es aber sein, das es dort und nicht in Y erkannt wird. Dafür brauchst Du eine Lösung ...
Das Wissen nutzt "mir" glaub ich nichts, eigentlich muss es das Gerät X "wissen"
Ich versuch es mal mit "Deinen Worten" auszudrücken:
Mehrere WLANs (nicht gleichzeitig, sondern an verschiedenen Standorten), davon ist eines "Mobil". Alle sind dauerhaft "an".
Gerät X
verbindet sich automatisch mit Mobile WLAN, soll aber mit Y verbinden.
Und Dein "Mobile-WLAN" hat nicht die Möglichkeit, sich ins WLAN einzuloggen (wenn vorhanden?)
Nur mal, so als Idee ..... sonst fällt mir aktuell auch "nur" ein, es passend abzuschalten ...
Zitat von: Wernieman am 14 November 2019, 10:08:32
Und Dein "Mobile-WLAN" hat nicht die Möglichkeit, sich ins WLAN einzuloggen (wenn vorhanden?)
Es gibt eine Möglichkeit, die ist aber nicht zielführend, denn dazu muß dauerhaft das 5GHz-wLAN deaktiviert werden.
Aber auch dann hilft es nicht, denn der MobileRouter verbindet sich zwar mit dem Heimnetz (Y), kann aber nicht aus Y angesprochen werden.
Gerät X ist immer noch mit MobileRouter verbunden, die Pakete werden quasi nur in eine Richtung weitergeleitet
Gerät X --> Mobile --> WAN via Fritzbox
Stimmt .. an NAT hatte ich nicht gedacht ...
Wenn das Handy sich auf dem Mobil-Router einlogt, aber eigentlich @HOME ist und alle bisherigen Vorschläge nicht funktionieren bzw. praktikabel sind muss wohl eine zweite Art der Anwesenheitserkennung her, zum Beispiel per Bluetooth/LE Scan oder Geofencing (Locative App auf dem Handy)?
Zitat von: dkreutz am 14 November 2019, 11:17:26
Wenn das Handy sich auf dem Mobil-Router einlogt, aber eigentlich @HOME ist und alle bisherigen Vorschläge nicht funktionieren bzw. praktikabel sind muss wohl eine zweite Art der Anwesenheitserkennung her, zum Beispiel per Bluetooth/LE Scan oder Geofencing (Locative App auf dem Handy)?
Leider ist auch das problematisch, denn es handelt sich um fünf verschiedene Standorte, bei denen teilweise die Möglichkeiten eingeschränkt sind (z.B. Büro und Garage).
Die Standorte sind aber trotzdem z.T. räumlich so nahe zusammen, dass Geofencing schwierig wird (hatte ich schon in der Vergangenheit getestet)
Zum anderen steht "Gerät X" als Symonym für mehrere Mobile Endgeräte (Handys) bei denen Bluetooth zum Teil abgeschaltet ist.
Und es dadurch zu lösen, das man das "Mobile" WLAN irgendwie verhindert (in der Not abschaltet) ist wirklich nicht möglich?
Zitat von: Wernieman am 14 November 2019, 12:51:23
Und es dadurch zu lösen, das man das "Mobile" WLAN irgendwie verhindert (in der Not abschaltet) ist wirklich nicht möglich?
Zitat von: mi.ke am 14 November 2019, 09:09:50
Die nächste Idee meinerseits war nun, den MobilenRouter per HTTPMOD auszuschalten.
Dazu müsste fhem erstens, die Anwesenheit der SID @MOBIL erkennen können
und zweitens, sich automatisch verbinden und als Admin einloggen können.
Daran bin ich aber ebenfalls gescheitert, Stand jetzt jedenfalls.
Daran hatte ich auch schon gedacht, aber noch keinen Erfolg gehabt.
Es scheitert schon daran, dass ich keine Idee habe, wie
fhem nach einem vorhandenen WLAN suchen kann.
Ich nehme an, dass es einen zusätzlichen WLAN-Adapter braucht. Ein anderes Problem könnte sein, dass die Raspberrys bei Verlust der WLAN-Verbindung den Adapter nach einer Zeit deaktivieren und danach kein connect mehr möglich ist (deshalb starte ich die Fritzbox so ungern)
Aber ich denke auch, dass dies der Weg sein könnte
Zitatdass die Raspberrys bei Verlust der WLAN-Verbindung den Adapter nach einer Zeit deaktivieren und danach kein connect mehr möglich ist
Da dürfte das Problem eher sein, das der PI Adapter und Fritte ein eigenes Thema sind. Gibt genug Threads dazu im Netz.
Deshalb wird heufig anstelle des internen WLAN-Adapters ein zusätzlicher an USB gesteckt. Läuft Problemloser
Habe es eben mal mit dem Nmap Modul versucht
Internals:
ARGS -sn
CFGFN
DEF 192.168.1.0/24
INTERVAL 900
NAME M1suche
NR 973109
PATH /usr/bin/nmap
STATE done
TYPE Nmap
READINGS:
2019-11-15 09:03:49 NmapVersion 6.47
2019-11-15 09:03:49 hostsScanned 256
2019-11-15 09:03:49 hostsUp 0
2019-11-15 09:03:49 knownHosts 0
2019-11-15 09:03:49 scanDuration 105
2019-11-15 09:03:49 state done
helper:
Attributes:
room Testkram
Kann es sein, dass der Rechner auf dem die Suche läuft in der gleichen IP-Range sein muss?
gibt es denn nicht die möglichkeit, über tasker die wlans (home, garage..) zu erkennen, um dann bei anwesenheit in diesen wlans entsprechend neu zu verbinden?
Zitat von: frank am 15 November 2019, 09:32:07
gibt es denn nicht die möglichkeit, über tasker die wlans (home, garage..) zu erkennen, um dann bei anwesenheit in diesen wlans entsprechend neu zu verbinden?
Zitat von: mi.ke am 14 November 2019, 09:09:50
Bisherige Versuche zur Lösungsfindung:
a.) die Handys per Tasker am Standort HOME immer automatisch mit @HOME zu verbinden
b.) auf den Handys per diverser APPs eine wLAN Priorisierung zu automatisieren
Leider haben beide Wege diverse Nachteile oder es funktioniert schlichtweg nicht belastbar.
So hab ich es ja zur Zeit. Voraussetzung war die APP "WiFi Connect for tasker".
Das funktioniert leider nicht zu 100%.
Kenne das nmap-Modul in FHEM nicht so gut, aber nmap selber ist es grundsätzlich egal, in welcher IP-Range das Ziel liegt ...
Habe jetzt mal zusätzlich die Android APP "WiFi Prioritizer" installiert, damit scheint es ganz gut zu funktionieren
Zitat von: mi.ke am 15 November 2019, 08:22:14
Es scheitert schon daran, dass ich keine Idee habe, wie fhem nach einem vorhandenen WLAN suchen kann.
2. WiFi USB-Gerät und in Linux einbinden. Erzeugt /dev/wifi1.
Beim starten ein einfaches bash-Script starten, in etwa:
while (1); do
# Network Manager, Commandline version - replace with your tool of choice
nmcli wifi list | grep "BADSSID"
if $? ne ""; then # WiFi gefunden
curl http://$host:8083/fhem?cmd=set%20$name%20$? > /dev/null
sleep 15
end
Dann kannst Du innerhalb FHEM auf den Dummy reagieren und ein Kommando XYZ ausführen und Dein WiFi abschalten
Ciao, -MN
nmcli wifi list funktioniert bei mir nicht .....
Nett ist eher die folgende Ausgabe":
iwlist wlp58s0 scanning | grep -e "ESSID" -e "Quality" -e "Frequency"
Diesmal kamen 14Cent an.
Beim Versenden von Geld muss die Option "an einen Freund senden" verwendet werden. Aber is schon gut Warensendung habe ich heute abgegeben.
Viel Spaß damit.