Moin,
Netwok ist nun nicht gerade meine starke Seite, daher eine Frage an die Spezis.
Wenn ich die CommandRef richtig interpretiere, dann kann man mit WOL über eine bekannte MAC und der Broadcast-Adresse ein Network-Device anpingen. Damit könnte ich das Einloggen von Gästen (Handy) überwachen, da die IPs von meiner FritzBox per DHCP vergeben werden. Feste Adressen will ich nicht für diesen Zweck vergeben.
Zitatattr <name> useUdpBroadcast <broardcastAdress>
When using UDP then the magic packet can be send to one of the broardcastAdresses (x.x.x.255, x.x.255.255, x.255.255.255) instead of the target host address. Try using this, when you want to wake up a machine in your own subnet and the wakekup with the target adress is instable or doesn't work.
Geht aber nicht, der Status ist immer "on", also anwesend.
Hier meine Definitionen:
Internals:
DEF XX:XX:XX:BC:A7:0E YYY.YYY.YYY.255 UDP
IP YYY.YYY.YYY.255
MAC XX:XX:XX:BC:A7:0E
MODE UDP
NAME WOL_H_Handy
NR 119
REPEAT 000
STATE on
TYPE WOL
READINGS:
2018-08-25 23:41:29 active off
2018-08-26 00:26:50 isRunning true
2018-08-25 23:41:29 packet_via_EW none
2018-08-25 23:41:29 packet_via_UDP none
2018-08-26 00:26:50 state on
TIMER:
WOL_H_Handy_ping:
HASH WOL_H_Handy
MODIFIER ping
NAME WOL_H_Handy_ping
WOL_Heidi_Handy_ping:
HASH WOL_H_Handy
MODIFIER ping
NAME WOL_Heidi_Handy_ping
helper:
Attributes:
group WLAN
interval 600
room Buero
useUdpBroadcast YYY.YYY.YYY.255
verbose 4
webCmd :
Logauszug
2018.08.26 00:16:50 4: [WOL_H_Handy] executing: ping -c 1 -w 2 YYY.YYY.YYY.255
Do you want to ping broadcast? Then -b. If not, check your local firewall rules.
2018.08.26 00:16:50 4: [WOL_H_Handy] result executing ping:
2018.08.26 00:16:50 4: [WOL_H_Handy] ping succesful - state = on
Die Option -b kann ich nirgends angeben. Der Ping ist immer succesful, unabhängig vom Gerätestatus.
Hab ich ewas falsch verstanden oder ist da ein BUG drin ?
Moin und schon mal danke für Eure Hilfe !
Bernd
Moin Bernd,
ZitatWenn ich die CommandRef richtig interpretiere, dann kann man mit WOL über eine bekannte MAC und der Broadcast-Adresse ein Network-Device anpingen.
Nein, man kann bekannte Geräte damit aufwecken!
WOL -> Wake On Lan
Was Du willst geht auch, dazu brauchst Du das Modul Fritzbox und ermittelst dort die MAC Adressen deiner Clients. Dazu gibt es viele Lösungen, ein paar davon stehen auch im Wiki.
https://wiki.fhem.de/wiki/FRITZBOX#Anwendungsbeispiele
Gruß Otto
Moin Otto,
ok, kann man nicht, danke für die Info! Schade... :'(
Aber warum ist dann das Reading "isRunning" = "true" und "state" = "on", wenn das Device gar nicht online ist ? Wenn man ein Device aufwecken wollte, wäre der tatsächliche Status vor und nach einem Command ja auch ganz wichtig.
Wenn man die richtige IP anstelle der Broadcast-Adresse im WOL eingibt, stehen diese Readings richtig. Ich nx verstehen...
Dein Tipp mit der Mac-Analyse via Modul FritzBox ist gut. Habe ich gleich probiert. Leider sind die Fritzen ziemlich träge. Das Einloggen wird relativ schnell erkannt, das Ausloggen erst nach ca. 10 Minuten. Ich muss mal schauen, ob ich von den Fritzen für eine bekannte Mac eine gültige IP bekomme und dann könnte man mit PRESENCE lan-ping weitermachen.
Gibt es da ein TR-Command?
ZitatGetSpecificHostEntry ( NewMACAddress ) = ( NewIPAddress NewAddressSource NewLeaseTimeRemaining NewInterfaceType NewActive
NewHostName )
...ist ziemlich "unübersichtlich" für mich, um es mal möglichst positiv auszudrücken....
Moin
Bernd
Moin,
das mit dem lan-ping wirst Du wohl vergessen können, da fast alle Handys bei ausgeschaltetem Bildschirm heutzutage nicht mehr anpingbar sind. Du wirst also mit dem Zeitversatz beim ausloggen leben müssen.
LG
Andreas
so geht es:
https://wiki.fhem.de/wiki/FRITZBOX#Anwesenheitserkennung_per_regelm.C3.A4.C3.9Figer_Abfrage_.C3.BCber_das_PRESENCE_Modul
Auch mit aktuellen Mobilgeräten.
Moin Bernd,
das WOL Modul ist zum aufwecken, überwachen und herunterfahren eines LAN Gerätes. Du musst nur alles richtig konfigurieren. Steht aber alle sin der Doku -> https://commandref.fhem.de/#WOL
Es ist quasi ein LAN Ein/Aus Schalter mit Rückmeldung.
Das Fritzboxen träge beim Erkennen des WLAN abgemeldet Zustandes sind, ist bekannt. Da kann ich auch nix dran ändern. Mein OpenWrt Router macht das in Sekunden.
Mit TR meinst Du TR064? Das das unübersichtlich ist, dafür kann ja keiner was. ;D Die Welt ist manchmal unübersichtlich, dass macht es ja auch interessant ;D
Die Dokumente dazu findest Du bei avm.
TR064 - habe ich vor kurzem mal etwas damit gespielt, hier meine Notizen (https://heinz-otto.blogspot.com/2018/08/fritzbox-mit-tr064-abfragen.html) dazu. Nicht das was Du suchst, aber vielleicht hilft es beim experimentieren.
Gruß Otto
ok, danke für Eure Anregungen !
Also TR064 Command um von einer bekannten MAC unter anderem die IP zu bekommen :
get <FB.Name> tr064Command Hosts:1 hosts GetSpecificHostEntry NewMACAddress XX:XX:AB:A3:1B:B6
<FB.Name>, XX:XX:AB:A3:1B:B6 usw. jeweils gegen die eigenen Daten ersetzen ;)
Ergebnis:
Service='Hosts:1' Control='hosts' Action='GetSpecificHostEntry'
Parameter1='NewMACAddress' => 'XX:XX:AB:A3:1B:B6'
----------------------------------------------------------------------
$VAR1 = {
'GetSpecificHostEntryResponse' => {
'NewInterfaceType' => 'Ethernet',
'NewHostName' => 'Bezeichnung der MAC auf der FritzBox',
'NewAddressSource' => 'DHCP',
'NewIPAddress' => 'YYY.YYY.YYY.30',
'NewLeaseTimeRemaining' => '0',
'NewActive' => '1'
}
};
'NewInterfaceType' => 'Ethernet' kommt, weil mein WLAN auf einer anderen Fritze läuft.
Die Daten sind aber beim Ausloggen natürlich nicht aktueller als beim Modul FRITZBOX. Immerhin bekommt man die IP.
Wenn man nun die Infos aus der Fritze mit zusätzlichen Infos aus pings mischen würde, könnte man Stati wie "online" "standby" oder "offline" generieren. "standby" wäre ein Kompromiss und steht für tatsächlich schon aus oder wirklich standby. Oder vielleicht wäre "inactive" dafür besser. Mal sehen - spannend.
Moin
Bernd