Hi, does anybody know how to get the Xiaomi Air Purifier 3H running in OH 4?
I used OH 2.x for a couple of years know with the purifier added. The control of the device was sometimes slow or had to be triggered a second time but all in all it worked.
Now I set up OH 4, and added the thing and items.
(Some weeks ago I already tried in OH 3 with the same result.)
Thing:
Thing miio:basic:airpurifier1 "airpurifier1" [ host="192.168.24.16", token="xyz123", deviceId="358311438", model="zhimi.airpurifier.mb3", communication="direct" ]
Items (beside device_id exactly from the docs):
Group G_airpurifier "Mi Air Purifier 3/3H" <status>
Number air_purifier1_fault "Air Purifier - Fault" (G_airpurifier) {channel="miio:basic:airpurifier1:Fault"}
Switch air_purifier1_on "Air Purifier - Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier1:On"}
Number air_purifier1_fan_level (G_airpurifier) {channel="miio:basic:airpurifier1:FanLevel"}
Number air_purifier1_mode "Air Purifier - Mode" (G_airpurifier) {channel="miio:basic:airpurifier1:Mode"}
Number air_purifier1_pm2_5_density "Environment - Pm2.5 density" (G_airpurifier) {channel="miio:basic:airpurifier1:Pm25Density"}
//Number:Dimensionless air_purifier1_relative_humidity "Environment - Relative Humidity" (G_airpurifier) {channel="miio:basic:airpurifier1:RelativeHumidity"}
Number air_purifier1_relative_humidity "Environment - Relative Humidity" (G_airpurifier) {channel="miio:basic:airpurifier1:RelativeHumidity"}
Number:Temperature air_purifier1_temperature "Environment - Temperature" (G_airpurifier) {channel="miio:basic:airpurifier1:Temperature"}
//Number:Dimensionless air_purifier1_filter_life_level "Filter - Filter Life Level" (G_airpurifier) {channel="miio:basic:airpurifier1:FilterLifeLevel"}
Number air_purifier1_filter_life_level "Filter - Filter Life Level" (G_airpurifier) {channel="miio:basic:airpurifier1:FilterLifeLevel"}
Number:Time air_purifier1_filter_used_time "Filter - Filter Used Time" (G_airpurifier) {channel="miio:basic:airpurifier1:FilterUsedTime"}
Switch air_purifier1_alarm "Alarm - Alarm" (G_airpurifier) {channel="miio:basic:airpurifier1:Alarm"}
Number:Dimensionless air_purifier1_brightness "Indicator Light - Brightness" (G_airpurifier) {channel="miio:basic:airpurifier1:Brightness"}
Switch air_purifier1_on1 "Indicator Light - Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier1:On1"}
Switch air_purifier1_physical_controls_locked "Physical Control Locked - Physical Control Locked" (G_airpurifier) {channel="miio:basic:airpurifier1:PhysicalControlsLocked"}
String air_purifier1_button_pressed "Button - Button Pressed" (G_airpurifier) {channel="miio:basic:airpurifier1:ButtonPressed"}
Number air_purifier1_filter_max_time "Filter Time - Filter Max Time" (G_airpurifier) {channel="miio:basic:airpurifier1:FilterMaxTime"}
Number air_purifier1_filter_hour_debug "Filter Time - Filter Hour Debug" (G_airpurifier) {channel="miio:basic:airpurifier1:FilterHourDebug"}
Number air_purifier1_motor_strong "Motor Speed - Motor Strong" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorStrong"}
Number air_purifier1_motor_high "Motor Speed - Motor High" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorHigh"}
Number air_purifier1_motor_med "Motor Speed - Motor Med" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorMed"}
Number air_purifier1_motor_med_l "Motor Speed - Motor Med L" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorMedL"}
Number air_purifier1_motor_low "Motor Speed - Motor Low" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorLow"}
Number air_purifier1_motor_silent "Motor Speed - Motor Silent" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorSilent"}
Number air_purifier1_motor_favorite "Motor Speed - Motor Favorite" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorFavorite"}
Number air_purifier1_motor_speed "Motor Speed - Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorSpeed"}
Number air_purifier1_motor_set_speed "Motor Speed - Motor Set Speed" (G_airpurifier) {channel="miio:basic:airpurifier1:MotorSetSpeed"}
Number air_purifier1_favorite_fan_level "Motor Speed - Favorite Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier1:FavoriteFanLevel"}
Number:Time air_purifier1_use_time "Use Time - Use Time" (G_airpurifier) {channel="miio:basic:airpurifier1:UseTime"}
Number:Volume air_purifier1_purify_volume "Aqi - Purify Volume" (G_airpurifier) {channel="miio:basic:airpurifier1:PurifyVolume"}
Number air_purifier1_average_aqi "Aqi - Average Aqi" (G_airpurifier) {channel="miio:basic:airpurifier1:AverageAqi"}
Number air_purifier1_average_aqi_cnt "Aqi - Average Aqi Cnt" (G_airpurifier) {channel="miio:basic:airpurifier1:AverageAqiCnt"}
String air_purifier1_aqi_zone "Aqi - Aqi Zone" (G_airpurifier) {channel="miio:basic:airpurifier1:AqiZone"}
String air_purifier1_sensor_state "Aqi - Sensor State" (G_airpurifier) {channel="miio:basic:airpurifier1:SensorState"}
Number air_purifier1_aqi_goodh "Aqi - Aqi Goodh" (G_airpurifier) {channel="miio:basic:airpurifier1:AqiGoodh"}
Number air_purifier1_aqi_runstate "Aqi - Aqi Runstate" (G_airpurifier) {channel="miio:basic:airpurifier1:AqiRunstate"}
Number air_purifier1_aqi_state "Aqi - Aqi State" (G_airpurifier) {channel="miio:basic:airpurifier1:AqiState"}
Number air_purifier1_aqi_updata_heartbeat "Aqi - Aqi Updata Heartbeat" (G_airpurifier) {channel="miio:basic:airpurifier1:AqiUpdataHeartbeat"}
String air_purifier1_rfid_tag "Rfid - Rfid Tag" (G_airpurifier) {channel="miio:basic:airpurifier1:RfidTag"}
String air_purifier1_rfid_factory_id "Rfid - Rfid Factory Id" (G_airpurifier) {channel="miio:basic:airpurifier1:RfidFactoryId"}
String air_purifier1_rfid_product_id "Rfid - Rfid Product Id" (G_airpurifier) {channel="miio:basic:airpurifier1:RfidProductId"}
String air_purifier1_rfid_time "Rfid - Rfid Time" (G_airpurifier) {channel="miio:basic:airpurifier1:RfidTime"}
String air_purifier1_rfid_serial_num "Rfid - Rfid Serial Num" (G_airpurifier) {channel="miio:basic:airpurifier1:RfidSerialNum"}
Number air_purifier1_app_extra "Others - App Extra" (G_airpurifier) {channel="miio:basic:airpurifier1:AppExtra"}
Number air_purifier1_main_channel "Others - Main Channel" (G_airpurifier) {channel="miio:basic:airpurifier1:MainChannel"}
Number air_purifier1_slave_channel "Others - Slave Channel" (G_airpurifier) {channel="miio:basic:airpurifier1:SlaveChannel"}
String air_purifier1_cola "Others - Cola" (G_airpurifier) {channel="miio:basic:airpurifier1:Cola"}
Switch air_purifier1_buttom_door "Others - Buttom Door" (G_airpurifier) {channel="miio:basic:airpurifier1:ButtomDoor"}
Number air_purifier1_reboot_cause "Others - Reboot Cause" (G_airpurifier) {channel="miio:basic:airpurifier1:RebootCause"}
Number air_purifier1_hw_version "Others - Hw Version" (G_airpurifier) {channel="miio:basic:airpurifier1:HwVersion"}
Number air_purifier1_iic_error_count "Others - Iic Error Count" (G_airpurifier) {channel="miio:basic:airpurifier1:IicErrorCount"}
Number air_purifier1_manual_level "Others - Manual Level" (G_airpurifier) {channel="miio:basic:airpurifier1:ManualLevel"}
Number air_purifier1_country_code "Others - National Code" (G_airpurifier) {channel="miio:basic:airpurifier1:CountryCode"}
String air_purifier1_FirmwareRevision "Firmware" (G_airpurifier) {channel="miio:basic:airpurifier1:FirmwareRevision"}
String air_purifier1_Model "Model" (G_airpurifier) {channel="miio:basic:airpurifier1:Model"}
String air_purifier1_SerialNumber "SerialNumber" (G_airpurifier) {channel="miio:basic:airpurifier1:SerialNumber"}
Number air_purifier1_Life "Life" (G_airpurifier) {channel="miio:basic:airpurifier1:network#life"}
String air_purifier1_ExecuteCommand "Execute Command" (G_airpurifier) {channel="miio:basic:airpurifier1:actions#commands"}
The DEBUG log shows this:
==> data/openhab_userdata/logs/openhab.log <==
2023-07-27 14:19:02.654 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Periodic update for 'miio:basic:airpurifier1' (miio:basic)
2023-07-27 14:19:02.655 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel fault for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.656 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel on for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.656 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel fan-level for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.657 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel mode for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.657 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel pm2_5-density for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.657 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel relative-humidity for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.658 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel temperature for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.658 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel filter-life-level for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.659 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel filter-used-time for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.659 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel alarm for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.659 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel brightness for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.660 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel on1 for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.660 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel physical-controls-locked for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.661 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel button-pressed for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.661 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel filter-max-time for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.661 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel filter-hour-debug for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.662 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-strong for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.662 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-high for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.663 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-med for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.663 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-med-l for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.664 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-low for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.664 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-silent for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.664 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-favorite for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.665 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-speed for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.665 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel motor-set-speed for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.666 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel favorite-fan-level for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.666 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel use-time for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.667 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel purify-volume for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.667 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel average-aqi for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.667 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel average-aqi-cnt for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.668 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel aqi-zone for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.668 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel sensor-state for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.669 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel aqi-goodh for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.669 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel aqi-runstate for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.669 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel aqi-state for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.670 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel aqi-updata-heartbeat for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.670 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel rfid-tag for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.671 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel rfid-factory-id for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.671 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel rfid-product-id for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.672 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel rfid-time for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.672 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel rfid-serial-num for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.673 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel app-extra for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.673 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel main-channel for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.674 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel slave-channel for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.674 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel cola for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.675 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel buttom-door for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.675 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel reboot-cause for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.676 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel hw-version for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.676 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel iic-error-count for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.677 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel manual-level for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.677 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Skip refresh of channel country-code for miio:basic:airpurifier1 as it is not linked
2023-07-27 14:19:02.678 [DEBUG] [io.internal.handler.MiIoBasicHandler] - Custom Refresh for device 'miio:basic:airpurifier1': 0 channels
2023-07-27 14:19:02.678 [DEBUG] [nal.transport.MiIoAsyncCommunication] - Command added to Queue {"id":4808,"method":"miIO.info","params":[]} -> 192.168.24.16 (Device: 358311438 token: xyz123 Queue: 1).
2023-07-27 14:19:03.379 [DEBUG] [internal.handler.MiIoAbstractHandler] - Received response for device airpurifier1 type: MIIO_INFO, result: {"life":2008,"uid":6432360155,"model":"zhimi.airpurifier.mb3","token":"xyz123","ipflag":1,"fw_ver":"2.0.8","mcu_fw_ver":"0017","miio_ver":"0.0.8","hw_ver":"esp32","mmfree":79616,"mac":"54:48:E6:4D:8C:A3","wifi_fw_ver":"cef6c09-dirty","ap":{"ssid":"Home_2","bssid":"78:45:58:48:B6:DD","rssi":-51,"primary":1},"netif":{"localIp":"192.168.24.16","mask":"255.255.255.0","gw":"192.168.24.1"}}, fullresponse: {"id":4808,"result":{"life":2008,"uid":6432360155,"model":"zhimi.airpurifier.mb3","token":"xyz123","ipflag":1,"fw_ver":"2.0.8","mcu_fw_ver":"0017","miio_ver":"0.0.8","hw_ver":"esp32","mmfree":79616,"mac":"54:48:E6:4D:8C:A3","wifi_fw_ver":"cef6c09-dirty","ap":{"ssid":"Home_2","bssid":"78:45:58:48:B6:DD","rssi":-51,"primary":1},"netif":{"localIp":"192.168.24.16","mask":"255.255.255.0","gw":"192.168.24.1"}},"exe_time":50}
The item air_purifier1_Life is the only one that gets updated.
2023-07-27 14:21:33.155 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'air_purifier1_Life' changed from 2068 to 2158
PS: A xiaomi vaccum cleaner is running without any problem.
Does anybody know what I’m missing?
Thank you for your help.