Je croise beaucoup d’entre vous sur le net qui rencontre un problème avec le plugin Xiaomi Home et le purificateur d’air Xiaomi Air Purifier 3H.
J’ai reçu le mien hier, et effectivement, le Purifier 3H n’est pas compatible avec l’extension Xiaomi Home.
J’y ai passé l’après-midi, mais je suis arrivé à mes fins, et il me semble important de partager cela avec vous.
Model de mon Purificateur d’Air : zhimi.airpurifier.mb3
Prérequis
Pour commencer vous devez :
- Installer et activer le plugin Script sur votre Jeedom.
- Installer l’outil Putty. (Pour se connecter en SSH à Jeedom).
- Avoir en votre possession l’adresse IP et le Token de votre Purifier 3H.
Installation de la commande JQ
Nous allons installer la commande JQ sur votre Jeedom afin de pouvoir traiter les données JSON renvoyées par votre purificateur d’air Xiaomi Air Purifier 3H.
- Connectez vous en SSH à l’aide de PuTTy à votre Jeedom.
- Entrez la commande suivante :
sudo apt-get install jq -y
Installation de la commande miiocli
Pour que Jeedom puisse communiquer avec le purificateur d’air (Purifier 3H), vous devez installer miiocli.
- Connectez vous en SSH à l’aide de PuTTy à votre Jeedom.
- Entrez les commandes suivantes :
sudo apt-get install libffi-dev libssl-dev -y
sudo pip3 install python-miio
La commande miiocli (Xiaomi)
Cette commande permet de communiquer avec de nombreux appareils Xiaomi, tels que notre purificateur d’air.
Voici la liste des appareils pris en charge par la commande miiocli :
- Xiaomi Mi Robot Vacuum V1, S5, M1S
- Xiaomi Mi Home Air Conditioner Companion
- Xiaomi Mi Smart Air Conditioner A (xiaomi.aircondition.mc1, mc2, mc4, mc5)
- Xiaomi Mi Air Purifier
- Xiaomi Mi Air Humidifier
- Xiaomi Aqara Camera
- Xiaomi Aqara Gateway (basic implementation, alarm, lights)
- Xiaomi Mijia 360 1080p
- Xiaomi Mijia STYJ02YM (Viomi)
- Xiaomi Mi Smart WiFi Socket
- Xiaomi Chuangmi Plug V1 (1 Socket, 1 USB Port)
- Xiaomi Chuangmi Plug V3 (1 Socket, 2 USB Ports)
- Xiaomi Smart Power Strip V1 and V2 (WiFi, 6 Ports)
- Xiaomi Philips Eyecare Smart Lamp 2
- Xiaomi Philips RW Read (philips.light.rwread)
- Xiaomi Philips LED Ceiling Lamp
- Xiaomi Philips LED Ball Lamp (philips.light.bulb)
- Xiaomi Philips LED Ball Lamp White (philips.light.hbulb)
- Xiaomi Philips Zhirui Smart LED Bulb E14 Candle Lamp
- Xiaomi Philips Zhirui Bedroom Smart Lamp
- Xiaomi Universal IR Remote Controller (Chuangmi IR)
- Xiaomi Mi Smart Pedestal Fan V2, V3, SA1, ZA1, ZA3, ZA4, P5, P9, P10, P11
- Xiaomi Mi Air Humidifier V1, CA1, CA4, CB1, MJJSQ, JSQ001
- Xiaomi Mi Water Purifier (Basic support: Turn on & off)
- Xiaomi Mi Water Purifier D1, C1 (Triple Setting)
- Xiaomi PM2.5 Air Quality Monitor V1, B1, S1
- Xiaomi Smart WiFi Speaker
- Xiaomi Mi WiFi Repeater 2
- Xiaomi Mi Smart Rice Cooker
- Xiaomi Smartmi Fresh Air System VA2 (zhimi.airfresh.va2), VA4 (zhimi.airfresh.va4), T2017 (dmaker.airfresh.t2017)
- Yeelight lights (basic support, we recommend using python-yeelight)
- Xiaomi Mi Air Dehumidifier
- Xiaomi Tinymu Smart Toilet Cover
- Xiaomi 16 Relays Module
- Xiaomi Xiao AI Smart Alarm Clock
- Smartmi Radiant Heater Smart Version (ZA1 version)
- Xiaomi Mi Smart Space Heater
- Xiaomiyoupin Curtain Controller (Wi-Fi) (lumi.curtain.hagl05)
En SSH toujours, lancez la commande suivante afin de connaitre ce qu’il est possible de faire avec notre purificateur d’air :
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] --help
Vous devriez normalement obtenir ceci :

Eteindre / Allumer
Voici les commandes pour éteindre et allumer votre Xiaomi Air Purifier 3H
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur]on
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur]off
Sélection du mode
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur]set_mode auto
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur]set_mode fan
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur]set_mode favorite
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur]set_mode silent
Activer / Désactiver le buzzer
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] set_buzzer 1
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] set_buzzer 0
Récupérer les informations
Sans doute la commande la plus intéressante !
sudo miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] status
Attention pour l’interprétation dans Jeedom, il est nécessaire de récupérer ces informations au format JSON :
sudo miiocli --output json airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] status
Création du script
Maintenant que notre jeedom est prêt à communiquer avec le purificateur d’air (Xiaomi Air Purifier 3H), nous allons créer un script grâce au plugin Script du market.
Voila comment le mien est configuré :

Pour les commandes, vous allez devoir créer une commande info qui récupère l’ensemble des informations dans un fichier JSON.
La commande Refresh
Renseignez votre commande comme suit :

Détail de la requête :
sudo miiocli --output json airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] status > /var/www/html/purifier.json
Les commandes d’informations
Maintenant nous allons créer une commande par information que nous voulons récupérer.
Voila ce que j’ai réalisé chez moi :

Les commandes d’actions
Vous allez maintenant créer les commandes d’actions permettant de :
- Eteindre l’appareil (off)
- Allumer l’appareil (on)
- Activer/Désactiver le buzzer (set_buzzer)
- Switcher entre les 3 vitesses de ventilation (set_fan_level)
- Définir le niveau de ventilation en favori (set_favorite_level)
- Définir la luminosité de l’écran (set_led_brightness)
- Définir le mode (set_mode)
- Définir le volume (set_volume)
Voici comment est construite la commande :
miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] [Paramètre] (Option)
Exemple de commande pour passer le purificateur en mode automatique :
miiocli airpurifiermiot --ip [IpDeVotrePurificateur] --token [TokenDeVotrePurificateur] set_mode auto
Voici un aperçu de mes commandes d’actions :

Résultat
Voila ce que ça donne :

J’espère vous avoir aidé ! Si vous rencontrez un problème, n’hésitez pas à laisser un commentaire 😉
super !
Merci
voici les infos que l’on peux récupérer :
Power: on
AQI: 1 μg/m³
Average AQI: 5 μg/m³
Humidity: 37 %
Temperature: 26.1 °C
Fan Level: 1
Mode: OperationMode.Fan
LED: True
LED brightness: LedBrightness.Bright
Buzzer: True
Buzzer vol.: None
Child lock: False
Favorite level: 14
Filter life remaining: 0 %
Filter hours used: 4050
Use time: 14507100 s
Purify volume: 172995 m³
Motor speed: 761 rpm
Filter RFID product id: 0:0:31:31
Filter RFID tag: 81:67:b8:6a:f6:9:4
Filter type: FilterType.Regular