je suis en train de reconfigurer toutes mes entités mqtt que j’ai déclaré manuellement.
(carte arduino mega avec shield ethernet W5100)
avant, j’étais avec des:
mqtt:
button:
...
sensor:
...
qui fonctionnait sans problème.
je souhaite les passer en « switch » et « light » afin de pouvoir profiter de l’extinction groupée par pièce et/ou type.
le « switch » fonctionne très bien avec cette configuration:
quand je clique sur l’icone du dashboard, j’envoi bien l’information « payload_** » et l’état change bien, vérifier avec MQTT-Explorer et voici une capture de l’info de retour de atelier/State40:
Le problème est que l’icone ne change pas et dans outils de dev / états, l’état reste a « unknow ».
Je suppose avoir un problème sur le « state_value_template » mais n’arrive pas à le résoudre.
Quelqu’un pourrait me donner un coup de main? merci d’avance.
Bonne journée.
la syntaxe utilisée dans ton state_value_template n’est pas bonne.
Tu n’as je pense dans ton cas pas besoin de state_value_template etant donné que le payload de ton message semple ete simplement « on » ou « off ».
salut et merci de ton retour.
j’ai déjà tenté de supprimer le state_value_template mais sans résultat.
concernant les payload:
je ne peux pas mettre on ou off car de la façon que la carte arduino est programmée, j’envoi juste le numéro de la pin (dans mon exemple 40) et le programme inverse l’état de la sortie.
en début d’après-midi, j’ai testé en changeant le type de schéma avec ce code:
ce code fonctionne pour envoyer la commande ainsi que le retour d’état.
mais le problème, c’est comme le payload de marche est identique à celui d’arrêt, si j’appelle le service light.turn_off, ça m’allume la lumière.
Je pense que je vais pas avoir le choix de modifier mon code arduino et au lieu d’envoyer 40, envoyer un code à 3 chiffres du genre 400, 401, 402, 403 qui correspondrait à la pin pour les 2 premiers chiffres et pour le 3ème chiffre:
0 pour off
1 pour on
2 pour toggle
3 pour pulse (quitte à modifier, autant rajouter des fonctionnalités )
est-ce déconnant comme raisonnement?
(je souhaite envoyer que des nombres car plus facile à traiter dans les boucles if)
EN fait je pense que tu n’as besoins de rien mettre du tout pour le state, ni payload, ni state_value_template. Car « on » et « off » c’est les états par défaut des lumières…
c’est le topic state pour le retour d’état qui lui est on ou off.
pas le choix pour le payload car l’arduino accepte uniquement les numéros de pin, pas de on/off
pour le state_value_template, j’ai essayé de rien mettre mais le retour ne fonctionnait pas.
quand j’ai programmé la carte arduino, j’ai juste programmé le numéro de pin et le programme inverse l’état de sorti.
Afin de pouvoir profiter des fonctionnalitées de HA en continuant d’avoir plusieurs sorties, je vais pas avoir le choix de revoir le code arduino et ce que tu me dis l’indique aussi.
je fais faire un code test et si le test est concluant, je vais le poster ici, ça aidera peut-être quelqu’un d’autre
Dans le code arduino, au lieu de transmettre le numéro de la broche pour inverser son état, je suis parti sur un code à 3 chiffres les 2 premiers étant le numéro de broche et le 3ème chiffre la fonction 0 pour off, 1 pour on (à voir pour d’autres fonctions).
Dans home assistant, la déclaration est fait de cette manière:
de cette manière, la commande et le retour sont fonctionnels et l’appel du service light.turn_off par pièce fonctionne. @AlexHass merci de m’avoir consacré du temps
Je me greffe a votre sujet car j’ai un problématique similaire je créer des entités mqtt que j’ai déclaré manuellement pour mes arduino mega avec shield ethernet W5100
J’ai réussi a avoir de échange bidimensionnel sur mon volet roulant :
HA → MQTT via command OK
MQTT → HA via state NOK les valeur non aucune influence sur HA la lampe ne s’allume jamais et j’ai deux bouton éclair
Autre élément étrange quand state_topic command_topic pointe sur le même élément la lampe s’allume et j’ai un bouton 2 position mais toujours non contrôlable via MQTT
Quelqu’un pourrait me donner un coup de main? merci d’avance.
Bonne journée.
J’étais obligé de mettre schema: template sinon ça ne marchait pas.
Mais j’ai abandonné l’utilisation de mqtt light car avec le schema template, j’ai constaté que des commandes ne passait pas specialement bien (je me suis pas attardé sur le sujet pour identifier la cause exacte) donc j’ai repassé mes éclairages en switch
non car atelier/write est le topic de commande. par contre, si tu écris dans atelier/State38 on ou off, fait changer l’état de l’icone. dans HA, est-ce que l’outils de dev / etats voit le changement?
Est-ce que tu as bien recharger toute ta configuration yaml après avoir éditer ton fichier?
Quand tu fais beaucoup de chargement de configuration en peu de temps, il faut redémarrer HA car recharger toute la config ne marche plus (déjà eu 1 fois le cas)
Mauvais copier coller j’écrit bien dans atelier/State38 on ou off dans MQTT-explore mais rien n’apparait dans HA
J’ai effectuer un redémarrage complet pas de changement.
L’outils de dev / états ne vois pas les changement de MQTT, en définissant on dans dev / états l’icone du tableau de bort l’allume bien et le bouton 2 position se configure a la place des deux éclaire car il n’est plus dans un état inconnu.
Les action dans MQTT-explore sur state_topic: ne fonctionne pas sur les light et le switch
au vue de ce que tu dis, je pencherais sur un problème d’échange entre HA et MQTT.
vérifie bien la syntaxe dans ton fichier de configuration et attention à l’indentation de ton fichier yaml, tu as l’air d’avoir des espaces en trop