ESP32 problem z konfiguracją

dobra wymiękam, nawet tak prosty kreator daje możliwość rozgałęzienia się operacji na tyle różnych ścieżek (w dodatku raczej wszystkie są poprawne), że to przerasta możliwości mojego wolnego czasu

dalej należy zrobić Adopcję do Dashboardu (IDE) ESPHome oraz integrację w HA

właśnie stanąłem na tym, że można użyć kreator my-HA lub go olać

Potem przy Adopcji zmienić nazwę hosta ESP lub nie itd. itd.
jedne drogi kończą się rekompilacją (bo muszą - te rzeczy są na stałe zaszyte w firmware) inne nie…
faktycznie można coś spaprać jeśli się nie czuje tego co się dzieje pod pokładem


Więc może zmieńmy kierunek - jeśli pokażesz YAMLa, który wygenerował się przy okazji tworzenia pustego firmware (a właściwie przy Adopcji sprzętu do IDE), to spróbuję w prostych słowach wytłumaczyć czemu się nie da przejść z tego firmware na EBP

edit - opisałem wszystko co ważne poniżej, wystarczy, że to zrozumiesz (nie potrzebuję już “pustego” YAMLa, bo sobie go wygrzebałem na repo)

ESPHome to żywy projekt i wiele się w nim zmienia (i może się coś zmieniło od czasu gdy widziałem takiego YAMLa z pustym projektem po Adopcji, ale jak właśnie sprawdziłem, obecnie w czasach ESPHome 2024.5.5 jest jak było), ale standardowo stosuje się frameworka Arduino (to zaszłość historyczna - w nim działały wszystkie możliwe integracje, gdy w ESP-IDF nie), jednak akurat projekty związane z Bluetooth wymagają ESP-IDF (ze względu na konieczną wyższą wydajność, a IDF jest pod pewnymi względami lepiej zoptymalizowany), te frameworki są niezgodne, więc nie ma między nimi przejścia przez flashowanie OTA, konieczny jest kabelek.

Z takich bardziej hardkorowych różnic - w IDF długi czas nie działał webserwer (obecnie działa), ale NIE JEST ZALECANY do równoczesnego użytku z EBP.

Dla porównania zdalny YAML na podstawie którego tworzony jest “pusty” firmware - widać frameworka Arduino

Tu masz YAML jaki mi się wygenerował przy adopcji EBP

substitutions:
  name: esp32-bluetooth-proxy-cbe554
  friendly_name: Bluetooth Proxy cbe554
packages:
  esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: Ccbxk7tbOJUgQh22PJi4S+bNVpKGLwJzBkSBwBzFJ8c=


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

jak widać zależy on od zdalnego kodu na repo

ten zdalny kod jest tu

a tu masz przykład bliźniaczo podobnego urządzenia (to nie jest ten sam egzemplarz tu skopiowałem YAMLa z czegoś co jest w użytku, ale zmieniłem na identyczne klucze czy wygenerowaną nazwę hosta by pokazać jak przerabiać), ale z kodem uniezależnionym od repo i wyposażonym w kilka wodotrysków dla przyjemności użytku

substitutions:
  name: esp32-bluetooth-proxy-cbe554
  friendly_name: Bluetooth Proxy cbe554
# packages:
#  esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
# linijka poniżej to ograniczenie ilości procesów kompilacji na bardzo słabym sprzęcie, by RAMu nie brakło
  compile_process_limit: 2

esp32:
  board: esp32dev
  framework:
    type: esp-idf


api:
  encryption:
    key: Ccbxk7tbOJUgQh22PJi4S+bNVpKGLwJzBkSBwBzFJ8c=

#dashboard_import:
#  package_import_url: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "${name}-AP"
    password: "12345678"


logger:
ota:
improv_serial:

esp32_ble_tracker:
  scan_parameters:
    # We currently use the defaults to ensure Bluetooth
    # can co-exist with WiFi In the future we may be able to
    # enable the built-in coexistence logic in ESP-IDF
#    active: true
    active: false

bluetooth_proxy:
  active: true
#  active: false

button:
  - platform: safe_mode
    name: Safe Mode Boot
    entity_category: diagnostic

sensor:
  - platform: internal_temperature
    name: "${friendly_name} Internal Temperature"
    accuracy_decimals: 1
    entity_category: diagnostic
  - platform: uptime
    name: "${friendly_name} Uptime"
    entity_category: diagnostic
  - platform: wifi_signal
    name: "${friendly_name} sygnał WiFi"
    update_interval: 60s
    entity_category: diagnostic
  - platform: esp32_hall
    name: "${friendly_name} sensor Hall'a"
    update_interval: 60s

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "${friendly_name} IP Address"
    dns_address:
      name: "${friendly_name} DNS Address"
    ssid:
      name: "${friendly_name} Connected SSID"
    bssid:
      name: "${friendly_name} Connected BSSID"
    mac_address:
      name: "${friendly_name} Mac Wifi Address"
    scan_results:
      name: "${friendly_name} Latest Scan Results"
1 polubienie