Nawilżacz i oczyszczacz xiaomi

Mam oczyszcza Air Purifier 3H oraz nawilżacz SCKOA45. Sam oczyszczacz działa tak samo odwrotnie. Wiem, że kod nie umożliwia sterowania wszystkimi funkcjami ale próbuję poznać jak to wszystko działa. Co jest w kodzie nie tak, że po dodaniu drugiego urządzenia pierwsze nie działa?

fan:

  - platform: xiaomi_miio_airpurifier
    name: Xiaomi Air Humidifier
    host: 192.168.x.xxxxxxxxx
    token: 5fd84bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    model: deerma.humidifier.mjjsq
    
sensor:
  - platform: template
    sensors:
      airhumidifier_led:
        friendly_name: Air Purifier led Index
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.led }}'
      airhumidifier_temperature:
        friendly_name: Air Humidifier Temperature
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.temperature }}'
        unit_of_measurement: '°C'
      airhumidifier_humidity:
        friendly_name: Air Humidifier Humidity
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.humidity }}'
        unit_of_measurement: '%'
      airhumidifier_mode:
        friendly_name: Air Humidifier mode
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.mode }}'
      airhumidifier_target_humidity:
        friendly_name: Air Humidifier Target Humidity
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.target_humidity }}'
        unit_of_measurement: '%'   
      airhumidifier_model:
        friendly_name: Air Humidifier model
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.model }}'


fan:
  - platform: xiaomi_miio_airpurifier
    name: Air Purifier Bedroom
    host: 192.168.x.xxx
    token: b4f104xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    model: zhimi.airpurifier.mb3
    
sensor:
  - platform: template
    sensors:
      air_purifier_bedroom_aqi:
        friendly_name: "PM2.5"
        unit_of_measurement: 'μg/m³'
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'aqi') }}"
      air_purifier_bedroom_temperature:
        friendly_name: "Temperature"
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'temperature')|float|round(2) }}"
      air_purifier_bedroom_humidity:
        friendly_name: "Humidity"
        unit_of_measurement: '%'
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'humidity') }}"
      air_purifier_bedroom_speed:
        friendly_name: "Mode"
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'speed') }}"
      air_purifier_bedroom_favorite_level:
        friendly_name: "Favorite Level"
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'favorite_level') }}"
      air_purifier_bedroom_motor_speed:
        friendly_name: "Motor Speed"
        unit_of_measurement: 'rpm'

nie możesz powtarzać sekcji w pliku, przy założeniu, że te wpisy są poprawne powinno to wyglądać mniej więcej tak

fan:

  - platform: xiaomi_miio_airpurifier
    name: Xiaomi Air Humidifier
    host: 192.168.x.xxxxxxxxx
    token: 5fd84bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    model: deerma.humidifier.mjjsq
    
  - platform: xiaomi_miio_airpurifier
    name: Air Purifier Bedroom
    host: 192.168.x.xxx
    token: b4f104xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    model: zhimi.airpurifier.mb3
    
sensor:

  - platform: template
    sensors:
      airhumidifier_led:
        friendly_name: Air Purifier led Index
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.led }}'
      airhumidifier_temperature:
        friendly_name: Air Humidifier Temperature
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.temperature }}'
        unit_of_measurement: '°C'
      airhumidifier_humidity:
        friendly_name: Air Humidifier Humidity
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.humidity }}'
        unit_of_measurement: '%'
      airhumidifier_mode:
        friendly_name: Air Humidifier mode
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.mode }}'
      airhumidifier_target_humidity:
        friendly_name: Air Humidifier Target Humidity
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.target_humidity }}'
        unit_of_measurement: '%'   
      airhumidifier_model:
        friendly_name: Air Humidifier model
        value_template: '{{ states.fan.xiaomi_air_humidifier.attributes.model }}'


      air_purifier_bedroom_aqi:
        friendly_name: "PM2.5"
        unit_of_measurement: 'μg/m³'
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'aqi') }}"
      air_purifier_bedroom_temperature:
        friendly_name: "Temperature"
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'temperature')|float|round(2) }}"
      air_purifier_bedroom_humidity:
        friendly_name: "Humidity"
        unit_of_measurement: '%'
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'humidity') }}"
      air_purifier_bedroom_speed:
        friendly_name: "Mode"
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'speed') }}"
      air_purifier_bedroom_favorite_level:
        friendly_name: "Favorite Level"
        value_template: "{{ state_attr('fan.air_purifier_bedroom', 'favorite_level') }}"
      air_purifier_bedroom_motor_speed:
        friendly_name: "Motor Speed"
        unit_of_measurement: 'rpm'

A tak poza konkurencją to w ostatnich miesiącach konfiguracja się radykalnie zmieniła, więc template z atrybutami są zapewne już niepotrzebne.

1 Like

Gdzie znajdę dla laika jakieś info jak teraz konfigurować poprawnie? Twoja sugestia pomogła !!

Podstawowe informacje

Oraz zapewne czytając breaking changes na oficjalnym blogu HA:

Sorry, ale dalej nie chce mi się kopać, a w linkach powyżej masz kilka istotnych informacji. z ostatnich 2 miesięcy.

Prawdopodobnie cały ten kod możesz wywalić z configuration.yaml (lepiej zakomentować), ta integracja teraz jest konfigurowana (w większości wypadków) z poziomu GUI i znając IP urządzeń oraz tokeny, prawdopodobnie da się to zrobić w GUI w sekcji Konfiguracja → Integracje (ale najpierw usuń lub zakomentuj konfigurację YAML i wykonaj restart HA) - możesz też kliknąć w linka poniżej i podać na wygenerowanej stronie adres swojego HA

Oczywiście to jest takie działanie trochę metodą prób i błędów, więc przy wywalaniu czegoś z konfiguracji skopiuj to do jakiegoś pliku na komputerze by łatwo przywrócić te fragmenty (aż tak nie kopałem po dokumentacji by mieć pewność, że oba twoje urządzenia “łykną” konfigurację GUI).
Nie usuń sobie też sekcji sensor: jeśli masz jakiekolwiek inne sensory.