NodeRed как вернуть массив объекта msg

В NodeRed у меня есть такая функция:

var payload = msg.payload;
  if(payload && payload.length > 10) {
    var data = payload.match(/\d+/ig);
    var string = "vcc:"+data[1]+",temp:"+data[2]/100+",hum:"+data[3]/100;
    return [[{payload: string}, {nodegroup: data[0]}]];
  } else {
    return null;
  }

Мне нужен объект msg.payload И msg.nodegroup для узла EmonCMS. Как я могу вернуть объект, содержащий msg.payload и msg.nodegroup?


person kenci    schedule 22.12.2014    source источник


Ответы (1)


Вы приближаетесь к возврату двухмерного массива, который отправит 2 сообщения на первый выход узла функции.

Предполагая, что вы хотите отправить только одно сообщение только на один выход, следующее должно делать то, что я думаю, вы хотите.

var payload = msg.payload;
if(payload && payload.length > 10) {
   var data = payload.match(/\d+/ig);
   var string = "vcc:"+data[1]+",temp:"+data[2]/100+",hum:"+data[3]/100;
   return {payload: string, nodegroup: data[0]};
} else {
   return null;
}
person hardillb    schedule 22.12.2014
comment
Спасибо, у меня это сработало. Квадратная скобка отсутствует после data[0} nodegroup: data[0]}; - person kenci; 23.12.2014