Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. fb.checkpresence mit iPhone Ergänzung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    fb.checkpresence mit iPhone Ergänzung

    This topic has been deleted. Only users with topic management privileges can see it.
    • DJMarc75
      DJMarc75 @DennisMenger last edited by DJMarc75

      @dennismenger

      Servus,
      wir haben hier im Haushalt nur Androide aber auch diese können ja mal die Verbindung zum WLAN verlieren, z.B. durch einen Neustart.
      Um nervigen Nachrichten aus dem Wege zu gehen habe ich dies mit folgendem Blockly gelöst (in diesem Fall mein Smartphone):

      Screenshot 2023-02-09 100252.png

      Dazu frage ich aber nicht den DP

      fb-checkpresence.0.familyMembers.Familie.Marc.presence
      

      ab sondern zur Erkennung der Anwesenheit

      fb-checkpresence.0.familyMembers.Familie.Marc.present.since
      

      und zur Abwesenheit diesen

      fb-checkpresence.0.familyMembers.Familie.Marc.absent.since
      

      Ebenso hab ich mir für jeden User einen boolschen DP angelegt (hier MarcWLAN)
      und im Skript eine Variable (Marc) erzeugt.
      Beim Skriptstart wird die Variable erstmal auf false gesetzt.
      Falls ich daheim bin wird spätestens nach einer Minute der DP MarcWLAN nun auf true gesetzt und die Variable Marc ebenfalls (Entprellerfunktion).

      Falls ich nun das Haus für längere Zeit verlasse dann wird nach 10 Minuten der DP MarcWLAN auf false gesetzt und die Variable Marc ebenfalls um die Entprellerfunktion zu deaktivieren.
      Sollte ich aber mal das Smartphone neu starten, es kurz das WLAN verlieren oder ich bin mal eben nur 5 Minuten weg passiert ... NIX, also keine Änderung des DP MarcWLAN auf false da die beiden TriggerDatenpunkte die Zeit (in Minuten) nur bei An- bzw. Abwesenheit hochzählen und sich jeweils bei Statusänderung von "presence" auf Null setzen.
      Hoffe ich konnte das verständlich rüberbringen 🙂

      D 2 Replies Last reply Reply Quote 0
      • D
        DennisMenger @DJMarc75 last edited by

        @djmarc75 Moin

        Oh da muss ich erstmal durchsteigen ... vielen Dank schon mal

        Ich werde mir das mal in Ruhe angucken und versuchen umzusetzen

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

          @dennismenger

          iphone/ios ist da etwas hartnäckig.
          bei manchen geräten reicht ein arp-scan nicht aus.
          selbst wenn das gerät aktiv zu sein erscheint, schaltet ios im hintergrund wlan aus. nach einer gewissen zeit verschwinden dann die geräte aus den arp tabellen bspw beim router (was dann die skripte/adapter dann auswerten) und das gerät ist weg.
          daher muss man das gerät immer wieder mal wecken. das geht mit einem weiteren tool, mit dem man beliebige layer 3 päckchen erzeugen kann (das normale ping erzeugt layer 2 icmp päckchen)

          mit der hier beschriebenen lösung funktioniert es bei mir einwandfrei. wohl auch bei den anderen die es ausprobiert haben
          https://forum.iobroker.net/topic/56566/probleme-mit-anwesenheitserkennung/15?_=1675935212567

          1 Reply Last reply Reply Quote 0
          • D
            DennisMenger @DJMarc75 last edited by

            @djmarc75 Guten Morgen. Ich habe das jetzt so erstmal für alle umgesetzt was auch bisher funktioniert. Ich werde jetzt mal mit den Zeiten in Bezug auf Abwesenheit spielen. Vielleicht komme ich ja auch mit weniger als 10 Minuten hin.

            @OliverIO vielen Dank, diese Variante werde ich mir mal angucken, wenn ich ein wenig mehr Zeit habe

            1 Reply Last reply Reply Quote 0
            • D
              DennisMenger last edited by

              Ich habe mir jetzt analog zum Adapter fb.checkpresence noch die Datenpunkte presence, presenceAll, absence und absenceAll erstellt. Über ein Blockly möchte ich mir jetzt mit UND/ODER-Prüfungen die einzelnen Datenpunkte steuern lassen. Aber es werden leider nicht immer die korrekten Werte in die Datenpunkte geschrieben. Hier mein Blockly zur Steuerung der genannten Datenpunkte. Übersehe ich was?

              Danke

              anwesenheit2.png

              DJMarc75 1 Reply Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @DennisMenger last edited by

                @dennismenger
                Was ist Dein genaues Ziel von dem Blockly?
                presence und absence gehen ja beide auf true sobald mind. 1 Person anwesend ist - macht wenig Sinn.

                D 1 Reply Last reply Reply Quote 0
                • D
                  DennisMenger @DJMarc75 last edited by

                  @djmarc75 gibt ja unterschiedliche Konstellationen wo man die verschiedenen Anwesenheiten benötigt. Lichtsteuerung einzelner Zimmer. Ich würde halt gerne einige der Datenpunkte, die es in dem Adapter fb.checkpresence gibt, nutzen. Halt nicht die Originalen, sondern nach dem Prinzip wie du es oben erläutert hast. Müsste doch mit wenn/dann-Abfragen funktionieren. Oder habe ich da einen Denkfehler?

                  DJMarc75 1 Reply Last reply Reply Quote 0
                  • DJMarc75
                    DJMarc75 @DennisMenger last edited by

                    @dennismenger kannst Du mal die Ordnerstruktur der Datenpunkte zeigen?
                    Man könnte u.U. mit einer Aufzählung arbeiten.

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      DennisMenger @DJMarc75 last edited by

                      @djmarc75 datenpunkte.png

                      DJMarc75 1 Reply Last reply Reply Quote 0
                      • DJMarc75
                        DJMarc75 @DennisMenger last edited by

                        @dennismenger ok, dann könnte es nach diesen Prinzip umzusetzen sein (hier nur die DP absenceAll und presenceAll)

                        Screenshot 2023-02-10 115741.png

                        Bin jetzt mal ne Weile OFF 😉

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          DennisMenger @DJMarc75 last edited by

                          @djmarc75 ok danke schon mal, gucke ich mir an

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

                            @DJMarc75 wenn ich das Blockly richtig verstehe zählt er für jeden Eintrag mit *WLAN, wo der Wert "wahr" ist den Wert um einen hoch. Da es maximal 4 Einträge mit *WLAN, die wahr sein können, muss der Wert der Variable "zähler" ja immer zwischen 0 und 4 sein. So weit richtig?

                            Ich habe mir über einen debug-Output anzeigen lassen welchen Wert die Variable hat. Aber ganz egal welche Personen im WLAN sind, die Variable bekommt nur den Wert 0 oder 4.

                            Oder habe ich da einen Denkfehler?

                            anwesenheit3.png

                            T DJMarc75 2 Replies Last reply Reply Quote 0
                            • T
                              TT-Tom @DennisMenger last edited by TT-Tom

                              @dennismenger

                              Du hast den Trigger falsch gesetzt. Hier ein Beispiel wie es aussehe sollte
                              Debug .png

                              Deine Variable wlan wird nur beim Start des Script gesetzt danach nicht mehr.

                              DJMarc75 1 Reply Last reply Reply Quote 0
                              • DJMarc75
                                DJMarc75 @DennisMenger last edited by

                                @dennismenger sagte in fb.checkpresence mit iPhone Ergänzung:

                                die Variable bekommt nur den Wert 0 oder 4.

                                Sorry, Fehler im Skript. So sollte es funktionieren:

                                Screenshot 2023-02-11 033920.png

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Solear last edited by

                                  Hinweis, wenn es um iPhones geht, wie im Eingangspost.
                                  Für iOS ist Geofency (iOS App und iobroker Adapter) absolut zuverlässig. Hierbei wird beim Verlassen des Hausradius ein Signal gegeben, ebenso wie beim Kommen.
                                  Ich habe es als Bonus mit Wireguard verbunden. Mein Handy ist immer per Wireguard mit dem Heimnetzwerk sowie Adguard DNS Zuhause verbunden (befindet sich damit immer im Heimnetzwerk). Für Geofency brauche deshalb nur die lokale iobroker IP hinterlegen.
                                  Das klappt seit bestimmt 6 Jahren problemlos (Wireguard kam später dazu)

                                  1 Reply Last reply Reply Quote 0
                                  • DJMarc75
                                    DJMarc75 @TT-Tom last edited by

                                    @tt-tom sagte in fb.checkpresence mit iPhone Ergänzung:

                                    Deine Variable wlan wird nur beim Start des Script gesetzt danach nicht mehr.

                                    die Variable wird jedesmal geändert wenn sich eine ID innerhalb der Aufzählung ändert, nicht nur beim Skriptstart.
                                    Bau es mal nach und setze ein Debug direkt unter den ersten (den was Du meinst) Block.

                                    D 1 Reply Last reply Reply Quote 1
                                    • D
                                      DennisMenger @DJMarc75 last edited by

                                      @djmarc75 Moin. Sieht gut aus bis jetzt. Ich werde das mal beobachten.

                                      Danke schon mal.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      507
                                      Online

                                      32.0k
                                      Users

                                      80.5k
                                      Topics

                                      1.3m
                                      Posts

                                      5
                                      18
                                      1248
                                      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