在前面的文章中我们介绍过使用Change类型的节点(Node)进行内容的设定的示例,这篇文章中将结合示例继续介绍一下其他的使用方法。
以容器方式启动Node-RED服务,启动命令如下所示:
启动命令:docker run -it -p 1880:1880 -v $PWD/data:/data -e TZ=Asia/Shanghai --name nodered -d nodered/node-red:1.0.4
使用示例1: 设定固定值
-
节点设定 三个节点组成的flow,前后的节点只是设定了一下Name,而只有Change节点设定了返回的固定结果,详细信息如下
-
flow的json表示(export输出结果)
[{"id":"82808a0c.d63888","type":"inject","z":"73554227.4474dc","name":"Change使用示例1","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":140,"wires":[["fbd30c79.e788"]]},{"id":"fbd30c79.e788","type":"change","z":"73554227.4474dc","name":"设定固定值","rules":[{"t":"set","p":"payload","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":140,"wires":[["46d893f2.0c394c"]]},{"id":"46d893f2.0c394c","type":"debug","z":"73554227.4474dc","name":"显示输出","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":560,"y":140,"wires":[]}]
-
手动触发结果确认
执行Deploy操作之后,手动触发此flow,结果显示如下图所示:
-
节点设定 三个节点组成的flow,前后的节点只是设定了一下Name,而只有Change节点删除了payload属性,详细信息如下
-
flow的json表示(export输出结果)
[{"id":"4eb22195.140f1","type":"inject","z":"73554227.4474dc","name":"Change使用示例2","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":240,"wires":[["40c98dfa.d04bc4"]]},{"id":"40c98dfa.d04bc4","type":"change","z":"73554227.4474dc","name":"删除payload","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":240,"wires":[["1a3e2029.70d8b"]]},{"id":"1a3e2029.70d8b","type":"debug","z":"73554227.4474dc","name":"显示payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":570,"y":240,"wires":[]}]
-
手动触发结果确认
执行Deploy操作之后,手动触发此flow,由于删除之后缺省的Debug节点显示的为msg.payload,所以结果显示如下图所示:
-
节点设定
三个节点组成的flow,Inject的节点中设定topic属性,并设定内容如下:
在Change节点中将topic属性重命名(移动)为payload,这样在后续的Debug节点中就能直接输出结果了。
- flow的json表示(export输出结果)
[{"id":"8bfd7210.69d86","type":"inject","z":"73554227.4474dc","name":"Change使用示例3","topic":"Hello, this is message of Topic property","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":340,"wires":[["7b82fb90.3413c4"]]},{"id":"7b82fb90.3413c4","type":"change","z":"73554227.4474dc","name":"移动property","rules":[{"t":"move","p":"topic","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":340,"wires":[["7734e70f.1ef868"]]},{"id":"7734e70f.1ef868","type":"debug","z":"73554227.4474dc","name":"显示payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":570,"y":340,"wires":[]}]
-
手动触发结果确认
执行Deploy操作之后,手动触发此flow,结果显示如下图所示: