ESPHome Fehler beim Kompilieren

Juergen

Member
hi beim compilieren bekommen ich folgende Warnung :

Code:
src/esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp: In member function 'void esphome::i2s_audio::I2SAudioMicrophone::start_()':
src/esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp:62:3: warning: missing initializer for member 'i2s_driver_config_t::chan_mask' [-Wmissing-field-initializers]
   };
   ^
src/esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp:62:3: warning: missing initializer for member 'i2s_driver_config_t::total_chan' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp:62:3: warning: missing initializer for member 'i2s_driver_config_t::left_align' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp:62:3: warning: missing initializer for member 'i2s_driver_config_t::big_edin' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp:62:3: warning: missing initializer for member 'i2s_driver_config_t::bit_order_msb' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp:62:3: warning: missing initializer for member 'i2s_driver_config_t::skip_msk' [-Wmissing-field-initializers]
Compiling .pioenvs/esp32-s3-wake-word/src/esphome/components/light/addressable_light.o
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp: In static member function 'static void esphome::i2s_audio::I2SAudioSpeaker::player_task(void*)':
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::chan_mask' [-Wmissing-field-initializers]
   };
   ^
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::total_chan' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::left_align' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::big_edin' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::bit_order_msb' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::skip_msk' [-Wmissing-field-initializers]
Compiling .pioenvs/esp32-s3-wake-word/src/esphome/components/light/automation.o

der Code dazu :
Code:
esphome:
  name: esp32-s3-wake-word
  friendly_name: ESP32-S3-Wake-word
  platformio_options:
    board_build.flash_mode: dio
  on_boot:
    - light.turn_on:
        id: led_ww
        blue: 100%
        brightness: 60%
        effect: fast pulse

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

    sdkconfig_options:
      CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
      CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
      CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y"
      CONFIG_AUDIO_BOARD_CUSTOM: "y"
  
psram:
  mode: quad  # quad for N8R2 and octal for N16R8
  speed: 80MHz


# Enable logging
logger:
  hardware_uart: UART0

# Enable Home Assistant API
api:
  encryption:
    key: "************"
  on_client_connected:
        then:
          - delay: 50ms
          - light.turn_off: led_ww
          - micro_wake_word.start:
  on_client_disconnected:
        then:
          - voice_assistant.stop:



ota:
  password: "**************"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-S3-Wake-Word"
    password: "*******"

captive_portal:


button:
  - platform: restart
    name: "Restart"
    id: but_rest

switch:
  - platform: template
    id: mute
    name: mute
    optimistic: true
    on_turn_on:
      - micro_wake_word.stop:
      - voice_assistant.stop:
      - light.turn_on:
          id: led_ww           
          red: 100%
          green: 0%
          blue: 0%
          brightness: 60%
          effect: fast pulse
      - delay: 2s
      - light.turn_off:
          id: led_ww
      - light.turn_on:
          id: led_ww           
          red: 100%
          green: 0%
          blue: 0%
          brightness: 30%
    on_turn_off:
      - micro_wake_word.start:
      - light.turn_on:
          id: led_ww           
          red: 0%
          green: 100%
          blue: 0%
          brightness: 60%
          effect: fast pulse
      - delay: 2s
      - light.turn_off:
          id: led_ww
  
light:
  - platform: esp32_rmt_led_strip
    id: led_ww
    rgb_order: GRB
    pin: GPIO48
    num_leds: 1
    rmt_channel: 0
    chipset: ws2812
    name: "on board light"
    effects:
      - pulse:
      - pulse:
          name: "Fast Pulse"
          transition_length: 0.5s
          update_interval: 0.5s
          min_brightness: 0%
          max_brightness: 100%
          
          
 # Audio and Voice Assistant Config         
i2s_audio:
  - id: i2s_in
    i2s_lrclk_pin: GPIO3  #WS
    i2s_bclk_pin: GPIO2 #SCK
  - id: i2s_speaker
    i2s_lrclk_pin: GPIO6  #LRC
    i2s_bclk_pin: GPIO7 #BLCK

microphone:
  - platform: i2s_audio
    id: va_mic
    adc_type: external
    i2s_din_pin: GPIO4 #SD pin on the INMP441
    channel: left
    pdm: false
    i2s_audio_id: i2s_in
    bits_per_sample: 32 bit
    
speaker:
    platform: i2s_audio
    id: va_speaker
    i2s_audio_id: i2s_speaker
    dac_type: external
    i2s_dout_pin: GPIO8   #  DIN Pin of the MAX98357A Audio Amplifier
    mode: mono

micro_wake_word:
  on_wake_word_detected:
    # then:
    - voice_assistant.start:
        wake_word: !lambda return wake_word;
    - light.turn_on:
        id: led_ww           
        red: 30%
        green: 30%
        blue: 70%
        brightness: 60%
        effect: fast pulse
  model: hey_jarvis
    
voice_assistant:
  id: va
  microphone: va_mic
  noise_suppression_level: 2.0
  volume_multiplier: 4.0
  speaker: va_speaker
  on_stt_end:
       then:
         - light.turn_off: led_ww
  on_error:
          - micro_wake_word.start: 
  on_end:
        then:
          - light.turn_off: led_ww
          - wait_until:
              not:
                voice_assistant.is_running:
          - micro_wake_word.start:
was läuft da wieder falsch ?
 
Ich habe auch ein Problem beim Compilieren beim Addon ESPHome.
Kürzlich kam die Meldung, dass ich ein nicht mehr unterstütztes Addon von ESPHome verwende. Also das aktuelle rausgesucht und installiert. Das alte habe ich dann entfernt. Alle Skripte die im alten waren waren auch im neuen vorhanden und alles hat funktioniert. Ich sammle hier hauptsächlich über 2 ESP32 die Werte der Bluetooth Thermostate. Zunächst hatte ich noch ein Validate gemacht und festgestellt, dass hier im Zuge der Weiterentwicklung hier noch ein Eintrag hinzukam. Soweit ergänzt läuft das System auch weiterhin.

Nur habe ich für die beiden ESPs jeweils die Meldung, dass es für diese Geräte ein Update fällig ist (2022 -> 2024).

Lasse ich das Update laufen, so stoppt er beim Eintrag Linking wo er wohl die Datei firmware.elf erzeugt. Danach bleibt er stehen und es tut sich eine Weile nichts. Irgendwann scheint er dann neu zu booten.

HA läuft als Hass.io auf einem Raspberry Pi 3 bei mir.

Hab zwar einiges gefunden im Netz aber so 100% hats halt nicht zu meinem Problem gepaßt.

Grüße

Manic
 
ja das habe ich ja gemacht nur änders das nichts am

warning: missing initializer for member 'i2s_driver_config_t::total_chan' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::left_align' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::big_edin' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::bit_order_msb' [-Wmissing-field-initializers]
src/esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp:73:3: warning: missing initializer for member 'i2s_driver_config_t::skip_msk' [-Wmissing-field-initializers]

das Problem scheint im i2s_Audio Modul zu liegen und besteht wohl schon länger und scheint im ESP32-S3 zu liegen s. dazu die obigen links

Beim "Normalem" ESP 32 geht zumindest das Mic. ( etwas anderer Code )
 
Zuletzt bearbeitet:
Den zusätzlichen Eintrag bei ota: mit der Plattform hab ich gleich gesehen in meinem Fall da ja das Validate nicht durchgelaufen ist. Nachdem ich das bereinigt habe ist das Validate fehlerfrei durchgelaufen.

Ich bin schon so weiß, dass ich das ESP Home mal runterwerfe und neu anlege. Die Skripte (sind ja nur zwei) kann ich mir ja wegkopieren. Was mich allerdings geiselt ist das neue anlegen der Verschlüsselung/der Verbindung den den ESPs.

Zu diesem "Stehenbleiben" finde ich in den Logs aber auch nichts.
 
Hallo @Manic,

dann zeige mal Deine ESPHome Geräte-yaml und wir werfen da mal einen Blick drauf.
Mehrere Augen sehen mehr Fehler...
Ich habe aktuell nur 3 ESP eingebunden.
2 x ESP mit Sensoren DS18B20, hier musste ich noch mehr anpassen, damit es lief.
1 x ESP für die Zisterne, somit musste ich da nur das ota verändern und alles hat wieder gepasst.
 
Zuletzt bearbeitet:
Das kann ich erst heute Abend machen wenn ich zu Hause bin. Also reich ich noch nach.

Was mir gerade noch eingefallen ist, ich könnte doch mal ein drittes Gerät mit anlegen wo nur der ESP selbst dran ist rein hängen und schauen ob das geht.

Edit: Verschiebt sich auf Mittwoch da ich noch was dringendes am Auto machen muss.
 
Zuletzt bearbeitet:
Gestern gabs doch tatsächlich ein Update. Meine Hoffnung war, dass es dann geht - leider Nein.

Mußte gestern noch was am Auto machen da ich Freitag wegfahre. Komme somit leider erst Anfang der Woche dazu mich um die Installation zu kümmern.

Jetzt die Überlegung, ESPHome mal runterwerfen und neu installieren oder es auf einem anderen Weg versuchen?
 
Hallo @Manic,
warum stellst Du nicht die Super geheime yaml hier rein.
Wir schauen drüber und gut ist.
Durch die neuen Update müssen die yaml händisch umgeschrieben werden.
Da nützt es nichts, alles zu de- installieren und wieder zu installieren.
 
Ach ja stimmt, die yaml Datei da war noch was. Das mache ich natürlich heute Abend ist ja kein Problem
 
Hallo,
hier nun die yaml Datei. Anstelle der der Sterne ist im Skript steht natürlich das echte Passwort.

Code:
esphome:
  name: espcol1
esp32:
  board: esp32dev
  framework:
    type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
  - platform: esphome
    password: "********************************"
wifi:
  ssid: !secret wifi_ssid_ha
  password: !secret wifi_password_ha
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Espcol1 Fallback Hotspot"
    password: "***********"
captive_portal:
    
esp32_ble_tracker:
sensor:
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:0B:9C:57"
    temperature:
      name: "Temperatur Küche"
    humidity:
      name: "Luftfeuchte Küche"
    battery_level:
      name: "Batterie-Level Küche"
    battery_voltage:
      name: "Batteriespannung Küche"
      
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:55:87:0B"
    temperature:
      name: "Temperatur Fahrradkeller"
    humidity:
      name: "Luftfeuchte Fahrradkeller"
    battery_level:
      name: "Batterie-Level Fahrradkeller"
    battery_voltage:
      name: "Batteriespannung Fahrradkeller"
      
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:4A:87:64"
    temperature:
      name: "Temperatur Kinderzimmer"
    humidity:
      name: "Luftfeuchte Kinderzimmer"
    battery_level:
      name: "Batterie-Level Kinderzimmer"
    battery_voltage:
      name: "Batteriespannung Kinderzimmer"
      
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:39:80:0D"
    temperature:
      name: "Temperatur außen"
    humidity:
      name: "Luftfeuchte außen"
    battery_level:
      name: "Batterie-Level außen"
    battery_voltage:
      name: "Batteriespannung außen"
      
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:af:c3:16"
    temperature:
      name: "Temperatur WZ außen"
    humidity:
      name: "Luftfeuchte WZ außen"
    battery_level:
      name: "Batterie-Level WZ außen"
    battery_voltage:
      name: "Batteriespannung WZ außen"
 
Guten Morgen @Manic,

ich nehme an, wenn Du die Validierung durchführst, kommt die Fehlermeldung bei den Sensoren und nicht bei "ota".

Ändere mal beim
captive_portal: folgendes. Du hast doch mit Sicherheit die Sensoren an einen GPIO angeschlossen?
Oder sehe ich das falsch?
Setze die richtige GPIO Nummer ein, welche Du benutzt hast.
Das ist mein geänderter Beispielcode für Dich.
Pass den mal auf Deine Parameter an, nach
captive_portal:

Code:
time:
  - platform: homeassistant
    id: homeassistant_time

esp32_ble_tracker:

sensor:
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:0B:9C:57"
    temperature:
      name: "Temperatur Küche"
    humidity:
      name: "Luftfeuchte Küche"
    battery_level:
      name: "Batterie-Level Küche"
    battery_voltage:
      name: "Batteriespannung Küche"

Du musst Deinem System sagen um was es sich für eine "platform" es sich handelt.

Schau mal hier: https://esphome.io/components/display/pvvx_mithermometer.html
Lies aber den ganzen Text von oben bis unten durch.
Ansonsten, gib mal Deine Fehlermeldung bei der Validierung an.


Du kannst das erst mal mit nur einem neu angelegten Sensor testen, das als Tipp von mir.
Wenn dann einer klappt, dann die anderen zufügen.

Hier noch was zu dem Thema: https://github.com/atc1441/ATC_MiThermometer
 
Zuletzt bearbeitet:
Guten Morgen,

die Vilidierung läuft fehlerfrei durch, es kommt keine Fehlermeldung.

An den GPIOs habe ich nichts hängen. Ich habe von Xiaomi Bluetooth Thermometer und der ESP32 sammelt diese Daten nur ein was auch derzeit noch wunderbar geht da er noch das "alte" System auf dem ESP hat.

Das Thermometer von Mi habe ich ja schon des längeren geflashed mit der Custom Firmware.
 
Hallo @Manic,

hast Du noch einen zweiten ESP32 als Versuchsobjekt?
Dann kannst dort die neue Version aufspielen und als Test anlegen und Sensor für Sensor neu einbinden.
Eine andere Idee habe ich sonst keine.

Außer es kommen noch weitere Vorschläge von anderen Usern.
Ab hier bin ich raus.
 
Zuletzt bearbeitet:
Ja, ich hab eine gut bestückte Bastelkiste. So werde ich das auch machen.

Hab gestern Abend kurz vor ins Bett gehen eine Minimal yaml laufen lassen und die ging durch. Werde so das Skript stück für Stück ergänzen und schauen wo es stecken bleibt
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
5.556
Beiträge
54.721
Mitglieder
5.384
Neuestes Mitglied
BlueEclipse
Zurück
Oben