Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Anwesenheitserkennung mit ESPresense

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anwesenheitserkennung mit ESPresense

    This topic has been deleted. Only users with topic management privileges can see it.
    • Chris 1
      Chris 1 @ticaki last edited by

      @ticaki said in Anwesenheitserkennung mit ESPresense:

      Hatte mir da jetzt mehr von versprochen.

      Da ist der Name halt Programm. Dafür gehts fix und einfach.

      Habe auch OpenMQTTGateway am laufen, aber das ist wohl noch etwas Bastelei in Sachen Devices, auf dass der ioBroker nicht nur mitgeteilt bekommt, dass da etwas ist, sondern auch, was es mitteilen möchte.

      Hab hier für diese Bastel-Zwecke (Daten auslesen) jetzt ein Zigbee-Tasmota Gate und einen nRF52840 BLE-Sniffer, wobei zweiterer noch nicht laufen will.

      Gruss von der Ostsee
      Chris

      PS: Tasmota-IR Gateway und Bresser-868MHz-Wetter->MQTT warten auch noch auf sinnvollen Einsatz 🤣 Erstmal Basteln & Horten

      T 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @Chris 1 last edited by

        @chris-1

        Muß mal morgen schauen wieviele esp ich noch habe, vielleicht kann man da was aus den Daten vieler berechnen. 🙂

        1 Reply Last reply Reply Quote 1
        • G
          GiuseppeS last edited by GiuseppeS

          Wem espresense zu träge ist:
          Ich nutze für die erste Erkennung einer Anwesenheit mit BWMs. Die Abwesenheit wird dann anschließend über BLE Tracker registriert. Nutze dafür allerdings meine Shelly Plus Devices, habe dafür was eigenes programmiert. Funktioniert aber mit espresense genauso.
          Wenn die Trägheit trotzdem zu stark erscheint, kann man mit Apps die Häufigkeit der BLE Advertisements seiner Uhr o.ä. prüfen. Die Android App "nrf connect" zeigt zum Beispiel den Sende-Intervall an.

          @ticaki
          Triangulation kannst du vergessen, auch wenn du mehrere verwendest. Hatte da mal mehrere Versuche gestartet und es als "gescheitert" beendet.
          Was stattdessen funktionieren müsste, ist Fingerprinting:
          https://synyx.de/blog/fingerprinting-indoor-positionsbestimmung-mit-bluetooth-low-energy-2-2/

          Habe es selbst noch nicht getestet, da ich mich aktuell mit anderen Projekten beschäftige.

          Chris 1 1 Reply Last reply Reply Quote 0
          • Chris 1
            Chris 1 @GiuseppeS last edited by

            @giuseppes said in Anwesenheitserkennung mit ESPresense:

            Advertisements seiner Uhr o.ä. prüfen. Die Android App "nrf connect" zeigt zum Beispiel den Sende-Intervall an.

            Ja so eine Hacke... nRF Connect gibts "einfach so" fürs Handy?
            Und ich tüddel mir hier einen mit nRF52840-Dongle, Connect Desktop und Wireshark ab und komme nicht vorwärts 😠

            Chris

            G 1 Reply Last reply Reply Quote 0
            • G
              GiuseppeS @Chris 1 last edited by

              @chris-1
              Ähm ja, Play Store. Sorry für deine Mühen 🤷‍♂️
              Glaub, ist sogar kostenlos. Zeigt echt viele Infos.

              Chris 1 2 Replies Last reply Reply Quote 0
              • Chris 1
                Chris 1 @GiuseppeS last edited by

                @giuseppes Hab's mir eben schon direkt runter geladen

                An der Stelle: Danke für den Hinweis

                Gruss von der Ostsee
                Chris

                1 Reply Last reply Reply Quote 1
                • Chris 1
                  Chris 1 @GiuseppeS last edited by

                  @giuseppes Da ich über die Feiertage ab nächster Woche zum alljährlichen Weihnachtstreffen weg bin, werde ich - in Ermangelung eines Rechner - wohl mal ein paar Screenshots von nRF (EQ-3 Thermostat) mitnehmen und den Code von EQ-3 auf Github durchforsten, auf dass ich mir etwas auf die Sprünge helfe.

                  Von den 2 Paketen ist eine Characteristic recht kurz (hex 4) und readonly, das legt ja den verdacht nahe, dass es sich um die gemessene Temperatur handelt.
                  Wie man nun von 00-10-02-00 auf circa 20,4°C kommt.... oder 20,01?
                  Ich les erstmal besser Code, wie es der Mensch mit dem Python-Script bzw ioBroker-Adapter gemacht hat.

                  Chris

                  1 Reply Last reply Reply Quote 1
                  • T
                    ticaki Developer last edited by

                    Ich schreibe einen Adapter zu ESPresense.

                    Als Anwesenheitserkennung ist es zuverlässig und da die hping Methode nicht mehr mit Apple funktioniert ist das hier meine Alternative.

                    Da der homeassistant Topic bei mir nur config daten enthält, frage ich mich wo sich der counter versteckt. Oder ob ha auf diese Topics ne Antwort schickt. Weiß das jemand?

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

                      @ticaki sagte in Anwesenheitserkennung mit ESPresense:

                      Als Anwesenheitserkennung ist es zuverlässig und da die hping Methode nicht mehr mit Apple funktioniert ist das hier meine Alternative.

                      welche Indizien hast du dass hping3 nicht mehr funktioniert?
                      bei mir funktioniert das einwandfrei. gerade gecheckt.
                      selbst mit der option tracking der ip adresse beschränken.

                      die Erkennung läuft sogar in kurzen abständen mit deaktivierung des wlans auf dem iphone und im anschluss wieder aktivieren.

                      #!/bin/bash
                      
                       #Enter your ip of your device here
                      DEVICES="192.168.1.209 192.168.1.225"
                      #DEVICES="192.168.1.225"
                      
                      for i in `echo $DEVICES`; do
                      
                          ping $i -c 1 
                          hping3 -2 -c 10 -p 5353 -i u1 $i -q >/dev/null 2>&1
                          sleep 1
                          # Only arp specific device, grep for a mac-address
                          status=`arp -an $i | awk '{print $4}' | grep "..:..:..:..:..:.."`
                          #A mac will be 17 characters including the ":"
                          IP=${i//./-}
                          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
                      done
                      
                      

                      Erkennung funktioniert hier jetzt sogar ohne hping3
                      meine vorgänger iphones hatten ohne immer schwierigkeiten wegen deep sleep.
                      hab aber jetzt keinen langen ausführlichen test gemacht.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @OliverIO last edited by ticaki

                        @oliverio

                        Mit wlan:

                        16:29:00.109	info	javascript.0 (589) script.js.common.Anwesenheit_Haus: Tims iPhone erreichbar result: ? (192.168.178.109) auf <unvollständig> auf ens18
                        

                        wlan aus:

                        16:31:00.105	info	javascript.0 (589) script.js.common.Anwesenheit_Haus: Tims iPhone erreichbar result: ? (192.168.178.109) auf <unvollständig> auf ens18
                        

                        wlan an, display an:

                        16:34:00.104	info	javascript.0 (589) script.js.common.Anwesenheit_Haus: Tims iPhone erreichbar result: ? (192.168.178.109) auf 17:85:f2:4f:43:03 [ether] auf ens18
                        

                        Auszug aus dem Skript:

                            ip = devices[counter].ip
                            exec('sudo /sbin/ip neigh flush dev '+int_face+' '+ip,callback2)
                        }
                        function callback2(result, error) {
                            if (stop1) return
                            exec('/bin/hping3 -2 -c 10 -p 5353 -i u1 '+ip+' -q', callback3)
                        }
                        function callback3(result, error) {
                            exec('sudo arp -an '+ip+' | awk '+ip+' ', callback4) //| grep "..:..:..:..:..:.."
                        }
                        async function callback4(error, result) {
                            let presence:boolean = false
                            if (error) {
                        
                        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

                        770
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        20
                        68
                        9584
                        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