Presence und iPhone / Android

Begonnen von JoWiemann, 07 September 2017, 11:58:59

Vorheriges Thema - Nächstes Thema

Master_Nick

#60
Zitat von: kjmEjfu am 14 Januar 2018, 13:31:08
Die letzte Version von Master_Nick funktioniert mit meinem iPhone 6S leider nur eingeschränkt. Sobald das iPhone länger als +5 Minuten nichts mehr gemacht hat (schläft) wird es nicht mehr gefunden. Das Aufwecken scheint nicht so funktionieren.
Hat jemand eine Idee, woran das scheitern kann?

Konntest du entdecken, woran das bei dir liegt?
hping3 nutzen ja alle Versionen - lediglich nutze ich nicht den direkten ARP-Cache da mir der zu unklar ist im Timeout bzw. ich Netzwerkgeräte habe die den ARP noch weiter vor halten und kommunizieren (was ja generell im Netzwerk durchaus ein Performance-Bonus ist).
Ich und meine Frau sind beide mit Android unterwegs - die IPhone meiner Familie wurden aber bisher ohne Probleme erkannt.

Bisher kann ich von einer 100% Erfolgsquote reden seit dem 02.01.2018.

Wahrscheinlich muss man aber so eine erkennung immer etwas auf seine Umgebung (Equipment im Netzwerk und Co.) abstimmen.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

kjmEjfu

Zitat von: Master_Nick am 15 Januar 2018, 13:27:14
Konntest du entdecken, woran das bei dir liegt?

Ja, ich musste den Sleep im Script von 0.1 auf 0.2 verlängern.
Bei 0.1 stand noch nichts im arp drin, so dass dann nix gefunden wurde. Nach 0.5 war der Eintrag schon wieder weg.
War mehr oder weniger Zufall, dass ich es darauf zurück führen konnte.
Migriere derzeit zu Home Assistant

Master_Nick

Zitat von: kjmEjfu am 15 Januar 2018, 14:05:52
Ja, ich musste den Sleep im Script von 0.1 auf 0.2 verlängern.
Bei 0.1 stand noch nichts im arp drin, so dass dann nix gefunden wurde. Nach 0.5 war der Eintrag schon wieder weg.
War mehr oder weniger Zufall, dass ich es darauf zurück führen konnte.

Aber das hast du dann in MadMaxs Version gemacht richtig verstanden ;-) ?
Das arbeitet mit dem OS eigenen Arp Cache da kann es durchaus dauern.

Aber wenn es so funktioniert ist es ja super :-)

Bei mir blieben Geräte über 30 Minuten in dem Cache daher war das für mich keine Lösung. Eine Erkennung sollte ad-hoc sein und nicht gecached (meine persönliche Ansicht *g*).
Aber die Jungs haben großartige Arbeit geleistet hier! Hatte noch kaum eine Anwesenheits-Erkennung die so gut arbeitet!
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

kjmEjfu

Zitat von: Master_Nick am 15 Januar 2018, 14:11:53
Aber das hast du dann in MadMaxs Version gemacht richtig verstanden ;-) ?
Das arbeitet mit dem OS eigenen Arp Cache da kann es durchaus dauern.

jeps, richtig verstanden :-)
Ich muss jetzt mal schauen, ob das mit dem Wert dauerhaft zuverlässig funktioniert.

Zitat von: Master_Nick am 15 Januar 2018, 14:11:53
Bei mir blieben Geräte über 30 Minuten in dem Cache daher war das für mich keine Lösung. Eine Erkennung sollte ad-hoc sein und nicht gecached (meine persönliche Ansicht *g*).

Da bin ich deiner Meinung. Deshalb gefiel mir eigentlich auch die "Erkennung" mit Geofency (Webhook) besser. Aber seit örtlichem Umzug ist der minimale Radius zu groß und führt zu false positives - mal abgesehen davon, dass das VPN-on-demand in der aktuellen iOS-Version nicht mehr so zuverlässig automatisch aufgebaut wird und dann gar kein Webhook aufgerufen werden kann.
Migriere derzeit zu Home Assistant

Master_Nick

Zitat von: kjmEjfu am 15 Januar 2018, 14:16:42
Da bin ich deiner Meinung. Deshalb gefiel mir eigentlich auch die "Erkennung" mit Geofency (Webhook) besser. Aber seit örtlichem Umzug ist der minimale Radius zu groß und führt zu false positives - mal abgesehen davon, dass das VPN-on-demand in der aktuellen iOS-Version nicht mehr so zuverlässig automatisch aufgebaut wird und dann gar kein Webhook aufgerufen werden kann.

Dann versuch es doch mal mit dem von mir mit arp-scan - da hast du keinen Cache - sleeps sind ja an ähnlicher Stelle soweit ich das jetzt mal eben überflogen bin :-)
Würde mir tatsächlich auch helfen, da ich voraussichtlich erst dann merke, dass es bei mir mit IPhones nicht zuverlässig ist, in dem Moment wo es dann notwendig wäre (Habe einige Sachen in Abhängigkeit von der Anwesenheit geschaltet die durchaus nerven können wenn man dann als Gast in der Wohnung ist *g* man wird dann halt ignoriert)
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Thyraz

@Master_Nick ich wollte es die Tage auch nochmal mit deiner Version testen, da die Originalversion bei mir unzuverlässig war.

Zum Testen hab ich mir damals einfach ein paar Tage lang Push-Nachrichten bei jedem Anwesend / Abwesend Event geschickt.
Damit bekommt man recht schnell mit ob etwas spinnt oder nicht.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

kjmEjfu

Beim arp-scan findet sich in 90% aller Fälle kein Treffer nach dem hping3. Funktioniert also derzeit nicht (mehr).
arp -an zeigt einen Treffer, aber dann habe ich nur den Cache.
Migriere derzeit zu Home Assistant

Master_Nick

Zitat von: kjmEjfu am 15 Januar 2018, 19:05:36
Beim arp-scan findet sich in 90% aller Fälle kein Treffer nach dem hping3. Funktioniert also derzeit nicht (mehr).
arp -an zeigt einen Treffer, aber dann habe ich nur den Cache.

Entschuldige die Frage - arp-scan hast du gesondert installiert? :-) Nicht das da ggf. schon ein Knackpunkt ist. (wobei ich stark davon ausgehe, dass du es hast!)
Ansonsten schau doch mal die MaxRetries von Pre und normaler detektion an, aktuell sollten sie beide auf 10 stehen. Das reicht bei mir im Netz komplett aus.

Oder wechselt die IP ggf öfter bei dir? Dann versuch es mal mittels Hostname (ich nutzte nur Hostnames um nur die MAC als fix Wert zu haben und so flexibel wie möglich zu sein).
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Thyraz

Also ich hab die letzte Variante von Master_Nick mit arp-scan und den Retries gestern Nachmittag auch mal bei mir eingerichtet.

Lief bisher problemlos durch, mit der normalen Variante aus Post 1 hatte ich immer wieder absent Meldungen obwohl das Handy brav daheim lag.
Nach dem Aufwachen dann meist gesehen, dass es Nachts so 5-10 absent/presence Wechsel gab, während das Handy brav auf dem Nachttisch im Ladedock stand.

Hoffe das bleibt so. :)
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

kjmEjfu

Zitat von: Master_Nick am 16 Januar 2018, 11:24:13
Entschuldige die Frage - arp-scan hast du gesondert installiert? :-) Nicht das da ggf. schon ein Knackpunkt ist. (wobei ich stark davon ausgehe, dass du es hast!)
Ansonsten schau doch mal die MaxRetries von Pre und normaler detektion an, aktuell sollten sie beide auf 10 stehen. Das reicht bei mir im Netz komplett aus.

Oder wechselt die IP ggf öfter bei dir? Dann versuch es mal mittels Hostname (ich nutzte nur Hostnames um nur die MAC als fix Wert zu haben und so flexibel wie möglich zu sein).

Die IP habe ich in der Fritz.Box auf eine feste gestellt, daran happert es nicht.
Problem ist eher, dass der arp-scan in den meisten Fällen nach dem hping3 keinen Eintrag zur IP oder MAC findet. Dummerweise kann man aber ja nicht prüfen, ob der hping3 das iPhone überhaupt geweckt hat.
Heute nacht war das Handy 147mal abwesend. Klar, jetzt kann ich im PRESENCE-device den absenceThreshold weiter hochsetzen, aber das ist auch nicht im Sinne des Erfinders.

Ich versuche heute nochmal den arp-scan dediziert auf ein Interface zu schicken, aber bin skeptisch ob das hilft.
Migriere derzeit zu Home Assistant

Master_Nick

"absenceThreshold weiter hochsetzen" <- nein definitiv nicht.

Der Gedanke wäre eher, dass man mal manuell schaut wie es sich verhält.

Also hingehen mit "sudo arp-scan -q -g iPHONE-IP" schaust wie lange es erreichbar ist - lass einfach mal 30 Minuten vergehen ohne was am Handy zu machen (ja ich weiß was für eine Anforderung *g*).

Und dann h3ping3 auf die IP: "sudo hping3 -q -2 -c 10 -p 5353 -i u1 iPHONE-IP" Ggf. musst du hier mal schauen ob das Interface überhaupt für dich passend ist. Ggf klappt der hping3 bei dir ja gar nicht und man bekommen es gar nicht mit (dank >/dev/null 2>&1).

Und dann sollte/müsste/hoffen wir es das Telefon aufwachen auf eine Art, die es in den ARP Raum zurück bringt. Normaler Ping war bei mir weiterhin nicht drin.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

kjmEjfu

Zitat von: Master_Nick am 16 Januar 2018, 13:19:32
Also hingehen mit "sudo arp-scan -q -g iPHONE-IP" schaust wie lange es erreichbar ist - lass einfach mal 30 Minuten vergehen ohne was am Handy zu machen (ja ich weiß was für eine Anforderung *g*).

das verschwindet quasi aus dem arp-scan, sobald es den Auto-Lock macht.
Bin am Überlegen, ob ich noch einen Bluetooth-Scan einbaue. Vielleicht verläuft der positiv, wenn die anderen negativ sind und überdeckt dadurch.
Wäre dann ein 3-teiliger Scan statt 2-teilig.
Migriere derzeit zu Home Assistant

Master_Nick

 :o Mh das entspricht so gar nicht dem Verhalten, dass die Iphones der anderen Nutzer hier haben.

Ist denn dein WLAN bei Standby auf immer an geschaltet (den echten Deep Sleep kann man ja anscheind eh nicht verhindern)?
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

kjmEjfu

Zitat von: Master_Nick am 16 Januar 2018, 14:03:59
Ist denn dein WLAN bei Standby auf immer an geschaltet (den echten Deep Sleep kann man ja anscheind eh nicht verhindern)?

Ich schalte zumindest nicht absichtlich ab.
Aber wie gesagt, ich versuche heute Abend nochmal explizit das Interface für hping3 und arp-scan festzulegen, vielleicht verhaspelt sich dort etwas.
Migriere derzeit zu Home Assistant

kjmEjfu

zwei neue Erkenntnisse:

- auf einem anderen Pi läuft die Erkennung sehr viel zuverlässiger. Dafür müsste ich das Script aber remote auf dem anderen Pi ausführen oder dort per Cron ausführen und die Rückgabe an Presence geben ...
- der Bluetooth-Ping läuft auf dem unzuverlässigen Pi auch recht gut. Zumindest scheint das auf den ersten Blick so.

Eventuell kann man in das Script noch eine dritte Stufe einbauen?

sudo l2ping -t3 -c1 $Bluetooth-MAC

Migriere derzeit zu Home Assistant