Intégration domotique Midea, gratuite et open source

Climatiseurs, pompes à chaleur, déshumidificateurs Midea et marques dérivées, en réseau local.
Pilotez vos climatiseurs Midea depuis Gladys, en réseau local : marche/arrêt, mode, consigne, vitesse de ventilation, balayage, modes éco, turbo et nuit, température intérieure et extérieure, et consommation d'énergie des climatiseurs qui la mesurent.
Développée sans le matériel : vos retours sont les bienvenus (« Developed without the hardware: feedback welcome »). Cette intégration a été écrite et testée sur des trames enregistrées de vrais climatiseurs, pas sur un appareil physique. Dites ce qui marche et ce qui ne marche pas sur GitHub.
Cette intégration n'est pas affiliée à Midea.
Matériel compatible
Le critère est l'application, pas la marque sur l'appareil : un climatiseur (type d'appareil Midea 0xAC) dont le module Wi-Fi est configuré dans l'une de ces applications fonctionne avec cette intégration :
- SmartHome / MSmartHome, NetHome Plus, Midea Air, Toshiba AC NA, Arctic King.
Midea fabrique pour de nombreuses marques ; les climatiseurs de marques liées comme Comfee, Carrier ou certaines gammes Toshiba utilisent souvent ces applications. Les splits, climatiseurs de fenêtre et mobiles parlent tous le même protocole.
Les pompes à chaleur air/eau (type d'appareil Midea 0xC3, le « Heat Pump Wi-Fi Controller » d'une pompe à chaleur hydraulique, par exemple le modèle 171H120F) sont aussi prises en charge : zones de chauffage, eau chaude sanitaire, modes éco et silencieux, températures d'eau et extérieure. Elles apparaissent dans l'onglet Découverte comme les climatiseurs.
Les déshumidificateurs (type d'appareil Midea 0xA1 : Midea, Comfee, Inventor... configurés dans l'application SmartHome / MSmartHome) sont aussi pris en charge.
Non pris en charge : les autres appareils Midea (chauffe-eau, ventilateurs...), que la recherche signale « non pris en charge », et les tout premiers modules Wi-Fi (protocole V1, vers 2015).
Prérequis
- Gladys 5.2.0 ou plus récent.
- Le climatiseur sur le même réseau local que Gladys, configuré une fois dans son application (le module Wi-Fi doit être connecté à votre réseau).
- Pour les climatiseurs vendus depuis 2020 environ (protocole V3) : un accès à Internet une seule fois, pour obtenir la clé de l'appareil auprès du cloud Midea. Ensuite, tout est local.
Installation et configuration
- Dans Gladys, ouvrez Intégrations → Installer depuis GitHub et saisissez
https://github.com/guim31/gladys-midea. - Sur l'écran d'installation, acceptez la demande de découverte réseau : Gladys envoie la requête de recherche Midea sur votre réseau (ports UDP 6445 et 20086) pour le compte de l'intégration.
- Ouvrez l'onglet Configuration de l'intégration. Les réglages :
- Adresses IP des climatiseurs : facultatif, seulement pour les climatiseurs que la recherche automatique ne trouve pas (autre sous-réseau, routeur qui filtre les diffusions). Donnez-leur une adresse fixe dans votre box.
- Intervalle d'actualisation : fréquence de lecture de chaque climatiseur (30 secondes par défaut).
- Langue des noms des appareils : langue des noms donnés aux nouveaux appareils et à leurs fonctionnalités (français par défaut).
- Bip à chaque commande : désactivé par défaut, pour qu'une scène de nuit reste silencieuse.
- Format des données d'énergie : laissez « Standard (BCD) » sauf si la puissance ou l'énergie affichée est absurde.
- Clés des climatiseurs récents (V3) : l'Application du cloud où vos appareils sont configurés (NetHome Plus par défaut, ou SmartHome : l'application MSmartHome, utilisée aussi par Comfee et d'autres marques), la Région du cloud des comptes publics qui servent à obtenir les clés (Europe par défaut), ou votre propre compte de cette application, dans Compte du cloud et Mot de passe de ce compte (facultatifs).
- Jeton et clé saisis à la main : facultatif, seulement pour un appareil V3 dont le cloud ne donne pas la clé (voir plus bas).
- Ouvrez l'onglet Découverte : chaque climatiseur trouvé apparaît, nommé « Climatiseur » suivi des quatre derniers caractères de son nom Wi-Fi. Ajoutez à Gladys ceux que vous voulez.
Le bouton Rechercher les climatiseurs (onglet Configuration) relance une recherche et liste chaque climatiseur trouvé, son adresse, son protocole et s'il répond.
À propos des clés des climatiseurs V3
Un climatiseur V3 ne parle qu'à un client qui connaît son jeton et sa clé. Midea les range dans son cloud, au nom de l'appareil lui-même et non d'un compte, mais seulement dans le cloud de l'application où l'appareil a été configuré : NetHome Plus ou SmartHome (MSmartHome). L'intégration les obtient une seule fois, avec des comptes publics des deux applications (la pratique des bibliothèques libres msmart-ng et midea-local), ou avec votre propre compte si vous le saisissez (essayé sur les deux clouds, puis les comptes publics) : l'application choisie d'abord, puis l'autre, si bien qu'un appareil de l'une ou l'autre obtient sa clé sans rien changer. Ils sont ensuite enregistrés dans le volume de l'intégration (/data) et jamais écrits dans les journaux. Si l'appareil est réinitialisé ou réappairé dans son application, l'intégration voit la clé refusée et en obtient une nouvelle.
Appareils et fonctionnalités
Chaque climatiseur est un appareil Gladys. Ses fonctionnalités dépendent de ce que l'appareil annonce :
| Fonctionnalité | Ce qu'elle fait |
|---|---|
| Marche/arrêt | Allume ou éteint le climatiseur. |
| Mode | Auto, Froid, Chaud, Déshumidification, Ventilation (seulement les modes de l'appareil). |
| Température de consigne | La consigne, par demi-degré quand l'appareil les accepte, dans sa plage (16 à 30 °C en général). |
| Vitesse de ventilation | Auto, Silencieux, Basse, Moyenne, Haute, Maximale (seulement les vitesses de l'appareil). |
| Balayage vertical, Balayage horizontal | Balayage ou fixe, quand l'appareil a le volet. |
| Température intérieure | La température mesurée par l'unité intérieure. |
| Température extérieure | La température mesurée par l'unité extérieure, quand elle en donne une. |
| Humidité intérieure | Quand l'appareil a une sonde d'humidité. |
| Mode éco, Turbo, Mode nuit | Les préréglages de l'appareil. Éco et Turbo s'excluent. |
| Puissance consommée, Énergie consommée | Puissance instantanée (W) et énergie totale (kWh), pour les appareils avec compteur d'énergie. |
Les changements faits avec la télécommande ou l'application sont repris à la lecture suivante.
Pompes à chaleur
Une pompe à chaleur (type 0xC3) est un appareil Gladys à part, nommé « Pompe à chaleur » suivi des quatre derniers caractères de son nom Wi-Fi. Ses fonctionnalités suivent l'installation qu'elle annonce (une ou deux zones, eau chaude, chauffage seul ou chauffage et rafraîchissement) :
| Fonctionnalité | Ce qu'elle fait |
|---|---|
| Mode zone 1, Mode zone 2 | Arrêt, Chaud, Froid, Auto : Arrêt coupe la zone, les autres valeurs règlent le mode de fonctionnement de la pompe à chaleur, commun aux deux zones. Zone 2 seulement avec deux zones. |
| Consigne zone 1, Consigne zone 2 | La température d'eau de la zone (degrés entiers), ou la température de la pièce pour une zone pilotée par un thermostat d'ambiance (par demi-degré), dans les limites annoncées par l'appareil. |
| Eau chaude, Consigne d'eau chaude | Eau chaude sanitaire en marche ou arrêtée, et sa consigne dans les limites de l'appareil. |
| Température du ballon | La température mesurée dans le ballon. |
| Température extérieure, Température d'entrée d'eau, Température de sortie d'eau | Mesurées par les unités extérieure et hydraulique, quand l'appareil les donne. |
| Fonctionnement zone 1, Fonctionnement zone 2 | Repos, chauffe ou rafraîchissement : ce que fait la zone en ce moment (repos quand elle est arrêtée ou pendant que l'appareil chauffe l'eau chaude). |
| Loi d'eau zone 1, Loi d'eau zone 2 | La consigne d'eau de la zone suit la température extérieure (la courbe réglée sur la commande). |
| Chauffe de l'eau chaude | L'appareil chauffe l'eau chaude en ce moment. |
| Débit d'eau, Pression d'eau | Débit du circuit de chauffage (m³/h) et sa pression (kPa). |
| Mode éco, Mode silencieux, Mode super silencieux | Les préréglages de l'appareil. Le mode super silencieux est le niveau le plus discret du mode silencieux, quand l'appareil le propose. |
| Compresseur, Dégivrage, Appoint électrique | Le compresseur tourne, l'unité extérieure dégivre, une résistance électrique (appoint ou ballon) aide. |
| Heures du compresseur | Heures de fonctionnement du compresseur : elles apparaissent dès que l'appareil les a envoyées. |
| Code erreur | Le code affiché par la commande (E8, P1, H6...), ou « Aucune erreur ». Le déclencheur « Erreur du climatiseur » le donne dans error_display. |
| Puissance consommée | La puissance instantanée (W), quand l'appareil la donne. |
| Énergie consommée, Chaleur produite (kWh) | L'électricité consommée et la chaleur produite au total (kWh) : elles apparaissent dès que l'appareil a envoyé ses compteurs. Leur rapport donne le rendement saisonnier (COP). La chaleur est un simple compteur, pour que Gladys ne la compte pas comme de l'électricité. |
L'appoint électrique du ballon, l'eau chaude rapide et la désinfection anti-légionellose restent entre les mains de l'appareil et de sa commande. Le widget « Appareil Midea » a une vue pompe à chaleur (voir Widget) ; l'action de scène « Lancer la climatisation » est réservée aux climatiseurs ; le déclencheur « Erreur du climatiseur » fonctionne aussi pour les pompes à chaleur. La prise en charge des pompes à chaleur a été écrite d'après le code de midea-local et attend des retours sur de vrais appareils.
Déshumidificateurs
Un déshumidificateur (type 0xA1) est un appareil Gladys à part, nommé « Déshumidificateur » suivi des quatre derniers caractères de son nom Wi-Fi. Gladys n'a pas de catégorie déshumidificateur : le mode, la vitesse de ventilation et l'humidité cible sont des listes de choix, comme sur l'intégration Tuya.
| Fonctionnalité | Ce qu'elle fait |
|---|---|
| Marche/arrêt | Allume ou éteint le déshumidificateur. |
| Mode | Consigne, Continu, Auto, Séchage du linge, Séchage des chaussures. |
| Vitesse de ventilation | Très basse, Basse, Moyenne, Haute, Auto. |
| Humidité cible | 35 à 85 %, par pas de 5 (la consigne du mode « Consigne »). |
| Humidité, Température | Mesurées par l'appareil. |
| Niveau du réservoir, Réservoir plein | Le niveau du réservoir (%) et s'il a atteint le niveau réglé sur l'appareil. |
| Sécurité enfant, Ioniseur, Oscillation | Les options de l'appareil. |
| Pompe de vidange | Seulement sur un appareil qui en a une. |
Le déclencheur « Filtre à nettoyer » fonctionne aussi pour les déshumidificateurs. L'action de scène « Lancer la climatisation » et le widget sont réservés aux climatiseurs. La prise en charge des déshumidificateurs a été écrite d'après le code de midea-local et attend des retours sur de vrais appareils.
Widget
Le widget Appareil Midea (choisissez l'appareil dans ses réglages) s'adapte au type d'appareil. Pour un climatiseur, il montre la température de la pièce, la consigne et la température extérieure (ou l'humidité), puis le mode, la ventilation, l'état du filtre et le code erreur de l'appareil. Ses boutons :
- Allumer / Éteindre ;
- −0,5 °C et +0,5 °C (par 1 °C sur les appareils qui n'acceptent pas les demi-degrés) ;
- Mode et ventilation : un petit formulaire pour choisir ensemble le mode et la vitesse de ventilation ; le climatiseur est allumé.
Pour une pompe à chaleur, il montre la consigne de la zone 1, la température du ballon et la température extérieure, puis ce qui fonctionne en ce moment : chaque zone (mode, chauffe ou repos), l'eau chaude (marche, consigne, chauffe), le compresseur (avec dégivrage et appoint électrique), la puissance consommée, le rendement depuis le début des compteurs (COP (total) : chaleur produite divisée par l'électricité consommée) et le code erreur. Ses boutons :
- Allumer zone 1 / Éteindre zone 1 : la zone 1 repart dans le mode de fonctionnement de l'appareil ;
- −1 °C et +1 °C sur la consigne de la zone 1 (par demi-degré pour une zone pilotée par un thermostat d'ambiance), dans les limites annoncées par l'appareil ;
- Réglages : un petit formulaire pour le mode de la zone 1, l'eau chaude et sa consigne, et le mode éco (le mode silencieux aussi sur un appareil sans eau chaude). La zone et l'eau chaude partent dans une seule trame.
Déclencheurs de scène
- Filtre à nettoyer : le climatiseur demande le nettoyage de son filtre. Pratique pour vous envoyer un message.
- Erreur du climatiseur : le climatiseur signale un nouveau code erreur. Le code est disponible dans la scène comme variable (
error_code), à mettre dans un message.
Action de scène
- Lancer la climatisation : allume le climatiseur avec son mode, sa consigne et sa ventilation en une seule commande (un seul bip, pas d'état intermédiaire), là où les actions standard de Gladys enverraient une commande par fonctionnalité. Un champ vide garde le réglage actuel. La consigne accepte les demi-degrés (
24,5ou24.5). La consigne appliquée est renvoyée à la scène.
Pour éteindre le climatiseur, ou changer un seul réglage, utilisez l'action standard « Contrôler un appareil » de Gladys.
Exemples de scènes
- Rafraîchir la chambre avant le coucher : à 21 h 30, si la chambre dépasse 26 °C, « Lancer la climatisation » en Froid à 24 °C, ventilation Silencieux, puis activer le Mode nuit.
- Plus personne à la maison : quand la dernière personne part, éteindre tous les climatiseurs.
- Rappel du filtre : sur « Filtre à nettoyer », envoyer le message « Nettoyer le filtre du climatiseur du salon ».
- Alerte panne : sur « Erreur du climatiseur », envoyer un message avec le code erreur (
error_code).
Rafraîchissement et réseau
- L'intégration lit elle-même chaque climatiseur toutes les 30 secondes par défaut, par le réseau local (port TCP 6444). Le sondage de Gladys ne sert que de secours. Chaque lecture tient en quelques petites trames : pas d'Internet, pas de quota.
- Seules les valeurs qui changent sont envoyées à Gladys, plus un rappel toutes les 6 heures pour qu'une valeur stable ne paraisse jamais ancienne.
- Une nouvelle recherche tourne toutes les 30 minutes, pour suivre un climatiseur dont l'adresse a changé.
- Le cloud Midea n'est contacté que pour obtenir la clé d'un climatiseur V3 qui n'en a pas encore.
Dépannage
- Aucun climatiseur trouvé : vérifiez qu'il est connecté dans son application et sur le même réseau que Gladys ; saisissez son adresse IP dans la configuration ; lancez Rechercher les climatiseurs.
- « Un climatiseur récent (V3) n'a pas de clé » : Gladys n'a pas pu joindre le cloud Midea, ou les comptes publics de la région ne connaissent pas l'appareil. Essayez une autre Région du cloud, ou saisissez votre propre compte de l'application où l'appareil est configuré (choisissez cette application dans Application du cloud), puis relancez Rechercher les climatiseurs.
- Le cloud ne donne pas de clé (certaines pompes à chaleur) : si l'intégration Midea AC LAN de Home Assistant parle déjà à l'appareil, recopiez son jeton et sa clé (dans sa configuration enregistrée) dans Jeton et clé saisis à la main, sous la forme
jeton:clé, puis relancez Rechercher les climatiseurs. - Le climatiseur ne répond pas : vérifiez qu'il est alimenté et que son adresse n'a pas changé ; un module n'accepte qu'une connexion à la fois, fermez les autres outils locaux qui lui parlent.
- Puissance ou énergie absurdes : passez le Format des données d'énergie sur « Binaire ».
- Diagnostic des appareils (onglet Configuration, lecture seule) : un rapport texte de l'installation : configuration sans jeton, clé ni mot de passe, découverte, appareils trouvés mais non pris en charge, puis chaque appareil (protocole, clés présentes ou non, dernière réponse, dernière erreur, capacités, dernier état). Choisissez un appareil pour le voir seul. Copiez le rapport dans une issue GitHub.
- Tester un appareil (onglet Configuration, lecture seule) : lit un appareil tout de suite, choisi dans la liste ou par son adresse IP. Chaque requête de son type est envoyée, avec la réponse brute, son décodage et le temps de réponse ; aucune commande n'est jamais envoyée. Pour une adresse encore inconnue, le rapport donne la réponse de découverte : quel appareil c'est, et s'il est pris en charge. C'est ce qu'il faut pour demander la prise en charge d'un nouvel appareil Midea.
- Les deux rapports raccourcissent identifiants et numéros de série et masquent les adresses locales : ils peuvent être publiés. L'option « Afficher identifiants, numéros de série et adresses locales » les montre en entier : gardez alors le rapport privé ; les journaux n'en gardent que la version masquée.
- Plus de détails : mettez la variable d'environnement
LOG_LEVELdu conteneur àdebug.
Limites
- Développée sans le matériel : vos retours sont les bienvenus sur GitHub.
- Climatiseurs, pompes à chaleur air/eau et déshumidificateurs seulement : les autres appareils Midea ne sont pas encore pris en charge.
- Les positions des volets, l'afficheur (LED) et les préréglages avancés (breeze, iECO, air frais...) ne sont pas gérés.
- Les modules de première génération (V1) ne sont pas pris en charge.
- Gladys affiche la consigne par degré entier sur certains écrans ; l'appareil, lui, accepte les demi-degrés.
- La clé d'un climatiseur V3 demande le cloud Midea une fois : si Midea ferme ce service, les appareils déjà connus continuent de fonctionner.
Paramètres de configuration
Voici les paramètres demandés par Midea dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Trouver vos climatiseurs | section | Non | Les climatiseurs Midea, et ceux des marques liées aux mêmes applications (Comfee, Carrier, certains Toshiba...), du réseau de Gladys sont trouvés automatiquement : ouvrez l'onglet Découverte. Gardez-les configurés dans leur application. S'il en manque un, saisissez son adresse IP ci-dessous. |
| Adresses IP des climatiseurs | string | Non | Facultatif, séparées par des virgules. Seulement pour les climatiseurs que la découverte automatique ne trouve pas. |
| Intervalle d'actualisation | select | Non | Fréquence de lecture de chaque climatiseur, pour suivre les changements faits avec sa télécommande ou son application. |
| Langue des noms des appareils | select | Non | Noms donnés aux nouveaux appareils et à leurs fonctionnalités (Mode, Vitesse de ventilation...). |
| Bip à chaque commande | boolean | Non | Le climatiseur bipe quand Gladys change un réglage, comme avec sa télécommande. |
| Format des données d'énergie | select | Non | Les climatiseurs avec compteur d'énergie l'encodent de deux façons. À changer seulement si la puissance ou l'énergie affichée est absurde. |
| Clés des climatiseurs récents (V3) | section | Non | Les climatiseurs vendus depuis 2020 environ demandent une clé, obtenue une fois auprès du cloud Midea puis gardée dans Gladys : tout le reste est local. Des comptes publics servent par défaut ; vous pouvez saisir votre propre compte NetHome Plus ou SmartHome. |
| Application du cloud | select | Non | L'application où vos appareils sont configurés. L'autre est aussi essayée si la clé ne peut pas être obtenue. |
| Région du cloud | select | Non | Région du compte public. Essayez-en une autre si la clé ne peut pas être obtenue. |
| Compte du cloud (facultatif) | string | Non | Compte de l'application du cloud choisie ci-dessus. Il est essayé sur les deux clouds, puis les comptes publics. |
| Mot de passe de ce compte (facultatif) | secret | Non | |
| Jeton et clé saisis à la main (facultatif) | secret | Non | Seulement si le cloud ne donne pas de clé : jeton:clé d'un appareil (128 et 64 caractères hexadécimaux), tels que les garde Midea AC LAN de Home Assistant. Plusieurs paires séparées par des virgules. |
Comment installer Midea dans Gladys
- Dans Gladys, ouvrez Intégrations : Midea apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-midea:1.3.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-midea.
Midea nécessite Gladys >=5.2.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Midea est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation