Xiaomi Mi Air Purifier 3C - integracja z HA

Ma ktoś ten model ? Kupiłem w promocji na black week i niestety nie mogę go zintegrować z HA. Ktoś coś wie na ten temat ? Komuś się może udało ?

W dokumentacji standardowej integracji nie widzę takiego modelu (prawdopodobnie to zhimi.airpurifier.mb4 ):

Na twoim miejscu spróbowałbym “poudawać” że to mb3 lub ma4 i w konfiguracji jawnie podać jeden z tych modeli lub innych spośród obsługiwanych - może “psim swędem” funkcje będą częściowo zgodne).

Tego już próbowałem. Dodałem go jako:

fan:
# Example configuration.yaml entry
  - platform: xiaomi_miio
    host: 192.168.130.66
    token: YOUR_TOKEN

Token oczywiście wyciągnięty. Niestety nie działa.

Miałem na myśli taka konstrukcję (by wymusić obsługę innego modelu niż masz w rzeczywistości) :

fan:
  - platform: xiaomi_miio
    host: 192.168.130.66
    model: zhimi.airpurifier.mb3
    token: YOUR_TOKEN

lub ewentualnie ma4 zamiast mb3, reszta raczej nie ma sensu, bo starsze modele korzystały z innego protokołu, a 3C zapewne jest kontynuacją nowej linii, skoro token prawidłowy i ustawiłeś sobie w jakikolwiek sposób statyczne IP (choćby korzystając z opcji ARP+DHCP routera) to nie widzę innej metody niż poczekać aż ktoś dorobi obsługę 3C (ewentualnie możesz się tym zając skoro masz sprzęt).

@zaawii czy na pewno masz poprawny token? Pamiętaj, że zmienia się on gdy na nowo sparujesz urządzenie z apką “Xiaomi Home”.

Ogólnie urządzenie tak jakby widzi ale jest niedostępne:

Dodałem wg Twojej podpowiedzi (z modelem):

fan:

  • platform: xiaomi_miio
    host: 192.168.130.66
    model: zhimi.airpurifier.mb3
    token: YOUR_TOKEN

Modelu zhimi.airpurifier.mb4 nie da się zapisać (błąd sprawdzania konfiguracji).

Próbowałeś nie wpisywać modelu do konfiguracji?
Adres IP przypisany na stałe do oczyszczacza?

Tak, bez modelu jest ta sama sytuacja - urządzenie niedostępne. IP przez DHCP ustawione na statyczne.

Modelu mb4 (a generalnie sprawdziłeś czy to ten? bo ja tylko zgadywałem) nie da się użyć, bo integracja na obecnym etapie rozwoju go nie przewiduje,
No cóż z opcji nadpisania modelu korzystałem dość dawno i wtedy się sprawdziła (jeszcze z oczyszczaczem używającym pierwszej wersji protokołu), ale mam wrażenie, że opcja “model:” jest w obecnej wersji integracji xiaomi_miio ignorowana…

Zatem pozostają opcje: poczekać na to aż ktoś wprowadzi obsługę tego modelu (nie wygląda na to aby ktoś nad tym obecnie pracował…) lub spróbować to zrobić samodzielnie - należałoby stworzyć custom_component bazując na:


być może taka integracja pomoże w obadaniu sprzętu (niestety nie jestem w stanie podpowiedzieć zbyt wiele - sam mam oczyszczacz znacznie starszej generacji)

Nie wiem czy ktoś posiada ten model ale w końcu udało mi się zintegrować go z HA. Niestety w oficjalnej integracji Xiaomi nadal go nie ma ale jest w HACS - Xiaomi Miot Auto. Nie dość, że działa to na dodatek lokalnie. Jak na razie nie zauważyłem problemów.
Krótka instrukcja:
Po zainstalowaniu w HACS przejdź do Konfiguracja> Integracje> Dodaj nową integrację i wyszukaj Xiaomi Miot. Z menu rozwijanego pierwszą opcją jest zalogowanie się na swoje konto, a drugą będzie ręczne dodanie. Dodałem “ręcznie” i działa. Trzeba wyciągnąć adres IP i token swojego urządzenia. Po dodaniu pojawią się encje jak poniżej:

image
image

2 Likes

@zaawii czy działa ci zmiana prędkości wentylatora w trybie ręcznym?

Tak - usługa xiaomi_miot.set_property (prędkość w zakresie 0 - 2000 rpm)

image

1 Like

Dzięki właśnie tego szukałem. :slight_smile:

Witam

Nie chce zakładać nowego tematu żeby nie zaśmiecać forum , mam takie same urządzenie Xiaomi Mi Air 3C , obecnie postawiony mam serwer z oprogramowaniem OMV a na nim zainstalowany HA problem w tym że zaczynam dopiero zabawę z HA ,mam już dodanych kilka urządzeń i działają dobrze, uruchomiłem też 3C w HA i jest wykrywany, działają pokazane funkcję i mam pytanie czy pomożecie mi usprawnić jego działanie w codziennym użytkowaniu ??

1 Like

Dobrze trafiłeś :grinning:
Co takiego chcesz usprawnić?

Jako nowy chciałbym ustawić automatyzację

Na chwile obecna mam zrobiona automatyzację w aplikacji Xiaomi Home (IOS) działa to różnie w kratkę pomyślałem sobie że spróbuję za sterować tym z pozycji HA chciałbym ustawić bardzo prosta automatyzacje

  1. 0-10 tryb automatyczny

  2. 10-40 obroty silnika 1000

  3. 40-70 obroty silnika 1500

  4. 80 powyżej full
    Wszystko to ma być w zakresie 8:00 – 22:00

  5. 22:00-8:00 tryb nocny

Nie rozumiem tylko jednego czy HA przejmuję całkowicie kontrole nad Xiaomi ( omija chmurę) czy po prostu działa tak samo jak aplikacja tylko że trochę lepiej jest to zarządzone z pozycji HA bo jeżeli działanie będzie takie same czyli będzie działało to w kratkę jak aplikacja to bez sensu, zauważyłem że czasami jak jest aplikacją wyłączona to też nie zawsze to działa natomiast serwer z HA mam załączony 24h

Chętnie też skorzystam z rad innych ustawień automatyzacji

Dynamiczne sterowanie - w miarę płynnie będzie zwiększał lub obniżać obroty silnika w zależności od poziomu pm2_5

Automatyzacja:

alias: "Filter - dynamiczne sterowanie "
description: ""
trigger:
  - platform: state
    entity_id: sensor.filter_pm2_5
action:
  - service: number.set_value
    data_template:
      entity_id: number.filter_favorite_level
      value: >
        {% set poziom_zanieczyszczen = states('sensor.filter_pm2_5') | float %}
        {% if poziom_zanieczyszczen < 10 %}
          1
        {% elif poziom_zanieczyszczen < 20 %}
          2
        {% elif poziom_zanieczyszczen < 30 %}
          3
        {% elif poziom_zanieczyszczen < 40 %}
          4
        {% elif poziom_zanieczyszczen < 50 %}
          5
        {% elif poziom_zanieczyszczen < 60 %}
          6
        {% elif poziom_zanieczyszczen < 70 %}
          7
        {% elif poziom_zanieczyszczen < 80 %}
          8
        {% elif poziom_zanieczyszczen < 90 %}
          9
        {% elif poziom_zanieczyszczen < 100 %}
          10
        {% elif poziom_zanieczyszczen < 110 %}
          11
        {% elif poziom_zanieczyszczen < 120 %}
          12
        {% elif poziom_zanieczyszczen < 130 %}
          13
        {% elif poziom_zanieczyszczen < 140 %}
          14
        {% elif poziom_zanieczyszczen < 150 %}
          15
        {% else %}
          16
        {% endif %}

filter- nazwa mojego urządzenia w HA (do podmiany)
sensor.filter_pm2_5- do podmiany na sensor.xxx_pm2_5
Mam inny model - mój number.filter_favorite_level działa w zakresie 1-16

Dostosowanie zakresów polega na zmianie przedziałów (moje są w zakresie 10 do 150).

Sterowanie trybem pracy
Skrypty:
Auto

alias: Filtr Auto
sequence:
  - service: fan.set_preset_mode
    target:
      entity_id: fan.filter
    data:
      preset_mode: Auto
mode: single

Favorite:

alias: Filtr Favorite
sequence:
  - service: fan.set_preset_mode
    target:
      entity_id: fan.filter
    data:
      preset_mode: Favorite
mode: single

:information_source:

Można stworzyć automatyzacje która przełączy o określonej godzinie tryb pracy oczyszczacza np. z Auto na Favorite ( godzina, skrypt ON, nazwa).

Choć wydaje mi się, że po odpowiednim dostosowaniu zakresów działania oczyszczacz będzie dobrze pracował tylko w trybie Auto (“Favorite” w trybie automatycznym)

:joy: Testowałem tylko 2 godziny i wypaliłem 3 papierosy

2 Likes

Dziękuję za odpowiedz, chętnie skorzystam z tego tylko jak mówiłem jestem nowy i nie za bardzo orientuje się jak to teraz w klepać wiem że to nie jest miejsce żeby mnie teraz tego uczyć ale może jakaś wskazówka :slight_smile: na chwile obecna tak wygląda mój ekran HA (chętnie też udostępnię mój pulpit Anydesk)

Ustawienia>Automatyzacje>Utwórz Automatyzacje>Nowa Automatyzacja> 3 kropeczki(górna prawa na stronie) .Wybierz Edycja w YAML
Usuń wszystko co tam jest i w to miejsce wklej podany wyżej kod.
Podmień nazwy:
Z entity_id: sensor.filter_pm2_5 na entity_id: sensor.xxxxx_pm2_5
Z ....zczen = states('sensor.filter_pm2_5' na zczen = states(‘sensor.xxxxx_pm2_5’

Teraz jeszcze raz 3 kropeczki i zmień na Edytuj w edytorze wizualnym
Sprawdź / zmień nazwę lub parametry. Zapisz
:information_source:
Możesz też edytować kod w “czasie rzeczywistym” w Narzędzia deweloperskie> Szablon
Po wklejeniu kodu i podmianie encji na własne, po prawej stronie pojawi się “wynik kody” (number.filter_favorite_level) np. 1 lub 2 …
Jeśli wszystko OK kopiujesz kod i wklejasz go do automatyki (tak jak opisałem wyżej)

Nasze oczyszczacze się różnią i z tego co widzę to twój na większy zakres od 100 do 2500
Czyli musisz dostosować, zmieniając w kodzie np. 1 na 100, 2 na 200 itp.

...
        {% if poziom_zanieczyszczen < 10 %}
          100
        {% elif poziom_zanieczyszczen < 20 %}
          200
...
1 Like

oki wstępnie to mam tylko gdzie znajdę dokładną nazwę mojego oczyszczacza czy tak to ma wyglądać:

alias: "Filter - dynamiczne sterowanie "
description: “”
trigger:

  • platform: state
    entity_id: sensor.Mi Air Purifier 3C_pm2_5
    action:
  • service: number.set_value
    data_template:
    entity_id: number.filter_favorite_level
    value: >
    {% set poziom_zanieczyszczen = states(‘sensor.Mi Air Purifier 3C_pm2_5’) | float %}

przy tej nazwie dostaje komunikat :
Message malformed: Entity sensor.Mi Air Purifier 3C_pm2_5 is neither a valid entity ID nor a valid UUID for dictionary value @ data[‘entity_id’]