Klimatyzacja HAIER - jak zintegrować z HA

Wklej jak należy (to wtedy spróbuję to skompilować u siebie)

I jeszcze parę pytań

  • jaką masz płytkę?
  • czy to kiedykolwiek działało?
  • jaką masz wersję ESPHome?

edit - sprawdź czy teraz wkleiłeś poprawnie, bo to nie ma prawa działać (są nadmiarowe spacje)

koniecznie musisz to sprawdzić i jeszcze raz wkleić, bo jest totalny nadmiar błędów i nie mam tyle czasu by to pisać od nowa

dobra, widzę, że się nie doczekam, tu masz poprawioną wersję na tyle na ile potrzeba dla kompilacji, nie wiem czy to wystarczy do działania (usunąłem ponad 100 błędów składni, więc z nadmiaru roboty już nie wnikałem w dokumentację, ale linka masz już 2x to sobie porównaj każdą linijkę z dokumentacją)

edit2 - podejrzewam, że zamiast wkleić jak należy tylko usunąłeś znaki większości (używane przy formatowaniu cytowania) zamiast po prostu wkleić ze źródła poprawnie, bo jakoś nie wierzę, że w każdej linijce masz w swoim faktycznym YAMLu błędy.

substitutions:
  name: "dyktatornia"
  friendly_name: "dyktatornia"

esphome:
  name: ${name}
  friendly_name: ${friendly_name}


esp8266:
   board: esp01_1m
 
api:
  encryption:
    key: "ZLRXN86uBgdhZFSCFH93AYYOgpZ/986hS12/LeAXJVQ="
 

ota:
  - platform: esphome
    password: "89b9ed38506b6a26355c2b0f84854413"
   
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "dyktatornia Fallback Hotspot"
    password: "mojehasło"

captive_portal:

uart:
  - id: ac_port
    baud_rate: 9600
    tx_pin: 1
    rx_pin: 3
 
logger:
  level: DEBUG
  baud_rate: 0
 
web_server:
 
climate:
  - platform: haier
    id: haier_climate
    protocol: smartAir2
    name: dyktatornia
    uart_id: ac_port
 
    wifi_signal: true
 
    visual:
      temperature_step:
        target_temperature: 1
        current_temperature: 1
       
    supported_modes:
     - 'OFF'
     - HEAT_COOL
     - COOL
     - HEAT
     - DRY
     - FAN_ONLY
    supported_swing_modes:
     - 'OFF'
     - VERTICAL
     - HORIZONTAL
     - BOTH
    supported_presets:
     - COMFORT
     - BOOST

switch:
  - platform: template
    id: haier_climate_display_switch
    name: Dyktatornia Wyświetlacz
    icon: mdi:led-on
    entity_category: config
    restore_mode: "ALWAYS_OFF"
    lambda: |-
      return id(haier_climate).get_display_state();
    turn_on_action:
      climate.haier.display_on: haier_climate
    turn_off_action:
      climate.haier.display_off: haier_climate
  - platform: template
    id: haier_climate_health_mode
    name: Dyktatornia Tryb HEALTH
    icon: mdi:leaf
    restore_mode: "ALWAYS_OFF"
    lambda: |-
      return id(haier_climate).get_health_mode();
    turn_on_action:
      climate.haier.health_on: haier_climate
    turn_off_action:
      climate.haier.health_off: haier_climate
  - platform: restart
    name: Restart dyktatornia
 
sensor:
  - platform: wifi_signal
    name: Dyktatornia WiFi Signal
    update_interval: 30s

klucze które wkleiłem albo użyj (to nie są dane wrażliwe, ale jest głupio gdy każdy używa te same klucze) albo wymień na swoje, ale nie spieprz YAMLa przy wymianie

Jeśli chcesz ukrywać cokolwiek, to używaj takiej konstrukcji jak użyłem przy danych uwierzytelniających dla WiFi.

secrets-2025-05-13_15-48

a tam

# odkomentuj jeśli chcesz zasysać sekrety z HA
# !include ../secrets.yaml

wifi_ssid: jakistamSSID
wifi_pass: ijegohaslo


# reszta to też tylko przykłady, ale można podstawić praktycznie wszystko
# co podejrzewasz, że może być warte ukrycia
wifi_ssid_alternate: atuinnySSIDzhaslemzsamychcyferek
wifi_pass_alternate: "04684680468"

wifi_rcvr: "9876543210"

ota_pass: haslodlaOTA

web_username: 'uzytkownikGUIurzadzenia'
web_password: 'ijegohaslo'

przykład użycia

ota:
  - platform: esphome
    password: !secret ota_pass
   
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: !secret wifi_ssid_alternate
    password: !secret wifi_pass_alternate