plate-forme Home Assistant "MQTT HVAC" (chauffage, ventilation et climatisation)

7 minutes de lecture
Proconducteur: Home Assistant Communauté
Disponibilité: inclus dans leHUB personnel Home Assistant
catégorie: logiciel
typologie: plate-forme Home Assistant
famille: composant "Climate" Home Assistant
Difficultés de mise en œuvre: Médias

La plateforme "MQTT HVAC" (Chauffage, ventilation et climatisation) chauffage, ventilation et climatisationnamento), fille du composant "Climate", sert à définir tout entité contrôle utile, appoint, pour gérer à travers Home Assistant chauffage et / ou ventilation et / ou conditionnamento à partir d'appareils pouvant être contrôlés par proprotocole MQTT.

Nb Ce composant Ce n'est pas adapté à l’intégration de dispositifs / actionneurs qui, bien qu'ils soutiennent proMQTT tocollo, ne pas avoir disponible un propremière intelligence pro-Propriété pour la gestion du climat (par exemple, de simples commutateurs MQTT, tels que leITEAD Sonoff Basic). En pratique, ce composant est utilisé UNIQUEMENT pour intégrer sur Home Assistant de Thermostats MQTT.

Une plateforme alternative - pour les appareils MQTT connectés à une unité thermique mais qui n'en ont PAS propria intelligence liée à la gestion du climat - est leThermostat Générique». Un exemple de ce type de mise en oeuvre est donné par projet de domotisation d'un chauffage autonome par contact propre.

Périphériques pouvant être gérés via la plateforme MQTT HVAC peut être différent.
Par exemple:

  • thermostats ou électronique inclus à bord de la chaudière / pompe à chaleur / climatiseur qui supporte nativement MQTT;
  • une interface logicielle (par exemple. Node-RED) Que oui frapponga entre la plate-forme MQTT HVAC de Home Assistant et tout objet en aval, contrôlable différemment.

Le premier cas c'est le plus facile à comprendre. La configuration de la plate-forme envoie des commandes MQTT et reçoit la télémétrie MQTT directement à partir de l'appareil contrôlé.

Le deuxième cas c'est le plus sophistiqué: ce que cette plateforme "parle" (toujours inconsciemment) n'est plus un appareil (que ce soit un thermostat, un appareil intelligent, un actionneur) mais avec un logiciel qui sappinterpréter les commandes MQTT émises par Home Assistant via la plate-forme HVAC MQTT et les traduire en autre chose.
Ceci "quelque chose d'autre"Peut être n'importe quoi. Porter l'affaire devant Node-RED, nous pourrions pousser le concept à l'extrême en imaginant un flux de nœuds qui, interceptant la commande d'allumage reçue via MQTT, proenvoyer un message texte à une personne avec le message "Allumez la chaudière!"-"Éteignez la chaudière!». Cela peut sembler une hypothèse pèlerine, mais ce n'est pas. Visas i des centaines des noeuds de sortie disponibles pour ce logiciel puissant, dans le domaine réel, différentes techniques pourraient être utilisées domotiser quelque chose qui ne serait pas.

Cette plate-forme fonctionne par défaut dans “mode optimiste", C'est ne reçoit pas les états de fonctionnamevia le sujet MQTT (donc ça les prend) et vous limite à les envoyer (commandes), pour mémoriser le dernier état défini par l'utilisateur et pour recevoir la température de l'environnement à l'aide de sujets télémétriques (pouvant également provenir de sources autres que l'élément à température contrôlée, par exemple un capteur ad hoc). Ce comportement peut être modifié en adoptant les paramètres "*_state_topic", Comme expliqué ci-dessous.

tado°  su  Home Assistant
exemple d'entité "Climate"Up Home Assistant
Nb Pour utiliser cette plateforme il est nécessaire que le composant "MQTT" de Home Assistant a été précédemment configuré (voir première partie de la carte dédiée au composant "MQTT"). Nous recommandons aussi lire soigneusement le guide consacré au thème de configuration des composants MQTT dans le propremière domotique.

Configuration

Pour créer un 'entité climat à travers cette plate-forme, le bloc à insérer à la configuration "configuration.yaml" di Home Assistant il est fondamentalement similaire à ce qui suit:

climate:
  - platform: mqtt
    name: Salotto
    current_temperature_topic: /sensors/hvac/current_temp
    temperature_command_topic: /sensors/hvac/target_temp

Où le propropriété de personnalisation Ils sont les suivants:

name(chaîne, facultatif) - Nom de l'entité. Par défaut: "CVC MQTT"
qos(entier, facultatif) - Le niveau de QoS pour l'état_topic. Valeur par défaut: 0 (Qu'est-ce que la QoS?)
retain(booléen, facultatif) - Configurez le conserver sur les messages MQTT publiés. Par défaut: false
send_if_off(Boolean, optionnel) - S'il est défini sur "false", il suspend l'envoi des messages MQTT lorsque l'entité est en mode "désactivé". Par défaut: true
initial(décimal, facultatif) - Définissez la température cible de l'entité. Valeur par défaut: 21 degrés Celsius, 70 fahrenheit.
payload_on(chaîne, facultatif) - La charge utile que rappil retourne le statut "on". Par défaut: "true".
payload_off(chaîne, facultatif) - La charge utile que rappréinitialise le statut "off". Par défaut: "false".
availability_topic(chaîne de caractères, facultatif) - Sujet MQTT auquel vous inscrire pour obtenir le statut en ligne / hors ligne par le périphérique contrôlé. Habituellement, le sujet est indiqué LWT.
payload_available
(chaîne, facultatif) - La charge utile que rappil renvoie l'état "disponible" de l'appareil contrôlé. Exemple: "en ligne". Il est utilisé en abbinameà la variable "availability_topic». Habituellement, une charge utile est indiquée LWT.
payload_not_available
(chaîne, facultatif) - La charge utile que rappil renvoie l'état "non disponible" par l'appareil contrôlé. Exemple: "hors ligne". Il est utilisé en abbinameà la variable "availability_topic». Habituellement, une charge utile est indiquée LWT.
value_template
(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données dans toutes les charges utiles "*_state_topic».
current_temperature_topic(chaîne, facultatif) - Sujet MQTT à quel registre pour obtenir la température actuelle.
current_temperature_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données de température du sujet indiqué dans le "current_temperature_template».
power_command_topic(chaîne, facultatif) - Sujet MQTT publié par rapport à l'activation / la désactivation de l'entité.
mode_command_topic(chaîne, facultatif) - Sujet MQTT publié avec un changement de statut de l'entité.
mode_state_topic(chaîne, facultatif) - Sujet MQTT à quel registre pour obtenir le statut du périphérique contrôlé. Si non défini, l'entité fonctionne en "mode optimiste" (voir le tableau ci-dessous).
mode_state_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données d'état du sujet indiqué dans le "mode_state_topic».
mode(list | string, optionnel) - Liste des modes de fonctionnement disponibles. Valeurs par défaut: ["auto", "off", "cool", "heat", "dry", "fan_only"]
temperature_command_topic(chaîne, facultatif) - Sujet MQTT publié par rapport à un changement de température cible de l'entité.
temperature_state_topic(chaîne, facultatif) - Sujet MQTT à quel registre pour obtenir l'état des modifications de la température cible de l'appareil contrôlé. Si non défini, l'entité fonctionne en "mode optimiste" (voir le tableau ci-dessous).
temperature_state_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données d'état du sujet indiqué dans le "temperature_state_topic».
fan_mode_command_topic(chaîne, facultatif) - Sujet MQTT publié avec une modification du mode de ventilation de l'entité.
fan_mode_state_topic(chaîne de caractères, facultatif) - Sujet MQTT auquel s’enregistrer pour obtenir l’état des modifications du mode de ventilation de l’appareil contrôlé. Si non défini, l'entité fonctionne en "mode optimiste" (voir le tableau ci-dessous).
fan_mode_state_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données d'état du sujet indiqué dans le "fan_mode_state_topic».
fan_modes(list | string, optionnel) - Liste des modes de fonctionnement de ventilation disponibles. Valeurs par défaut: ["auto", "bas", "moyen", "haut"]
swing_mode_command_topic(chaîne, facultatif) - Sujet MQTT publié avec modification du mode oscillation de l'entité.
swing_mode_state_topic(chaîne de caractères, facultatif) - Sujet MQTT dans lequel s’enregistrer pour obtenir l’état des modifications du mode d’oscillation de l’appareil commandé. Si non défini, l'entité fonctionne en "mode optimiste" (voir le tableau ci-dessous).
swing_mode_state_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données d'état du sujet indiqué dans le "swing_mode_state_topic».
swing_modes(list | string, optionnel) - Liste des modes de fonctionnement oscillation disponibles. Valeurs par défaut: [“on”, “off”]
away_mode_command_topic(chaîne, facultatif) - Sujet MQTT publié contre un changement de mode "absent" de l'entité.
away_mode_state_topic(chaîne de caractères, facultatif) - Sujet MQTT à quel registre pour obtenir l'état des modifications dans le mode "absent" de l'appareil contrôlé. Si non défini, l'entité fonctionne en "mode optimiste" (voir le tableau ci-dessous).
away_mode_state_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données d'état du sujet indiqué dans le "away_mode_state_topic».
hold_command_topic(chaîne, facultatif) - Sujet MQTT publié avec un changement de mode de maintien de l'entité.
hold_state_topic(chaîne, facultatif) - Sujet MQTT à quel registre pour obtenir l'état des modifications dans le mode "maintien" de l'appareil contrôlé. Si non défini, l'entité fonctionne en "mode optimiste" (voir le tableau ci-dessous).
hold_state_topic_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données d'état du sujet indiqué dans le "hold_mode_state_topic».
aux_command_topic(chaîne de caractères, facultatif) - Sujet MQTT publié avec l'activation / la désactivation d'un dispositif de chauffage auxiliaire dans l'entité.
aux_state_topic(chaîne de caractères, facultatif) - Sujet MQTT sur lequel s’inscrire pour obtenir l’état de l’appareil auxiliaire pour le chauffage de l’appareil commandé. Si non défini, l'entité fonctionne en "mode optimiste" (voir le tableau ci-dessous).
aux_state_template(modèle, facultatif) - Définit le modèle pour l'extraction (l'analyse) des données d'état du sujet indiqué dans le "aux_state_topic».
min_temp(décimal, facultatif) - Définit la température cible minimale pouvant être définie sur l'entité.
max_temp(décimal, facultatif) - Définit la température cible maximale pouvant être définie sur l'entité.
MODE OPTIMISTIQUE

Si on proCette propriété fonctionne en "mode optimiste" (c'est-à-dire lorsque le "sujet d'état" correspondant n'est pas défini, Home Assistant assumer que tout changement de statut duentité mis en œuvre par l'utilisateur - et donc par la publication MQTT correspondante de sujets et de données utiles liés à la variante elle-même - a réussi à l'appareil contrôlédonc le statut de l'entité au Home Assistant prendra le relais automatiquement et immédiatement le nouvel état.
Si à la place le "sujet d'état" a été défini, le changement de statut de l'entité ce n'est pas changé aussi longtemps que ce sujet est une charge relative n'ont pas été reçus.

UTILISATION DE GABARITS

Dans chacun "* _state_topic"Peut être défini comme un modèle pour l'extraction (analyse) des données d'état. Il peut également être défini un pour tous, en utilisant le propropriété "value_template». Cela se traduit par un grand confort surtout quand il y a des charges écrites en Notation JSON.

Exemples

CONFIGURATION COMPLETE

Un exemple de configuration "type" pour un climatiseur compatible avec proMQTT tocollo est la suivante:

climate:
  - platform: mqtt
    name: Salotto
    modes:
      - off
      - cool
      - fan_only
    swing_modes:
      - on
      - off
    fan_modes:
      - high
      - medium
      - low
    power_command_topic: "study/ac/power/set"
    mode_command_topic: "study/ac/mode/set"
    temperature_command_topic: "study/ac/temperature/set"
    fan_mode_command_topic: "study/ac/fan/set"
    swing_mode_command_topic: "study/ac/swing/set"


Home Assistant Logo officielATTENZIONE: rappelez-vous qu'il y a sur notre communauté FORUM une section ad hoc dédiée à Home Assistantpour tout doute, question, information sur le mérite spécifique de ces composants.


Veuillez commenter ci-dessous