Bonjour,
J’essaye de remplacer mes scénarios progressivement par du NodeRed et je me suis attaqué à la gestion des notifications comme j’ai commencé à l’expliquer dans ce post :
J’ai crée un virtuel pour composer le message :
J’ai crée un équipement MQTT et une commande associée pour envoyer le payload sur le bon topic :
Et enfin je teste la création du payload via un bloc code :
cmd::byString('#[Communication][Message payload][titre]#')->event('1 test titre');
cmd::byString('#[Communication][Message payload][message]#')->event('2 test message');
cmd::byString('#[Communication][Message payload][media]#')->event('discord');
cmd::byString('#[Communication][Message payload][canal]#')->event('test');
cmd::byString('#[Communication][Message payload][type]#')->event('normal');
$payload_array = [
titre => cmd::byString('#[Communication][Message payload][titre]#')->execCmd(),
message => cmd::byString('#[Communication][Message payload][message]#')->execCmd(),
media => cmd::byString('#[Communication][Message payload][media]#')->execCmd(),
canal => cmd::byString('#[Communication][Message payload][canal]#')->execCmd(),
type => cmd::byString('#[Communication][Message payload][type]#')->execCmd(),
];
$payload = json_encode($payload_array,JSON_FORCE_OBJECT);
cmd::byString('#[Communication][Message payload][payload]#')->event($payload);
Le payload est bien envoyé mais pas visiblement pas avec le bon format :
"{"titre":"1 test titre","message":"2 test message","media":"discord","canal":"test","type":"normal"}"
Ce que je vois bien dans le debug NodeRed
Unexpected token t in JSON at position 3
Et j’avoue que je sèche là…