如何从msg.Payload获取字符串并使用它?

时间:2018-12-07 12:11:07

标签: mqtt node-red

我从服务器收到具有以下值的MQTT消息:

Produktion//Arbeitsplatz_2//14416910412445//Produkt_2//

我必须将其拆分以获取第一个值Produktion

但是调试只说Function tried to send a message of type String.

那我的错误在哪里? 我尝试了很多例子,但没有人能做到。

我的代码:

var x = msg.payload.split("//");
var Status = {payload:x[0]};
if (Status=="Produktion"){
    var INFO = {payload:"The Production starts!"}
    return INFO;
}

2 个答案:

答案 0 :(得分:1)

我不确定您为什么会收到该错误,因为您应该返回null,因为if子句永远不会过去。

以下方法应该起作用:

var x = msg.payload.split("//");

if (x[0]=="Produktion"){
    var INFO = {payload:"The Production starts!"}
    return INFO;
}

答案 1 :(得分:0)

错误在于您的if语句中:

(...)
if (Status.payload == "Produktion") {
(...)

致谢