[MQTT light] fichier de configuration.yaml

Bonjour, je récupère l’état de mes lampes via MQTT.
Mes topics d’état et de commande sont de la forme.
fredo/maison/lumieres/lumiere_bureau/status (état) et
fredo/maison/lumieres/lumiere_bureau/set (commande) pour pouvoir piloter la lampe.
La valeur retournée par le topic de l’état est de la forme JSON :
{« d »:{« value »:[true]}, « ts » : « 2021-02-11T22:52:19.171103 »}
Pour allumer ou éteindre la lampe il faut que je publie sur le topic de commande la valeur :
{« d »:{« value »:[true]}} cela a pour effet de basculer l’état de la lampe.
Ces valeurs j’arrive à les exploiter dans un client MQTT lambda et j’arrive à interagir sur mes lampes.
Par contre pour le configurer sur HA c’est une autre paire de manches. Entre les state_topic, command_topic, schema etc. je m’y perds.
Merci d’avance pour vos suggestions.

Bonjour,

L’exemple simple pour le statut

sensor:
  - platform: mqtt
    state_topic: "fredo/maison/lumieres/lumiere_bureau/status"

Pour un switch

switch:
  - platform: mqtt
    command_topic: "fredo/maison/lumieres/lumiere_bureau/set"

Merci @pepite de ta réponse et pour un type « light: » qui intègre les deux, le statut et la commande ?

Je n’utilise pas mqtt donc je n’ai pas d’exemple de PROD mais tu peux mettre ton state_topic et command_topic dans le même switch comme dans l’exemple

Regarde


# Example configuration.yaml entry
switch:
  - platform: mqtt
    unique_id: bedroom_switch
    name: "Bedroom Switch"
    state_topic: "home/bedroom/switch1"
    command_topic: "home/bedroom/switch1/set"
    availability:
      - topic: "home/bedroom/switch1/available"
    payload_on: "ON"
    payload_off: "OFF"
    state_on: "ON"
    state_off: "OFF"
    optimistic: false
    qos: 0
    retain: true

Merci, je vais essayer et je te tiens au jus.

je partage ma config qui a fonctionné pour mes valeurs :

light:   
  - platform: mqtt
    schema: template
    name: Lumière Bureau Liseuse
    state_topic: "fredo/maison/lumieres/lumiere_bureau_liseuse/status"
    state_template: '{% if value_json.d.value[0] == true %} on {% else %} off {% endif %}'
    command_topic: "fredo/maison/lumieres/lumiere_bureau_liseuse/set"
    command_on_template: '{"d": {"value" :  [true]}}'
    command_off_template: '{"d": {"value" : [true]}}'
1 « J'aime »

Super merci.

Well done !!

merci pepite, j’ai enfin compris comment interpréter les commandes mqtt

1 « J'aime »

avec plaisir. C’est que le début :wink:

Bon déjà avec ça je vais pouvoir mettre tout sur HA, Volets, Lumières, Chauffage etc.

Tu mets tout en mqtt ?

Oui je suis obligé car mon installation date de plus de 10 ans et j’avais mis un automate Omron. C’est la seule façon que j’ai de pouvoir interagir entre mon Omron et HA.

1 « J'aime »

J’agrémente ma config, car comme pour allumer et éteindre je suis obligé d’envoyer la même commande, lorsque je communiquais avec Google Assistant si je lui disais d’éteindre alors que la lumière était déjà éteinte, ça allumait, donc pas top. Voilà la config qui a marché pour moi.

- platform: mqtt
  schema: template
  name: Lumière Bureau Liseuse
  state_topic: "fredo/maison/lumieres/lumiere_bureau_liseuse/status"
  state_template: '{% if value_json.d.value[0] == true %} on {% else %} off {% endif %}'
  command_topic: "fredo/maison/lumieres/lumiere_bureau_liseuse/set"
  command_on_template: >
    {
    {%- if is_state('light.lumiere_bureau_liseuse','off') -%}
    "d": {"value" :  [true]}
    {%- endif -%}
    }
  command_off_template: >
    {
    {%- if is_state('light.lumiere_bureau_liseuse','on') -%}
    "d": {"value" :  [true]}
    {%- endif -%}
    }
1 « J'aime »