Kimatyzacja HAIER - jak zintegrować z HA

Dziękuję @szopen za Twoje słuszne i cenne uwagi. Jak to miło posłuchać mądrych ludzi!.
Oczywiście masz rację, nie każde urządzenie ESP musi być dodane ręcznie. Powinienem był sformułować to zdanie inaczej: Tymczasem okazało się, że każde moje urządzenie Haier musi być dodane, integrowane i konfigurowane osobno i ręcznie. Chodzi tu bowiem rzeczywiście o projekt mocno odbiegający od standardu, korzystający ze specyficznego protokołu Haiera. Okazuje się ponadto, że nawet same protokoły Haier też się między sobą różnią, w zależności od modelu urządzenia, o czym wspomniałem tutaj.
Jestem wciąż nowicjuszem w temacie ESP i faktycznie, nie wszystko jest jeszcze dla mnie tu tak klarowne. Ale chętnie chłonę wiedzę, zwłaszcza pochodzącą od ekspertów w swojej dziedzinie, czyli - jak wspomniałem - miło jest słuchać mądrych ludzi :slight_smile: .
Przy okazji: jeden z moich Haierów okazał się być krnąbrny na tyle, że używa nieco innego protokołu, niż 3 pozostałe, które już ogarnąłem. Trochę inny, bardziej rozbudowany model i już całkiem inny protokół. Muszę zatem przy użyciu pilota wykonać jakąś inżynierię odwrotną aby na podstawie jej wyników odpowiednio zmodyfikować firmawe dostosowując go do specyfiki tego protokołu. Czy istnieje jakiś tool, który umiałby zaczytywać z Wifi wartości bajtów sterujących wysyłanych i odbieranych przez płytkę Wemos w trakcie manupulowania funkcjami i ustawieniami pilota do obsługi urządzenia, dodając przy tym stempel czasu? Czy też pozostaje tylko żmudna obserwacja i zbieranie logów z węzła ESPHome a potem mozolne ich porównywanie?

Witajcie, to mój pierwszy post na forum i od razu spieszę z pytaniem. Posiadam od niedawna klimatyzator Haier Flexis Plus i chciałbym go zintegrować z HA. Proszę o info znawców tematu czy udało się poskromić protokół komunikacyjny w tejże jednostce? Słowem nie jestem programistą i raczej będę grzecznie prosił o gotowe pliki i pomoc w konfiguracji.
Pozdrawiam

Cześć @Adam_84

Temat integracji Flexis nie jest jeszcze ukończony. Dotychczas, z dużą pomocą @szopen’a udało mi się w całości ogarnąć model Haier Tundra, który hula na HA aż miło popatrzeć :slight_smile: Ale Haier Flexis jest modelem znacznie bardziej złożonym (skoro go masz, to wiesz dlaczego), a sam protokół Haier jest mocno niestandardowy.

Proponuję abyś przede wszystkim przejrzał powyższą serię postów w tym temacie.
Będziesz potrzebował modułu ESP (np. WeMos) do wpięcia go w port USB splitu klimy wiszącej na Twojej ścianie.

Na moduł ESP trzeba będzie wgrać firmware, ale ten jeszcze nie jest w pełni gotowy. Na GitHub koresponduję w tej kwestii z pewną miłą Hiszpanką, która obiecała wsparcie w stworzeniu odpowiedniego kodu firmware właściwego dla tego właśnie modelu klimy. Udało mi się dotychczas rozkodować wszystkie rozkazy i przełożyć je na określone wartości odpowiednich bajtów sterujących ale teraz trzeba to wszystko zebrać do kupy i jakoś zapisać do pliku *.h potrzebnego do kompilacji ostatecznej wersji firmware, w czym ja (chyba podobnie jak Ty) niestety nie jestem specjalistą :confused: Pozostaje Ci więc tylko uprzejmie wpiąć się w wątek na GitHub i cierpliwie czekać na jego finał :slight_smile:

1 Like

Witam ponownie, trochę mnie nie było bo czekałem na moduł i trochę studiowałem wcześniejsze wpisy. Teraz trochę lutowania i oczekiwanie na pomyślne rozwiązanie… :wink:

A nie prościej zrobić to np na Broadlinku?

Jak zwykle piszecie po japońsku… ;))))

Zakładam:

  1. Po zainstalowaniu ESPHome podpinam moduł ESP do RASP na którym jest HA.
  2. W ESPHome klikam +new device, nadaję mu jakąś nazwę (np. haier) i podpinam do sieci WiFi.
  3. Wybieram port pod którym ESP jest podłączone do RASP i klikam Connect.
  4. Tu powinno się pokazać coś…
    W zamian pojawia się to:

Installation

Failed to initialize. Try resetting your device or holding the BOOT button while selecting your serial port until it starts preparing the installation.

Niezależnie jak bardzo naciskam ten boot button, to wynik ten sam.
Dlaczego ten świat mnie tak nie lubi???

Ad 1. można w ten sposób

Ad 2. metod na tworzenie urządzenia jest obecnie przynajmniej kilka, ale każda wymaga kompilacji więc pominąłeś “milion późniejszych kroków”, więc chyba pomieszałeś klika metod - taką najstarszą oczywiście nie połączysz niczego do WiFi jeśli najpierw nie przygotujesz działającego softu, nie skompilujesz go i nie sflaszujesz modułu.

Ad 3. i 4

A jaki masz moduł?
Jeśli np. ESP-01 albo ESP-01s (lub wiele innych bez elektroniki umożliwiającej flashowanie plug&play) to GPIO0 do masy tymczasowo podpięte?

Może kiedyś zrobię z tego jakiś bardziej uniwersalny tutorialik (no nie czuję się na siłach bo metod jest więcej niż mam wolnego czasu), ale powinieneś zacząć jakoś analogicznie jak tam opisałem

Ad 2. Klikam w ESPHome +new device i w następnym kroku prosi mnie na jednej formatce o podanie nazwy nowego urządzenia oraz SID sieci wifi oraz hasło do wspomnianej. To nazwałem "podpięciem do Wifi. Po tym kroku wyświetla mi się port com3 (jedyny), zaznaczam go i klikam connect. Tu nie ma żadnych ew. kroków do pominięcia.
Ad3,4 - ESP8266.

A to tworzy tylko wpis w pliku secrets.yaml (w GUI ESPHome to u góry po prawej z ikoną kłódki), który jest załączony w konfiguracji każdego urządzenia.

To jest Windows? Czyli twój HA to maszyna wirtualna? Udostępniłeś port mostka USB-UART w wirtualizatorze?
Czy po prostu ESPHome sobie pod windowsem zainstalowałeś? (moim zdaniem najwygodniej mieć go jako Addona do HA, no ale wiadomo - możliwych metod jest wiele)

W tym wypadku raczej będzie prościej użyć komputera, z którego oglądasz interfejs HA/ESPHome i tego kreatora ESPHome-web (który mi się tak radykalnie nie podoba).

W tej chwili siedzę w takim miejscu (że tak ujmę w czarnej d…), że prędkość internetu nie pozwala mi nawet na podpięcie się do HA w domu - skorzystaj z tego co przygotowałem w tamtym wątku o Kincony.

Ale jaki moduł? Inne popularne oprócz ESP-01 i ESP-01s (które są popularne w takich zastosowaniach ze względu na swoje wymiary i właściwie dostępny na GPIO tylko UART), ale inne popularne to np. Wemos D1 mini lub jego podróbki, czy NodeMCU 1.0 i jego klony.
Zrób fotę i wrzuć do posta to będzie najłatwiej poznać co masz.

Tu masz przykładowy spis obsługiwanych modułów opartych na MCU ESP8266

(oczywiście można użyć jakiegoś generic, nawet jeśli nie ma go na w/w liście, ale musisz umieć go obsługiwać)

Nie, HA jest na RASP.
ESP Home jest jako addon do HA.
Moduł ESP jest podpięty bezpośrednio do RASP, choć obsługę HA mam poprzez komputer z windows.

No to skąd ten com3? jeśli podepniesz mostek USB-UART do RPi to dostanie on jakiś adres typowy dla linuxa (coś w guście ttyUSB0).
(tak swoją drogą nawet na RPi można zainstalować HA na kilka radykalnie różnych sposobów, ale zakładam, że to HAOS generic dla RPi)

Tu masz przykład jak rozpoznać urządzenie USB pod linuxem

a generalnie to poszukaj frazy usb albo tty tam gdzie jest sprzęt w ustawieniach HA po kliknięciu w wyświetlanie całości sprzętu.

Swoją drogą w GUI ESPHome rozpoznane urządzenia podpięte lokalnie do USB (mostki UART) będą wyświetlone w odpowiednim miejscu, ale jak pisałem wcześniej - dzisiaj nie jestem w stanie ani podać konkretnych opisów prowadzących za rączkę, ani zrobić przykładowego screenshota, więc to Ty musisz się tym zająć.


A teraz stawiamy zagadnienie “na głowie” czy “do góry nogami”:

Wstępne flashowanie możesz zrobić kreatorem ESPHome-web, ale wtedy musisz sprzęt (ESP wraz z mostkiem USB-UART, nie wiem jaki masz moduł, więc piszę to dość ogólnie) podpiąć do tego kompa z windowsem (oczywiście sterowniki dla mostka mogą być potrzebne, nie wiem co masz, może np. CP2102 albo CH340 więc nie podam konkretów, ale nie każdy mostek ma wbudowane stery w windows).

No to skąd ten com3? jeśli podepniesz mostek USB-UART do RPi to dostanie on jakiś adres typowy dla linuxa (coś w guście ttyUSB0 ).

Ano stąd, że nie podpiąłem się do RASP poprzez lokalny adres, tylko przez serwer nabu Casa. Byłem więc w chmurze a nie na RASP.

To już za mną, widzę mój ESP.

Ale pytałem o port szeregowy, a nie o to którędy się połączyłeś z interfejsem webowym (GUI).

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 Like

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.

1 Like