Dumb Clima – sterowanie klimatyzacją GREE uniwersalnym pilotem Broadlink RM4 Pro

Chcę przedstawić rozwiązanie, nad którym trochę dumałem bo mnie wkurzał brak możliwości sterowania z HA klimatyzacją w domu. Klima oczywiście z gatunku Dumb :smiley:
Trochę się z tym męczyłem bo nie mogłem zakumać na jakiej zasadzie działa sterowanie klimą. Pilot od klimy prosty jak drut.
ON/OFF, plus i minus do ustawiania temperatury, przycisk od trybu pracy i od wentylatora. image

Metodą wieeeelu prób doszedłem dotego jak to działa. A więc włączamy klimę, ustawiamy temp. i chcemy zmienić temp o 1 stopień. Naciskamy + i w tym momencie nie jest wysyłany sygnał przycisku tylko stan wszystkich ustawień pilota. Jeśli nauczymy HA tego kodu to niezależnie od tego co mamy w danym momencie ustawione na klimatyzacji to po wysłaniu tego plusika + klima ustawi się w stan zapamiętany kodem. Stanowi to problem jeśli chcemy płynnie sterować klimatyzacją z panelu HA. Z drugiej strony to może być ekstra przy tworzeniu automatyzacji typu. Lato + temp. wysoka + zamknięte okna = włącz klimę na np. 24 stopnie.

Wymyśliłem więc prosty uniwersalny pilot na dashboard. Pokazuję na nim temp. w domu i na zewnątrz, włącznik i wcześniej zdefiniowane ustawienia dla chłodzenia (z lewej) i grzania (prawa strona)

Teraz po kolei przedstawię kroki jak to osiągnąć.

Podsumowanie

1. Zapewniamy sobie dostęp do katalogu:

\192.168.XX.xxx\config.storage\

Czyli instalujemy dodatek Samba share i konfigurujemy go w Supervisor’ze
Jak wkleisz na kompie w eksploratorze całą ścieżkę \\192.168.XX.XXX\config.storage\ (oczywiście po wpisaniu poprawnego IP swojego HA, to jesteś w domu).
image

2. Tworzymy skrypty do sczytywania kodów

Wchodzimy do: Konfiguracja → Skrypty → Dodaj skrypt
i możemy wpisać jak na screenach (na czerwono zaznaczyłem na co zwrócić uwagę)
image

image

Jak widać na powyższym obrazku definiujemy to co skrypt ma zrobić. Ma uczyć pilota poleceń (command) dla danego urządzenia (device).
Można wskazać jedno konkretne polecenie, można też podać całą listę kodów, która nas interesują).

Po zapisaniu i kliknięciu na: Uruchom skrypt pojawi się info w powiadomieniach, i to jest czas, żeby nacisnąć przycisk na pilocie. Sprawdzamy w powiadomieniach jakiego kodu chce, kierujemy na Broadlinka wciskamy i tak z każdym kodem aż sczytamy wszystkie.

image

image

Po sczytaniu wszystkich kodów z danego pilota, wchodzimy w lokalizację:

\\192.168.XX.XXX\config.storage\

Znajdujemy plik w stylu: broadlink_remote_YOUR_MAC_codes listujemy sobie go i wewnątrz mamy coś takiego:
image

3. Tworzym przełączniki
W configuration.yaml dodajemy wpis:
image

Nastęnie tworzymy plik switch.yaml i w nim wklejamy:
image

Zrzut mojego pliku: switch.zip (1,2 KB)

Ciąg znaków, który podajemy w command_on i command_off znajdujemy w pliku broadlink_remote_24dfa7xxxxxx_codes.

Uwaga. Podajemy ten sam kod dla comand_on i off .
Po restarcie HA switche pojawią się jako encje.

image

Taka dygresja. Jak sobie napaskudzisz i sczytasz miliard kodów to one będą cały czas leżały w pliku broadlink_remote_24dfa7xxxxxx_codes. Warto sobie zrobić porządek i wywalić niepotrzebne kody. Robimy to analogicznie jak w punkcie 2 , z tym, że wybieramy Pilot: delete_command. Wyzwalamy skrypt i po chwili niepotrzebne kody znikają.

image

4. Robimy sterowanie:
Zainstaluj dodatek button-card i hui-element (ja dodawałem przez repozytorium w HACS)
Następnie: Edytuj dasboard → dodaj kartę → Edytor konfiguracji Yaml

I wklej poniższy kod (po wklejeniu zmień wszystkie entity na właściwe):
image

kod karty:
karta.zip (595 bajtów)

Na koniec. Broadlink RM4 Pro to model dokładnie taki:
BroadLink RM Pro+ - centrala sterująca - Botland - Sklep dla robotyków

do niego mam kabel rozszerzający możliwości pilota i będący jednocześnie czujnikiem temperatury i wilgotności (z niego jest temp na górze pilota)
Czujnik temperatury i wilgotności dla pilota Botland - Sklep dla robotyków

Oczywiście można wybrać tańszy model, ja wybrałem jednak ten, gdyż ma możliwość sterowania nie tylko po IR ale także RF. Na tą chwilę mam wzmacniacz audio, który ma sterowanie właśnie po RF, w przszłości pewnie jeszcze coś się znajdzie. Poza tym umiejscowiony centralnie w domu załatwia sterowanie klimą, dekoderem, TV, projektorem i audio. Czymś jeszcze ale nie pamiętam :slight_smile:

3 Likes

Nakląłem się trochę bo autor delikatnie poszedł na skróty a dwa zmieniła się szata graficzna HA.
Drogą eliminacji doszedłem że :

  • metody z z bloga na literke “H” nie działają ( posiadam RM4CMini),
  • zostało pominięte jak nadać IP Broadlinkowi (ok).

Wklejam wycinek z mojego komputera jak wygląda ekran skryptu do uczenia się.
Device - musimy wkopiować sobie nazwę jak się nasz odbiornik nazywa oraz wybieramy encję ( ten zielony przycisk z lewej strony) Echhhh.

Właściwa ścieżka - bynajmniej u mnie to :
\config.storage

CD…
Ponieważ udało mi się tego dokonać czyli “nauczyć” HA sterowania klimą dzięki temu postowi dopiszę od siebie jak sobie to trochę ułatwić.
Na samym początku mi to nie szło - klima nie reagowała na Broadlinka.
Ja potrzebowałem tylko funkcję wentylacji i załączenia chłodzenia więc nie “uczyłem” wszystkich kodów.
Aby ta “nauka” szła postawiłem pilota obok klimy ( zasilanie dostał z Power Banku) , plik z kodami otworzyłem programem Notepad++ ( program za każdym razem odświeża sobie zawartość gdy wpada nowy kod ) i po kolei generowałem kody z pilota które były mi potrzebne. Dzięki tej metodzie poszło dość szybko bo widziałem reakcję klimy a i właściwa sekwencja wpadała do pliku.

Jedynie czego mi brakuje to pomimo tego iż poszczególne kody widoczne są jako przełącznik to nie można ich użyć w automatyzacji ( czyli włącz mi klimę a potem albo tryb wentylacji albo chłodzenia )- albo Ja jeszcze tego nie rozgryzłem.

1 Like

A może da się to ogarnąć na skryptach:

  • pierwszy skrypt: włącz klimę, odczekaj 1 sekundę (opoźnienie), włącz tryb wentylacji
  • drugi skrypt: włącz klimę, odczekaj 1 sekundę (opoźnienie), włącz tryb chłodzenia

Wtedy w automatyzacji mozesz użyć tych skryptów.

Wyjaśnię :slight_smile: pomimo że widać te przełączniki jako switche to HA ich nie widzi w automatyzacji - nie można ich wybrać z listy Urządzeń. Tak jest bynajmniej u mnie.

Raczej chodzilo mi o to (z dokumentacji Broadlink - Home Assistant):
After learning IR and RF codes with the remote.learn_command service, you can use remote.send_command to send them. You can also use this service to send base64 codes taken from elsewhere.

Sending a sequence of base64 codes

You can send a sequence of base64 codes just like normal commands:

# Example configuration.yaml entry
script:
  turn_on_ac:
    sequence:
      - service: remote.send_command
        target:
          entity_id: remote.bedroom
        data:
          command:
            - b64:JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
            - b64:JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=

Masz nawet Twój przykład :slight_smile:

  • pierwszy command to napewno włącz klimę,
  • drugi command to jakieś ustawienie klimy.

To co klikasz z pilota, musisz wyklikać w skrypcie, problemem może być weryfikacja czy klima już działa.

Aaaa - OK. Przy okazji sobie sprawdzę. THX :slight_smile:
Czy klima działa to nie jest problem - sprawdzam warunek poboru mocy bo mam ją wpiętą do wtyczki.