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

Mqtt 如何从msg.Payload获取字符串并使用它?,mqtt,node-red,Mqtt,Node Red,我从服务器获得一条具有以下值的MQTT消息: Produktion//Arbeitsplatz_2//14416910412445//Produkt_2// 我必须拆分它以获得第一个值Produktion 但是调试只表明函数试图发送字符串类型的消息。 那么我的错误在哪里呢? 我尝试了很多例子,但没有一个是有效的 我的代码: var x = msg.payload.split("//"); var Status = {payload:x[0]}; if (Status=="Produktion"

我从服务器获得一条具有以下值的MQTT消息:

Produktion//Arbeitsplatz_2//14416910412445//Produkt_2//
我必须拆分它以获得第一个值
Produktion

但是调试只表明
函数试图发送字符串类型的消息。

那么我的错误在哪里呢? 我尝试了很多例子,但没有一个是有效的

我的代码:

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

我不确定为什么会出现这个错误,因为您应该返回null,因为if子句永远不会通过

以下方面应起作用:

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

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

错误在您的if语句中:

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

关于

Status对象是完全多余的,最好完全删除它。