Aller au contenu principal

Intégration domotique CoolMasterNet, gratuite et open source

Intégration CoolMasterNet pour Gladys Assistant

Climatisations gainables et VRF par une passerelle CoolMasterNet (CoolAutomation), en local.

Intégration Gladys non officielle pour les passerelles CoolMasterNet de CoolAutomation. Une passerelle CoolMasterNet se branche sur le bus d'un système de climatisation gainable, VRF ou multi-split (Daikin, Mitsubishi Electric, Mitsubishi Heavy, Toshiba, LG, Samsung, Fujitsu, Hitachi, Panasonic…) et en pilote toutes les unités intérieures. L'intégration parle à sa ligne de commande ASCII, sur votre réseau local (port TCP 10102), sans cloud.

Jamais testé avec un vrai appareil : l'intégration suit le protocole tel que la bibliothèque pycoolmasternet-async (utilisée par Home Assistant) le lit et l'écrit. Sans lien avec CoolAutomation.

Ce que vous obtenez​

Un appareil Gladys par unité intérieure (L1.100, L1.101…), avec :

  • Marche/arrêt, Mode (automatique, froid, chauffage, déshumidification, ventilation seule), Consigne (16 à 30 °C), Ventilation (automatique, faible, moyenne, forte ; « très faible » et « maximum » sont affichées mais pas envoyées) ;
  • Volet (seulement avec l'option « Lire les volets ») ;
  • Température de la pièce, Filtre à nettoyer (0 ou 1) et Code d'erreur (« Aucune erreur » ou le code du fabricant).

Les températures sont toujours en °C dans Gladys ; une passerelle réglée en °F est convertie dans les deux sens.

Configuration​

  1. Donnez une adresse IP fixe à la passerelle dans votre routeur. Vérifiez que son serveur ASCII sur le port 10102 est actif (il l'est par défaut).
  2. Dans Gladys, ouvrez l'intégration CoolMasterNet, saisissez l'adresse IP de chaque passerelle (4 au plus, séparées par des virgules ; ajoutez :port si vous avez changé le port) et enregistrez.
  3. Les unités apparaissent dans l'onglet Découverte : ajoutez-les.
  4. Pour piloter les unités, activez Autoriser les commandes. Sans cette option, l'intégration est en lecture seule et refuse toute commande.

Options :

  • Lire les volets : une requête de plus par unité à chaque lecture, et une fonctionnalité « Volet » sur chaque unité. Toutes les unités n'ont pas de volet motorisé.
  • Envoyer un retour à la ligne pour réveiller la passerelle : seulement si la passerelle ne répond pas autrement (certains firmwares n'affichent leur invite qu'après un retour à la ligne).
  • Intervalle de rafraîchissement : 60 s par défaut (30 à 600 s).

Sécurité​

La ligne de commande de la passerelle n'a pas de mot de passe : toute machine de votre réseau peut la piloter. Gardez la passerelle sur un réseau de confiance, jamais exposée à Internet.

Les commandes suivent des règles strictes :

  • désactivées par défaut ;
  • avant chaque commande, l'intégration relit le numéro de série de la passerelle et l'état de l'unité : si la passerelle n'est pas celle de l'appareil (adresse IP réattribuée) ou si l'état est illisible, rien n'est envoyé ;
  • l'option est revérifiée juste avant l'envoi ; une commande qui ne peut pas partir dans les 3,5 s est refusée sans être envoyée ;
  • une commande n'est confirmée que si l'état relu montre la valeur demandée ; sinon Gladys affiche « Commande envoyée, sans confirmation » et l'unité est relue 5 s plus tard ;
  • la consigne est bornée de 16 à 30 °C : une valeur hors bornes est refusée ;
  • l'arrêt n'est jamais bloqué par une autre commande en cours : il annule la commande en attente pour la même unité et fonctionne même juste après un redémarrage de l'intégration. Les arrêts passent par une voie à eux (une connexion de plus, jamais derrière les lectures) : un « tout éteindre » écrit d'un coup un off par unité sur une seule connexion (chaque échéance vérifiée juste avant son écriture), lit les réponses dans l'ordre, puis relit l'ensemble. Une réponse lente ne retarde jamais l'écriture des arrêts suivants. L'intégration n'ouvre jamais plus de 3 connexions à la fois vers une passerelle ;
  • tant qu'un arrêt est en cours sur une unité, les autres commandes vers cette unité sont refusées (« encore en cours »).

La marche/arrêt est une fonctionnalité de climatisation (air-conditioning/binary), comme pour MELCloud. Selon ce qui l'expose (assistant vocal, HomeKit, Google Home, MCP), un « éteins tout » peut éteindre les unités, et un « allume tout » les allumer si les commandes sont autorisées. Les scènes « allumer / éteindre les interrupteurs » ne les visent pas.

Identifiants des appareils​

Les appareils sont identifiés par le numéro de série de la passerelle (lu par la commande set) et l'adresse de l'unité sur le bus. Si la passerelle n'affiche aucun numéro de série à sa première lecture, l'intégration utilise à la place l'adresse saisie (« a-192-168-1-50 »). L'identifiant choisi à la première lecture est gardé dans /data pour cette adresse et ne change plus : un numéro de série apparu ensuite (mise à jour du firmware) ne sert qu'à vérifier que c'est bien la même passerelle, sans créer de nouveaux appareils. Une autre passerelle à la même adresse (autre numéro de série) donne ses propres appareils.

Limites​

  • Jamais testé avec un vrai appareil.
  • 4 passerelles et 64 unités par passerelle au plus.
  • Un « tout éteindre » écrit tous les arrêts tout de suite, mais Gladys n'attend l'acquittement que 5 s : si la passerelle met plus d'environ 3,9 s à répondre à tous les off, les arrêts sont bien envoyés mais annoncés « envoyée, sans confirmation », et l'état est relu 5 s plus tard.
  • Le nom exact du champ « numéro de série » de la commande set n'est pas documenté publiquement : l'intégration accepte « serial number », « serial », « S/N », « SN », « UID » et « MAC ».
  • La remise à zéro du filtre (filt) et l'envoi d'une température ambiante (feed) ne sont pas proposés.

Dépannage​

  • Pas de réponse : vérifiez l'adresse, le port et que le serveur ASCII est actif ; essayez l'option « Envoyer un retour à la ligne ».
  • Numéro de série illisible : les états ne sont pas affichés et les commandes sont refusées jusqu'à la lecture suivante.
  • Le bouton Tester la connexion ne relit jamais une passerelle plus tôt que l'intervalle : il indique quand aura lieu la prochaine lecture.

Crédits​

Logique de protocole portée de pycoolmasternet-async (MIT, On Freund, Steven Grimm). Voir THIRD_PARTY_NOTICES.md.

Paramètres de configuration​

Voici les paramètres demandés par CoolMasterNet dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Vos passerelles CoolMasterNetsectionNonAffiche dans Gladys chaque unité intérieure d'un système gainable, VRF ou multi-split (Daikin, Mitsubishi, Toshiba, LG, Samsung…) relié à une passerelle CoolMasterNet de CoolAutomation, par la ligne de commande ASCII de la passerelle sur votre réseau (port TCP 10102), sans cloud : marche/arrêt, mode, consigne, ventilation, volet, température de la pièce, filtre et code d'erreur. Saisissez l'adresse IP de chaque passerelle (donnez-lui une adresse fixe dans votre routeur), enregistrez, puis ajoutez les unités depuis l'onglet Découverte. Gladys ne les commande que si vous autorisez les commandes ci-dessous. La ligne de commande n'a pas de mot de passe : gardez la passerelle sur un réseau de confiance. Jamais testé avec un vrai appareil. Sans lien avec CoolAutomation.
Adresses IP des passerelles CoolMasterNetstringOuiSéparées par des virgules (4 au plus). Adresses IPv4 ou noms d'hôte ; port 10102 sauf si vous en ajoutez un.
Autoriser les commandesbooleanNonDésactivé par défaut : lecture seule, toute commande refusée. Activé : Gladys peut allumer et éteindre les unités, changer leur mode, leur consigne (16 à 30 °C), leur ventilation et leur volet.
Lire les voletsbooleanNonDésactivé par défaut. Activé : une requête de plus par unité à chaque lecture, et une fonctionnalité volet sur chaque unité (toutes n'en ont pas).
Envoyer un retour à la ligne pour réveiller la passerellebooleanNonSeulement si la passerelle ne répond pas autrement : certains firmwares n'affichent leur invite qu'après un retour à la ligne.
Intervalle de rafraîchissement (s)numberNonFréquence de lecture de chaque passerelle, en secondes.
Langue des noms des fonctionnalitésselectNonSert aux noms des appareils et des fonctionnalités ajoutés désormais, aux options et aux erreurs des commandes.

Comment installer CoolMasterNet dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : CoolMasterNet apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/lm1lc3n7/gladys-coolmasternet:0.1.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).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-coolmasternet.

CoolMasterNet nécessite Gladys >=5.1.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​

CoolMasterNet 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 LM1LC3N7, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂