Hallo!
Ich habe mir ein PRESENCE angelegt für mein Handy. Das funktioniert auch soweit nur leider bekomme ich ein absent status sobald sich das Display ausschaltet bzw ich es ausschalte. Im Handy habe ich die Funktion im WLAN bleiben IMMER aktiv.
Hat jemand eine Idee was ich machen muss damit es nur absent ist wenn das Handy nicht im Wlan ist?
Vielen Dank!
Evtl. das mal probieren:
https://forum.fhem.de/index.php/topic,76342.0.html
Kurz da nur Handy...
Gruß, Joachim
Hmmm.... Bei mir ist es kein iPhone sondern ein Android Handy... Ob sich das genauso verhält?
zunächst mal steht im Titel iPhone / Android. Da es allerdings viele Android Versionen / Handys gibt wird Dir nichts anderes übrig bleiben, als es zu probieren.
Grüße Jörg
:o ups... das hab ich mal glatt übersehen... na dann werde ich das mal testen... Vielen Dank!
imho machen alle aktuellen Androiden und Äpfel den IP Stack aus um Strom zu sparen.
WLAN bleibt generell verbunden, nur eben ohne aktives Protokoll.
ohne IP kein Ping und damit das Handy absent.
Wenn Du eine Fritzbox einsetzt kannst Du es über die MAC-Adresse umsetzen. das läuft bei uns seit Monaten stabil und zuverlässig.
https://wiki.fhem.de/wiki/FRITZBOX#Anwesenheitserkennung_per_regelm.C3.A4.C3.9Figer_Abfrage_.C3.BCber_das_PRESENCE_Modul
OKAY...
Jetzt komme ich wieder an die Grenze meiner unheimlich geringen Ahnung..
Muss ich also in 99_myUtils diesen Abscnitt eintragen... egal wo?
sub checkAllFritzMACpresent($) {
# Benötigt: nur die zu suchende MAC ($MAC),
# Es werden alle Instanzen vom Type FRITZBOX abgefragt
#
# Rückgabe: 1 = Gerät gefunden
# 0 = Gerät nicht gefunden
my ($MAC) = @_;
# Wird in keiner Instanz die MAC Adresse gefunden bleibt der Status 0
my $Status = 0;
$MAC =~ tr/:/_/;
$MAC = "mac_".uc($MAC);
my @FBS = devspec2array("TYPE=FRITZBOX");
foreach( @FBS ) {
my $StatusFritz = ReadingsVal($_, $MAC, "weg");
if ($StatusFritz eq "weg") {
} elsif ($StatusFritz eq "inactive") {
} else {
# Reading existiert, Rückgabewert ist nicht "inactive", also ist das Gerät am Netzwerk angemeldet.
$Status = 1;
}
}
return $Status
}
UND dann ein neues define für jedes Handy setzen?
define <Name> PRESENCE function {checkAllFritzMACpresent("AA:BB:CC:DD:EE:FF")} 60 60
Vielen Dank!
Hi Misux,
bitte unbedingt das hier beachten: https://wiki.fhem.de/wiki/99_myUtils_anlegen
Grüße,
Oli