ESP32-S3 adresowalny led

Witam.
Mam pewien kłopot. Odpaliłem adresowalny LED który jest na płytce na razie jeden bo pasek dopiero zamówiony i niby wszystko fajnie, ale.
Podczas pierwszego startu, zaraz po instalacji, efekt jest ok, nie chodzi o zmianę koloru a raczej o rozświetlanie diody LED do 100%, po kliknięciu na karcie zasilania światło płynnie wstaje do 100% w czasie, wyłączenie również, natomiast po pewnym czasie, powiedzmy 6-8h pojawiają się problemy z płynnym rozświetlaniem LED, elekt jest taki jakby LED rozświetlał się skokowo, trzy skoki do 100% i trzy skoki do 0%, reset ESP z klawisza nic nie daje, całkowity restart HA też, pomaga jedynie ponowne załadowanie konfiguracji do ESP. Czy jest na to jakieś lekarstwo.
Mój kod jest taki

esphome:
  name: sterownik-1
  friendly_name: Sterownik 1

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

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "VwTQ/fTpjeo+zQYyGKd7gF0e49aeA7DzQ3JO5/KTDrQ="

ota:
  password: "44409facbe4c182b7c05f9409647183e"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Sterownik-1 Fallback Hotspot"
    password: "yQ7pgXL254H0"
  # Optional manual IP
  manual_ip:
    static_ip: 192.168.1.200
    gateway: 192.168.1.1
    subnet: 255.255.255.0
captive_portal:

binary_sensor:
  - platform: gpio
    pin:
      number: 2
      mode:
        input: true
        pullup: true
    name: "Drzwi wejściowe"
    device_class: window
  - platform: gpio  
    pin:
      number: 3
      mode:
        input: true
        pullup: true
    name: "Drzwi łazienka"
    device_class: window
  - platform: gpio  
    pin:
      number: 4
      mode:
        input: true
        pullup: true
    name: "Drzwi sypialnia"
    device_class: window
  - platform: gpio  
    pin:
      number: 5
      mode:
        input: true
        pullup: true
    name: "Balkon sypialnia"
    device_class: window
  - platform: gpio  
    pin:
      number: 6
      mode:
        input: true
        pullup: true
    name: "Balkon salon"
    device_class: window
# Example configuration entry
output:
  - platform: ledc
    pin: GPIO7
    id: gpio_7
  - platform: ledc
    pin: GPIO8
    id: gpio_8
  - platform: ledc
    pin: GPIO9
    id: gpio_9  
# Example usage in a light
light:
  - platform: monochromatic
    output: gpio_7
    name: "Kitchen Light 1"
  - platform: monochromatic
    output: gpio_8
    name: "Kitchen Light 2"
  - platform: monochromatic
    output: gpio_9
    name: "Kitchen Light 3"

  - platform: neopixelbus
    type: GRB
    variant: WS2812
    pin: GPIO48
    num_leds: 1
    name: "NeoPixel Light"

sensor:
  - platform: dht
    pin: 20
    temperature:
      name: "Temp-1"
    humidity:
      name: "Hum-1"
    update_interval: 5s
  - platform: dht
    pin: 21
    temperature:
      name: "Temp-2"
    humidity:
      name: "Hum-2"
    update_interval: 5s
  - platform: dht
    pin: 47
    temperature:
      name: "Temp-3"
    humidity:
      name: "Hum"
    update_interval: 5s
  - platform: dht
    model: DHT22_TYPE2
    pin: 38
    temperature:
      name: "Temp-4"
    humidity:
      name: "Hum-4"
    update_interval: 5s
  1. Aby znaleźć lekarstwo najpierw trzeba postawić jakąś diagnozę, a aby to zrobić należy zbadać pacjenta :stuck_out_tongue:
    Restart HA z pewnością nic nie da, jeśli coś się wali wewnątrz softu pracującego w ESP, a HA nic do niego nie wysyła, to jego restart nie może pomóc, próbowałeś resetowania ESP przez odłączenie jego zasilania?
    Czy może efekt przejścia generujesz w HA zamiast w ESP? (w tym wypadku podejrzana byłaby np. komunikacja WiFi, o której wczoraj(?) wspominałeś, że nie działa u Cienie jak należy), no ale ESPHome umożliwia definiowanie efektu przejścia (czasu ściemnienia), więc nie ma potrzeby tego robić w HA.

  2. sprawdź logi gdy jest OK i gdy jest źle, jeśli nie będzie widać różnic możesz podnieść poziom logowania na wyższy (z debug na verbose)

# Enable logging
logger:
  level: VERBOSE
#  level: DEBUG
  1. Jeśli nadal nic nie widać, to wywal/zakomentuj te wszystkie integracje dht (może używają przerwań?), a w kolejnym kroku testów też ledc, tak sobie przypomniałem o warningu na GPIO3 - sugeruję to GPIO wykorzystać w innym celu niż dla kontaktronu (teoretycznie nie powinno być problemów z tego powodu, ale jednak bym zmienił - im konfiguracja mniej odstaje od zalecanej tym lepiej, a im większa komplikacja i użyty coraz szerszy wachlarz różnych komponentów tym trudniej znaleźć potencjalne konflikty między nimi - zasoby MCU są współdzielone, więc wątki dedykowane dla tych stosunkowo świeżych wypustów Espressifa uzupełniłem o pełną dokumentację MCU i tak, wiem, że te pdfy są “grubości encyklopedii” i sam czytałem je dość wyrywkowo, ale przy projektowaniu urządzenia, które zawiera “mydło i powidło” trzeba się z nią zapoznać choćby “po łebkach” - najważniejsze fragmenty są w nich wręcz wyróżnione kolorem).

  2. W sumie w ramach eksperymentów możesz zmienić platformę z neopixel na RMT (wykorzystuje ona trik z używaniem sprzętowo wspomaganych układów sterowania nadajnikami pilotów)
    ESP32 RMT LED Strip — ESPHome
    Swoją drogą neopixel też już wspiera tą metodę, tylko trzeba ją jawnie podać
    NeoPixelBus Light — ESPHome

  3. W sumie to interesujące jest jak zasilasz peryferia? (bo np. tanie płytki prototypowe mają dramatyczną konstrukcję stabilizatora, więc wypada do zasilania całej reszty użyć własnego AMS1117 3.3 podkradając do jego zasilenia np. 5V z wyjścia “5Vout”)

1 polubienie