NEWS
MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32
-
@utze86
Würde gerne den Fall probieren nachzustellen. Was für ein Sonderzeichen ist in deiner ssid? Wer weiß, evtl gibt's Probleme nur mit bestimmten Sonderzeichen. Wenn es daran liegt... -
@giuseppes
Ich hab ebenfalls zu danken, sonst wäre ich auch nicht soweit gekommen. Ich werde mal sehen, um den Einsatz von zusätzlichen Bewegungsmeldern komme ich wohl nicht rum. In beiden Fällen. Aber wenn sich die Möglichkeit bietet werde ich es mit deiner FW noch testen. Daher halte mich gerne auf dem laufenden.Hab dort ein "!"
-
Hallo, irgendwie stehe ich gerade vor einem Problem. Ich habe einen Shelly 1 Plus erfolgreich geflasht nach der Anweisung. Er taucht auch im Netzwerk auf, aber ich kann nicht mehr darauf zugreifen.
Wenn ich ihn normal mit der Tasmotasolo1.bin flashe funktioniert alles. Habe ich einen Denkfehler? -
@wuschl
Was genau hast Du nach Anweisung geflashed, die FW von mir?
Wenn ja: Was meinst Du mit "ich kann nicht mehr darauf zugreifen? Meine FW hat eine Weboberfläche für OTA Update. Das Steuern erfolgt komplett über MQTT. -
@giuseppes okay, dann habe ich das falsch aufgefasst, doch ein Denkfehler meinerseits, dachte die Tasmota Oberfläche bleibt erhalten. Gibt es eine Möglichkeit von deiner Firmware per OTA wieder zurück auf Tasmota?
-
@wuschl
Einfach Tasmota über deren Web-Tool flashen. Erase sollte ausgeführt werden. -
@giuseppes okay, da muss ich aber wieder die Kabel hinstecken, oder?
-
@Wuschl jupp
-
@giuseppes
Hallo guiseppes, ich habe das mit den Rules noch nicht ganz verstanden. Ich habe einen G-tag zum testen, der funktioniert einwandfrei. Ich benutze sie um mit dem Auto das Hoftor und die Garage zu öffnen. Jetzt habe ich einen 2. im anderen Auto, der wird angezeigt, macht auch das was er machen soll, aber er löst mehrmals am Tag die Öffnung aus obwohl er nicht bewegt wird. Ich habe deine Rules übernommen, muss ich da etwas ändern bei 2 G-Tags?Rule1 ON System#Boot DO iBeacon 1 endon Rule2 ON System#Boot DO BLEAlias 7C2F80C3A094=SeatLeon 7C2F80C4633E=AudiA4 endon Rule3 ON System#Boot DO Backlog iBeaconPeriod 10; iBeaconOnlyAliased 1; BLEMaxAge 20 endon Rule1 1 Rule2 1 Rule3 1
Schöne Grüße
-
@wuschl
Hi wuschl, die Frage lautet hier: kommen die Werte der g-Tags im ioBroker an? Wie stark schwanken die rssi Werte? Evtl hast du deine Grenzen so eng gesetzt, dass die Streuung dafür sorgt, dass das g-Tag mal nah und mal fern erkannt wird. Ich weiß nicht, ob Tasmota irgendwie filtert. Wenn nicht, müsstest du das in ioBroker machen.
Schritt 1: beobachte die eingehenden Werte und deren Streuung. -
@giuseppes Die Werte kommen an, beide Tags öffnen genau wie sie sollen. Grenzen habe ich noch keine gesetzt, sobald sie erkannt werden, sollen sie öffnen. Was mir aufgefallen ist, daß der 2. G-Tag um einiges länger braucht, bis er erkannt wird.
Die Schwankungen gehen von -54 bis -74, habe ich schon Stundenlang beobachtet.
-
@wuschl
Evtl liegt es an der Option BLEMaxAge 20 von der dritten Regel? Ich weiß nicht, wie du Anwesend steuerst. BLEMaxAge steuert seitens Tasmota, nach welcher Zeit ein BLE als Abwesend angezeigt wird (keine Ahnung, wie das über mqtt mitgeteilt wird). Evtl senden deine Tags zu selten oder Tasmota findet die nicht immer. Du hast als Scan Intervall 10s drin. Bedeutet, wenn Tasmota einmalig den Tag nicht findet, könnte es beim nächsten Scan schon zu spät sein.P.S.: du hattest auch schon meine Firmware geflashed. Hatte diese bei dir eigentlich funktioniert oder hattest du auch ein Bootloop o.ä. wie Utze86?
-
@giuseppes okay, das könnte sein. Sollte ich die BLEMaxAge ganz entfernen, oder auf 50 setzen? edit: (geht nur Max 22)
Das wird etwas schwieriger zu überwachen, da der Age über mqtt nicht mit gesendet wird.Über mqtt bekomme ich ein ganz klares "ON" oder "OFF", das reicht mir vorerst. Aber der G-Tag muss irgendwann das "ON" verlieren, da ich das als Auslöser benutze. Komisch ist halt, daß es nur der eine macht, darum die Frage ob ich an den Rules etwas ändern muss wenn ich einen 2. G-Tag benutze. Ich werde mir noch einen bestellen, vielleicht ist der G-Tag ja fehlerhaft.
Klar ist mein Ziel das ganze langsam zu erweitern, z.B. wenn ich aus der Garage fahre, dann wird das Hoftor auch beim ausfahren automatisch geöffnet. Ob ich das mit den Rssi Werten hin bekomme werden wir sehen. Bei Schwankungen zwischen -54 und -74 sollte es funktionieren.Ich habe deine Fimware geflasht, konnte in die Maske alles eingeben, Bootloop ist mir nichts aufgefallen. Aber mir war das dann irgendwie zu kompliziert, wusste nicht mehr wie weiter, bin nur ein Laie.
Dann bin ich zurück zu Tasmota. -
@wuschl
Ich würde zunächst prüfen, wie oft die g-Tags überhaupt senden. Wenn du ein Android Handy hast, kann ich die folgenden Apps empfehlen[https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp](nRF Connect)
oder
[https://play.google.com/store/apps/details?id=net.alea.beaconsimulator](Beacon Simulator)
Evtl kannst du den Scan Intervall verkürzen. Je nach dem wie häufig die g-Tags senden, würde es Sinn machen.
Danke für das Feedback zu meiner Firmware. Damit es weniger Verwirrung in der Anleitung gibt, werde ich das Thema PlatformIO in ein Unterkapitel verschieben. Beim Rest wüsste ich nicht, wie ich das einfacher gestalten soll.
-
@giuseppes danke. die G-tags senden 250.00ms - 398.75ms interval. also an dem sollte es nicht liegen.
Ich werde mich mit deinem Projekt nochmal befassen, muss mir sowieso noch einen 2. Shelly zu legen. Ich bin schon an den mqtt.client Einstellungen gescheitert. Diese Einstellungen die du da beschreibst finde ich bei mir nicht. PlatformIO fand ich jetzt gar nicht so schwierig. Ich bekam die mqtt Verbindung gar nicht erst zum laufen. Aber wie gesagt, ich bin Laie und lerne nur vom lesen und Videos.
Ich lerne mich gerade in Homeassistant ein, vielleicht funktioniert es da ein bischen anders, einfacher... -
@wuschl
Das passt schon. Wenn Tasmota für dich alles bereitstellt was du benötigst, dann bleib ruhig dabei.Wie oben erwähnt, du solltest den scan Intervall von Tasmota verringern. Das ist in der dritten Regel der Parameter iBeaconPeriod. Diesen kannst du auch auf 5 oder 2 einstellen. Wenn mal ein Scan scheitert, geht's nicht so schnell in den Timeout, da noch mehrfach gescannt wird. Die g-Tags scheinen ja oft genug zu senden.
Zu meiner Firmware:
Hast du mosquitto auf deinem System am laufen? Wenn in ioBroker der mqtt.client verwendet wird, muss separat auf dem Linux System ein mqtt Server laufen. Bei mir (und bei vielen anderen) ist es mosquitto.
Das ist schon ein guter Hinweis. Werde in der Readme genauer drauf eingehen. Ich fragte hauptsächlich wegen dem Flashprozess. Es ist weiterhin unklar, wieso utze86 Probleme nach der Erstkonfiguration hatte. -
@giuseppes Ich habe den iBeaconPeriod jetzt auf 2, und den BLEMaxAge auf 50. Mal sehen was passiert die nächsten Stunden. Aber das erklärt immer noch nicht warum der eine G-tag das Tor innerhalb von Sekunden öffnet, und der andere soviel länger braucht.
Nein ich habe nur den internen mqtt von iobroker laufen. Wahrscheinlich liegt da das Problem begraben. Aber der HomeAssistant arbeitet ja mit mosquitto, dann könnte es da funktionieren. Der Flashprozess hatte damals sicher geklappt
-
@GiuseppeS
Guten Tag habe mich nachdem ich einige ESP32 gekauft habe in dieses Topic nun eingelesen.
Kenne mich zwar eigentlich gar nicht aus aber habe es mal geschafft auf dem esp die "Standard-Firmware" von ESPresense zu flashen damit wird auch mein Handy schonmal richtig erkannt und hoffentlich auch meine (neue) Uhr welche aber erst nächste Woche oder so kommt.
Nun aber zur Frage bzw Problem Schilderung:
Mein Plan war es eigentlich In jedem Raum einen ESP32 mit der oben genannten Firmware zu flashen über die Distanz einzuschränken wie weit der esp meine Uhr scannt und an iobroker sendet und über die Blockly Skripte den jeweiligen raum als True angibt.
Nun ist die Frage ob sich irgendwelche Vorteile ergeben wenn ich mich tiefer in diese Materie einlese und das so mache wie ihr das beschrieben habt über Shellys ect. oder ob das in meinen Fall keinen wirklichen Mehrwert hat. Aktuell habe ich keine Shelly Plus Geräte verbaut da für mich die "normal" vollkommen reichen bzw ich keinen Vorteil sehe/sah die plus Geräte zu verbauen. Lohnt sich ein Umstieg7Umplanung des Projektes? Funktioniert es aktuell schon sie wie Ihr es wollt?
mfg -
@glowzz
Wieso Shelly statt Standard esp32:
ein esp32 blockiert eine Steckdose ggf ein USB Ladegerät etc und erfüllt mit espresense "nur" den Zweck des Scanners.Mit Shelly Plus Modellen hat man die Möglichkeit, den Scanner Unterputz zu verwenden und es besteht die Möglichkeit Rollläden oder Lichter zu steuern.
Espresense läuft aber ausschließlich auf dem Shelly Plus 2PM, falls dieser eine DualCore CPU hat. Ältere Chargen des 2PM haben SingleCore und alle anderen Shelly Plus Modelle haben definitiv SingleCore. Außerdem kann espresense nicht die Ein- und Ausgänge vom Shelly Plus 2PM (DualCore) steuern.
In Kombi mit Shelly fällt daher wegen der fehlenden SingleCore Unterstützung Espresense raus, da gibt es stattdessen Tasmota. Ich finde die Lösung mit Tasmota nicht optimal und schreibe meine eigene Software.
Ich würde an deiner Stelle die funktionierenden Shelly nicht mit Plus Modellen ersetzen. Außerdem hast du dich bereits mit ESP32 eingedeckt.
-
@giuseppes sagte in MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32:
ein esp32 blockiert eine Steckdose ggf ein USB Ladegerät etc und erfüllt mit espresense "nur" den Zweck des Scanners
Seh ich anders. Ich habe z.B. die IKEA Vindrikning Luftsensoren "smart" gemacht und in den Teilen ist genaug Platz um da auch einen ESP32 mit unterzubringen. Die D1 Mini-Module sind klein genug, dass man sie in "irgendwelchen" Geräten mit unterbringen kann.
Shelly liegt um 30 Euro, ein D1 Mini bei 4 Euro, wenn man mehrere kauft, ist sicherlich auch ein Entscheidungsfaktor.