[Résolu] Node RED : Recherche fonction

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Gaz
Messages : 224
Inscription : 17 oct. 2015, 10:30

Re: Node RED : Recherche fonction

Message par Gaz »

Qu'entends tu par "ça split après la virgule"?
Oui c'est ça.
Ah je viens de comprendre , tu veux dire que ça vire les decimales? C'est normal, pourquoi castes tu (parseInt) les sorties de string vers int (entier)?
C'est une formule que j'ai adapté sans trop savoir :mrgreen:

Du coup avec le parseFloat ça marche.

Code : Tout sélectionner

var output = msg.payload.split("\r\n")

var A = parseFloat(output[0]);
var B = parseFloat(output[1]);
var C = parseFloat(output[2]);
var msgA = {payload:A};
var msgB = {payload:B};
var msgC = {payload:C};
return [ msgA, msgB, msgC ];
Je m'occupe maintenant de la sortie vers Domoticz :D
Gaz
Messages : 224
Inscription : 17 oct. 2015, 10:30

Re: Node RED : Recherche fonction

Message par Gaz »

Je réceptionne bien les données sous Domoticz mais avec une erreur, du coup le device ne prend pas l'information :

Code : Tout sélectionner

2020-02-01 16:37:58.861 MQTT: Topic: domoticz/in, Message: {"command":"udevice","idx":8,"nvalue":0,"svalue":-11.24}
2020-02-01 16:37:58.862 Error: MQTT: Invalid data received!
Voila le code saisie sous Node Red :

Code : Tout sélectionner

msg.payload = {"command":"udevice","idx":8,"nvalue":0,"svalue":msg.payload}; return [[msg]];
Log :

Code : Tout sélectionner

01/02/2020 à 16:40:41node: 5e237dfa.2cc1b4
msg.payload : Object
{ command: "udevice", idx: 8, nvalue: 0, svalue: -11.22 }
Quelqu'un à une idée ?
domcars0
Messages : 238
Inscription : 18 févr. 2017, 20:23

Re: Node RED : Recherche fonction

Message par domcars0 »

Oui, moi :lol:
Dans la Base de donnée de Domoticz le champ sValue est toujours un chaine de caractère.. Tu lui envoies un nbr décimal.

MQTT: Topic: domoticz/in, Message: {"command":"udevice","idx":106,"nvalue":0,"svalue":"0.033124033951"}
La liberté a un prix... celui de l'effort.
Gaz
Messages : 224
Inscription : 17 oct. 2015, 10:30

Re: Node RED : Recherche fonction

Message par Gaz »

Super MERCI bien domcars0
Un simple string à la place du parseFloat est ça fonctionne.
domcars0
Messages : 238
Inscription : 18 févr. 2017, 20:23

Re: Node RED : Recherche fonction

Message par domcars0 »

M'est avis que t'as même pas besoin du string() ... le tableau retourné par split() contenant déjà très probablement déjà des chaines de caractères ;)
La liberté a un prix... celui de l'effort.
Gaz
Messages : 224
Inscription : 17 oct. 2015, 10:30

Re: Node RED : Recherche fonction

Message par Gaz »

Et pour le nvalue il attend quoi, chaine de caractère ou décimal?
domcars0
Messages : 238
Inscription : 18 févr. 2017, 20:23

Re: Node RED : Recherche fonction

Message par domcars0 »

Ni l'une ni l'autre. ;)
nValue est toujours un entier!
La liberté a un prix... celui de l'effort.
Gaz
Messages : 224
Inscription : 17 oct. 2015, 10:30

Re: Node RED : Recherche fonction

Message par Gaz »

Merci beaucoup domcars0 de ton aide.
Répondre