Klimatyzacja HAIER - jak zintegrować z HA

Wiem o co pytałeś.
Ale ten port szeregowy pokazał się właśnie dlatego, że łączyłem się przez chmurę.
Połączenie lokalnie uruchomiło zupełnie inną ścieżkę i tu nie było już żadnych kłopotów.

Zatem nauczka - jeśli używasz ESP, to łącz się lokalnie.

Przy okazji. Wszystko się ładnie powiodło i sterowanie klimatyzatorem działa pięknie… z jednym wyjątkiem. Zawsze pokazuje stan włączony (ściślej “cool”), niezależnie od tego, czy jest włączony, czy wyłączony. Wyłączenie klimy z poziomu HA fizycznie działa - ale encja pokazuje niezmiennie “cool”. Po zmianie tego stanu na sztywno w narzędziach deweloperskich - po kilku sekundach wraca do “cool”, zatem jak sądzę taki właśnie stan czyta z klimatyzatora. Ktoś wie jak to poprawić?

Hmm coś w tym może być, zdalnie łączę się za pośrednictwem VPN (więc działa normalnie, jak w LAN), a nie chmury, więc nie mam w tym względzie praktyki (nie czuję potrzeby innego rodzaju połączenia zdalnego, skoro jeden VPN mam zbackupowany innym VPNem :stuck_out_tongue: ).

Wciąż mnie to jednak intryguje jakim cudem pod linuxem widziałeś windowsowy port szeregowy…

Magia… ;)))

Przecież wybrałeś opcję połączenia ESP z komputerem, z którego widzisz dashboard (“this computer”), a nie do tego na którym on pracuje (“running dashboard”)…

Nie ma żadnego wyboru. Taki wybór pojawia się jak pracujesz lokalnie, możesz wskazać czy do RASP. czy do komputera, czy przez WiFi.

Jeśli połączysz się przez chmurę nabu casa, to od razu pyta Cię o COM. Sprawdź.
Choć może szkoda na to czasu… :wink: Podłączysz się lokalnie - wszystko gra.
Może lepiej zastanowić się dlaczego nie pokazuje stanu “off”? ;)))

1 polubienie

Nie mam ich chmury, przy używanych u mnie rozwiązaniach VPN praca lokalna i zdalna działa identycznie.
Kończę OFFTOPIC

W kwestii klimy musi pomóc ktoś, kto ma podobny sprzęt lub miał podobny problem.

Witajcie ponownie! Znalazłem wreszcie możliwość sterowania swoją klimatyzacją. Odsyłam do strony:

https://github.com/gvigroux/hon

Działa poprzez chmurę z którą łączy się oryginalna aplikacja Haiera czyli hOn. Z moim Flexis Plus działa dość dobrze, są najważniejsze funkcje z poziomu HA.

3 polubienia

Witam . Dodałem hOn do custom components , zalogowałem się ale widzę tylko swój adres email i nic więcej , żadnych urządzeń . Czy coś jeszcze należy wykonać ?

W tym wypadku jest to wczesna faza rozwoju komponentu niestandardowego, więc jedyne co mogę zasugerować, to ścisłą współpracę z jej autorem.

ok , dzięki za sugestie

to działa z hOn
gvigroux/hon (github.com)

Zainstalowana integracja , ale nie znajduje mi urządzenia

  1. Na aplikacji haiera znajduje?
  2. login i Hasło się zgadza?
    3 Jakie urządzenia?

tak , w aplikacji hOn normalnie działa , login i hasło poprawne urządzenie AS50TDMHRA-C

zmieniłem hasło , i zatrybiło

Potwierdzam działanie,
U mnie działa z modelami AS50S2SF1FA - BH

dziekuje za podesłanie linka do tej integracji,

Dzień dobry
Chciałbym wrócić do instalacji na ESP8266 oprogramowania przez ESPHome. W trakcie kompilacji wywala mi błąd i nie bardzo wiem jak sobie z tym poradzić. Bawię się na HA w wersji Home Assistant 2023.5.4 Supervisor 2023.07.1 Operating System 10.2.
1

Czasy się zmieniły, ten komponent niestandardowy jest prawdopodobnie już przestarzały i niewspierany przez autora (zawsze możesz skrobnąć issue), bo istnieje już komponent wbudowany w ESPHome

Działająca konfiguracja u mnie na 4 klimatyzatorach Heiko (Haier):

esphome:
  name: klima-salon
  friendly_name: klima-salon
esp8266:
  board: esp01_1m
# Enable Home Assistant API
api:
  encryption:

    key: "XXXXXXXXXXXXXXXX"
ota:
  password: "XXXXXXXXXXXXXXXX"

# Example configuration entry
web_server:
  port: 80
  version: 1

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.10.42
    gateway: 192.168.10.1
    subnet: 255.255.255.0
    dns1: 192.168.10.1

  # Enable fallback hotspot (captive portal) in case wifi connection fails

  ap:
    ssid: "Klima-Salon Fallback Hotspot"
    password: "XXXXXXXXXXXXXXXX"

captive_portal:

uart:
  baud_rate: 9600
  tx_pin: 1
  rx_pin: 3
  id: ac_port  

logger:

  level: DEBUG
  baud_rate: 0
climate:

  - platform: haier
    name: klima_salon
    uart_id: ac_port    

sensor:
  - platform: wifi_signal
    name: "WiFi Signal Salon"
    update_interval: 20s

switch:
  - platform: restart
    name: "Restart Salon Klima"

Warto zauważyć, że taki konfig zadziała na modułach bez wbudowanego mostka USB (np. na ESP-01s), D1 mini i inne ESP82xx z USB wymagają albo modyfikacji sprzętowej (odpięcia UART od mostka) albo zdefiniowania software’owego seriala.

Oj, i to bardzo…

Niedawno udało mi się całkowicie ogarnąć dwa różne modele Haier, jakie mam w domu.
Komunikacja z modelem TUNDRA odbywa się protokołem hOn, natomiast bardziej wyrafinowany sprzęt (np. Flexis, Flexis PLUS) wymaga protokołu SmartAir2. Doświadczalnie wykminiłem, że wybór protokołu NIE wiąże się absolutnie z wersją smartfonowej apki, która obsługiwała dotychczas dany model. (Np. TUNDRA obsługiwana jest apką SmartAir2, ale w integracji z HA wymaga protokołu hOn - trochę to niekonsekwentne…).

Poniżej zamieszczam przykładową konfigurację ESPHome z protokołem hOn:

esphome:
  name: ac-sypialnia-hon

esp8266:
  board: d1_mini_pro

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.1.xxx
    gateway: 192.168.1.yyy
    subnet: 255.255.255.0
  ap:
    ssid: "Haier Sypialnia Fallback Hotspot"
    password: !secret wifi_password

external_components:
  - source: github://esphome/esphome@dev
    components: [ haier ]

api:
  password: ""


ota:
  safe_mode: true
  password: ""

uart:
  - id: ac_port
    baud_rate: 9600
    tx_pin: 1
    rx_pin: 3

logger:
  level: DEBUG
  hardware_uart: UART1

web_server:

climate:
  - platform: haier
    id: haier_climate
    protocol: hOn
    name: AC Sypialnia
    uart_id: ac_port
    wifi_signal: true
    beeper: true
    outdoor_temperature:
      name: AC Sypialnia Temperatura Zewnętrzna


switch:
  - platform: template
    id: haier_climate_display_switch
    name: AC Sypialnia Wyświetlacz
    icon: mdi:led-on
    entity_category: config
    restore_state: yes
    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_beeper_switch
    entity_category: config
    name: AC Sypialnia Beep
    icon: mdi:volume-high
    restore_state: yes
    lambda: |-
      return id(haier_climate).get_beeper_state();
    turn_on_action:
      climate.haier.beeper_on: haier_climate
    turn_off_action:
      climate.haier.beeper_off: haier_climate

select:
  - platform: template
    id: haier_climate_horizontal_direction
    name: AC Sypialnia Nawiew Poziomy
    entity_category: config
    icon: mdi:arrow-expand-horizontal
    optimistic: true
    restore_value: true
    initial_option: Center
    options:
      - Max Left
      - Left
      - Center
      - Right
      - Max Right
    on_value:
      then:
        - climate.haier.set_horizontal_airflow:
           id: haier_climate
           horizontal_airflow: !lambda |-
             return esphome::haier::AirflowHorizontalDirection(i);
  - platform: template
    id: haier_climate_vertical_direction
    name: AC Sypialnia Nawiew Pionowy
    entity_category: config
    icon: mdi:arrow-expand-vertical
    optimistic: true
    restore_value: true
    initial_option: Center
    options:
      - Health Up
      - Max Up
      - Up
      - Center
      - Down
      - Health Down
    on_value:
      then:
        - climate.haier.set_vertical_airflow:
           id: haier_climate
           vertical_airflow: !lambda |-
             return esphome::haier::AirflowVerticalDirection(i);


# Funkcje dodatkowe
# AUTOdezynfekcja
button:
  - platform: template
    name: Haier Sypialnia Self Cleaning
    icon: mdi:spray-bottle
    on_press:
      - climate.haier.start_self_cleaning: haier_climate
# AUTOsterylizacja (funkcja dostępna w wybranych modelach od 2021 roku)
  - platform: template
    name: Haier Sypialnia Stericleaning
    icon: mdi:spray-bottle
    on_press:
      - climate.haier.start_steri_cleaning: haier_climate

text_sensor:
  - platform: template
    name: Haier Sypialnia Cleaning Status
    icon: mdi:spray-bottle
    lambda: return id(haier_climate).get_cleaning_status_text();

Ta konfiguracja odsłania także przydatną funkcję dezynfekcji urządzenia (self-cleaning).