À propos du projet
python-miio est une bibliothèque Python communautaire accompagnée d'un outil en ligne de commande, miiocli, pour contrôler les appareils électroménagers intelligents Xiaomi qui parlent les protocoles miIO et MIoT. Elle n'est affiliée ni à Xiaomi ni à aucun fabricant dont elle prend en charge les appareils.
L'installation se fait via pip (python-miio), ou depuis le dépôt GitHub pour la version de développement. Le README signale un effort de refactorisation en cours et recommande la version git ou les pré-versions pour contrôler les appareils MIoT modernes jusqu'à la sortie de la version 0.6.0.
Pour commencer : miiocli peut contrôler les appareils pris en charge à condition de disposer de leur adresse IP et de leur jeton. Les jetons peuvent être récupérés depuis un compte cloud Xiaomi avec la commande miiocli cloud (via la bibliothèque micloud), ou obtenus par d'autres méthodes documentées. Une commande générique info indique le modèle, les versions matérielle et logicielle, la classe d'intégration prise en charge et la commande exacte à utiliser pour le contrôle.
Les appareils MIoT modernes sont gérés par une intégration genericmiot qui télécharge et met en cache les fichiers de spécification des modèles d'appareils afin de découvrir les capteurs, les réglages et les actions. Les commandes courantes incluent status (afficher l'état et les valeurs acceptées pour les réglages en lecture-écriture), set (modifier un réglage par son nom), actions (lister les actions disponibles) et call (exécuter une action).
Les appareils miIO plus anciens sont pris en charge via des modules par appareil tels que roborockvacuum ou fan, chaque module exposant ses propres sous-commandes. La détection du modèle est automatique mais peut être forcée avec une option --model lorsque la connectivité cloud n'est pas disponible.
L'aide au dépannage comprend des options répétables --debug/-d pour augmenter la verbosité des journaux, une section de documentation dédiée au dépannage, des issues et discussions GitHub, et un salon de discussion Matrix.
Utilisation de l'API : le module miio expose toutes les fonctionnalités. DeviceFactory.create(ip, token) effectue une requête info pour détecter le modèle et construit la classe d'appareil correspondante. Les classes d'appareil peuvent être introspectées via sensors(), settings() et actions(), qui renvoient des objets descripteurs décrivant les fonctionnalités disponibles ; toutes les intégrations ne définissent pas encore de descripteurs.
Les contributions de corrections de bugs, de fonctionnalités et de documentation sont bienvenues, avec un court guide de contribution fourni. Pour les développeurs sans matériel, le projet fournit de simples simulateurs miIO et MIoT pour tester le code.
Le README liste un large éventail d'appareils pris en charge, notamment les aspirateurs robots Xiaomi (Mi Robot Vacuum V1, S4, S4 MAX, S5, S5 MAX, S6 Pure, M1S, S7, et divers modèles Dreame et Viomi), purificateurs d'air, humidificateurs, climatiseurs, caméras, passerelles, prises, multiprises, lampes et ampoules, télécommandes IR, ventilateurs sur pied, purificateurs d'eau, capteurs de qualité de l'air, enceintes, répéteurs Wi-Fi, cuiseurs à riz, systèmes d'air frais, éclairages Yeelight, radiateurs, un contrôleur de rideaux, un lave-vaisselle, une machine à café, un distributeur d'eau pour animaux et plus encore. Tous les appareils MIoT sont annoncés comme pris en charge via genericmiot.
Home Assistant utilise officiellement cette bibliothèque pour plusieurs plateformes (vacuum, light, fan, switch, remote, sensor, alarm control panel, device tracker), et divers composants Home Assistant personnalisés s'appuient également dessus. Les projets associés mentionnés incluent dustcloud, Valetudo, micloud, micloudfaker et Xiaomi Cloud Tokens Extractor.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.