Pouvoir utiliser le message MQTT dans une scène

J’aimerais pouvoir dans les scènes, lors de la réception d’un message MQTT, utiliser le message reçu

que l’on récupérerait en utilisant « Récupérer le dernier état »

et dont on pourrait utiliser avec Continuer seulement si" pour conditionner la poursuite de la scène

Salut @cce66 ,
Pour moi la dernière intégration (que tu as mis en image1) le fait. C’est à dire que (et je trouve ça top), on a le « continuer si » dans le déclencheur, on ne déclenche que si le message attendu est le bon

J’aimerais vien cette intégration pas que pour du continuer seulement si
Genre injecter le retour mqtt dans un feature par exemple

Ok, en effet récupérer l’info MQTT peut être intéressante +1

@Fabic

oui mais là j’ai triché pour montrer ce que j’aimerais avoir dans ma demande de fonctionnalités, actuellement elle n’existes pas :smiling_face:

L’idée serait de pouvoir récupérer la valeur du message pour l’utiliser comme variable dans un message par exemple (je me rends compte que ma demande en fait est pas assez explicite), si on pouvait le faire avec 'Récupérer le dernier état" on aurait la valeur du message qu’on pourrait utiliser ensuite notamment pour envoyer un message, là ça limite seulement à continuer la scène !

Mais tu peux voter pour si tu veux qu’elle soit développée :wink: !

Je suis d’accord que je ne comprend pas non plus ce que ça ajoute !

Le topic ne change pas pendant la scène, pourquoi vouloir avoir une variable? Si tu l’as défini en haut dans le déclencheur, c’est que c’est fixe non ? :thinking:

Bonjour @pierre-gilles ,

C’est pas pour le topic c’est pour le message reçu ou on pourrait changer le comportement de la scène en fonction du message reçu par exemple
« continuer seulement si » message=valeur <
"Envoyer message {{ valeur mqqt "
et une autre scène
« continuer seulement si » message=valeur >
"Envoyer message {{ valeur mqqt "
ou quand il y aura le « sinon » d’ajouté au « continuer seulement si »
« continuer seulement si » message=valeur <
« Sinon »
"Envoyer message {{ valeur mqqt "
J’ai mis « envoyer un message » mais cela pourrais être une autre action

ca rejoint ma demande de fonctionnalités Pouvoir créer des variables globales utilisables dans gladys (Latitude, Longitude, Date, Heure etc)
l’idée c’est d’avoir un peu plus de souplesse et de paramétrique dans Gladys

Après cela reste des suggestions, si il y a de la demande il y aura des votes donc ça sera peut être intéressant de développer, si il y en pas bah pas la peine de développer, mais on ne peut pas savoir sans demander ! :blush:

Après j’avais proposé cela

c’est vrai que ce serait mieux dans l"idéal car elle couvrait le coté envoi réception d’un message mqtt dans les scènes que @Lokkye a implémenté mais on pouvait utiliser le retour d’état comme pour les autres appareils mqtt en conservant la syntaxe propre à gladys en interne c’est juste un mapping à faire :

  • gladys suscribe au publish d’un appareil externe, quand il reçoit il transforme en syntaxe mqtt gladys puis envoie en traitement comme si il avait reçu ce message au format gladys

  • quand gladys doit publish le mqtt d’un appareil externe il transforme la syntaxe mqtt gladys vers la syntaxe mqtt externe puis envoie le message

Ça permettrait de se passer de Node-red pour tous les appareils non encore intégrés ou qu’ils ne le seront pas car trop spécifiques
Mais il y a pas beaucoup de vote donc peut-être cela intéresse pas, peut-être faudrait-il développer une intégration ou on pourrait traiter ce mapping cas plus simple puisqu’il y aurait juste une table à ajouter dans la db, suis pas encore au point pour cela :thinking:mais je ne désespère pas :blush:!

Est-ce qu’affecter la valeur à un device virtuel et agir avec l’état de cette feature (comme un device classique) ne répondrait pas à ton besoin ?

Mais c’est déjà possible actuellement ! Je ne vois pas ce que ça ajouterais, ma remarque fonctionne aussi pour le message

Actuellement, soit on laisse rien dans la zone message et la scène se poursuit après le déclencheur que si un message quel qu’il soit arrives sur le topic (qui reflète la valeur du payload on est ok) mais on peut rien faire de la valeur reçue sur le topic.
Soit effectivement on met une valeur à message mais on ne gères que ce cas de valeur.

Donc si on met rien dans message, la scène s’exécute il y a bien une valeur reçue par le topic et c’est cette valeur que je voudrais utiliser ensuite mais pour cela il faut l’affecter à une variable car si on fait ‹ récupérer état appareil › on a pas de lien pour récupérer cette valeur et dans la zone « continuer si » c’est pareil (il me semble)

Prenons le cas d’un appareil exotique « Exotic » non intégré, on met dans la zone topic la valeur que l’appareil expose qui s’appelle « ExoticValue » donc on a dans la zone « Topic » la valeur « Exotic/ExoticValue » et quand l’appareil « Exotic » à un changement de valeur « ExoticValue » qui soit par exemple un entier de 0 à 100 on pourrait selon la valeur ExoticValue ensuite un message telegram qui dirait « attention la valeur d’Exotic est de xx »

actuellement tu ne peux affecter un quelconque topic à un device virtuel, remarque comme j’ai pas réussi à faire fonctionner celui de la scène si cela se trouves j’ai pas la bonne syntaxe :thinking: , il faudrait mettre un exemple ! :roll_eyes:

Après reflexion, je me souviens avoir vu un message dans ce sens dans les échanges entre @pierre-gilles et @Lokkye, effectivement autant passer par un virtuel et ne pas utiliser cette fonction dans une scène (mais qui n’est pas inutile par ailleurs mais juste pas adaptée à ce que je voulais faire) je continue à passer par Node-red pour le coup !

Non ce nest pas actuellement possible ou alors je my prend mal.

Jai une scene qui envoie un string a node red et ensuite la tambouille tts, elle est joué sur ma sonos.

« L’alarme est armée » par exemple.

Ce que jaimerais faire cest a la réception d’un message dans le topic /tts, je récupère le message et lenvoie a node red.

Cela me permettrait dans mon cas, a navoir qu’une scene TTS SONOS et mes autre scènes envoie sur le topic tts avec le message souhaité.

Ce n’est qu’un exemple.
Mais on pourrait tout autant injecter une valeur dans un appareil aussi

(Alors oui je pourrais envoyé mon message sur un topic et écouté sur nodered, mais le but etant qu’un jour je puisse me passer de nodered, aujourd’hui je ne lutilise que pour ca.

Si cest possible sur gladys, je veux bien que lon me dise comment faire.

Le but serait davoir le meme comportement que le declencheur « evenement sur le calendrier »

Du coup @pierre-gilles c’est possible de le faire ?

Non ce n’est pas possible !