Une fois que vous avez installé un client MQTT sur Home Assistant et que vous avez configuré l'agent MQTT à utiliser, vous pouvez débuter le processus de publication et d'abonnement MQTT.
Dans cette fiche :
Home Assistant peut publier de l'information sur un canal à l'aide de l'action mqtt.publish.
Cette action peut être utilisée dans vos automatisations au même titre que n'importe quelle autre action.
Il est également possible de la tester à l'aide du menu / .
Vous devrez spécifier ces informations :
Dans le fichier automation.yaml, lorsque vous utilisez un modèle, n'oubliez pas les apostrophes ou guillemets alentour du modèle.
Les apostrophes ou guillemets ne sont pas requis quand on travaille avec l'interface graphique.
payload: '{{ states(''sensor.5_in_1_pir_motion_sensor_illuminance'') }}'
Dans le fichier automation.yaml ou dans l'interface graphique, lorsque les données sont publiées au format JSON, il ne faut pas entourer le modèle de guillemets ou d'apostrophes (dans cet exemple, il n'y a pas de guillemets alentour de state_attr('domaine.identifiant_objet', 'attribut1')).
{%
set valeurs = {
"premierattribut":state_attr('domaine.identifiant_objet', 'attribut1'),
"deuxiemeattribut": state_attr('domaine.identifiant_objet', 'attribut2')
}
%}
{{ valeurs | to_json }}

Une fois l'information publiée, il faut qu'il y ait un abonné sur ce canal pour vérifier si tout a fonctionné.
Généralement, l'abonné ne sera pas Home Assistant lui-même car ceci serait inutile. Il pourrait s'agir parr exemple d'une autre boîte domotique.
Home Assistant peut s'abonner à un canal afin de connaître la valeur de la dernière charge utile publiée sur ce canal. Une entité est créée lors de l'abonnement, ce qui ouvre la porte à de nombreuses possibilités.
Pour abonner Home Assistant à un canal, il faut entrer une configuration dans le fichier configuration.yaml.
mqtt:
sensor:
- name: "nom de l'équipement"
state_topic: "un_niveau/un_sous_niveau/un_nom"
Attention : cette syntaxe est obsolète :
L'abonnement à un canal crée un nouvel équipement qui contient une entité pour donner accès à la dernière valeur reçue.
L'attribut name sera utilisé pour générer l'identifiant de l'entité. Home Assistant remplacera les espaces par des barres de soulignement et les caractères spéciaux par leur équivalent dans les caractères de base. Ainsi, « nom de l'équipement » sera utilisé pour créer l'entité sensor.nom_de_l_equipement.
Dans cette impression d'écran, l'entité a été utilisée pour afficher sur le tableau de bord la dernière valeur reçue sur ce canal.

Pour qu'une automatisation soit déclenchée quand un message MQTT est reçu, le plus facile consiste à utiliser l'entité créée lors de l'abonnement au canal MQTT.
Lors de l'ajout du déclencheur, on choisira / ou / selon les besoins de l'automatisation.

Cette entité pourra être utilisée comme n'importe quelle autre entité pour :
Autre technique : configurer le déclencheur avec / .
Vous pourrez alors choisir le sujet (le canal) à écouter et, au besoin, ne réagir que lorsque la charge utile (la valeur reçue) est égale à une valeur donnée.

▼Publicité