Integracja z Midea AC

Tak ale ten IR jest wykorzystywany do pobierania informacji z pilota (temp i wilgotność). Jeśli posiadam te informacje z innej integracji, to IR nie jest mi dodatkowo potrzebny. Zamówiłem jeszcze nowe wtyki USB. Te które mam, to przerobione starocie. Myślę także o usunięciu gniazda USB i podłączeniu się bezpośrednio do płyty wyświetlacza.

1 polubienie

No tak, to informacja potrzebna jedynie do funkcji Follow me. Ale przyznam, że pilot u mnie przydaje się, bo nie zawsze mam przy sobie telefon i czasem bliżej jest do pilota. Poza tym nie wszystko obsłużysz z HA, pilot ma trochę więcej funkcji (przynajmniej w moim Kaisai). Ale nie widzę powodu, żeby usunięcie pośredniej wtyczki USB miało wykastrować urządzenie z IR.

BTW: Ktoś ma podobny problem do Twojego: Support for Midea A/C - #407 by Farnsworth - ESPHome - Home Assistant Community
śledź wątek, może padnie rozwiązanie

Dziękuję Piotrze. Fakt gość ma dokładnie ten sam problem. Podał nawet rozwiązanie w postaci wadliwego konwertera TTL. Mam jeszcze dwa, więc zamienię i dam znać.

PS.
Zmiana konwertera nie pomogła. Dodawałem też bibliotekę zewnętrzną dla software UART. Niestety dalej nie działało.
Zakupiłem ESP 01S zamiast wemosa mini, podłączyłem kable i integracja funkcjonuje po 10 minutach pracy. Nie polecam w takim razie rozwiązania z wemosem.
Zauważyłem jednak, że nie wszystkie funkcje działają jak powinny. Nie potrafię przykładowo wybrać funkcji ECO, wyłączyć wyświetlacza, zmienić kierunek nawiewów.

Kierunek nawiewu mogę zmienić tu:


Eco nie używam, natomiast wyświetlaczem rzeczywiście nie da się sterować z tej integracji. Ja rozwiązałem to inaczej - mam Broadlinka RM mini i nim wyłączam wyświetlacz, a także steruję paroma innymi funkcjami, których nie ma w integracji.

A czy możesz ustawić tryb Silence?

Widzę, że gdy wybieram tryb nawiewu ‘silent’, automatycznie zmienia mi na ‘low’.

W tej Midea integracji z esphome mozna wysylac przez IR dane follow me wiec temperature ktora mierzy pilot - tylko w tym przypadku mozemy wyslac temperature z encji HA - np mierzymy temp w korytarzu (albo lepiej srednia z ostatnich 15 min czy godziny) - tutaj polecam sie pobawic, jedyny dongle jaki to potrafi to ten od goscia ktory to napial - niestety jest z Rosji wiec paczka moze dlugo isc albo wcale nie dojsc z racji na sytuacje miedzynarodowa.

Chciałbym się przywitać bo to mój pierwszy post na tym forum. Czytam od dawna i dużo się nauczyłem.

Czy na tym zdjęciu z 24 stycznia jest zwykły kabel USB podłączony do adaptera czy też jest to jakiś kabel z konwerterem USB do UART? Nie jestem pewien co jest potrzebne :frowning:

@myrcin
Masz na myśli tego posta
https://forum.arturhome.pl/t/integracja-z-midea-ac/1850/127

A oglądałeś schemat?

To jest ucięty kabel USB, ale z USB to ma tyle wspólnego, że w klimie jest gniazdo USB, służące do wyprowadzenia portu szeregowego (zwykłego RS’a, to nie jest żadne USB - Chińczyk miał po prostu fantazję :stuck_out_tongue: ).
Na zdjęciu jest też płytka konwertera z układem stabilizatora 3,3V (by nie smażyć ESP8266 pięcioma woltami, zwróć uwagę, że wyprowadzenia są w innej kolejności niż w złączu “USB” - cudzysłowy celowe).

@szopen
Tak miałem na myśli dokładnie ten post (nie wiedziałem jak wstawić link, dzięki).

Schematu nie oglądałem, gdzie mogę znaleźć?

O stabilizatorze wiem z tego wątku i mam już w koszyku na allegro :slight_smile:
Możesz więcej napisać o kolejności wyprowadzeń w tym ‘usb’?

Kolejność wyprowadzeń zobaczysz jak będziesz miał to w ręce.
Schematy widziałem chyba w tym wątku(?), a na 100% na tym właśnie forum, być może są tylko podlinkowane (nie, nie mam takiej klimy, po prostu wykorzystuję ESP do budowy DIY).

PS

OK. Zamawiam co trzeba i będę działał. Jak się uda to opiszę krok po kroku aby inni mieli ‘gotowca’. Dzięki.

Edit:

Prawie się udało ale jak wiadomo prawie robi wielką różnicę.

ESP-01s skonfigurowałem i podłączyłem do uciętego kabla USB. W klimie oznaczony był + (czerwony, skrajny) założyłem, że drugi skrajny (czarny) to minus i tak właśnie było. Dwa pozostałe to RX i TX. Mój stabilizator napięcia ma RX/TX z brzegu więc drogą prób i błędów ustaliłem, że to 3 i 4 (nie wiedziałem od której strony na to patrzyć i gdzie jest 1).

Moduł po podłączeniu do klimatyzacji jest wykrywany bo na wyświetlaczu pojawia się symbol Wifi. Mogę z HA włączyć ‘Cooling’ i klima odpala jednak nie daje sygnału zwrotnego więc w HA caly czas jest OFF. Wyłączyć już nie mogę bo nie działa z HA. Co ciekawe jak tylko próbuję zmienić temperaturę z poziomu HA to klima się wyłącza. I to tyle, nic więcej nie działa. Próbowałem dwa różne yaml, pierwszy

esphome:
  name: klimatyzacja

esp8266:
  board: esp01_1m


# Enable Home Assistant API
api:
  password: ""

ota:
  password: ""

wifi:
  ssid: "mojewif"
  password: "tajnehaslo"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Klimatyzacja Fallback Hotspot"
    password: "8h7pKplbsRSc"

captive_portal:

logger:
  baud_rate: 0

uart:
  tx_pin: 3
  rx_pin: 4
  baud_rate: 9600
  
# Uncomment for use button as AC power control
#binary_sensor:
#  - platform: gpio
#    id: flash_button
#    pin:
#      number: GPIO0
#      inverted: true
#    filters:
#      - delayed_on_off: 50ms
#    on_click:
#        lambda: |-
#            if (id(my_climate).mode == CLIMATE_MODE_OFF)
#              id(my_climate).do_power_on();
#            else
#              id(my_climate).do_power_off();

climate:
  - platform: midea
    id: my_climate
    name: klimatyzacja
    period: 1s
    num_attempts: 3
    timeout: 2s
    beeper: false
    autoconf: true
    visual:
      min_temperature: 17 °C
      max_temperature: 30 °C
      temperature_step: 0.5 °C
    supported_modes:
      - FAN_ONLY
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY
    custom_fan_modes:
      - SILENT
      - TURBO
    supported_presets:
      - ECO
      - BOOST
      - SLEEP
    custom_presets:
      - FREEZE_PROTECTION
    supported_swing_modes:
      - VERTICAL
      - HORIZONTAL
      - BOTH
    #outdoor_temperature:
    #  name: Temp
    #power_usage:
    #  name: Power
    #humidity_setpoint:
    #  name: Hum

Drugi uproszczony yaml bo gdzieś przeczytałem, że wszystkie funkcje powinny się same wykryć:

esphome:
  name: klimatyzacja

esp8266:
  board: esp01_1m


# Enable Home Assistant API
api:
  password: ""

ota:
  password: ""

wifi:
  ssid: "mojewifi"
  password: "tajnehaslo"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "KlimatyzacjaHotspot"
    password: "8h7pKplbsRSc"

captive_portal:

# Example configuration entry

# Disable logging over UART (required)
logger:
  baud_rate: 0

# UART settings for Midea dongle (required)
uart:
  tx_pin: 3         # hardware dependant
  rx_pin: 4         # hardware dependant
  baud_rate: 9600

# Main settings
climate:
  - platform: midea
    name: klimatyzacja         # Use a unique name.
    period: 1s                  # Optional
    timeout: 2s                 # Optional
    num_attempts: 3             # Optional
    autoconf: true              # Autoconfigure most options.
    beeper: true                # Beep on commands.
    visual:                     # Optional. Example of visual settings override.
      min_temperature: 17 °C    # min: 17
      max_temperature: 30 °C    # max: 30
      temperature_step: 1 °C  # min: 0.5

W obu przypadkach jest ten sam objaw, który opisałem na początku. Czy ktoś może wie co ja jeszcze mogę z tym zrobić?

!!!Udało się - Działa!!!
Poniżej zamieszczam opis od początku do końca co zrobiłem aby się udało. Nie jestem ekspertem, opisuję tylko moją konfigurację oraz błędy, które zrobiłem abyś Ty mógł ich uniknąć. Wiele z tych informacji zapewne można znaleźć już wcześniej nawet w tym wątku.

W opisie tym zakładam, że wiesz jak zaprogramować moduł za pomocą ESPHome. Jeśli jeszcze tego nie robiłeś proponuję abyś zaczął od czegoś bardzo prostego jak włącz/wyłącz diodę za pomocą modułu.

Wykorzystałem moduł ESP-01s, może też być ESP-01 lecz te z literką ‘s’ są podobno nowsze i lepsze.
Moduły ESP-01 są w dwóch kolorach płytek czarny i granatowy. Unikaj granatowych bo mają tylko 512kb pamięci w porównaniu do 1MB na płytkach czarnych. W obu przypadkach możesz skonfigurować taki moduł do klimatyzacji i wielu innych rzeczy ale czytałem, że przy 512kb są problemy z uruchomieniem OTA (aktualizacjie Over the Air).

Mój moduł wygląda tak (nie mogę wstawiać obrazków więc podaję linki):

Klimatyzacja podaje napięcie 5V więc niezbędny będzie adapter z regulatorem napięcia 5V → 3.3Vv aby nie spalić ESP. Ja zastosowałem taki adapter:

W mojej klimatyzacji Midea Blanc, złącze wygląda jak USB ale nim nie jest o czym możecie przeczytać wcześniej w tym wątku. A wygląda to tak:

Oznaczony była tylko żyła czerwona jako +, czarna okazała się masą (-). Dwie pozostałe więc są RX/TX. Nie wiedziałem, która to RX, a która to TX. Jednak podłączając RX/TX źle nie można nic popsuć.

Użyłem więc, jednego z kabli USB w domu, który uciałem. Sprawdziłem który kolor żyły prowadzi do, którego styku w USB i tak połączyłem aby odpowiadało + oraz - w gniazku USB po stronie klimatyzacji. Pozostałe dwa podłączyłem do RX / TX w przypadkowy sposób. UWAGA: dobrze zlutuj kabelki, ja skręciłem je i zabezpieczyłem termokurczliwą rurką. Spowodowało to, że moduł ESP szalał. Dopiero po solidnym zlutowaniu kabelków zaczął działać stabilnie.

Na tej stronie znajdziesz pełny opis ESPHome dla Midea: Midea Air Conditioner — ESPHome wraz z przykładowym yaml. Zwróć uwagę na sekcje w pliku yaml, które są ‘required’. Ja, z jakiegoś powodu, nie dodałem sekcji wyłączającej logger i to spowodowało pierwsze moje problemy.

Następna istotna sprawa to oznaczenie w pliku yaml pinów RX oraz TX. Domyślnie jest ustawione 1, 3. Nie wiedziałem, czy te numery pinów odnoszą się do pinów w adapterze (ktoś tak sugerował na jakimś forum) czy też w module ESP. Okazało się, że to są numery GPIO w module. Dla ESP-01s wygląda to tak:

Czyli dla tego modułu zostawiamy 1,3! Reszta pliku yaml jest raczej prosta do zrozumienia. Wklejam mój plik yaml.

esphome:
  name: klimatyzacja

esp8266:
  board: esp01_1m


# Enable Home Assistant API
api:
  password: ""

ota:
  password: ""

wifi:
  ssid: "siewifi"
  password: "haslodowifi"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "KlimatyzacjaHotspot"
    password: "haslodohotspot"

captive_portal:


# Disable logging over UART (required)
logger:
  baud_rate: 0

# Enable Web server.
web_server:
  port: 80

# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time

# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: klimatyzacja ESPHome Version
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: klimatyzacja IP
    ssid:
      name: klimatyzacja SSID
    bssid:
      name: klimatyzacja BSSID

# Sensors with general information.
sensor:
  # Uptime sensor.
  - platform: uptime
    name: klimatyzacja Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: klimatyzacja WiFi Signal
    update_interval: 60s

# UART settings for Midea dongle (required)
uart:
  tx_pin: 1   # hardware dependant
  rx_pin: 3   # hardware dependant
  baud_rate: 9600

# Main settings
climate:
  - platform: midea
    name: "Midea AC"    # Use a unique name.
    period:  2s                 # Optional
    timeout: 4s                # Optional
    num_attempts: 3       # Optional
    autoconf: true            # Autoconfigure most options.
    beeper: true              # Beep on commands.
    visual:             # Optional. Example of visual settings override.
      min_temperature: 17 °C    # min: 17
      max_temperature: 30 °C    # max: 30
      temperature_step: 1 °C  # min: 0.5

# All capabilities in the section below are detected when autoconf = true:
    supported_modes:    
      - FAN_ONLY
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY
    custom_fan_modes:
      - SILENT
      - TURBO
    supported_presets:  # All capabilities in this section detected by autoconf.
      - ECO
      - BOOST
      - SLEEP
    custom_presets:     # All capabilities in this section detected by autoconf.
      - FREEZE_PROTECTION
    supported_swing_modes:
      - VERTICAL
      - HORIZONTAL
      - BOTH
    #outdoor_temperature:  # Optional. Create outdoor unit temperature sensor (may display incorrect values after long inactivity).
    #  name: "Temp"
    #power_usage:          # Optional. Create power usage sensor (only for devices that support this feature).
    #  name: "Power"
    #humidity_setpoint:    # Optional. Create indoor humidity sensor.
    #  name: "Humidity"

Jest to plik yaml pobrany z tego forum: Support for Midea A/C - ESPHome - Home Assistant Community (home-assistant.io)
Uwaga, na powyższym forum autor korzysta z platform: midea_ac od którejś wersji ESPHome zostało to zastąpione platform: midea (w moim yaml jest już poprawione).

Po załadowaniu konfiguracji z powyższego yaml. Udało mi się trafić od razu z RX i TX, gdybm jednak nie trafił to przy adapterze mogłem to łatwo zmienić.

Efekt końcowy jest taki, że działa ale mam nadal problem ze słabą łącznością wifi pomiędzy modułem a access point. Jest to jedyne urządzenie u mnie w domu, które ma taki problem. Zakładam, jednak, że jest to lokalny problem i muszę z nim powalczyć. Objawia się tym, że około 10% pakietów jest gubione co z kolei (jak się domyślam) powoduje, że moduł staje się w HA Unavailable. W tym samym czasie jednak logując się przez web server do modułu (z przeglądarki po IP modułu) wszystko działa i mogę sterować klimą. Powodzenia!

1 polubienie

Niestety nie mam teraz czasu na prześledzenie Twojego problemu, ale korzystałem z wątku Support for Midea A/C - ESPHome - Home Assistant Community, na którym znalazłem odpowiedzi na wszystkie pytania podczas integracji z Midea. Jeżeli nie znasz, poczytaj.

@Piotr_K dzięki, już wcześniej korzystałem z tego wątku i faktycznie mi tam bardzo pomogli.

Super przewodnik, dzięki. Mam pytanie o zaznaczone miejsca w pliku yaml. Jakie dane tam podstawiałeś ?

@Zbyszek podstawiłem dokładnie to co jest. To są nazwy pod jakimi te parametry będą widoczne w Home Assistant. Czyli np pod nazwą Klimatayzajca IP będzie wyświetlany w HA adres IP. Cała ta sekcja jest opcjonalna, nie musisz tego mieć.

ok, dzięki. Rozpoczynam walkę :slight_smile:

@myrcin jeszcze raz dzięki za wyczerpujący opis. Wszystko działa.

Witam,

Panowie prześledziłem ten wątek ale chyba dośc konkretnie się pozmieniało w aplikacji Midea, bo nie mogę wyciągnąć device id…

Klimatyzator mam z Rotenso, a moduł OSK-105. Macie może na to jakąś radę?

Muyślałem zainstalować tą drugą aplikację NetHome Plus ale czy jest sens skoro i tak całość opiera się na Midea w HA?

Dziękuję z góry za pomoc.

Też mam te moduły, kombinowałem i nic. Poddałem się i zrobiłem według opisu @myrcin i wszystko ładnie działa. Polecam.

Potwierdzam - wszystko działa znakomicie na ESP01s i Kaisai FLY. Koszt sprzętu na allegro to około 40 zł. Czas wdrożenia to około 2h, wraz z lutowaniem kabelków i konfiguracją HA. Przy programowaniu należy zewrzeć pin GPIO0 z GND.
Można też kupić gotowy dongle: WiFi dongle for air conditioner Midea Mr.Cool Electrolux AC for Home Assistant | eBay