Problem z ESP (D1 mini)

Witam, mam problem z moim esp. Zrobiłem sobie prosty sterowniczek do pieca i ogólnie działa tylko problem w tym, że jak esp straci połączenie z siecią to załącza mi syrenę,
Jak to zmienić?
Podejrzewam, że problem jest w samym kodzie, a i jeszcze jedno. W kodzie jest AP ustawiony, ale nie mam takiej sieci (chciałem bezpośrednio wejść do esp).

esphome:
  name: piec
  friendly_name: piec

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "B+66w91YyExfSYO1cl/utqkQCxmR3fPvUfQgtyut475="

ota:
  password: "ad0f3fbf8ac915cd415c28ab84572584"

wifi:
  networks:
    ssid: "Bohkhbi1"
    password: "khkuvh1234512355"



  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Piec Fallback Hotspot"
    password: "nPd3W61S48541"

captive_portal:


# Enable Home Assistant API
i2c:
   sda: GPIO4
   scl: GPIO5

dallas:
  - pin: GPIO13


  
  
sensor:
  - platform: dallas
    address: 0xFA02189245736F28
    id: tempdallas
    name: "Temperatura Dallas"
    on_value_range:
        - above: 68 # Włączenie alarmu gdy osiągnie zadaną temeraturę
          then:
            - switch.turn_off: buzer
            - switch.turn_on: czerwona
  
        - below:  67 # Wyączenie alarmu gdy osiągnie zadaną temeraturę
          then:
            - switch.turn_on: buzer
            - switch.turn_on: czerwona
  
  
  
#    internal: true 
    
display:
  - platform: lcd_pcf8574
    dimensions: 16x2
    address: 0x27
    lambda: |-
       it.printf(0, 0, "Temperatura:%.1f", id(tempdallas).state);
       it.printf(0, 1, "Alarm   = >60.0:%.2f", id(tempdallas).state);

# DIOAD LED CZEROWNA OD ALARMU       
##output:
#  - platform: esp8266_pwm
#    id: led_alarm
#    pin: D4
    
switch:
  - platform: gpio
    pin: GPIO0
    name: "Alarm"
    id: buzer
    
    
  - platform: gpio
    pin: GPIO15
    name: "czerwona"
    id: czerwona
    
binary_sensor:
  - platform: gpio
    pin: GPIO16
    name: "Przycisk LED Alarm"
    on_press:
      then:
        - switch.toggle: buzer 

# Example configuration entry
status_led:
  pin: GPIO2 

Skomentuję tylko to - no niestety ESPHome tak nie działa jak sobie to wyobrażasz, ten AP jest uruchamiany tylko w jednej sytuacji - gdy urządzenie ESPHome nie może się połączyć ze skonfigurowaną siecią WiFi, wtedy wystawia własny AP w celach ratunkowo-konfiguracyjnych - możesz za jego pomocą dokonać zmiany ustawień głównego WiFi.


No dobra reszta też wymaga komentarza…
Jeśli musisz coś wyłączyć, by to faktycznie włączyć, to należy zastosować odwrócenie logiki elementu wykonawczego (GPIO wyjściowego) - to tak odnośnie brzęczyka.


Kolejna kwestia, to wykorzystanie stanów domyślnych po starcie urządzenia.

Pewne rzeczy można też nadpisać automatyzacją (ale nie jeśli ten pin zmienia stan w trakcie bootowania - wtedy nic nie pomoże)


Generalnie jeśli masz niewłaściwe stany wyjściowe w momencie bootowania, to należy zajrzeć do dokumentacji MCU, czy dany pin nie zachowuje się jakoś specyficznie w momencie bootowania.

Na początek nie musisz wcale kopać po pełnej dokumentacji ESP8266, która jest grubości sporej encyklopedii, wystarczy jakiś totalnie krótki bryk


No i ostatnia to debugowanie - gdy coś się zachowuje niezgodnie z oczekiwaniami, to należy podejrzeć stany w trakcie wykonywania programu, taką podstawową funkcjonalność daje logger.

Jeśli będę miał więcej czasu, to powrzucam linki do konkretnych miejsc w dokumentacji ESPHome. zrobione

PS Czemu wątek wstawiłeś w dziale Node Red skoro wszystko tu się odbywa wewnątrz firmware?

Funkcjonalność jakiej oczekujesz zapewnia inny komponent niż zapis AP, a mianowicie web_server: