Perte d'information

Bonjour la communauté,

Ce matin, j’ai pris le temps de rechercher d’où provenait un bug dans ma gestion des volets roulants. J’ai identifié une cause sans en trouver de réponses.
Voilà, en fin d’exécution, j’utilise une fonction:

let message
if (msg.action != 7){
    message = msg.payload.result;
}else {
    message = msg.payload.result.status;
    
}

let message_length = message.length;
let Obj = flow.get(msg.id);
let Pos = Obj.positionnement;

node.error(Obj);
for (var i = 0; i < message_length; i++) {
    if (message[i]["code"].match(/percent_control/i)){
        var new_value = message[i]["value"]
    }
}

/* Si la nouvelle position détectée ne correspond pas à celle du progamme
on la met à jour et on poursuit sinon on s'arrête*/
if (Pos.new_position != new_value) {
    Pos.new_position = new_value;
    return msg;
} else {
    return msg;
}

J’ai bien dans la fenêtre debug OBj qui s’affiche
Maintenant, si je renvoie le msg vers 4 autres fonctions en parallèle et qu je recharge mon Obj toujours avec:

let Obj = flow.get(msg.id);

node.error("azimut " , Obj);

par exemple ( j’ai le même appel dans chaque fonction).
Le node.error est retourné vide ce qui entraine la non réalisation des actions suivantes.

Avez-vous une idée expliquant le non chargement de l’objet.
Une précision, un debug en sortie du premier nœud, donne bien la valeur de msg.id.

un aperçu:
image

Pour être complet, il arrive, de façon aléatoire, qu’une des fonctions s’exécute correctement

Je comprends pas ce que je loupe.

Merci à vous


Attention, je viens de comprendre mon erreur de debug:
J’ai utilisé la syntax suivante:

node.error("azimut " , Obj);

Pensant le premier champ comme un commentaire
Si j’utilise:

node.error(Obj);

Obj est bien peuplé. Si cela peut aider

1 « J'aime »