Hilfe für AtomEcho nach Update auf ESP Version 2024.12.4

Hallo Zusammen,
Auch auf die Gefahr, dass meine Anfrage doppelt ist, hoffe ich trotzdem Hilfe bei Euch zu finden und eventuell gibt es ja jemanden der meine erste Anfrage übersehen/überlesen hat und derjenige sieht diesen Post.
Nachdem ich mit meinem ESP32-Update auf meinen AtomEchos im Dezember Probleme hatte und nur das zusätzliche Einfügen der zusätzlichen Parts
esp32:
framework:
type: esp-idf
version: 4.4.8
platform_version: 5.4.0
in die Konfig der beiden AtomEchos die ich im System habe war es möglich das Update auf die ESP32-Version 2024.12.4 „fehlerfrei“ durchlaufen zu lassen.
Die beiden AtomEchos melden zwar jetzt, dass sie auf dem Stand 2024.12.4 sind aber wenn ich mir die Logs anschaue, können die Geräte das Mikro nich mehr sauber starten
[16:14:58][D][voice_assistant:222]: Starting Microphone
[16:14:58][W][voice_assistant:083]: Could not allocate speaker buffer

Ich hatte die Hoffnung noch nicht aufgegeben, dass dieses Problem eventuell mit einem neuen Update behoben wird. Leider ist seit dem nichts mehr an Updates in dem Bereich gekommen, bzw wird mir keins angeboten.
Eventuell gibt es ja einen ESP32-Spezialisten der mir helfen kann meine beiden AtomEchos wieder zum laufen zu bekommen. Im schlimmsten Fall auch über ein komplettes neues Flashen der beiden Echos. Leider habe ich keine Anleitung gefunden wie ich diese Teile eventuell Resetten und neu flashen kann. Auch wenn das neu Flashen und das damit verbundenen komplette neue Einbinden der zwei AtomEchos in mein HA für mich doch eher die Notlösung wäre, ich würde lieber mit meiner aktuellen Konfig weiter arbeiten wollen.

Danke im Voraus
Gruß
Frank

1 „Gefällt mir“

Und als hätte ich es voraus geahnt kam gerade das ESP-Update auf 2025.2.0.
Das ist komplett "gegen die Wand gelaufen und verursacht jetzt einen kompletten Fehler. Es scheint zwar auf die Version hoch gezogen zu haben aber jetzt geht gar nichts mehr.

INFO ESPHome 2025.2.0
INFO Reading configuration /config/esphome/m5stack-atom-echo-1096b0-1.yaml…
INFO Updating https://github.com/esphome/esphome.git@pull/5230/head
INFO Updating https://github.com/jesserockz/esphome-components.git@None
Failed config

light.esp32_rmt_led_strip: [source /data/packages/c46f54c1/voice-assistant/m5stack-atom-echo.yaml:211]
platform: esp32_rmt_led_strip
id: led
name: None
disabled_by_default: True
entity_category: config
pin: GPIO27
default_transition_length: 0s
chipset: SK6812
num_leds: 1
rgb_order: grb

This feature is not available for the IDF framework version 5.
rmt_channel: 0
effects:
- pulse:

1 „Gefällt mir“

Hi, so richtig kann ich dir nicht helfen. Nutze selber aber einen atomecho am Computertisch und läuft soweit sehr gut.

Warum setzt die die echos nicht einfach nochmal neu in esphome auf. Mache des chip vor dem flashen leer und dann einfach nochmal die aktuelle Firmware installieren. Die sind doch schnell wieder in HA eingebunden.

1 „Gefällt mir“

Danke für Deine Info.
Das komplette neu Flashen der beiden AtomEchos sowie das Löschen und Neueinbinden habe ich als letzte Alternetive ja auch schon in Betracht gezogen. Nur habe ich leider keine Ahnung wie ich das Flashen mit der aktuellen Firmware durchführen muss. Leider habe ich dazu bisher noch nirgendwo eine richtige Step-by-Step-Anleitung gefunden. Ebenso fehlt mir aktuell eine Info wie ich die Teile sauber aus dem HA lösche und neu einbinde. Deswegen hatte ich Hoffnung, dass ich sie per normalem Update wieder zum Laufen bekomme.
Gruß Frank

1 „Gefällt mir“

Moin,
beim neuen Update scheint es mal wieder einen Bug zu geben.
Zwei Geräte laufen das Update ohne Fehler durch, aber der HAVoice wirft nur Fehler aus beim Versuch zu updaten. Mal abwarten ob es behoben wird…
Gruß, AndiFidi

1 „Gefällt mir“

Hallo, Da ich erst setz kurzem meine beiden AtomEchos habe fehlt mir leider die Erfahrung wie ich Chips „leer“ mache und dann mit der aktuellen Frimware neu flashe, um sie dann wieder als kleine VoiceAssistant-Komponenten neu flashen kann. Leider habe ich trotz intensiver Suche keine Anleitung, weder um Löschen noch zum neu flashen im weiten Netz gefunden. Vielleicht hast Du ja einen Tipp.
Bis 2024.09 liefen sie ja auch vernünftig. Nachdem ich erst im Dezemben wieder ein Update durchführen wollte/konnte hat dieses nicht funktioniert.
Nachdem man mir als Lösung das Einfügen dieses kleinen Code-Schnippsel in die YAML ser AtomEchos als mögliche Lödung vorgeschlagen hatte lief das Update zwar durch, aber die Mikros wurden laut LOG nicht mehr gefunden
#############################
esp32:
framework:
type: esp-idf
version: 4.4.8
platform_version: 5.4.0
#############################
Jetzt ist ja das Update auf 2025.2 verfügbar und ich hatte gehofft, dass sich damit das Problem löst, aber es wurde nur noch schlimmer, den jetzt sagt das Log
#############################
INFO ESPHome 2025.2.0
INFO Reading configuration /config/esphome/m5stack-atom-echo-1096b0-1.yaml…
INFO Updating https://github.com/esphome/esphome.git@pull/5230/head
INFO Updating https://github.com/jesserockz/esphome-components.git@None
Failed config

light.esp32_rmt_led_strip: [source /data/packages/c46f54c1/voice-assistant/m5stack-atom-echo.yaml:211]
platform: esp32_rmt_led_strip
id: led
name: None
disabled_by_default: True
entity_category: config
pin: GPIO27
default_transition_length: 0s
chipset: SK6812
num_leds: 1
rgb_order: grb

This feature is not available for the IDF framework version 5.
rmt_channel: 0
effects:
- pulse:
#############################
Meine YAML der AtomEchos sehen so aus. Eventuell hat sich ja am Syntax etwas geändert-
#############################
substitutions:
name: „m5stack-atom-echo-1096b0-2“
friendly_name: M5Stack Atom Echo 1096b0 2
packages:
m5stack.atom-echo-voice-assistant: github://esphome/firmware/voice-assistant/m5stack-atom-echo.yaml@main
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
api:
encryption:
key: ePvEPzLha89ipSwzml6aMO0HeHIg1nznKGhr3+ubves=
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
esp32:
framework:
type: esp-idf
version: 4.4.8
platform_version: 5.4.0

Ich wäre für jede Hilfe dankbar.

Gruß
Frank

1 „Gefällt mir“

HI,

ich habe zwar keinen Atom, du soltest aber mal deinen ESP32 Eintrag anpassen.

esp32:
  board: m5stack-atom
  framework:
    type: esp-idf

Sieht so aus als käme er mit der platform_version nicht zu recht.

1 „Gefällt mir“

Du könntest auch mit validate deine Config prüfen, dann sollte er eigentlich einen Fehler auswerfen.

1 „Gefällt mir“

Hi,
Danke erst einmal für die schnelle Reaktion.
Wenn meine Konfiguration überprüfen lasse erhalte ich am Ende die Meldung:

INFO Configuration is valid!

Wenn ich die Konfiguration so ab ändere wie Du vorschlägst, erhalte ich bei der Überprüfung folgende Fehlermeldung:

INFO ESPHome 2025.2.0
INFO Reading configuration /config/esphome/m5stack-atom-echo-1096b0-1.yaml...
INFO Updating https://github.com/esphome/esphome.git@pull/5230/head
INFO Updating https://github.com/jesserockz/esphome-components.git@None
Failed config

light.esp32_rmt_led_strip: [source /data/packages/c46f54c1/voice-assistant/m5stack-atom-echo.yaml:211]
  platform: esp32_rmt_led_strip
  id: led
  name: None
  disabled_by_default: True
  entity_category: config
  pin: GPIO27
  default_transition_length: 0s
  chipset: SK6812
  num_leds: 1
  rgb_order: grb
  
  This feature is not available for the IDF framework version 5.
  rmt_channel: 0
  effects: 
    - pulse:

Gruß
Frank

1 „Gefällt mir“

Was mich ja wundert ist, das er ja sogar meldet, dass die Geräte aktuell schon auf der Version 2025.2.0 wären, aber es wird mir in der HA Oberfläche bei der Updates immer angezeigt dass die Geräte noch auf der 2024.12.4 ist und ein Update bereit steht auf die Version 2025.2.0.

1 „Gefällt mir“

So hab es eben mal angpasst, du kannst es nicht mehr über packages laden, da muss der entwickler wohl diese erst einmal anpassen.

versuch es doch bitte einmal damit.

# Enable Home Assistant API
api:
  encryption:
    key: "I9Fgmr6X+K/va3QBf9G3+yme07MxJc60sMC2HtN+E30="

ota:
  - platform: esphome
    password: "e6cef29be3c557e54368c2ca4edf62c6"
    id: ota_esphome
  - platform: http_request
    id: ota_http_request

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  on_connect:
    - delay: 5s  # Gives time for improv results to be transmitted
    - ble.disable:
  on_disconnect:
    - ble.enable:

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Test-Echo Fallback Hotspot"
    password: "eSLd7OWiyFB0"

captive_portal:

esphome:
  name: m5stack-atom-echo
  friendly_name: M5Stack Atom Echo
  min_version: 2024.9.0
  name_add_mac_suffix: true
  project:
    name: m5stack.atom-echo-voice-assistant
    version: "24.7.24"

esp32:
  board: m5stack-atom
  framework:
    type: esp-idf

update:
  - platform: http_request
    id: update_http_request
    name: Firmware
    source: https://firmware.esphome.io/voice-assistant/m5stack-atom-echo/manifest.json

http_request:

dashboard_import:
  package_import_url: github://esphome/firmware/voice-assistant/m5stack-atom-echo.adopted.yaml@main

esp32_improv:
  authorizer: none

button:
  - platform: safe_mode
    id: button_safe_mode
    name: Safe Mode Boot

  - platform: factory_reset
    id: factory_reset_btn
    name: Factory reset

i2s_audio:
  - id: i2s_audio_bus
    i2s_lrclk_pin: GPIO33
    i2s_bclk_pin: GPIO19

microphone:
  - platform: i2s_audio
    id: echo_microphone
    i2s_din_pin: GPIO23
    adc_type: external
    pdm: true

speaker:
  - platform: i2s_audio
    id: echo_speaker
    i2s_dout_pin: GPIO22
    dac_type: external
    channel: mono

voice_assistant:
  id: va
  microphone: echo_microphone
  speaker: echo_speaker
  noise_suppression_level: 2
  auto_gain: 31dBFS
  volume_multiplier: 2.0
  vad_threshold: 3
  on_listening:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        effect: "Slow Pulse"
  on_stt_vad_end:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        effect: "Fast Pulse"
  on_tts_start:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        brightness: 100%
        effect: none
  on_end:
    - delay: 100ms
    - wait_until:
        not:
          speaker.is_playing:
    - script.execute: reset_led
  on_error:
    - light.turn_on:
        id: led
        red: 100%
        green: 0%
        blue: 0%
        brightness: 100%
        effect: none
    - delay: 1s
    - script.execute: reset_led
  on_client_connected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.start_continuous:
          - script.execute: reset_led
  on_client_disconnected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.stop:
          - light.turn_off: led
  on_timer_finished:
    - voice_assistant.stop:
    - switch.turn_on: timer_ringing
    - wait_until:
        not:
          microphone.is_capturing:
    - light.turn_on:
        id: led
        red: 0%
        green: 100%
        blue: 0%
        brightness: 100%
        effect: "Fast Pulse"
    - while:
        condition:
          switch.is_on: timer_ringing
        then:
          - lambda: id(echo_speaker).play(id(timer_finished_wave_file), sizeof(id(timer_finished_wave_file)));
          - delay: 1s
    - wait_until:
        not:
          speaker.is_playing:
    - light.turn_off: led
    - switch.turn_off: timer_ringing
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.start_continuous:
          - script.execute: reset_led

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO39
      inverted: true
    name: Button
    disabled_by_default: true
    entity_category: diagnostic
    id: echo_button
    on_multi_click:
      - timing:
          - ON for at least 50ms
          - OFF for at least 50ms
        then:
          - if:
              condition:
                switch.is_on: timer_ringing
              then:
                - switch.turn_off: timer_ringing
              else:
                - if:
                    condition:
                      switch.is_off: use_wake_word
                    then:
                      - if:
                          condition: voice_assistant.is_running
                          then:
                            - voice_assistant.stop:
                            - script.execute: reset_led
                          else:
                            - voice_assistant.start:
                    else:
                      - voice_assistant.stop
                      - delay: 1s
                      - script.execute: reset_led
                      - script.wait: reset_led
                      - voice_assistant.start_continuous:
      - timing:
          - ON for at least 10s
        then:
          - button.press: factory_reset_btn

light:
  - platform: esp32_rmt_led_strip
    id: led
    name: None
    disabled_by_default: true
    entity_category: config
    pin: GPIO27
    default_transition_length: 0s
    chipset: SK6812
    num_leds: 1
    rgb_order: grb
    #rmt_channel: 1
    effects:
      - pulse:
          name: "Slow Pulse"
          transition_length: 250ms
          update_interval: 250ms
          min_brightness: 50%
          max_brightness: 100%
      - pulse:
          name: "Fast Pulse"
          transition_length: 100ms
          update_interval: 100ms
          min_brightness: 50%
          max_brightness: 100%

script:
  - id: reset_led
    then:
      - if:
          condition:
            - switch.is_on: use_wake_word
            - switch.is_on: use_listen_light
          then:
            - light.turn_on:
                id: led
                red: 100%
                green: 89%
                blue: 71%
                brightness: 60%
                effect: none
          else:
            - light.turn_off: led

switch:
  - platform: template
    name: Use wake word
    id: use_wake_word
    optimistic: true
    restore_mode: RESTORE_DEFAULT_ON
    entity_category: config
    on_turn_on:
      - lambda: id(va).set_use_wake_word(true);
      - if:
          condition:
            not:
              - voice_assistant.is_running
          then:
            - voice_assistant.start_continuous
      - script.execute: reset_led
    on_turn_off:
      - voice_assistant.stop
      - lambda: id(va).set_use_wake_word(false);
      - script.execute: reset_led
  - platform: template
    name: Use listen light
    id: use_listen_light
    optimistic: true
    restore_mode: RESTORE_DEFAULT_ON
    entity_category: config
    on_turn_on:
      - script.execute: reset_led
    on_turn_off:
      - script.execute: reset_led
  - platform: template
    id: timer_ringing
    optimistic: true
    internal: true
    restore_mode: ALWAYS_OFF
    on_turn_on:
      - delay: 15min
      - switch.turn_off: timer_ringing

external_components:
  - source: github://pr#5230
    components:
      - esp_adf
    refresh: 0s
  - source: github://jesserockz/esphome-components
    components: [file]
    refresh: 0s

esp_adf:

file:
  - id: timer_finished_wave_file
    file: https://github.com/esphome/firmware/raw/main/voice-assistant/sounds/timer_finished.wav
1 „Gefällt mir“

und bitte verwende die Code Funktion. da kann ma alles etwas besser lesen.

2 „Gefällt mir“

Vielen Dank für Deine Bemühungen. Bevor ich jetzt aber versuche hier das Update laufen zu lassen habe ich noch die Frage zu dem Code von Dir. Muss ich die paar Zeilen Code, die in meiner aktuellen YAML-Konfigurationsdatei stenen, durch diesen austauschen? Was ist mit dem API-Key? Ich nehme mal an den muss ich durch den entsprechenden Key ersetzen, welcher aktuell in meinen beiden YAML-Dateien steht. Außerdem werde ich dann wohl auch noch in der Sektion esphome die Einträge für „name“ und „friendly_name“ entsprechend meinen Einstellungen ersetzen/anpassen müssen. In meinen aktuellen YAML-Dateien existiert jewelis am Anfang eine Sektuin mit dem Namen „substitution:“ in welcher „name“ und „friendly_name“ definiert sind. Kann ich diese auch in Deinem Code einfügen und dann an der entsprechenden Stelle über den Variablen-Aufruf das ganze steuern?

Sorry für meine Fragen, aber ich bin in dem Fall ESP-Home-Geräte noch ein kompletter Anfänger und möchte nicht aus Unwissenheit die gesamte Konfig zerstören, bzw durch ein fehlerhaftes Update der Geräte diese unbrauchbar machen.

1 „Gefällt mir“

Ja genau einfach austauschen und mit deinen Daten ersetzen.

hier noch die angepasste mit deinen Daten.

Bin auch noch ziemlich neu im Bereich ESPHome aber ich denke ich werde da in nächster Zeit etwas mehr machen wollen.

substitutions:
  name: m5stack-atom-echo-1096b0-2
  friendly_name: M5Stack Atom Echo 1096b0 2

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  project:
    name: m5stack.atom-echo-voice-assistant
    version: "24.7.24"

esp32:
  board: m5stack-atom
  framework:
    type: esp-idf

# Enable Home Assistant API
api:
  encryption:
    key: "ePvEPzLha89ipSwzml6aMO0HeHIg1nznKGhr3+ubves="

ota:
  - platform: esphome
    password: "e6cef29be3c557e54368c2ca4edf62c6"
    id: ota_esphome
  - platform: http_request
    id: ota_http_request

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  on_connect:
    - delay: 5s  # Gives time for improv results to be transmitted
    - ble.disable:
  on_disconnect:
    - ble.enable:

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Test-Echo Fallback Hotspot"
    password: "eSLd7OWiyFB0"

captive_portal:


update:
  - platform: http_request
    id: update_http_request
    name: Firmware
    source: https://firmware.esphome.io/voice-assistant/m5stack-atom-echo/manifest.json

http_request:

dashboard_import:
  package_import_url: github://esphome/firmware/voice-assistant/m5stack-atom-echo.adopted.yaml@main

esp32_improv:
  authorizer: none

button:
  - platform: safe_mode
    id: button_safe_mode
    name: Safe Mode Boot

  - platform: factory_reset
    id: factory_reset_btn
    name: Factory reset

i2s_audio:
  - id: i2s_audio_bus
    i2s_lrclk_pin: GPIO33
    i2s_bclk_pin: GPIO19

microphone:
  - platform: i2s_audio
    id: echo_microphone
    i2s_din_pin: GPIO23
    adc_type: external
    pdm: true

speaker:
  - platform: i2s_audio
    id: echo_speaker
    i2s_dout_pin: GPIO22
    dac_type: external
    channel: mono

voice_assistant:
  id: va
  microphone: echo_microphone
  speaker: echo_speaker
  noise_suppression_level: 2
  auto_gain: 31dBFS
  volume_multiplier: 2.0
  vad_threshold: 3
  on_listening:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        effect: "Slow Pulse"
  on_stt_vad_end:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        effect: "Fast Pulse"
  on_tts_start:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        brightness: 100%
        effect: none
  on_end:
    - delay: 100ms
    - wait_until:
        not:
          speaker.is_playing:
    - script.execute: reset_led
  on_error:
    - light.turn_on:
        id: led
        red: 100%
        green: 0%
        blue: 0%
        brightness: 100%
        effect: none
    - delay: 1s
    - script.execute: reset_led
  on_client_connected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.start_continuous:
          - script.execute: reset_led
  on_client_disconnected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.stop:
          - light.turn_off: led
  on_timer_finished:
    - voice_assistant.stop:
    - switch.turn_on: timer_ringing
    - wait_until:
        not:
          microphone.is_capturing:
    - light.turn_on:
        id: led
        red: 0%
        green: 100%
        blue: 0%
        brightness: 100%
        effect: "Fast Pulse"
    - while:
        condition:
          switch.is_on: timer_ringing
        then:
          - lambda: id(echo_speaker).play(id(timer_finished_wave_file), sizeof(id(timer_finished_wave_file)));
          - delay: 1s
    - wait_until:
        not:
          speaker.is_playing:
    - light.turn_off: led
    - switch.turn_off: timer_ringing
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.start_continuous:
          - script.execute: reset_led

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO39
      inverted: true
    name: Button
    disabled_by_default: true
    entity_category: diagnostic
    id: echo_button
    on_multi_click:
      - timing:
          - ON for at least 50ms
          - OFF for at least 50ms
        then:
          - if:
              condition:
                switch.is_on: timer_ringing
              then:
                - switch.turn_off: timer_ringing
              else:
                - if:
                    condition:
                      switch.is_off: use_wake_word
                    then:
                      - if:
                          condition: voice_assistant.is_running
                          then:
                            - voice_assistant.stop:
                            - script.execute: reset_led
                          else:
                            - voice_assistant.start:
                    else:
                      - voice_assistant.stop
                      - delay: 1s
                      - script.execute: reset_led
                      - script.wait: reset_led
                      - voice_assistant.start_continuous:
      - timing:
          - ON for at least 10s
        then:
          - button.press: factory_reset_btn

light:
  - platform: esp32_rmt_led_strip
    id: led
    name: None
    disabled_by_default: true
    entity_category: config
    pin: GPIO27
    default_transition_length: 0s
    chipset: SK6812
    num_leds: 1
    rgb_order: grb
    #rmt_channel: 1
    effects:
      - pulse:
          name: "Slow Pulse"
          transition_length: 250ms
          update_interval: 250ms
          min_brightness: 50%
          max_brightness: 100%
      - pulse:
          name: "Fast Pulse"
          transition_length: 100ms
          update_interval: 100ms
          min_brightness: 50%
          max_brightness: 100%

script:
  - id: reset_led
    then:
      - if:
          condition:
            - switch.is_on: use_wake_word
            - switch.is_on: use_listen_light
          then:
            - light.turn_on:
                id: led
                red: 100%
                green: 89%
                blue: 71%
                brightness: 60%
                effect: none
          else:
            - light.turn_off: led

switch:
  - platform: template
    name: Use wake word
    id: use_wake_word
    optimistic: true
    restore_mode: RESTORE_DEFAULT_ON
    entity_category: config
    on_turn_on:
      - lambda: id(va).set_use_wake_word(true);
      - if:
          condition:
            not:
              - voice_assistant.is_running
          then:
            - voice_assistant.start_continuous
      - script.execute: reset_led
    on_turn_off:
      - voice_assistant.stop
      - lambda: id(va).set_use_wake_word(false);
      - script.execute: reset_led
  - platform: template
    name: Use listen light
    id: use_listen_light
    optimistic: true
    restore_mode: RESTORE_DEFAULT_ON
    entity_category: config
    on_turn_on:
      - script.execute: reset_led
    on_turn_off:
      - script.execute: reset_led
  - platform: template
    id: timer_ringing
    optimistic: true
    internal: true
    restore_mode: ALWAYS_OFF
    on_turn_on:
      - delay: 15min
      - switch.turn_off: timer_ringing

external_components:
  - source: github://pr#5230
    components:
      - esp_adf
    refresh: 0s
  - source: github://jesserockz/esphome-components
    components: [file]
    refresh: 0s

esp_adf:

file:
  - id: timer_finished_wave_file
    file: https://github.com/esphome/firmware/raw/main/voice-assistant/sounds/timer_finished.wav

Ich hatte das Problem mit meinem Atom M5-ECHO auch.

Was schließlich geholfen hat, war den M5 komplett neu zu installieren incl. vorherigem „erase“, dann hat er das aktuelle Update auf 2025.2 angenommen.

Dauert keine 10 Minuten und wäre einen Versuch wert. :wink:

1 „Gefällt mir“

Das hatte ich auch schon vorgeschlagen. Wäre bestimmt die schnellste Lösung. Hier noch eine Anleitung, wie man das einen esp32 löschen kann.

…und das heutige Update auf 2025.2.1 hat auch funktioniert! :grinning:

Hallo Zusammen,
Danke erst einmal für Eure Unterstützung.

Ich habe jetzt, bevor ich die YAML ausgetauscht, bzw mit den vorgeschlagenen Änderungen angepasst habe das Update auf 2025.2.1 laufen gelassen, welches erst einmal sauber durchgelaufen ist. Im Nachgang habe ich dann bei beiden Geräten, das vorgeschlagene Update über die Oberfläche ebenfalls auf die Version 2025.2.1 laufen gelassen. Über die HA-Oberfläche wird mir weiterhin das Update von Version 2024.12. auf die Version 2025.2.1 angezeigt. Wenn ich mir aber die Logs anschaue wird in der ersten Zeile angezeig, dass eigentlich die Version 2025.2.1 drauf sein sollte. Aktuell wird aber auch der Fehler mit dem Micr nicht mehr angezeigt, nur leider werden meine Sprachbefehle trotzdem nicht mehr angenommen.

Nach einem Reboot, der HA-Instanz wird aber auch das Mivro nicht wieder erkannt. Also zu früh gefreut.

Ich habe jetzt mal die YAML von dem Gerät für das Du den Code angepasst mit Deinem Code ausgestattet und dort die Installation laufen lasen. Leider funktioniert es trotzdem nicht. Leider läuft auch die Konfig auf einen Fehler.
PS ich würde zwar, wegen der besseren Lesbarkeit den Fehler im Code-Modus einfügen. Leider finde ich in diesem Antwort-Modus keine Möglichkeit meinen Fehler in dem gewünschten Modus zu senden.

###############################################
Reading CMake configuration…
– git rev-parse returned ‚fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).‘
– Building ESP-IDF components for target esp32
Processing 1 dependencies:
[1/1] idf (5.1.5)
– Configuring incomplete, errors occurred!
See also „/data/build/m5stack-atom-echo-1096b0-2/.pioenvs/m5stack-atom-echo-1096b0-2/CMakeFiles/CMakeOutput.log“.

fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at /data/cache/platformio/packages/framework-espidf@src-6e6cd5244a43bdfe453daac50cfe73b6/tools/cmake/build.cmake:266 (message):
Failed to resolve component ‚jsmn‘.
Call Stack (most recent call first):
/data/cache/platformio/packages/framework-espidf@src-6e6cd5244a43bdfe453daac50cfe73b6/tools/cmake/build.cmake:308 (__build_resolve_and_add_req)
/data/cache/platformio/packages/framework-espidf@src-6e6cd5244a43bdfe453daac50cfe73b6/tools/cmake/build.cmake:603 (__build_expand_requirements)
/data/cache/platformio/packages/framework-espidf@src-6e6cd5244a43bdfe453daac50cfe73b6/tools/cmake/project.cmake:604 (idf_build_process)
CMakeLists.txt:3 (project)

========================== [FAILED] Took 2.94 seconds ==========================