WLAN Verbindungsabbruch ESP32

Hallo,
mein ESP32 läuft jetzt mit WMBus und liest Daten aus. Ich habe allerdings nach gewisser Zeit Verbindungsabbrüche mit folgender Meldung:

WARNING deltamess-wmz-s3 @ 192.168.178.76: Connection error occurred: [Errno 104] Connection reset by peer
INFO Processing unexpected disconnect from ESPHome API for deltamess-wmz-s3 @ 192.168.178.76
WARNING Disconnected from API
Ich dachte erst es liegt an MQTT - das habe ich dann wieder entfernt, wird aber nicht besser.
Was könnte der Grund sein??
Hier noch meine yaml:

esphome:
  name: deltamess-wmz-s3

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: Arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: ""

ota:
  - platform: esphome
    password: ""

wifi:
  ssid: "XXX"
  password: "XXX"
  
  manual_ip:
    static_ip: 192.168.178.76
    gateway: 192.168.178.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Deltamess-Wmz-S3"
    password: "FGzw7HA3WgGw"

captive_portal:

time:
  - platform: sntp
    id: sntp_time
    timezone: Europe/Berlin
    servers:
     - ptbtime1.ptb.de
     - ptbtime2.ptb.de
     - ptbtime3.ptb.de

external_components:
  - source: github://SzczepanLeon/esphome-components@version_4
    refresh: 0d
    components: [ wmbus ]
wmbus:
  mosi_pin: GPIO11
  miso_pin: GPIO13
  clk_pin:  GPIO12
  cs_pin:   GPIO10
  gdo0_pin: GPIO09
  gdo2_pin: GPIO08

  #led_pin: GPIO48
  #led_blink_time: "1s"
  
  frequency: 868.950
  all_drivers: True
  sync_mode: True
  log_all: True  

sensor:     
  - platform: wmbus
    type: qheat
    
  - platform: wmbus
    meter_id: 0x67899850 #WMZ Ergeschosswohnung
    type: qheat
    key: ""
    sensors:
      - name: "Deltamess Gerät_1 Empfangsstärke"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
        entity_category: "diagnostic" 
          
  - platform: wmbus
    meter_id: 0x67899883 #WMZ Obergeschoss
    type: qheat
    key: ""
    sensors:
      - name: "Deltamess Gerät_2 Empfangsstärke"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
        entity_category: "diagnostic"  

Was sagt der Log zum Thema RSSI?

Ich verwende normalerweise DHCP und reserviere die IP im Router, das sollte aber nicht der Grund sein

Meinst du das??

[12:04:51][C][wifi:613]: WiFi:
[12:04:51][C][wifi:434]:   Local MAC: 10:51:DB:84:D2:1C
[12:04:51][C][wifi:439]:   SSID: 'XXXX'
[12:04:51][C][wifi:442]:   IP Address: 192.168.178.76
[12:04:51][C][wifi:451]:   BSSID: 34:E1:A9:2A:02:0F
[12:04:51][C][wifi:451]:   Hostname: 'deltamess-wmz-s3'
[12:04:51][C][wifi:451]:   Signal strength: -50 dB ▂▄▆█
[12:04:51][C][wifi:462]:   Channel: 11

Ja :hugs:
-50 dB ist aber ein guter Wert :ok_hand:

Kannst ja mal DHCP versuchen und vielleicht time auch raus nehmen

Nur als Versuch, weiß also auch nicht genau woran es liegt

Ist er an einem Repeater oder direkt am Router angemeldet?

Der hängt am Repeater an dem noch:
2 Auslesegeräte für Stromzähler
und
1 Auslesegerät für Gaszähler und Heizungstemperaturen
per WLAN angebunden sind.
Der Repeater hat eine Datenverbindung von ca 40Mbit/s…

Power-Save des ESP deaktiviert: Link

Das werde ich auf jeden Fall versuchen, vielen Dank @Tuxtom007 :+1:

Update: hat nicht geholfen. :sob:

Hält der ESP eigentlich dauerhaft eine Verbindung und schickt Daten so das das Netzwerk überlastet sein könnte?? Oder ist es der MQTT Explorer der den ESP rauswirft?
Kommt immer wieder der Fehler:

WARNING deltamess-wmz-s3 @ 192.168.178.76: Connection error occurred: [Errno 104] Connection reset by peer
INFO Processing unexpected disconnect from ESPHome API for deltamess-wmz-s3 @ 192.168.178.76
WARNING Disconnected from API

Unwahrscheinlich, das müsste der schon nonstop senden.
Ich hab einige MQTT Geräte und die machen keine Probleme und die größte MQTT-Schleuder ist mein 3D-Drucker, der flutet MQTT gewaltig mit weit über 100 Datenwerten in kürzsten Abständen.

Hattest du DHCP versucht?

Hier ist übrigens eine Lösung eines Users :nerd_face:
https://github.com/esphome/issues/issues/1194
Er hat auch eine Feste IP im ESP und hier ist zusätzlich auch dns konfiguriert
bei Dir fehlt das :flushed_face:


  fast_connect: on
  manual_ip:
    static_ip: 192.168.69.240
    gateway: 192.168.69.1
    subnet: 255.255.255.0
    dns1: 192.168.69.11

Wo bekomme ich den die DNS Adresse her??

Ist normalerweise deine IP des Routers
Also bei Dir (FB) sollte es gleich dem gateway sein

gateway: 192.168.178.1

Findest Du aber auch in deinen Endgeräten wie Handy oder Laptop in den WLAN Netzweksinfo

Deshalb: besser DHCP verwenden und die IP in der FB reservieren (dann werden solche Informationen automatisch übergeben)

Die IP von dem Gerät ist fest vergeben ,so wie fast alle Geräte (zumindest die Wichtigsten).

Hierzu hatte ich auch oben vorgeschlagen diese Testweise zu deaktivieren

Wozu brauchst du das genau?
Das habe ich in keinem meiner ESP

Und prompt beim Nachlesen, hier:

Dann hättest du das aber mit dem DNS wissen müssen, da er eigentlich Bestandteil einer festen IP in den Geräten ist

Sorry, musste ich mal anmerken :smirking_face::hugs:

Aber, ich weiß noch nicht ob das die Lösung ist

Hier noch ein paar Ideen, zur Prüfung:

  • Interferenzen 1: Channel 11: Falls Du Zigbee verwendest und Du Zigbee auf Kanal 25 betreibst, könnten sich diese Frequenzen behindern (fast gleicher Frequenzbereich)

  • Wifi-Leisung des ESP erhöhen:
    wifi:
    power_save_mode: none # Deaktiviert Energiesparmodus
    output_power: 20dB # Maximale Sendeleistung (Standard ist oft niedriger)

  • Framework:
    esp32:
    board: esp32-s3-devkitc-1
    framework:
    type: esp-idf # Statt Arduino! Soll stabiler für S3-Chip sein?

  • Interferenz 2: Das WMBus-Modul nutzt GPIO-Pins nahe der WiFi-Antenne (GPIO8-13) und kann Störungen verursachen.
    Test:
    Testweise wmbus-Komponente deaktivieren und prüfen, ob die Verbindung stabiler wird.
    Alternative Pins testen (falls möglich).

So, das wär’s. Mehr fällt mir im Moment nicht ein, ausser, es gibt noch die Möglichkeit, einen Auto-Restart auf den ESP32 zu programmieren, womit Du das Problem nicht löst, aber zumindest würde sich der ESP selber autom. booten, wenn er ein definierte Zeit lang, die Verbindung zu Home Assistant verliert… Gruss und viel Erfolg.

Also erstmal vielen, vielen Dank für die vielen Tips. Werde ich morgen alles ausprobieren, da der Computer schon aus ist und ich jetzt schlafen gehe…:yawning_face:

Das geht in seinem Fall nicht :smiling_face_with_sunglasses: das hat der Support explizit geschrieben

Das mit Wifi Leistung kannte ich noch gar nicht und betrifft bei mir ja auch alle meine ESP32xx => Danke :folded_hands: das teste ich mal an einem bei mir mit schlechter Verbindung (aber keine Abbrüche)

Nur noch mal dazu :hugs:
Im Log eines mit DHCP => zeigt er es auch an

Genau, ich sollte auf „Ardoino“ umstellen (der Autor des Programms hat das geschrieben und die fleißigen Helfer aus dem Forum hier haben mir das dann „übersetzt“), da unter „esp-idf“ die Installation des wmBus einen Fehler versursacht.Nach der Umstellung klappt das auch, die Installation läuft durch ohne Fehler. Leider aber nicht in ESPHome unter HA - da sagt er mir: dein ESP hat zu wenig Speicherplatz. Weiß leider nicht wie ich da Platz schaffen kann. Deshalb installiere ich unter Linux und mit der ESPHome Version 2025.6.3 - das geht reibungslos.

ZigBee habe ich nicht.

Der ESP32-S3 bietet die Möglichkeit einer externen Antenne, werde ich mal in Betracht ziehen.Vorher versuche ich die PINs zu ändern.

Manchmal winkt nicht der Zaunpfahl, sondern der ganze Zaun :joy: Danke…

1 „Gefällt mir“

Das braucht für die Zeitsynchronisation des ESP, wenn der z.b. die Uhrzeit benötigt, geht aber auch einfacher, indem du die Zeit vom HomeAssistand übernimmst:

time:
  - platform: homeassistant
    id: homeassistant_time

hier mal kurz meine Konfig für WLAN, womit ich keinerlei Probleme im Netz habe, auch nicht das die ESP zeitweise nicht erreichbar sind:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  domain: <MEINE-DOMAIN>
  reboot_timeout: 900s
  fast_connect: on
  power_save_mode: none
  ap:
    ssid: "3D-Drucker-Monitor"
    password: "blablabla"

und ich mache IP-Reservierung ausschliesslich über meinen DHCP-Server, weil fest IP’s in Geräte eintragen in meinen Augen ziemlicher Mist ist, wenn man mal was ändern will, z.b. eben den DNS-Server auf PiHole oder so.

Bei manueller IP muss DNS mit eingetragen werden, sonst kann der ESP den HA nicht mehr finden, falls der per Hostnamen angesprochen wird.

2 „Gefällt mir“