Integracja xiaomi air purifier

Witam wszystkich,

Mam problem z integracją bramki z oczyszczaczem powietrza xiaomi air purifier 2s. Problem dotyczy wyświetlania np. temperatury, wilgotności czy jakości powietrza na kartach. W każdym z tych przypadków na karcie mam taki widok:


Natomiast “główna karta” pokazuje dane z oczyszczacza i pozwala na sterowanie nim:

W configuration.yaml kod wygląda tak:

fan:

Xiaomi Air Purifier 2S

  • platform: xiaomi_miio
    host: 192.168.1.63
    token: xxxxxxxxxxxxxxx
    name: Xiaomi Air Purifier 2S

sensor:

Xiaomi Air Purifier 2S

  • platform: template
    sensors:
    xiaomi_airpurifier_temp:
    friendly_name: “Temperature”
    value_template: “{{ state_attr(‘fan.xiaomi_miio_device’, ‘temperature’) }}”
    unit_of_measurement: “°C”
    device_class: “temperature”
    xiaomi_airpurifier_humidity:
    friendly_name: “Humidity”
    value_template: “{{ state_attr(‘fan.xiaomi_miio_device’, ‘humidity’) }}”
    unit_of_measurement: “%”
    device_class: “humidity”
    xiaomi_airpurifier_air_quality_pm25:
    friendly_name: “Air quality”
    value_template: “{{ state_attr(‘fan.xiaomi_miio_device’, ‘aqi’) }}”
    unit_of_measurement: “μg/m³”
    icon_template: “mdi:weather-fog”
    xiaomi_airpurifier_speed:
    friendly_name: “Fan speed”
    value_template: “{{ state_attr(‘fan.xiaomi_miio_device’, ‘motor_speed’) }}”
    unit_of_measurement: “rpm”
    icon_template: “mdi:speedometer”
    xiaomi_airpurifier_filter_remaining:
    friendly_name: “Filter remaining”
    value_template: “{{ state_attr(‘fan.xiaomi_miio_device’, ‘filter_life_remaining’) }}”
    unit_of_measurement: “%”
    icon_template: “mdi:heart-outline”

Tak z ciekawosci - skad wziales token, oczyszczasz masz podpiety pod region Europa czy Chiny? Widzialem tutoriale jak zintegrowac urzadzenia Xiaomi z HA, ale w przypadku wiekszosci urzadzen Xiaomi (odkurzacz jest jednym z niewielu wyjatkow) aby uzyskac token, nalezy miec prehistoryczna wersje aplikacji Xiaomi Home. Masz jakis inny sposob?

Wyciągałem do Humidifiera dedykowaną zhakowaną aplikacją która wystawia token - wydaje mi się że gdzieś wystawiają coraz to nowsze shakowane appki.
Odkurzacz jeszcze nie zintegrowany - brak czasu.

Region Europa. Token ze zmodowanej apki xiaomi.

sensor:
  - platform: template
    sensors:
      airpurifier_aqi:
        value_template: '{{ states.fan.xiaomi_miio_device.attributes.aqi }}'

Upewnij się jeszcze czy twój oczyszczacz jest w HA pod encją fan.xiaomi_miio_device:


Jeśli masz więcej urządzeń tego typu (kilka sztuk lub nawilżacz) to do nazwy kolejnej encji dodawany jest numer:

Dziękuję, faktycznie problem był w nazwie. Teraz działa wszystko

Dzieki za pomoc, tez przy okazji skorzystalem :slight_smile:
Jakby ktos byl zainteresowany zmodowana apka, to testowalem dwie

  1. Wg opisu na https://smartme.pl/xiaomi-mi-air-purifier-3h-nareszcie-w-home-assistant/
  • ladny opis jak dodac sensory
  • niestety, apka podlinkowana do tej strony nie dzialala na moim tablecie. Tzn apka sie odpalala ale wykrywane bylo tylko jedno urzadzenie (akurat oczyszczacz, nic wiecej), klikniecie na urzadzenie generowalo blad “unable to load extensions”
  1. Wg opisu na https://hejdom.pl/blog/11-xiaomi/132-xiaomi-o-co-chodzi-z-tymi-regionami-europa-chiny-i-dlaczego-to-jest-tak-wazne.html
  • link do rosyjskiej apki, wszystko smiga jak nalezy
  • dostalem token nie tylko do oczyszczacza ale tez wzmacniacza wifi oraz bramki aqara smart hub

Czy może ktoś wstawić przykład całościowego wpisu do configuration.yaml najlepiej z wcięciami bo to co powyżej przedstawił lukasz w sensorach pokazuje błędy natomiast fragment Sebastiana
jest poprawnie zapisywany.

configuration.yaml

fan:
 - platform: xiaomi_miio
   host: adres_ip_oczyszczacza
   token: token_oczyszczacza
   name: oczyszczacz w salonie

sensors.yaml

- platform: template
  sensors:
    airpurifier_aqi:
      value_template: '{{ states.fan.xiaomi_miio_device.attributes.aqi }}'
      unit_of_measurement: μg/m³
      icon_template: “mdi:weather-fog”

- platform: template
  sensors:
    airpurifier_temperature:
      value_template: '{{ states.fan.xiaomi_miio_device.attributes.temperature }}'
      unit_of_measurement: '°C'

- platform: template
  sensors:
    airpurifier_fan_level:
      value_template: '{{ states.fan.xiaomi_miio_device.attributes.fan_level }}'

- platform: template
  sensors:
    airpurifier_humidity:
      value_template: '{{ states.fan.xiaomi_miio_device.attributes.humidity }}'
      unit_of_measurement: '%'  

- platform: template
  sensors:
    airpurifier_mode:
      value_template: '{{ states.fan.xiaomi_miio_device.attributes.mode }}'

- platform: template
  sensors:
    airpurifier_speed:
      value_template: '{{ states.fan.xiaomi_miio_device.attributes.speed }}'

Zwykle nie polecam niestandardowych komponentów, ale ten jest wart uwagi:

Instalujemy z poziomu HACS, definiujemy w Dashboard/Zasoby:
image

i dodajemy kartę:

type: 'custom:air-filter'
modes:
  - auto
  - silent
  - strong
spect_ratio: 1
entity: fan.xiaomi_miio_device
aspect_ratio: '0.6'

Efekt - z animacją po włączeniu urządzenia w trybie nocnym:
image

Fajnie wyglada ale jak ze stabilnoscia niestandardowych komponentow? Uzywam ich na czystym HA i jest OK. Probowalem uzywac na AIS i niestety, bramka byla mega niestabilna, skonczylo sie przywroceniem do ustawien fabrycznych. Kolejny raz juz HACSa nie integrowalem i od tego czasu AIS dziala stabilnie.

@ badzio
Bardzo dziękuję za kompletny yaml. Dopiero dziś zrobiłem testy i jako optymista powiem, że są częściowo udane. Gdy wpisuję jednostki zaznaczone niżej na screenie dostaję taki komunikat:
airpurifer3

Co ciekawe nie dotyczy to jednostki wilgotności ’ % ’
Po pominięciu oznaczonych wpisów pojawiły się encje sensorów:


Może ktoś ma pomysł na poprawny zapis wskazanych jednostek pomiarowych aby nie sypało błędami.

@ Sebastian
Świetne rozwiązanie ale mając w pamięci moje wcześniejsze przygody z HACS poczekam z tym jeszcze trochę na stabilną wersję 1.0

a tak próbowałeś?
"°C"

Taki sam błąd tylko zwiększony o 1. Jak wstawiam samo ’ C ’ wszystko jest ok.

Hmmm, dziwne. U mnie te wpisy w konfigu dzialaja. Pamietam, jak probowalem z " zamiast ', to mialem bledy parsowania.
Wyglada na problemy z kodowaniem znakow. W jaki sposob edytujesz konfigi - uzywasz konsoli wbudowanej w portal AIS, logujesz sie przez klienta ssh czy moze masz podpiete VS?
Ja uzywam VS do edytowania.

A może to problem jak tu

Ogólnie używam EmEditora z WinSCP .
Jak wpisałem :
unit_of_measurement: ‘ug/m3’
icon_template: ‘mdi:weather-fog’
to przeszło bez błędów. W pierwszym wierszu zatąpiłem micro literką u a w drugim ikonka pokazała się po zmianie cudzysłowu na apostrof tak, że obaj macie rację.