2016-10-17 5 views
0

Ces derniers jours, j'ai essayé de lire quelque chose de très spécifique dans Node-Red: Je veux envoyer le message (LoRa) à un fichier CSV. Ce CSV doit contenir les éléments suivants:Node-red envoie un message à CSV

  • sujet
  • Date
  • charge utile

Je peux insérer la date à l'aide d'un noeud de fonction:

var str1 = Date(); 

Je suis en jouant avec le nœud CSV, mais je n'arrive pas à obtenir des valeurs séparées par des virgules. Tout cela a probablement à faire avec mon manque de compétences en programmation JavaScript, c'est pourquoi je me tourne vers vous.

Pouvez-vous m'aider?

Edit: Je cherche toujours la réponse, qui m'a apporté les éléments suivants: noeud Fonction:

var res = Date() + "," + msg.topic + "," + msg.payload; return [ { payload: res } ]; 

Sortie:

[{"col1":"Mon Oct 17 2016 17:10:20 GMT+0200 (CEST)","col2":"1/test/1","col3":"string1"}] 

Tout ce que je veux est maintenant perdre les informations supplémentaires telles que les noms de colonnes et [{}]

+1

Vouliez-vous dire "JavaScript" dans "java programming skills"? Si c'est le cas, veuillez corriger pour éviter les collisions de recherche avec 'Java'. –

Répondre

1

Le noeud CSV ne fonctionne que sur le champ msg.payload. Vous devrez donc copier les données supplémentaires dans l'objet de charge utile pour l'obtenir pour produire ce que vous voulez.

Donc, pour formater les données correctement, vous devez placer un nœud de fonction avec ce qui suit avant le nœud CSV:

var originalPayload = msg.payload; 
var newPayload = {}; 
newPayload.date = new Date().toString(); 
newPayload.topic = msg.topic; 
newPayload.payload = originalPayload; 
msg.payload = newPayload; 

return msg; 

et configurer le nœud CSV à des colonnes de sortie « la date, le sujet, la charge utile »

+0

Mis à part quelques fautes de frappe (majuscules/minuscules et un i manquant dans l'originalPayload) cela fait l'affaire. Je vais marquer est comme la réponse. – 88weighed