Dash Button mit ESP-01 und MQTT

Begonnen von Gunter1710, 08 Juni 2019, 18:51:48

Vorheriges Thema - Nächstes Thema

Gunter1710

Hallo,

ich war schon lange auf der Suche nach einen Taster der stromunabhängig ist. Ursprünglich hab ich mit 433MHz Tastern / Fernbedienungen getestet, leider war das nicht so stabil wie ich mir erhofft habe. Danach hab ich mit AskSinPP gearbeitet. War aber mit der Größe der Platine nicht zufrieden. Ich bin dann schließlich beim ESP-01 (ESP8266) gelandet. Nun fehlte nur noch ein vernünftiges Gehäuse und einen Software die zum einen den deep sleep ausnutzt und zum anderen mit FHEM stabil kommuniziert.

Ich bin dann bei Thingiverse https://www.thingiverse.com/ auf einen IoT Wifi Button mit ESP8266 gestoßen.

Daraufhin hab ich mich hingesetzt und ein "Dash Button" mit FreeCAD gezeichnet. ESP-01 programmiert und Platine noch verlötet und schon war mein Funktaster fertig.

Hier noch das Projekt auf Thingiverse
https://www.thingiverse.com/thing:3678995
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Olly

Hallo,

hast du auch schon Erfahrungen wie lange eine Knopfzelle reicht?

Gruß

    Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

Gunter1710

Wie lange die Batterie hält hängt stark von der Benutzung des Button ab.
Der ESP-01 soll aber ca. 22uA im Ruhemodus benötigen.
Das dürfte schon einige Monate reichen.
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

tndx

Ist denn Deine Variante nennenswert kleiner, als diese hier:

https://forum.fhem.de/index.php/topic,74320.0.html (2,5 cm x 6,5 cm)

Denn wenn man eh Homematic nutzt, dann würde ich die HM-Variante einer WLAN-Variante vorziehn, der Stromverbrauch dürfte auch niedrigier sein.

Gunter1710

Zitat von: tndx am 08 Juni 2019, 21:57:01
Ist denn Deine Variante nennenswert kleiner, als diese hier:

https://forum.fhem.de/index.php/topic,74320.0.html (2,5 cm x 6,5 cm)

Denn wenn man eh Homematic nutzt, dann würde ich die HM-Variante einer WLAN-Variante vorziehn, der Stromverbrauch dürfte auch niedrigier sein.

Du hast völlig Recht. Diese Variante ist die elegantere Lösung. Ich wollte aber etwas aus Standard Bauteilen zusammenbauen.
Der HMSensor-CR2032 von Papa ist ne tolle Sache, nur hatte ich weder die  erforderlichen Teile zu Hause noch das es einfach zusammenzubauen ist (nicht jeder kann SMD Teile löten)

Ich werde mir aber noch mal die Variante mit der HB-Micro Platine von Ronny anschauen.
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Felix_86

Hallo Gunter1710,

was hast du denn für eine Firmware auf den ESP-01 programmiert?

Ich recherchiere schon einige Wochen zu dem Thema und habe verschiedene technische Ansätze / Platinen gefunden, die jeweils auch immer eine andere Firmware einsetzen.
Ich habe mich nun für deine Lösung entschieden und die Komponenten bestellt. Nun fehlt noch die passende Firmware.

Vielen Dank vorab.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Gunter1710

Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Felix_86

Vielen Dank, den Link habe ich dann wohl übersehen.

Der Link zum Arduino Editor zeigt doch nun ein Perl (??) Script. Kann ich die Datei so direkt auf den ESP-01 flashen?
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Felix_86

Ok, ich habe es mit der Arduino IDE hinbekommen, das ino-File hinter dem MQTT Link zu flashen.
Der ESP meldet sich nun im WLAN an, ist per Ping erreichbar und sendet die MQTT Nachricht.

Ich habe allerdings das Problem, dass ich den Knopf für 4-5 Sekunden gedrückt halten muss, bis der ESP startet, sich im WLAN anmeldet (per Ping erreichbar ist) und die erste MQTT Nachricht abschickt. Scheinbar bekommt der ESP nur dann Strom, solange ich den Knopf drücke, denn sobald ich den Knopf los lasse, ist der ESP sofort offline.
Ist das normal?

Ich hatte verstanden / erwartet mit einem kurzen Drücken (< 1 Sekunde) auf den Button den ESP aufzuwecken, er meldet sich im WLAN an, schickt die MQTT Nachricht und geht dann wieder in den Sleep.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Gunter1710

Bei mir funktioniert es auch bei einem kurzen (kleiner1 Sekunde) Druck auf den Knopf.
Überprüfe noch mal deine Schaltung on Plus auch auf Pin 3 und 7 anliegt.
Ich habe auch mal was von unterschiedlichen ESP-01 gelesen, kann aber nicht sagen ob es daran liegen könnte.
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Felix_86

Hallo,

welche Pins bezeichnest du denn als Pin 3 und Pin 7?

Wenn ich mich an DIESEM BILD orientiere, dann sind bei mir:

Pin 1 - GND - Kabel zum Button
Pin 6 - CH_PD - Plus Spannung von der Batterie
Pin 7 - Reset - Kabel zum Button
Pin 8 - Vcc - Plus Spannung von der Batterie

belegt.

Auf meinem ESP-01 ist leider gar keine Bezeichnung, Nummer, Kennung oder ähnlich aufgedruckt, mit der eine Identifizierung und Recherche möglich ist.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

Zitat von: Felix_86 am 17 Mai 2021, 10:44:27
Auf meinem ESP-01 ist leider gar keine Bezeichnung, Nummer, Kennung oder ähnlich aufgedruckt, mit der eine Identifizierung und Recherche möglich ist.


... wie wär`s mit Google und z.B. "ESP 01 Pinout" ?
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gunter1710

Hab mich verschrieben, es müsste Pin 4 und 8 sein. SO wie in dem Schaltbild von mir
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Felix_86

Zitat von: Gunter1710 am 17 Mai 2021, 11:03:48
Hab mich verschrieben, es müsste Pin 4 und 8 sein.

Zählweise ist je nach ESP-01 Pinout Bild anders  ;)

Zitat von: Gunter1710 am 17 Mai 2021, 11:03:48
SO wie in dem Schaltbild von mir

Habe ich genau so gemacht. Funktioniert wie gesagt nur, wenn ich den Button für 4-5 Sekunde drücke und gedrückt halte. Mit einem kurzen Drücken tut sich gar nichts und sobald ich den Button los lassen, ist der ESP aus.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

#14
Zitat von: Felix_86 am 17 Mai 2021, 11:23:54
Zählweise ist je nach ESP-01 Pinout Bild anders  ;)

Felix,

du tust dich erheblich leichter wenn du nicht nach den Pins (1,2,3 ...) gehst  sondern nach den Bezeichnungen (GPIO 0, GPIO 1(TX), GPIO 2, GPIO 3(RX), RESET oder EN )

EDIT:
Zitat von: Felix_86 am 17 Mai 2021, 11:23:54
Funktioniert wie gesagt nur, wenn ich den Button für 4-5 Sekunde drücke und gedrückt halte. Mit einem kurzen Drücken tut sich gar nichts und sobald ich den Button los lassen, ist der ESP aus.

... hört sich fast so an, als würdest du die Versorgungspannung oder die Masse über den Taster zuführen ....  ??? :(

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Felix_86

Zitat von: Papa Romeo am 17 Mai 2021, 12:34:45
du tust dich erheblich leichter wenn du nicht nach den Pins (1,2,3 ...) gehst

Sorry, aber Gunter hat HIER (Gestern um 09:19:40) mit der Bezeichnung "Pin" angefangen.

Zitat von: Papa Romeo am 17 Mai 2021, 12:34:45
sondern nach den Bezeichnungen (GPIO 0, GPIO 1(TX), GPIO 2, GPIO 3(RX), RESET oder EN )

Ja, das habe ich getan, wie HIER zu lesen. Auch habe ich dort ein Bild zur Orientierung referenziert, damit wir von den gleichen Bezeichnungen und Pins ausgehen können. Scheint wohl niemand beachtet zu haben ?!

Zitat von: Papa Romeo am 17 Mai 2021, 12:34:45
EDIT:
... hört sich fast so an, als würdest du die Versorgungspannung oder die Masse über den Taster zuführen ....  ??? :(

Bzgl. der Masse tue ich es doch auch irgendwie. Der Button stellt eine Verbindung zwischen der Masse und dem Reset Pin her.


Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

Felix,

hast du deinen ESP01 für den DeepSleep modifiziert ?  ::) ... ansonsten wirst du mit den Knopfzellen nicht glücklich ... :( :-[ :-\

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Felix_86

Zitat von: Papa Romeo am 17 Mai 2021, 13:29:17
hast du deinen ESP01 für den DeepSleep modifiziert ?  ::) ... ansonsten wirst du mit den Knopfzellen nicht glücklich ... :( :-[ :-\

Nein, war dem Beitrag unter https://www.thingiverse.com/thing:3678995 auch nicht zu entnehmen, dass etwas modifiziert werden muss. Aktuell nutze ich zwei 1,5V AA Batterien, da ich noch im Teststadium bin.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

#18
Hallo Felix,

der ESP01 kann von Haus aus keinen DeepSleep. Deswegen wurde im Original-Projekt (https://www.thingiverse.com/thing:2803769) auch ein ESP-08 verwendet.
Auch das Web-Update wird mit dem verlinkten Sketch nicht funktionieren, da der ESP01 auch keinen Zugriff auf GPIO12 hat.

Gunter1710 hat wohl was von 22 uA Ruhestrom geschrieben. Aber nur dann, wenn er die durchgeführte Modifikation, wie z.B hier

https://www.instructables.com/Enable-DeepSleep-on-an-ESP8266-01/

beschrieben am ESP01 vorenthalten hat.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gunter1710

Habe nun meinen Dash-Button mit ESP-01 aus der Mottenkiste rausgeholt.
Den Deep-Sleep Modus hab ich nicht aktiviert. Das Projekt sollte eher aufzeigen, was so ein ESP-01 alles kann und eine Anregung sein für weitere Projekte.
Nachdem ich die Batterie erneuert habe, hat mein FHEM schon beim ersten drücken auf den Knopf reagiert.
Ich muss auch keine 4 Sekunden warten, wie Felix_86 schreibt.

Sorry, aber das einzige was ich mir jetzt noch vorstellen kann ist ein Wackelkontakt bei der Stromversorgung, der beim drücken auf den Taster irgendwie zu Kontakt führt.

Gruß
Gunter
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Papa Romeo

Hallo Gunter,

dann solltest du das eventuell korrigieren. Denn ohne die Modifikation am ESP01 reich dies nicht für Monate. Der ESP01 benötigt nach einem RESET für den Wiederaufbau
der WLan-Verbindung schon mal über 500mA. Das macht die CR nicht all zu lange mit. Deswegen wurde im Basisprojekt sinnvoller Weise ein ESP08 und keine CR verwendet.

Zitat von: Gunter1710 am 08 Juni 2019, 21:47:08
Wie lange die Batterie hält hängt stark von der Benutzung des Button ab.
Der ESP-01 soll aber ca. 22uA im Ruhemodus benötigen.
Das dürfte schon einige Monate reichen.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gunter1710

Zitat von: Papa Romeo am 18 Mai 2021, 06:43:58
Hallo Gunter,

dann solltest du das eventuell korrigieren. Denn ohne die Modifikation am ESP01 reich dies nicht für Monate.

Danke für den Hinweis. Ich habe auf thingiverse einen kleinen Zusatz geschrieben. Wenn man die Kommentare auf thingiverse richtig durchliest, dann schreibe ich auch, dass die Batterie nur < 3Monate hält. Die 22uA bezogen sich auf dep sleep und nicht auf meine original Schaltung  ;)

Gruß
Gunter
PS: Felix_86, ein anderer User auf thingiverse hatte auch Probleme bei Inbetriebnahme der Schaltung. Bei ihm hat ein tausch der Batterien geholfen.
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Felix_86

Zitat von: Gunter1710 am 18 Mai 2021, 06:19:52
Ich muss auch keine 4 Sekunden warten, wie Felix_86 schreibt.

Sorry, aber das einzige was ich mir jetzt noch vorstellen kann ist ein Wackelkontakt bei der Stromversorgung, der beim drücken auf den Taster irgendwie zu Kontakt führt.

Ich habe die Schaltung nun mehrfach auf der Steckplatine komplett neu nachgebaut und geprüft, andere Kabel und einen anderen Button verwendet, sogar die Stromquelle auf ein 3-12 Volt Universal-Netzteil umgestellt - keine Änderung im Verhalten: Die Stromzufuhr muss für 4-5 Sekunden gegeben sein (durch Drücken und Halten des Buttons), sonst ist der ESP nicht erreichbar (Ping) und sendet auch nichts (MQTT).

Im Übrigen ist das Verhalten identisch, wenn ich den ESP mittels USB-Programmer-Adapter am Laptop anschließe und die Serielle Ausgabe prüfe: Auch hier dauert es 4-5 Sekunden bis der ESP sich im WLAN anmeldet und die MQTT Nachricht schickt.

Zitat von: Gunter1710 am 18 Mai 2021, 07:10:34
PS: Felix_86, ein anderer User auf thingiverse hatte auch Probleme bei Inbetriebnahme der Schaltung. Bei ihm hat ein tausch der Batterien geholfen.

Ich habe die Stromquelle auf ein 3-12 Volt Universal-Netzteil umgestellt, das sollte wohl genug Spannung liefern - unverändertes Verhalten.

Mein Fazit:

Es handelt sich vermutlich um einen anderen ESP (deiner != meiner).
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

Zitat von: Felix_86 am 21 Mai 2021, 13:46:03
Die Stromzufuhr muss für 4-5 Sekunden gegeben sein (durch Drücken und Halten des Buttons), sonst ist der ESP nicht erreichbar (Ping) und sendet auch nichts (MQTT).

... der ESP sollte doch immer "Stromzufuhr" haben. An Dieser wird auch nichts "getastet". Es wird nur kurzzeitig der RESET auf Masse gelegt und somit dem ESP gesagt, er soll aus dem Schlaf erwachen, sich kurz mit dem WLan verbinden um "Hallo" zu sagen und sich dann wieder verabschieden.

Ich kann mir nicht helfen, aber nach deiner Beschreibung, trennst du doch über den Taster die Betriebsspannung für den ESP.   

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

Was mir noch eingefallen ist.

Sollte deine Verkabelung doch der des ursprünglichen Projektes entsprechen (nur der RESET geht über den Button an Masse), dann sind dein Buttons keine "Schließer" sondern "Öffner".

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Felix_86

Vielen Dank soweit.
Problem lag wohl nicht am ESP, sondern saß davor (wie so häufig)  :P

Das bei thingiverse verlinkte Arduino Sketch versucht sich mittels MQTT zu verbinden, schickt bei erfolgreicher MQTT Verbindung eine Nachricht und legt sich dann schlafen. Ich hatte und habe aber gar keinen MQTT Broker der hätte Antworten können, daher hing das Sketch in der "Stelle MQTT Verbindung her"-Schleife fest und ging daher nie in den Sleep Mode.

Für den von mir geplanten Einsatzbereich kommt MQTTS zum Einsatz und es muss eine Nachricht im JSON Format geschickt werden. Also habe ich in einem eigenen Sketch erst mal MQTTS und JSON zum Laufen gebracht und mich dann dem Sleep Mode gewitmet.
Alles kombiniert scheint nun auch zu funktionieren wie erwartet: WLAN Verbindung wird hergestellt, MQTTS Verbindung wird hergestellt, MQTTS Nachricht im JSON Format wird geschickt, der ESP legt sich schlafen.

Was ich bzgl. der WLAN-Reaktionszeit festgestellt habe:
- Bis der ESP in meinem WLAN zu Hause, bereitgestellt durch eine Fritzbox 7272, erreichbar ist, dauert es immer diese 4-5 Sekunden, egal mit welchem Sketch.
- Im WLAN im Büro, bereitgestellt durch eine Barracuda CloudGen Firewall, ist der ESP innerhalb von 1 Sekunde erreichbar.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS