NEWS
MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32
-
@utze86
Und im Log steht immerdevMode or deviceName is empty, starting CaptivaPortal
?Edit: habe übrigens nochmals das firmware_full.bin auf einen frisch gelöschten Shelly aufgespielt. AP wurde gestartet, Werte eingegeben, Neustart, alles ok. Es muss mit dem Shelly 1 zusammenhängen. Ich denke, ich muss durch verschiedene Tests am Shelly 1 debuggen, was da genau los ist. Ich würde mich dann nochmal melden, wenn es soweit ist. Werde nun zunächst die Kalibrierung der Rollläden für 2pm fertigstellen.
-
@utze86
Habe heute meinen ShellyPlus1 bekommen (ohne "PM"). Werde damit im Flur den alten 1er ersetzen, sodass ich auch dort einen Scanner habeZum wesentlichen: Es funktioniert bei mir ohne Probleme.
Mein Vorgehen vollständig über esptool:
- Backup der original Firmware
python3 ./esptool.py read_flash 0x0 0x400000 fw-backup-4M.bin
- Löschen des Speichers
python3 ./esptool.py erase_flash
- Aufspielen der neuen Firmware
python3 ./esptool.py --baud 115200 write_flash 0x0 firmware_full.bin
AP wurde aufgerufen, habe Daten eingegeben und Submit ausgeführt. Daraufhin funktionierte alles. Habe dann VSCode gestartet, um den Log zu sehen und anschließend über die Shelly Reset-Taste den Shelly zurückgesetzt (>10s gedrückt halten). Mein log sah dann wie folgt aus:
- Interner Speicher wurde gelöscht
- AP wurde gestartet
- Config wurde übernommen
Ich habe immer mehr deine Spannungsversorgung über USB in Verdacht. Mit Tasmota o.ä. fällt es evtl nicht auf, weil die nach dem AP-Modus keinen Neustart ausführen, sondern fließend in den STA Modus übergehen. Ich wüsste nicht, wie ich das sauber umsetzen kann (wenn es überhaupt daran liegt).
P.S.:
Wieso bei mir zu beginn der esptool-Befehle python3 steht: Das esptool von meiner Kubuntu Distribution ist uralt (v2.8). Deshalb habe ich es original über github runtergeladen (=v4.5). Weil es nicht im System bekannt ist, muss ich es mit python3 aufrufen.Eine Kleinigkeit war mir übrigens aufgefallen, was aber nichts mit deinem Fehlerfall zu tun hatte: Die Konfiguration für den Shelly1 war bzgl. Reset Button falsch. Eingetragen war Pin27, korrekt ist Pin25.
- Backup der original Firmware
-
@giuseppes
Okay danke für die Rückmeldung. Ich werde es am Wochenende nochmal mit genau deinen Eingaben testen. Eventuell liegt ja der Fehler im Detail. Wundert mich dennoch das der Flash soweit durch läuft, aber wenn es bei dir funktioniert muss es ja in irgend einer Form an meinem Setup liegen. -
@utze86
Ans Setup habe ich auch gedacht. Hast du im Gerätenamen oder in deinen Wifi Daten Sonderzeichen?
Ansonsten spricht einiges für die Spannungsversorgung, hatte auch mal was über zu lange Flash-Kabel gelesen. -
@giuseppes
So ich setze mich jetzt nochmal dran. Hast du eigentlich unterm Schnitt bessere Ergebnisse mit deiner FW gegenüber der Messung mit Tasmota erzielt?Ja ich habe tatsächlich ein Sonderzeichen im Netzwerknamen.
-
@giuseppes
da ich ebenfalls mit Python3 arbeite habe ich es jetzt exakt mit deinen eingaben in python3 versucht... Copy... Paste. Leider besteht das Problem weiterhin, das log gibt folgendes aus:[20:58:10]
[20:58:10]devMode or deviceName is empty, starting CaptivaPortal
[20:58:10]Setting up AP Mode
[20:58:10]
[20:58:10]Brownout detector was triggered
[20:58:10]
[20:58:10]ets Jul 29 2019 12:21:46
[20:58:10]
[20:58:10]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[20:58:10]configsip: 188777542, SPIWP:0xee
[20:58:10]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[20:58:10]mode:DIO, clock div:2
[20:58:10]load:0x3fff0030,len:184
[20:58:10]load:0x40078000,len:12592
[20:58:10]load:0x40080400,len:2724
[20:58:10]entry 0x40080594
[20:58:11]Zur Info: Ich flashe den Shelly an meinem Rechner und stöpsel ihn aus. Danach hänge ich den Shelly per Kabel an die Steckdose, wenn dann der AP aufgespannt wird tätige ich die Eingaben. Ich betreibe den Shelly also nicht am USB Port falls das eine Rolle spielt oder den Fehler eingrenzt. Der Shelly dürfte somit im Betrieb eigentlich keine Probleme mit der Spannungsversorgung haben.
Wie dem auch sein. Bei dir läuft es ja, also muss das Problem irgendwo bei mir liegen. Ich frage mich jetzt halt ob ich noch weiter rumprobieren soll oder ob ich meine Tests mit Tasmota fortführe. Ggf. könne ich mich noch um einen anderen Rechner zum Flashen bemühen und das ganze nochmal mit einem anderen Shelly testen, dazu müsste ich mir dann aber erstmal was organisieren und einrichten.
Merkst du denn einen Unterschied zwischen deiner FW und Tasmota? Werden die RSSI gleich schnell gelesen? Wird das Signal in etwa gleich stark wahrgenommen? Hattest du das mal verglichen?
-
@utze86
Hatte es nach deinem Hinweis mit Tasmota und meiner Uhr getestet. Tasmota hatte auf gutem Niveau etwas schlechtere Ergebnisse. Auf gutem Niveau bedeutet hier, dass z.B. Espresense mit dem 5s Takt sogar langsamer war. Tasmota hatte manchmal "Aussetzer" von 7-9 Sekunden. Bei meiner fw gibt es auch mal Lücken von max 4 Sekunden. Dafür gibt es aber auch gute Scan Ergebnisse, wo 5 oder mehr Treffer sekündlich eingehen. Funktional wird es aber später kaum einen Unterschied machen.
Aber hey, an deiner Stelle würde ich keine Energie mehr reinstecken. Ich danke dir schon für deine Unterstützung. Sonderzeichen könnt tatsächlich schon der goldene Hinweis sein. Evtl hat eine Bibliothek Probleme damit.Ich stelle meine FW nur deshalb fertig, weil ich den Tasmota-Shelly mit Scan-Funktion ungern mit dem Sonoff Adapter nutzen möchte. Mir gefällt nicht, dass alle Treffer in einem State eingehen. Und tasmota direkt über den mqtt Adapter zu steuern ist unbequem.
-
@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.