【问题标题】:Insert msg.payload into LIFX Node as a value将 msg.payload 作为值插入 LIFX 节点
【发布时间】:2020-11-15 14:15:57
【问题描述】:

我想通过将 NodeRed 仪表板上的滑块值注入 node-red-contrib-lifx-api 节点来控制 LIFX 灯泡的亮度。 如果我使用固定值,我设法控制了灯光,但不知何故它不会采用 msg.payload 参数。此外,调试流上不会显示错误消息。

我的流程如下所示:

{{msg.payload}} 在该字段中使用的语法是否正确?双括号 {{ 正在我的其他节点上工作,所以我也在这里使用它们。

【问题讨论】:

    标签: node-red lifx


    【解决方案1】:

    需要显式构建节点以支持从输入消息中提取值。他们中的大多数不使用 mustache ({{}}) 语法,如果支持的话,最好的方法是在配置对话框中将该值留空(如果您设置了一个值,则它不应被传入消息覆盖)以及在哪里来自msg 的值应记录在信息侧栏中。

    查看节点的src,它看起来会从msg.brightness 获取亮度,因此您可能希望在设置状态之前使用更改节点将值从msg.payload 移动到msg.brightness节点。

    【讨论】:

    • 谢谢!我刚刚想出了一个类似的技巧。我将文档中的 json 字符串解析为 msg.payload 对象并更改亮度:var lampSettings = JSON.parse('{ "selector": "id:***", "power": "on", "brightness": 0.5}'); lampSettings.brightness = msg.payload; msg.payload = lampSettings; return msg;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2021-02-25
    • 2011-04-21
    • 2013-02-06
    相关资源
    最近更新 更多