Aide variables node red

Bonjour,

Quelqu’un saurait-il m’expliquer comment, via le node fonction, créer des variables globales ?
Après toutes mes lectures, je reste dans le flou. Il n’existe pas vraiment de tuto français pour les nuls. Ou alors, je ne l’ai pas trouvé.

Juste pour planter le décor, j’aimerais récupérer un attribut (média content id) d’une de mes squeezebox (je l’ai trouvé via outils de développement) pour le stocker et l’utiliser dans un autre flow.

Le but, j’ai une sonnette qui interrompt la lecture en cours pour jouer un mp3 (je n’arrive pas à utiliser tts) et j’aimerais que ma lecture reprenne après ce mp3. Donc, il faut que j’arrive à enregistrer le média joué avant la diffusion du mp3.

Je vous remercie

Pour manipuler des variables globales (multi-flows), il faut utiliser la variable ‹ global › dans ta fonction, comme ceci:

//Ecriture d'une valeur dans une variable
global.set('ma_variable', 'ma_valeur');

//Lecture d'une variable depuis le contexte global
global.get('ma_variable');

La documentation (en anglais) est ici

Bonjour,

Merci de la réponse.
J’ai lu la doc et essayé de la comprendre. Mais là où je suis perdu c’est que certains mettent « Var », d’autre pas et plein de subtilités.
Et c’est justement là que je suis perdu.
Quand j’essaie, je n’ai rien qui s’affiche dans « context data ».
Je dois passer à côté de quelque chose.

Merci de votre aide

PS. En fait un petit tuto expliquant ligne par ligne à quoi ça correspond avec des exemples serait le top :wink:

Bon, je suis arrivé a voir ma variable dans global. sauf que je vois le chemin que j’ai indiqué et non le resultat.
radio (nom de la variable) "msg.data.new_state.attributes.media_content_id"(résultat)

J’ai mis ca dans ma fonction:

global.set('radio', 'msg.data.new_state.attributes.media_content_id');
return msg;

Une idée?

Je n’y connais rien en Node-RED mais j’enlèverais les guillemets quand c’est une fonction :

global.set('radio', msg.data.new_state.attributes.media_content_id);
return msg;

Merci beaucoup , c’était ça .

1 « J'aime »