composants Home Assistant "MQTT"

4 minutes de lecture
Proconducteur: Home Assistant Communauté
Disponibilité: inclus dans leHUB Home Assistant
catégorie: logiciel
typologie: composants Home Assistant
Difficultés de mise en œuvre: faible
Révision de la carte: 1.2

Le composant "MQTT" di Home Assistant sert à configurer les fonctionnalités de base du proMQTT tocollo sous cette spécification HUB personnel. Il permet la configuration d'un certain nombre de plates-formes qui y sont connectées, adaptées à la gestion / au contrôle d'éléments tels que:

  • Panneaux de contrôle d'alarme
  • Sensorles pistes
  • Caméra IP
  • Sombre pour finestre
  • Suivi GPS
  • Ventilateurs
  • climatisation
  • Luci
  • serrures
  • notifications
  • Sensorgénériques personnalisables
  • Commutateurs
  • aspirateur

Tutti ces accessoires (et plates-formes associées pour la mise en œuvre) dépend de la configurationen amont du Composant MQTT.

Pour ajouter ce composant à Home Assistant il suffit que dans le fichier de configuration configuration.yaml cette ligne est présente:

# Example configuration.yaml entry
mqtt:

Où rien d'autre n'est indiqué, Home Assistant provoit que vous démarrez un courtier MQTT en autonomie et utilise directement cela. Pour plus de stabilité, les développeurs de Home Assistant spécifier qu'il est préférable d'utiliser un courtier externe (par exemple. Eclipse Mosquitto).

Pour configurer un courtier externe, vous devez configurer une configuration comme suit:

# MQTT
mqtt:
  broker: 127.0.0.1
  port: 1883
  client_id: home-assistant
  keepalive: 60

où dans le champ courtier nous allons insérer l’IP du courtier MQTT (dans ce cas, l’IP est indiqué 127.0.0.1 parce que le courtier est en cours d'exécution sur le même macChine dans lequel il court Home Assistant).

Pour activer MQTT sur Home Assistant, assez de ce qui précède.

Nb MQTT n'est pas difficile à mettre en œuvre, mais pour cela, vous devez avoir clairement en tête certains concepts. Le tal proposito la lecture est recommandée prudent de guide dédié à la configuration des composants MQTT dans le propremière domotique.

Caractéristiques supplémentaires

Utilisation de certificats

Home Assistant permet de spécifier dans la configuration l'utilisation de certificats cryptographiques pour la communication avec le courtier MQTT.

Pour cela, la configuration est la suivante:

mqtt:
  certificate: /home/pi/dev/addtrustexternalcaroot.crt

/home/pi/dev/addtrustexternalcaroot.crt est le chemin / nom du fichier du certificat.

Variables de configuration:

certificateEn option. 'auto' ou le nom de chemin / fichier du certificat à utiliser. Si un fichier est spécifié, il doit contenir le certificat racine de l'organisme de certification qui a signé le certificat. Le fichier peut contenir plusieurs certificats.
exemple: /home/user/identrust-root.pem
client_keyEn option. Chemin / nom de fichier de la clé de cryptage du client.
exemple: /home/user/owntracks/cookie.key 
client_certEn option. Chemin / nom du certificat cryptographique du client.
exemple: /home/user/owntracks/cookie.crt 

la découverte

La fonction "découverte" du composant MQTT à Home Assistant c'est extrêmement pratique, car cela permet d’éviter la configuration ponctuelle de chaque appareil présent dans la domotique (risque de duplication et de mauvaise configuration). Une fois activé, que provoir le recensement et l'entrée dans la configuration des types d'accessoires suivants (où ils affichent les rubriques MQTT, bien sûr):

  • Sensorles pistes
  • Caméra IP
  • sombre
  • Ventilateurs
  • Luci
  • Sensorgénériques personnalisés
  • Commutateurs

Pour activer la découverte, il suffit d'indiquer sur le fichier de configuration configuration.yaml de Home Assistant:

mqtt:
  discovery: true
  discovery_prefix: homeassistant

Variables de configuration:

discoveryEn option. Activer ou désactiver la découverte.
Exemple: 'true'o'false'
discovery_prefixEn option. Indique le préfixe de la rubrique MQTT du client Home Assistant.
La valeur par défaut est 'homeassistantLe préfixe doit suivre un format spécifique:

<discovery_prefix>/<component>/[<node_id>/]<object_id>/<>

où:

<Discovery_prefix> Un des composants pris en charge, par exemple. 'binary_sensor'
<NODE_ID>En option. L'ID du noeud qui fournit la rubrique.
<Object_id>L'identifiant de l'appareil. Il est utilisé pour distinguer le périphérique dans le sujet
<>La commande, l'action à suivre. g. 'ON'o'OFF #DIY

Firmware pour les composants IoT basés sur ESP8266, ESP32 et les périphériques ITEAD Sonoff qui offrent le service de découverte automatique MQTT sont les suivants:

Plus d'informations et des exemples d’utilisation sur Discovery sont présents sur la page dédiée du composant MQTT sur le site Home Assistant.

Service de publication

Comme vous pouvez l’imaginer, grâce à la mise en œuvre par MQTT de Home Bridge Vous pouvez également publier des sujets.
Il existe deux méthodes pour publier une charge utile: en expliquant sa valeur ou en utilisant un modèle:

{
"topic": "home-assistant/light/1/command",
"payload": "on"
}
{
"topic": "home-assistant/light/1/state",
"payload_template": "{{ states('device_tracker.paulus') }}"
}

Naissance et dernière volonté

MQTT supporte les soi-disant volontés de premier et dernier voeux, appgraisseux LWT (Testament de dernière volonté). Ce sont essentiellement des commandes à exécuter lorsqu'un périphérique MQTT "est né", c'est-à-dire qu'il s'allume et se présente au courtier (et donc à toute personne abonnée à ces sujets sur le courtier) ou quand "il meurt", ou quitte inopinément le réseau (j'éteins physiquement un périphérique).

Aussi Home Assistant permet la publication de sujets de type LWT, à la fois pour la "naissance" et pour la "volonté":

mqtt:
  birth_message:
    topic: 'hass/status'
    payload: 'online'
  will_message:
   topic: 'hass/status'
   payload: 'offline'

Bûche

Le composant "log" de Home Assistant permet de suivre les messages MQTT. Ajoutez simplement le bloc suivant à la configuration:

logger:
  default: warning
  logs:
    homeassistant.components.mqtt: debug

Proarrêter le contenu JSON

Les composants "Switch" e "Sensor" di Home Assistant soutenir le processer JSON via les messages MQTT et les interpréter via JSONPath. JSONPath nous permet de spécifier où, dans un contenu JSON, une certaine valeur réside.
Les exemples suivants renvoient toujours la valeur "100».

Requête JSONPathJSON
somekey{ 'Somekey': 100 }
somekey [0]{ 'Somekey': [100] }
somekey [0] .value{ 'Somekey': [ { valeur: 100 } ] }

Pour l'utiliser dans la configuration de Home Assistant, un bloc de type est inséré:

switch:
  platform: mqtt
  state_format: 'json:somekey[0].value'

Il est également possible d'extraire des valeurs JSON à l'aide d'un modèle de valeur:

switch:
  platform: mqtt
  value_template: '{{ value_json.somekey[0].value }}'

Plus d'informations de syntaxe sont disponibles sur le référentiel JSONPath.

Plus d'informations sur les tests des configurations MQTT pour Home Assistant sont disponibles sur le site Home Assistant.


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