Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Iphone verliert immer das wlan???

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Iphone verliert immer das wlan???

    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      Olfrygt last edited by

      für was brauchst du denn diese true false?
      ich haben meine anwesenheit z.b. mit dem yahka adapter geregelt, funktioniert super.
      im yahka ein gerät erstellt und am iphone eine automation bei ankommen und verlassen

      1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @denjo last edited by

        @denjo

        dann tausche bitte mal den if/fi teil gegen folgendes aus und poste das ergebnis

            if [ ${#status} -eq 17 ]; then
                echo "Phone $i is detected!"
         		echo "curl http://192.168.1.85:8087/set/0_userdata.0.Anwesenheit.$IP?value=1"
         		curl http://192.168.1.85:8087/set/0_userdata.0.Anwesenheit.$IP?value=1
            else
                echo "Phone $i is not present"
         		echo "curl http://192.168.1.85:8087/set/0_userdata.0.Anwesenheit.$IP?value=0"
         		curl http://192.168.1.85:8087/set/0_userdata.0.Anwesenheit.$IP?value=0
            fi
        

        natürlich wieder ip und datenpunkt an allen stellen anpassen

        es sind 2 zusätzliche zeilen eingefügt, die den curl befehl mit den parametern ausgibt, so das wir sehen können ob da ein fehler ist

        D 1 Reply Last reply Reply Quote 0
        • D
          denjo @OliverIO last edited by denjo

          @oliverio habe ich gemacht hier die ausgabe

          pi@raspberrypi:~ $ /opt/iobroker/cmd/iphone.sh
          PING 192.168.178.82 (192.168.178.82) 56(84) bytes of data.
          64 bytes from 192.168.178.82: icmp_seq=1 ttl=64 time=29.3 ms
          
          --- 192.168.178.82 ping statistics ---
          1 packets transmitted, 1 received, 0% packet loss, time 0ms
          rtt min/avg/max/mdev = 29.261/29.261/29.261/0.000 ms
          Phone 192.168.178.82 is detected!
          curl http://192.168.178.98:5663/set/0_userdata.0.Anwesenheit.192-168-178-82?value=1
          {"id":"0_userdata.0.Anwesenheit.192-168-178-82","value":1,"val":1}
          

          jetzt ändert sich das objekt auch auf 1 wenn ich das eingebe

          /opt/iobroker/cmd/iphone.sh
          

          und im log steht das

          simple-api.0
          1315	2021-12-03 02:45:11.207	info	State value to set for "0_userdata.0.Anwesenheit.192-168-178-82" has to be type "string" but received type "number"
          

          jetzt habe ich das objekt von string auf number geändert und alles läuft perfekt

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @denjo last edited by

            @denjo
            Dann war in deinem skript noch was krumm wenn es jetzt funktioniert.

            Und die anwesenheitserkennung funktioniert jetzt?

            D 2 Replies Last reply Reply Quote 0
            • D
              denjo @OliverIO last edited by

              @oliverio ja jetzt funktioniert es tadellos. Danke für deine Mühe

              1 Reply Last reply Reply Quote 0
              • D
                denjo @OliverIO last edited by

                @oliverio mal so ne frage kann man nicht vielleicht einen Adapter daraus bauen, also wenn ich es könnte würde ich es selber machen. Es haben ja viele wie ich lese dieses Problem mit den wlan von den iPhone's.

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO last edited by

                  @denjo
                  das wäre im radar-adapter gut aufgehoben,
                  ich meine ich habe da mal was geschrieben,
                  aber es wurde nicht umgesetzt.

                  das Problem hat irgendwie nicht jeder, daher ist es nicht dringlich.
                  bis auf die Installation eines weiteren Tools wäre der Befehl für die anderen nicht schädlich.

                  https://forum.iobroker.net/topic/28955/anwesenheit-erkennen/22?_=1639066408175

                  1 Reply Last reply Reply Quote 0
                  • P
                    prorun last edited by

                    Hallo Zusammen,

                    ich hole das Thema mal aus der Versenkung und hoffe auf einen guten Ratschlag. Ich wollte das jetzt bei mir umsetzten doch das gleiche Skript liefert auf zwei verschiedenen Systemen unterschiedliche Ergebnisse. Ich hoffe jemand hat eine Idee woran das liegen könnte.

                    Auf System 1 funktioniert augenscheinlich alles einwandfrei. aber System 2 liefert "Phone is detected" obwohl der Ping fehlgeschlagen ist.

                    System 1 (Ubuntu):

                    #: ./iphone.sh
                    PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                    From 192.168.100.205 icmp_seq=1 Destination Host Unreachable
                    
                    --- 192.168.100.145 ping statistics ---
                    1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
                    
                    Phone 192.168.100.145 is not present
                    {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":false,"val":false}
                    

                    System 2 (Docker Container)

                    #: ./iphone.sh
                    PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                    From 192.168.100.200 icmp_seq=1 Destination Host Unreachable
                    
                    --- 192.168.100.145 ping statistics ---
                    1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
                    
                    Phone 192.168.100.145 is detected!
                    {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":true,"val":true}
                    
                    OliverIO 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @prorun last edited by

                      @prorun
                      und welche ip hat der container?

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        prorun @OliverIO last edited by prorun

                        @oliverio 192.168.100.200 - aber das Schreiben in den DP funktioniert einwandfrei auf beiden Systemen auch vom einen System in das andere aber das ist nicht das Problem. Unerklärlich ist für mich jedoch warum aus dem container heraus das Gerät als detected gilt obwohl der Ping auf einen Fehler läuft

                        Docker Container - iPhone im WLAN:

                        PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                        64 bytes from 192.168.100.145: icmp_seq=1 ttl=64 time=344 ms
                        
                        --- 192.168.100.145 ping statistics ---
                        1 packets transmitted, 1 received, 0% packet loss, time 0ms
                        rtt min/avg/max/mdev = 344.215/344.215/344.215/0.000 ms
                        
                        Phone 192.168.100.145 is not present
                        {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":false,"val":false}
                        

                        Docker Container - iPhone NICHT im WLAN:

                        PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                        
                        --- 192.168.100.145 ping statistics ---
                        1 packets transmitted, 0 received, 100% packet loss, time 0ms
                        
                        Phone 192.168.100.145 is detected!
                        {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":true,"val":true}
                        

                        Ubuntu - iPhone im WLAN:

                        PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                        64 bytes from 192.168.100.145: icmp_seq=1 ttl=64 time=206 ms
                        
                        --- 192.168.100.145 ping statistics ---
                        1 packets transmitted, 1 received, 0% packet loss, time 0ms
                        rtt min/avg/max/mdev = 205.736/205.736/205.736/0.000 ms
                        Phone 192.168.100.145 is detected!
                        {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":true,"val":true}
                        

                        Ubuntu - iPhone NICHT im WLAN:

                        PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                        From 192.168.100.205 icmp_seq=1 Destination Host Unreachable
                        
                        --- 192.168.100.145 ping statistics ---
                        1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
                        
                        Phone 192.168.100.145 is not present
                        {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":false,"val":false}
                        

                        verwendet wird exakt die gleiche Skript-Datei. Der Container bringt immer das Gegenteil als Antwort. Verdrehte Welt im Docker?

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @prorun last edited by OliverIO

                          @prorun

                          Dann für bitte vor der Zeile mit dem if Status folgendes ein

                          
                          echo "status: $status "
                          
                          

                          Dann mal schauen was da steht wenn Ping packet loss hat.
                          Grundsätzlich kann das schon sein, in den Experimenten hat sich gezeigt das hping3 allein auch nicht zuverlässig funktioniert. Erst in der Kombination mit ping klappt es dann.
                          Ich vermute Ping schlägt fehl, hping3 lässt gerät aufwachen, meldet sich im Netz und ist dann in der arp table verzeichnet.

                          Ich gehe jetzt davon aus das grundsätzlich der Status schon funktioniert, du aber nicht verstehst warum?
                          Du kannst hier mal lesen
                          https://de.wikipedia.org/wiki/Address_Resolution_Protocol?wprov=sfti1

                          P 2 Replies Last reply Reply Quote 0
                          • P
                            prorun @OliverIO last edited by

                            @oliverio das erklärt aber alles nicht warum das iPhone als detected erkannt wird obwohl es nicht im Netz ist, oder übersehe ich da noch etwas?

                            1 Reply Last reply Reply Quote 0
                            • P
                              prorun @OliverIO last edited by prorun

                              @oliverio wenn das iphone im netz ist (in dem moment auch per ping erreichbar) sieht es im Container wie folgt aus

                              PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                              64 bytes from 192.168.100.145: icmp_seq=1 ttl=64 time=56.2 ms
                              
                              --- 192.168.100.145 ping statistics ---
                              1 packets transmitted, 1 received, 0% packet loss, time 0ms
                              rtt min/avg/max/mdev = 56.162/56.162/56.162/0.000 ms
                              status: xx:xx:62:aa:xx:xx
                              xx:xx:62:aa:xx:xx
                              Phone 192.168.100.145 is not present
                              {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":false,"val":false}
                              

                              Nehme ich das Gerät dann aus dem Netz sieht das Ergebnis ungefähr 10 sekunden noch genauso aus obwohl 100% packet loss

                              PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                              
                              --- 192.168.100.145 ping statistics ---
                              1 packets transmitted, 0 received, 100% packet loss, time 0ms
                              
                              status: xx:xx:62:aa:xx:xx
                              xx:xx:62:aa:xx:xx
                              Phone 192.168.100.145 is not present
                              {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":false,"val":false}
                              

                              Aber dann nach wie gesagt ungefähr 10 sekunden (offensichtlich ist dann die mac aus der arp tabelle raus) kommt zu 100% packet loss noch +1 errors hinzu

                              PING 192.168.100.145 (192.168.100.145) 56(84) bytes of data.
                              From 192.168.100.200 icmp_seq=1 Destination Host Unreachable
                              
                              --- 192.168.100.145 ping statistics ---
                              1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
                              
                              status: xx:xx:62:aa:xx:xx
                              Phone 192.168.100.145 is detected!
                              {"id":"0_userdata.0.Eigene_Objekte.Anwesenheit.Phony13_alive","value":true,"val":true}
                              

                              Warum detected wenn iPhone nicht da? funktioniert hping3 vielleicht nicht richtig im container?

                              P 1 Reply Last reply Reply Quote 0
                              • P
                                prorun @prorun last edited by

                                @prorun ich mein damit arbeiten lässt sich ja trotzdem - dann bin ich halt Abwesend wenn das Skript detected auswirft aber über eine kleine Erklärungshilfe wäre ich trotzdem sehr glücklich. ist ja auch so das es auf dem ubuntu genaus anderherum also richtig rum funktioniert also muss doch im container irgendwas quer laufen, oder?

                                OliverIO 1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @prorun last edited by

                                  @prorun
                                  Muss da mal recherchieren und nochmal ausprobieren.
                                  Da scheint der Netzwerk Stack von docker die arp table anders zu behandeln.
                                  Bei mir läuft das Skript auch im docker Container umd klappt alles

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    prorun @OliverIO last edited by prorun

                                    @oliverio
                                    Komischerweise betrifft dieses verdrehte Verhalten nur zwei Geräte (iPhone Mini13 und iPad Air2) alle anderen Gerät (Samsung Flip3, iPad7, Samsung Note8) werden im Docker Container mit dem gleichen Skript richtig ausgewertet. Es scheint also vielleicht doch nicht am Container sonder an den Geräten zu liegen, oder an der Kombination (bin ratlos).

                                    🙃 🙃 🙂 🙂 🙂

                                    OliverIO 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @prorun last edited by

                                      @prorun

                                      ok, habe mal getestet.
                                      ich konnte es nicht nachvollziehen, das das gerät noch eine gewisse zeit als
                                      anwesend identifiziert wird, obwohl der ping fehlschlägt.

                                      in der arp tabelle merkt sich der rechner welche ip-adresse/MAC-Adresse über welches interface erreichbar ist. da der rechner nicht selbst immer wieder aktiv nachfragt, sondern nur auf aktiven netzwerkverkehr horcht, werden die Einträge nach einer gewissen Zeit ungültig.
                                      eigentlich sollte die arp tabelle nach einem nicht erfolgreichen icmp request (ping) angepasst werden. aus irgendeinem grund scheint das nicht zu passieren.

                                      du kannst ja mal selber schauen, was

                                      arp -a
                                      

                                      anzeigt wenn du das gerät aus dem wlan nimmst, bevor und nachdem du ping machst

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      698
                                      Online

                                      31.7k
                                      Users

                                      79.7k
                                      Topics

                                      1.3m
                                      Posts

                                      ping adapter
                                      10
                                      65
                                      3792
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo