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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Anwesenheitserkennung mit ESPresense

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

      Da ich hier gerade über den Thread stolperte... hab heute einen ESP32c3 mit ESPresense angeworfen und die einstellung fällt mir auch noch nicht ganz leicht.

      Welcher Parameter ist eigentlich für das scan intervall zuständig? Das Teil ist mir schlicht zu aktiv

      Gruss von der Ostsee
      Chris

      1 Reply Last reply Reply Quote 0
      • S
        smarthome2020 @amg_666 last edited by

        @amg_666 sagte in Anwesenheitserkennung mit ESPresense:

        @smarthome2020 Geht bei mir relativ fix. Ich hab in meinem Arbeitszimmer ein Awtrix-Display und das schaltet sich ein, wenn ich im Raum bin (dauert gefühlt max 20 Sek) und aus, wenn ich den Raum verlasse. Wenn ich mal kurz aus dem Raum gehe und zurückkomme ist das Display aus, die "Abwesenheitserkennung" ist also auch ziemlich fix.

        Das ist zum Steuern von zB Lampen zu langsam. Auch das Ausschalten dauert zu lang. Wenn man die Entfernung des Geräts mal beobachtet, dann verringert sich beim Reinkommen die Entfernung (zB von 3m ausgehend) nur sehr langsam . Wenn ich Bluetooth ausgeschaltet habe und das Smartphone 50 cm weit weg lege, geht es dagegen nach Einschalten sofort auf die Distanz .
        Wieso also dauert es so lange bei rascher Veränderung der Distanz bis der Sensor sich auf die wirkliche Distanz angepasst hat?

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

          Hab das auch mal auf nen esp32 gehauen...

          Muß mir noch etwas mehr Gedanken darüber machen, jedoch scheint der einzige Anwendungszweck zu sein festzustellen wo jemand ist wenn alle Bewegungsmelder keine Bewegung anzeigen.

          Hatte mir da jetzt mehr von versprochen.

          Chris 1 1 Reply Last reply Reply Quote 0
          • 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

                              1.0k
                              Online

                              31.7k
                              Users

                              79.6k
                              Topics

                              1.3m
                              Posts

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