Klimatyzacja HAIER - jak zintegrować z HA

Dzięki. Już jestem krok dalej. Wgrałem oprogramowanie na ESP. Widzę go Online, ale nie mam żadnych danych z Haiera. Jak mogę sprawdzić czy jest komunikacja pomiędzy ESP a Haierem? Wgrałem konfiga zrobionego na podstawie pliku zebaczpl. Widzę poziom sygnału z Wifi, ale nic więcej… Mam płytkę D1 Mini V2 WIFI ESP8266 i klimatyzator ścienny Haier Flexis Plus AS25S2SF1FA-CW.

Przecież o tym pisałem wyżej, albo odetnij UART od mostka USB (w sumie powinno wystarczyć wylutować 1 rezystor SMD), albo zdefiniuj serial na innych pinach niż GPIO1/GPIO3 (bo te są podpięte akurat do mostka USB który uniemożliwia pracę).
Tam masz opis jak i dlaczego, jeśli zakombinujesz jak nie zasilać mostka, to może wystarczy.
Optymalny do konstrukcji wykorzystujących tylko i wyłącznie serial jest najuboższy moduł ESP-01s (bo on jest do tego dedykowany).

OK zmieniłem i przelutowałem przewody. Konfig:

esphome:

  name: h
  friendly_name: H
 esp8266:
  board: d1_mini_lite
# Enable logging
 logger:
    baud_rate: 0 #Disable UART logging for ESP8266

uart:
    rx_pin: GPIO5
    tx_pin: GPIO4
    baud_rate: 9600
    id: ac_port
climate:
    platform: haier
    name: Haier AC
    uart_id: ac_port
    supported_swing_modes:
      - VERTICAL
      - HORIZONTAL
      - BOTH
sensor:
    platform: wifi_signal
    name: “WiFi Signal Salon”
    update_interval: 20s

Niestety nie działa. W urządzeniach mam coś takiego jak na załączonym printscreenie

Poniżej masz przykład wersji lokalnej, bezapkowej, bezchmurnej i przez to chyba bardziej wygodnej, z użyciem protokołu SmartAir2. I śmiga z Flexis PLUS.

esphome:

  name: ac-salon-sa2

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 Salon 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: smartAir2
# Same climate name as in your current configs
    name: AC Salon
    uart_id: ac_port

switch:
  - platform: template
    id: haier_climate_display_switch
    name: AC Salon 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_health_mode
    name: AC Salon Tryb HEALTH
    icon: mdi:leaf
    restore_state: yes
    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 AC Salon

sensor:
  - platform: wifi_signal
    name: AC Salon WiFi Signal
    update_interval: 30s

1 polubienie

@Krzysiek_Wesoły
Co jest w logach?
Nie wszystko ze wszystkim jest kompatybilne, ale jak widzisz w poście wyżej platforma haier jest jeszcze w trakcie rozwoju (możesz sobie skorzystać z wersji deweloperskiej)

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

skorzystaj też z innych patentów z kodu @Krzysztonek

Oczywiście bieżący RX ESP (GPIO5=D1) połączyłeś z TX klimy, a TX (4=D2) z RX?
Dysponujesz choćby mostkiem UART na USB abyś mógł podsłuchać czy jest jakakolwiek komunikacja?
Możesz włączyć logger (skasować lub zakomentować baud_rate: 0) to wtedy będziesz miał logi z ESP dostępne też po USB (ale tam jest to samo co kanałem OTA - po WiFi, jedyna różnica to log z bootowania)

Ja mam tak:


  • czerwony - 5V
  • czarny - GND
  • biały - TX
  • zielony - RX

Widzę, że masz podpięty przewód do pinów GPIO1/GPIO3. Jeżeli dobrze rozumiem, to zgodnie z sugetią szopena to nie powinno działać, chyba, że masz odcięty UART od USB?

Na różnych płytkach są montowane różne mostki USB (a D1 mini i pozostałe konstrukcje WeMos’a mają klonów od groma), w większości wypadków uniemożliwiają one równoczesne wykorzystanie UART dwukierunkowo.
Być może w tym wypadku akurat jest wlutowana wersja nie podnosząca do zasilania (jako mocny pullup) jednego z użytych pinów (wśród koło 10 odmian CH340 jest jedna, która tego nie robi, jeśli chodzi o inne mostki nie analizowałem sytuacji).

Jeśli umiesz sobie zdiagnozować sytuację, to możesz robić co chcesz.
Jeśli nie masz warunków do tego, to sugeruję użyć moduł bez mostka USB.
(co nie znaczy, że się uda)

Aktualizacja (dzisiejsza) ESPHome do 2023.7.0 wprowadza zmiany o których mowa była wcześniej (można już nie załączać wersji dev)

odpowiednie zmiany są już w dokumentacji

Jeszcze raz uprzedzam że podłączanie ESP32 do płyty głównej wiąże się z pewnym ryzykiem.

Niestety u mnie na razie skończyło się słabo - płyta żyje :wink: ale 8266 i ESP32 zdechł.

Efekt był taki - zrobiłem układ jaki działa mi w 4 klimatyzatorach na ESP8266 - nie było żadnej komunikacji z płytą, no to pomyślałem że przejdę na ESP32 (nowe modele z USB-C) - po zamontowaniu wywaliło mi bezpiecznik ale co dziwne nie na płycie głównej, ale w rozdzielni - 10A chyba (różnicówki nie ruszyło). Postanowiłem zaprzestać eksperymentów, ale po 2 dniach stwierdziłem że jednak by się to przydało - podłączyłem stary moduł na 8266 który wcześniej działał ale nic nie raportował - znowu ten sam bezpiecznik wywaliło. Stwierdziłem chwilowo, że mojego szczęście nie należy sprawdzać po raz trzeci i zacząłem eksperymenty z IR.
Moduł 8266 po tych zabawach działa ale tylko chwilę - udało się go zaprogramować, ale po chwili się nagrzewa i komunikacja z nim zdycha.

Może ktoś jest w stanie wytłumaczyć co się stało - czyżby jakiś rezystor pullup czy co - testowałem oba moduły na zasilaczu laboratoryjnym - z tego co pamiętam to ESP32 bierze mniej niż 8266.

Post został podzielony na nowy temat: Haier + Tasmota IR

Sprawa bezpiecznika wygląda jak elektryczne voo-doo, ale nie opisałeś żadnych konkretów, więc chyba nie ma szans na jakiekolwiek pomysły.

Sprawa przegrzewania się i ewentualnie uszkodzenia ESP może wynikać z logiki 5V na płycie głównej i logiki 3V3 w ESP, dopasowanie poziomów można zrealizować wieloma metodami (w tym najprościej stosując dzielnik napięcia z rezystorów oraz ewentualnie przesuwając poziomy napięć diodami, diody możesz też wykorzystać by uniemożliwić przepływ prądu wstecznego).

Róznicówka działa trochę inaczej i nie służy do zabezpieczania zwarć .

A jaki bezpiecznik jest w klimatyzacji nie większy ?

No i po aktualizacji ESPHome do wersji 2023.7.0 wszytko ruszyło z kopyta. Przelutowywałem kable chyba z 20 razy, definiowałem UART na różnych wejściach, różne gotowe konfiguracje i nic. Wystarczyła aktualizacja… Dzięki wszystkim za naprowadzenie na komponent Haier w ESPHome, za porady i poświęcony czas. Dla tych, którzy się ewentualnie będą pocić tak jak ja. Konfigurację wrzuciłem z tego poradnika

UART
rx_pin: GPIO5
tx_pin: GPIO4

1 polubienie

co do bezpiecznika - zastanawia mnie fakt wywalenia bezpiecznika w rozdzielni (230V). Na płycie w gnieździe wifi jest 5V, jeszcze takich czarów nie widziałem - fakt że teraz stosuje sie zasilanie oparte na zasilaczach impulsowych a ja na to chyba za głupi jestem ;-(

Na analize serwisówki jestem za cienki ale tam chyba słabiutko z zabezpieczeniami - zastanawiam się czy coś nie zdechło w procesorze.

Ale patrząc na schemat chyba nie powinno się nic uszkodzić ze względu na podłączenie modułu do zasilania na płycie.

Czy zastosowanie konwertera sygnałów logicznych mogłoby pomóc ??
A może podłączyć ESP-12F bo akurat mam ?

To nie jest gniazdo WiFi, sama oryginalna karta którą tam wtykasz to jest “serwer” uart. Zresztą tym samym jest ESP tam podłączany. Samo złącze jest złączem uart.
Nie ma nic dziwnego, że tam jest 5V - jakoś trzeba ten moduł zasilić.

Te dołączane ESP to skąd brały zasilanie?.. ok doczytałem.

Trudno powiedzieć, bo sam interface jest trochę dziwny - prawdopodobnie dostosowany do konstrukcji samego modułu wifi.
np. sygnał TX można dostosować do ESP przez dodanie opornika ok 2k pomiędzi Tx<>GND.
sygnał Rx przez transoptor.
Na razie tyle bo nie wiadomo czy sam pomysł Ci leży

Najbardziej dziwi mnie fakt, że w 4 mniejszych klimatyzatorach Heiko moduły działają poprawnie (inne płyty główne) - wszędzie wsadziłem 8266, a przecież oryginalny moduł wifi działa z wszystkimi 5-ma.

Może mniej prądu pobiera i zmieniła się wydajność zasilania na nowych płytach.
Inne wytłumaczenie to inny protokół, z którym karta sobie radzi a ESP już nie.
Jeśli to tylko problem sprzętowy to jeszcze można z tym sobie jakoś poradzić. Z softwerowym już nie (dopuki ktoś tego nie rozgryzie).

Datasheet MCU
https://www.renesas.com/us/en/document/dst/r8c2a-r8c2b-group-datasheet
on może pracować przy napięciu niższym niż 5V, ale ten fragmencik schematu, który wrzuciłeś sugeruje jednoznacznie, że jest to 5V.
Dedykowane porty UART w takim MCU mają zazwyczaj standardowe zabezpieczenia, a te kilka rezystorów powinno wystarczająco zabezpieczyć TX i RX nawet przed zwarciem do 5V lub GND.

Sprawa bezpieczników pozostaje nadal w sferze voo-doo (tzn. instalator, który montował klimę powinien zadbać o właściwe zabezpieczenie, a przynajmniej sprawdzić czy obecne spełnia wymagania sprzętu).

Jeśli zasiliłeś ESP z tego gniazda i nie spowodowałeś zwarcia w szczególności z czymś na zewnątrz, to nie ma sensownej przyczyny (zwarcie tych 5V do masy owszem może wywołać dziwne zachowanie, ale się do tego nie przyznałeś, nie wrzuciłeś też całego schematu, tylko kawałek więc nie mamy materiału do analizy).

W kwestii poboru prądu przez ESP, to jest ono uzależnione przede wszystkim od parametrów pracy WiFi - można obniżyć moc wypromieniowaną to nieco zmniejszy pobór prądu (jakkolwiek jest to pobór impulsowy).

Wiem że jestem na Twojej czarnej liście, ale jak byś miał chwilę, albo zrobił wyjątek, to napiisz jak posiadłeś taki ogrom wiedzy. Fajnie się czyta Twoje posty, i nie piję tu żebyś mnie z tej czarnej listy wypisał. Twoja to była decyzja, a czy słuszna czas pokaże.
PS i przepraszam wszystkich, że piszę nie na temat.