NEWS
MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32
-
@opensourcenomad Sorry, dann hab ich den falschen verlinkt: "D1 Mini" Ausführung und auch in größerer Bauform
-
@amg_666 wurde mit ESPresense geflasht und funktioniert soweit, die Daten kommen am MQTT Adapter an. Ich hätte aber noch eine Frage.
Meine Bluetooth Mac Adresse vom Handy habe ich in "Known BLE mac addresses" eingetragen.
Im MQTT Adapter bekomme ich nun bestimmt über 20 Geräte angezeigt, allerdings ist keins mein Gerät. Wo liegt denn der Fehler? -
@grace13 said in MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32:
Meine Bluetooth Mac Adresse vom Handy habe ich in "Known BLE mac addresses" eingetragen.
Mobilfunkdelefone neuerer Generationen, bzw. deren software randomisiert meist die mac Adressen der WLAN und Bluetooth interfaces (wenn diese passiv/nicht verbunden sind) um ein tracking für "Mitbewerber" zu erschweren.
Eventuell macht dir diese Funktion gerade das leben schwer?
-
@opensourcenomad hm okay, danke für die Info, dann werde ich es mal mit meiner galaxy watch versuchen.
-
@grace13 said in MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32:
danke für die Info
Hätte ja Ansporn sein können kurz 20 Sekunden Internetrecherche zu betreiben und z.B. folgendes, für Androiden gültiges, Wissen zu erlangen:
For devices running Android 10 or higher, the framework uses randomized MAC address by default. Users can enable or disable MAC randomization for individual networks through an option in the Network details screen in Settings, as shown in Figure 1. If a user disables MAC randomization for a network, the framework uses the factory MAC address (globally unique address).
.
Quelle: https://source.android.com/devices/tech/connect/wifi-mac-randomization-behavior
..und wer genau liest sieht es geht nur um wifi
-
Hallo @giuseppes,
die Installation mit ESPresence funktioniert wirklich gut. Wie verarbeitest du die Werte aktuell weiter?
Nach langem hin und her denke ich, dass mir eine einfache Erkennung reichen würde, ob ein Gerät anwesend ist oder nicht.
LG
-
@spezialtrick
Ich habe das Thema Triangulation erstmal pausiert, weil mir die Werte zu stark streuen.
Ich habe ein esp32 im Schlafzimmer, eins in der Küche und eins neben der Couch im Wohnzimmer. Damit arbeite ich nun. Ohne viel drum herum, d.h. keine Skripte oder ähnliches, was noch viel verarbeitet. Wenn Distanz kleiner 2,5 Meter von einem esp32, dann bin ich genau da. -
@giuseppes wie verarbeitest du die Werte von ESPresense im IoBroker? Bzwe welchen Datenpunkt verwendest du? Bin etwas ratlos was bzw welchen Wert ich nutzen soll.
-
@giuseppes
Vllt. eine blöde Frage, aber ich bin noch nicht so lange mit dem IOBroker befasst... Wie bekommst du die Werte aus dem JSON heraus bzw. wie könnte man sie in einem Skript weiterverarbeiten. -
@giuseppes sagte in MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32:
Wenn Distanz kleiner 2,5 Meter von einem esp32, dann bin ich genau da.
So wollte ich das eigentlich auch lösen. Problem: Ein ESP ist in einem Raum im OG und einer in einem Kellerraum. Wenn ich mich relativ schnell OG in den Keller begebe, dann wird zwar der Wert vom ESP im Keller aktualisiert (Distanz kleiner xx) aber der Wert im OG wird nicht aktualisiert (zu weit entfernt) und dann ist da auch die (alte) Distanz <xx. Irgendeine Idee, wie man da einen Lösungsansatz findet? Ich bin am überlegen ob ich die Zeitstempel mit auswerte, aber vielleicht gibts da ja noch ne andere Lösung...
-
@spezialtrick
Ich verwende den Wert "distance" aus dem JSON -
@amg_666
Mir fällt auch nur ein, den Zeitstempel mit auszuwerten -
Hier gibt's noch eine Firmware von mir zum Scannen von BLE Geräten:
https://github.com/technyon/blescanner
Ist ein Spin-off von meiner NUKI Firmware (https://forum.iobroker.net/topic/53754/nuki-hub), die auch scannen kann. Die Geräte werden über MQTT als CSV gemeldet. Javascript bzw. Typescript zum Parsen findet sich hier:
https://forum.iobroker.net/topic/53754/nuki-hub/30
Binaries sind auf Github vorhanden, diese müssen nur geflashed werden. Die Konfiguration von WiFi und MQTT erfolgt dann über Web-Interface.
-
Hi zusammen, ich bin neu hier im Forum und möchte mich dem Thema einmal anschließen. Den Thread zu lesen hat mich bereits wesentlich weiter gebracht. Ein paar Fragen tun sich mir allerdings auf.
Ist bekannt ob das ganze Verfahren mit ESPresense auch auf dem Shelly 1 Plus funktioniert ohne dessen Funktion als Schalter zu beeinträchtigen? Der Shelly 1 Plus verfügt ja über einen ESP32. Für mich wäre das Ganze in sofern interessant, da ich mein Haus eh mit den Shellys ausstatten möchte. Dadurch könnte ich es mir ersparen die ganzen ESP's an diversen Steckdosen im Haus zu verteilen.
Alternativ könnte ich mir eine Batterie- / Akkulösung für die ESP's vorstellen um die ESP's in Schränken und Schubladen unterzubringen. Hat hier jemand Erfahrung wie lange entsprechende Akkus/Batterien für die Anwesenheitserkennung mit dem ESP32 halten?
Viele Grüße
Utze86 -
@utze86 Das wird mit Batterien nicht funktionieren. Um sinnvoll Anwesenheitserkennung zu betreiben, kann der ESP nicht in den deep sleep gehen. Da sind Batterien ziemlich schnell leer.
-
@utze86
Die aktuellen Shellies können mit Tasmota scannen, habe ich zufällig auf Facebook in der iobroker Gruppe gelesen. Tasmota konnte zuletzt für die Shellies als alternative Firmware verwendet werden. Daher würde ich Mal behaupten, dass sich das Scannen und die Relais Funktionen nicht gegenseitig ausschließen.
Habe es selbst noch nicht getestet, da ich noch keine Plus Geräte von Shelly besitze -
@da-phreak @GiuseppeS danke für die Infos. Damit ist die Akku/Batterie Alternative wohl gestorben.
Ein Shelly 1 Plus hab ich noch zuhause. Ich werde den mal mit Tasmota flashen und gucken was passiert. Sollte der Shelly die Relais Funktion verlieren habe ich mir überlegt den Shelly mit ESPresens zu Flashen und hinter eine Steckdose zu setzten. Da benötige ich ja nur Dauerstrom und keine Schalterfunktion. Wenn es funktioniert wären die Shellys zwar etwas teurer als die ESP's, dafür hätte ich aber eine Unterputzlösung und bräuchte keine zusätzliche Stromversorgung.
Gibt es etwas was dagegen spricht?
Viele Grüße
Utze86 -
@utze86 und hast du das mal getestet? ich suche quasi auch sowas in der Art um meine espresence Devices möglichst versteckt im Haus zu verteilen.
-
Hey zusammen,
ich hatte noch 10x ESP32s aus einem anderem Projekt über gehabt und hatte diese heute mal in alte iPhone USB Adapter eingebaut und vorher mit ESPresence geflasht.
Das Script mit der Trieangulierung ist 1a für Einstöckige Wohnungen, ich hatte es gerade mal im Erdgeschoss ausprobiert.
Da wir drei Stockwerke haben wäre da nur die Frage, wie man es hier am besten aufsetzt.
Im Erdgeschoss hatte ich in der Küche / Wohnzimmer drei ESP32 verteilt.
Dahinter grenzt dann praktisch ein Schlafzimmer, nur eben ein Stockwerk darüber.
Über dem Wohnzimmer ist ein zweites Schlafzimmer und ein Büro.
Theoretisch würde ich sagen, dass wenn man mit dem Script alle drei Stockwerke abbildet (natürlich in jedem Stockwerk genügend ESP's verteilt), dass das Script nicht richtig tracken kann, da wir hier praktisch ja in's Dreidimensionale gehen müssen und die Höhe der ESP's mit angegeben werden müsste.
Ebenfalls wenn man je Stockwerk ein Script laufen lässt, kann es sein, dass man hier praktisch doppelt in unterschiedlichen Stockwerken anwesend ist, oder?
Habt Ihr sonst eine Idee, wie man das ggf. umsetzen kann?
Liebe Grüsse
-
@stolly82
https://synyx.de/blog/fingerprinting-indoor-positionsbestimmung-mit-bluetooth-low-energy-2-2/Mit Fingerprint Methode sollte es funktionieren. Müsstest dir selbst was programmieren. So wie das gedanklich überschlage, wäre zumindest die Erstellung einer Karte der Wohnung bzw Haus unnötig.