NEWS
MQTT Bluetooth BLE Anwesenheitserkennung mit ESP32
-
@utze86
Mein Vorgehen war wie folgt:- erase flash über platformio an ShellyA
- flashen über platformio
- auslesen komplett Image über esptool
- erase flash von ShellyB
- flashen des Image auf ShellyB
- einrichten des Shelly, ohne Probleme
Erklären kann ich mir die Fehler bei dir nicht. Dachte esp32 ist esp32...
Setzt du die korrekte Konfiguration für den Shelly 1 beim Einrichten? Da wo "optional" steht? Aber selbst "keine Konfig" dürfte nicht zu Fehlern führen.Evtl bestelle ich mir einen Shelly Plus 1PM. Könnte ein altes Modell ersetzen. Aber Schritt für Schritt. Für Shelly 2pm habe ich die Leistungsmessung am laufen. Sobald ich die automatische Kalibrierung der Rollläden umgesetzt habe, widme ich mich dem Shelly 1.
-
@utze86
Zum Fehler brownout triggered habe ich online einen Thread gefunden. Problem wurde behoben durch korrekte Baudrate. Diesen Befehl hatte ich benutzt:esptool.py --baud 115200 write_flash 0x0 firmware_full.bin
-
@giuseppes
okay, baud habe ich beim flashen nicht mit einbezogen, da mir der Befehl nichts gesagt hat. Ich werde morgen nochmal versuchen mit baud zu flashen. Wofür wird baud genau benutzt? Weißt du das? -
@utze86
Das ist die Übertragungsgeschwindigkeit. Aber, den Thread habe ich jetzt erst weiter gelesen, evtl ist die Spannungsversorgung nicht optimal?https://www.esp32.com/viewtopic.php?t=16299
Wenn ich dazu komme, werde ich in den kommenden Tagen versuchen, deinen Fehler zu reproduzieren. Ich denke eigentlich, wenn es an der Spannungsversorgung liegt, hättest du schon eher Probleme gehabt.
Edit:
Hier steht annähernd das selbe
https://randomnerdtutorials.com/esp32-troubleshooting-guide/#:~:text=Error%3A “Brownout detector was triggered”&text=It's often related to one,defect (bad solder joints)%3B -
@giuseppes
Okay. Ja ich habe es sowohl mit als auch ohne Konfiguration versucht aber das Ergebnis war das gleiche. Ich möchte nochmal darauf hinweisen, dass ich den Shelly Plus 1 habe, nicht den Shelly Plus 1 PM. Eventuell spielt das ja auch eine Rolle, von wegen Fehlerreproduktion. Nicht, dass du dir dafür extra den Shelly zulegst. -
@utze86
Danke für deine Bemühungen. Ich kann mir das nicht erklären, wieso es mit dem Shelly 1 scheitert.Nur für mein Verständnis:
Mit der 4MB Firmware hast Du auch das Verhalten, dass erstmalig nach dem Flashen ein CaptivePortal kommt, wo Du alles eintragen kannst? Die Daten werden dann auch übermittelt, weil es auf der Webseite angezeigt wird. Nach dem anschließenden Neustart kommen aber die Fehlermeldungen mit dem Brownout, korrekt? Oder kommen diese Fehlermeldungen sofort beim erstmaligen Start und du kommst nie auf den AP?Grundsätzlich beschreiben wir den esp32 mit der Firmware. Ob an den Pins Sensorik (PM) hängt oder nicht, spielt zumindest für den Shelly 1 keine Rolle. Bei der v0.0.1 fehlt von der Leistungsmessung noch jegliche Zeile Code. Alle Plus Modelle (bis auf Plus 2PM Ausnahmen mit DualCore) haben den selben Chip. Bei Tasmota läuft die selbe Version auch bei dir und bei mir...
EDIT:
Die load Befehle aus deinem letzten Log sehe ich bei mir auch. Kommen wohl vom Bootloader -
@giuseppes
Genau nach dem Flashen kommt die "Website" auf der ich alles eingebe. Dann tätige ich meine Eingaben für Wifi, MQTT, etc. und es kommt die Meldung dass alle Daten übermittelt wurden und das Gerät startet neu. Im Anschluss öffnet sich wieder der AP und alle vorher getätigte Eingaben sind verschwunden.Na wenn du die Logs auch erhältst, dann scheint es ja "normal" und das Flashen scheint bei mir ordnungsgemäß funktioniert zu haben. Ich kann es mir auch nicht erklären...
-
@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.