NEWS
ESPHome - ESP32-S3 lässt sich nicht einbinden
-
Aus Gründen befasse ich mich damit, eine ESPHome Applikation in meinem IOBroker aufzubauen. Zunächst habe ich es mit einem ESP8266 versucht. Weil alle zu meinem Szenario im Netz passenden Skripte (YAML) einen ESP32 vorsehen, bin ich halt gewechselt.
Doch jetzt strauchle ich, weil ich den ESP32-S3 nicht im ESPHome Adapter zuweisen kann. Ich habe zwei von den ESP32-S3 vorbereitet - doch beide zeigen folgendes:

und wenn ich sowohl den einen als auch den anderen ESP einbinden will, dann bekomme ich folgende Meldung:

Was läuft hier falsch?
-
@leonundjulie sagte in ESPHome - ESP32-S3 lässt sich nicht einbinden:
Was läuft hier falsch?
kein plan.. mit den 2 screenshots kommen wir nicht weiter
was ist das für ein Script auf dem esp ?? hat der ne oberfläche? kommst da dran ?? ist die ip richtig ??
-
@arteck Ja, die IP sind richtig.
Das Skript (YAML) spiel keine Rolle. Auf einem der ESPs ist der Anwendungsanteil drauf, beim zweiten ist nur die Startkonfiguration inklusive WEB drin.
uart: rx_pin: GPIO44 tx_pin: GPIO43 baud_rate: 4800 parity: NONE stop_bits: 1 data_bits: 8 // debug: // direction: BOTH // dummy_receiver: true // sequence: // - lambda: UARTDebug::log_hex(direction, bytes,':'); modbus: id: modbus1 modbus_controller: - id: wind_speed_meter address: 1 modbus_id: modbus1 setup_priority: -10 command_throttle: 200ms update_interval: 30s #or whatever you need - id: wind_direction_meter address: 2 modbus_id: modbus1 setup_priority: -10 command_throttle: 200ms update_interval: 30s #or whatever you need sensor: - platform: modbus_controller modbus_controller_id: wind_speed_meter name: "Wind Speed" device_class: wind_speed id: wind_speed register_type: holding address: 0000 unit_of_measurement: "m/s" value_type: U_WORD accuracy_decimals: 1 filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: wind_direction_meter name: "Wind direction gear" internal: true register_type: holding address: 0000 value_type: U_WORD accuracy_decimals: 0 on_value: - lambda: |- switch (int(x)) { case 0: id(wind_direction_cardinal).publish_state("N"); //North break; case 1: id(wind_direction_cardinal).publish_state("NE"); //North-East break; case 2: id(wind_direction_cardinal).publish_state("E"); //East break; case 3: id(wind_direction_cardinal).publish_state("SE"); //South-East break; case 4: id(wind_direction_cardinal).publish_state("S"); //South break; case 5: id(wind_direction_cardinal).publish_state("SW"); //South-West break; case 6: id(wind_direction_cardinal).publish_state("W"); //West break; case 7: id(wind_direction_cardinal).publish_state("NW"); //North-West break; default: id(wind_direction_cardinal).publish_state(""); //invalid } - platform: modbus_controller modbus_controller_id: wind_direction_meter name: "Windrichtung in Grad" register_type: holding address: 0001 value_type: U_WORD accuracy_decimals: 0 state_class: measurement unit_of_measurement: "°" text_sensor: - platform: template name: "Windrichtung" id: wind_direction_cardinalesphome: name: wetterstation friendly_name: Wetterstation esp32: board: esp32-s3-devkitc-1 framework: type: esp-idf # Enable logging logger: # Enable Home Assistant API api: encryption: key: "dLhf0VKqtIrQKboZ+uAXtS6+jIvu1UtZW4cQO883yOs=" ota: - platform: esphome password: "b343c5ed4fd90bcdf5be60a989cdecd3" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Wetterstation Fallback Hotspot" password: "dYfPk7bfpkf1" captive_portal: web_server:Zum Dashboard: Unter GOOGLE Chrom und IE-Explorer und SAFARI wird das folgendes angezeigt (wbei der IE es in Englisch und Chrome es in Deutsch zeigt).

Rufe ich die Dashboards auf, so bekomme ich in IE und CHROME folgendes:

Im Safari sieht es wie folgt aus:
.
Dies zeigt mir auch, dass der ESP die Werte meiner beiden Devices abruft (siehe Log) und zumindest sich ändernde Windrichtungen angezeigt werden (Änderungen der Windgeschwindigkeit werden nur im Log sichtbar, aber nicht im Dashboard).Jetzt noch ein LOG:
INFO ESPHome 2025.10.2 INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/wetter.yaml... INFO Starting log output from 192.168.178.72 using esphome API INFO Successfully resolved wetter @ 192.168.178.72 in 0.000s INFO Successfully connected to wetter @ 192.168.178.72 in 0.068s INFO Successful handshake with wetter @ 192.168.178.72 in 0.075s [14:05:39.612][I][app:185]: ESPHome version 2025.10.2 compiled on Oct 20 2025, 15:07:10 [14:05:39.612][C][wifi:679]: WiFi: [14:05:39.617][C][wifi:458]: Local MAC: 80:B5:4E:C6:60:64 [14:05:39.620][C][wifi:465]: IP Address: 192.168.178.72 [14:05:39.627][C][wifi:469]: SSID: [redacted] [14:05:39.627][C][wifi:469]: BSSID: [redacted] [14:05:39.627][C][wifi:469]: Hostname: 'wetter' ERROR Fatal error: protocol.data_received() call failed. protocol: <aioesphomeapi._frame_helper.noise.APINoiseFrameHelper object at 0x7f81115f00> transport: <_SelectorSocketTransport fd=9 read=polling write=<idle, bufsize=0>> Traceback (most recent call last): File "/home/iobroker/.cache/autopy/python/3.13.2/lib/python3.13/asyncio/selector_events.py", line 1019, in _read_ready__data_received self._protocol.data_received(data) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "aioesphomeapi/_frame_helper/noise.py", line 112, in aioesphomeapi._frame_helper.noise.APINoiseFrameHelper.data_received File "aioesphomeapi/_frame_helper/noise.py", line 148, in aioesphomeapi._frame_helper.noise.APINoiseFrameHelper.data_received File "aioesphomeapi/_frame_helper/noise.py", line 335, in aioesphomeapi._frame_helper.noise.APINoiseFrameHelper._handle_frame File "aioesphomeapi/connection.py", line 1033, in aioesphomeapi.connection.APIConnection.process_packet File "/home/iobroker/.cache/autopy/venv/esphome/lib/python3.13/site-packages/esphome/components/api/client.py", line 70, in on_log print(parsed_msg.replace("\033", "\\033") if dashboard else parsed_msg) ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/iobroker/.cache/autopy/venv/esphome/lib/python3.13/site-packages/colorama/ansitowin32.py", line 47, in write self.__convertor.write(text) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/iobroker/.cache/autopy/venv/esphome/lib/python3.13/site-packages/colorama/ansitowin32.py", line 177, in write self.write_and_convert(text) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/iobroker/.cache/autopy/venv/esphome/lib/python3.13/site-packages/colorama/ansitowin32.py", line 205, in write_and_convert self.write_plain_text(text, cursor, len(text)) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/iobroker/.cache/autopy/venv/esphome/lib/python3.13/site-packages/colorama/ansitowin32.py", line 210, in write_plain_text self.wrapped.write(text[start:end]) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ UnicodeEncodeError: 'latin-1' codec can't encode characters in position 75-78: ordinal not in range(256) INFO Processing unexpected disconnect from ESPHome API for wetter @ 192.168.178.72 WARNING Disconnected from API INFO Successfully resolved wetter @ 192.168.178.72 in 0.000s INFO Successfully connected to wetter @ 192.168.178.72 in 0.004s INFO Successful handshake with wetter @ 192.168.178.72 in 0.066s [14:05:39.732][C][modbus_controller.sensor:015]: modbus_controller.sensorModbus Controller Sensor 'Wind Speed' [14:05:39.732]modbus_controller.sensor State Class: '' [14:05:39.732]modbus_controller.sensor Unit of Measurement: 'm/s' [14:05:39.732]modbus_controller.sensor Accuracy Decimals: 1 [14:05:39.737][C][modbus_controller.sensor:025]: modbus_controller.sensor Device Class: 'wind_speed' [14:05:39.743][C][modbus_controller.sensor:015]: modbus_controller.sensorModbus Controller Sensor 'Wind direction gear' [14:05:39.743]modbus_controller.sensor State Class: '' [14:05:39.743]modbus_controller.sensor Unit of Measurement: '' [14:05:39.743]modbus_controller.sensor Accuracy Decimals: 0 [14:05:39.760][C][modbus_controller.sensor:015]: modbus_controller.sensorModbus Controller Sensor 'Windrichtung in Grad' [14:05:39.760]modbus_controller.sensor State Class: 'measurement' [14:05:39.760]modbus_controller.sensor Unit of Measurement: '�' [14:05:39.760]modbus_controller.sensor Accuracy Decimals: 0 [14:05:39.777][C][captive_portal:116]: Captive Portal: [14:05:39.783][C][web_server:317]: Web Server: [14:05:39.783][C][web_server:317]: Address: wetter.local:80 [14:05:39.800][C][esphome.ota:093]: Over-The-Air updates: [14:05:39.800][C][esphome.ota:093]: Address: wetter.local:3232 [14:05:39.800][C][esphome.ota:093]: Version: 2 [14:05:39.808][C][esphome.ota:100]: Password configured [14:05:39.809][C][safe_mode:018]: Safe Mode: [14:05:39.809][C][safe_mode:018]: Successful after: 60s [14:05:39.809][C][safe_mode:018]: Invoke after: 10 attempts [14:05:39.809][C][safe_mode:018]: Duration: 300s [14:05:39.824][C][web_server.ota:241]: Web Server OTA [14:05:39.829][C][api:222]: Server: [14:05:39.829][C][api:222]: Address: wetter.local:6053 [14:05:39.829][C][api:222]: Listen backlog: 4 [14:05:39.829][C][api:222]: Max connections: 8 [14:05:39.833][C][api:229]: Noise encryption: YES [14:05:39.846][C][mdns:179]: mDNS: [14:05:39.846][C][mdns:179]: Hostname: wetter [14:05:39.854][C][modbus_controller:448]: ModbusController: [14:05:39.854][C][modbus_controller:448]: Address: 0x01 [14:05:39.854][C][modbus_controller:448]: Max Command Retries: 4 [14:05:39.854][C][modbus_controller:448]: Offline Skip Updates: 0 [14:05:39.854][C][modbus_controller:448]: Server Courtesy Response: [14:05:39.854][C][modbus_controller:448]: Enabled: false [14:05:39.854][C][modbus_controller:448]: Register Last Address: 0xFFFF [14:05:39.854][C][modbus_controller:448]: Register Value: 0 [14:05:39.868][C][modbus_controller:448]: ModbusController: [14:05:39.868][C][modbus_controller:448]: Address: 0x02 [14:05:39.868][C][modbus_controller:448]: Max Command Retries: 4 [14:05:39.868][C][modbus_controller:448]: Offline Skip Updates: 0 [14:05:39.868][C][modbus_controller:448]: Server Courtesy Response: [14:05:39.868][C][modbus_controller:448]: Enabled: false [14:05:39.868][C][modbus_controller:448]: Register Last Address: 0xFFFF [14:05:39.868][C][modbus_controller:448]: Register Value: 0 [14:05:42.889][D][uart_debug:114]: >>> 02:03:00:00:00:02:C4:38 [14:05:42.905][D][modbus_controller.sensor:025]: Sensor new state: 7.00 [14:05:42.908][D][sensor:131]: 'Wind direction gear': Sending state 7.00000 with 0 decimals of accuracy [14:05:42.911][D][text_sensor:085]: 'Windrichtung': Sending state 'NW' [14:05:42.916][D][modbus_controller.sensor:025]: Sensor new state: 315.00 [14:05:42.920][D][sensor:131]: 'Windrichtung in Grad': Sending state 315.00000 � with 0 decimals of accuracy [14:05:43.010][D][uart_debug:114]: <<< 02:03:04:00:07:01:3B:38:B1 [14:05:44.166][D][uart_debug:114]: >>> 01:03:00:00:00:01:84:0A [14:05:44.176][D][modbus_controller.sensor:025]: Sensor new state: 0.00 [14:05:44.281][D][uart_debug:114]: <<< 01:03:02:00:00:B8:44Ich habe also mehrere Probleme, wobei das momentan fordergründige das Eingangs beschriebene ist: ich bekomme die ESP32 nicht im ESPHome Adapter eingebunden
-
@leonundjulie kommst du mit der ip auf das Gerät .. ??
da scheint was nicht zu stimmen... routing ?? firewall?? ip falsch ??
ansonsten hast du ein UnicodeEncodeError in deinem Script..aber da der hier nicht zur debate steht... ist mir das auch egal
-
@arteck ... keine Probleme erkennbar. Ich komme mit 192.168.178.72 auf den einen ESP und mit 192.168.178.80 auf den anderen ESP. Die beiden Device werden ja auch unter diesen IPs im ESPHome Adapter gesehen.