PRESENCE absent wenn Handy aus...?

Begonnen von misux, 18 März 2018, 10:40:29

Vorheriges Thema - Nächstes Thema

misux

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!

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

misux

Hmmm.... Bei mir ist es kein iPhone sondern ein Android Handy... Ob sich das genauso verhält?

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

misux

 :o ups... das hab ich mal glatt übersehen... na dann werde ich das mal testen... Vielen Dank!

Frank_Huber

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

misux

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!

KernSani

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...