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]}}'
Super merci.
Well done !!
merci pepite, j’ai enfin compris comment interpréter les commandes mqtt
avec plaisir. C’est que le début
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.
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 -%}
}