【问题标题】:Suspend Time Based on Holidays Node Red基于节假日节点的暂停时间 红色
【发布时间】:2021-02-10 07:36:18
【问题描述】:

我正在尝试通过输入假期 (Feiertage) - 节点来暂停 eztimer 节点。 如果今天是假日,Holiday 节点会在每天 00:01 发送一个布尔值。 可以通过设置 message.suspend true 或 false 来暂停计时器。 所以我已经尝试了一个将 msg.payload 转换为 msg.payload.suspend 的函数,但它不起作用。然后我尝试使用更改功能从 msg.payload 设置 msg.payload.suspend - 但它也不起作用。我总是从不支持输入的时候开始。

测试功能节点:

var test = msg.payload;
msg.payload.suspend = test;
return msg;

【问题讨论】:

    标签: function timer node-red suspend


    【解决方案1】:

    您需要在更改节点中使用“Move”动词而不是“Set”(Festlegen)动词。

    功能节点应该是:

    msg.payload = {
        suspended: true
    }
    return msg
    

    在旧版本中,您尝试将suspend 字段设置为可能是一个数字(假设您使用注入节点来触发它)。你不能这样做,所以你需要用一个对象来替换它。

    【讨论】:

    • 好的,我试过这样:(输入->“Feiertage”->函数->计时器)输入是一个字符串,使用“isTodayHoliday”触发Feiertage节点以获得布尔答案。我已经像你提到的那样设置了函数,然后我也收到错误“无效对象(msg.payload)输入。”
    • 再次查看eztimer的文档,消息应该在msg.payload.suspended而不是msg.payload.suspend
    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多