概述
inject节点,也叫【注入节点】;消息可以通过手动或定时的方式注入流程,其内容(payload)支持多样化的数据格式,包括字符串、数字、布尔值、JSON对象、二进制数据、时间戳以及全局变量等。
PS:可添加多个属性
输入
# 无
输出
msg.payload
#消息的有效荷载,即实际传输的数据段
msg.topic
#可在消息中增加的一个选项,可灵活运用以区分消息 【可选】
功能
1、手动注入
手动注入消息是指用户通过点击流程图中注入节点旁边的按钮【即节点左侧的方框】来主动发送消息。这种方式允许用户精确控制消息注入的时机,非常适合在开发初期进行调试,以便于精确控制和观察流程的响应。一旦调试阶段完成,可以根据实际需求将消息注入方式调整为定时触发,以实现自动化操作。
2、定时注入
根据预设的定时规则,系统将自动执行消息注入。当前支持的定时逻辑包括:
- 立即执行于X秒后:系统启动后延时X秒执行一次
- 周期性执行:按照设定的时间,每隔X秒执行一次
- 指定时间段周期性执行:在指定的日期指定的时间段内周期性执行
- 指定时间:在指定的时间点执行
3、数据类型
- flow.:获取当前流程中的变量,作用域数据共享
- global.:获取所有流程中的变量,作用域数据共享
- 文字列:即字符串,不需要加引号,直接输入
- 数字:整型、浮点型都支持
- 布尔值:true、false
- JSON:JSON格式的字符串;注意:会对输入内容进行JSON格式校验
- 二进制流:二进制数据流应使用中括号进行封装,并且数据项之间需用逗号分隔。每个数据项应表示为十进制数值。例如:0x01 0x03 0x00 0x00 0x00 0x02 0xC4 0x0B ——- [1,3,0,0,0,2,196,11]
- 时间戳:精确到毫秒的时间戳
- 表达式:JSONata表达式,支持各种操作符运算和各种函数;如:【payload/10】,则会对payload的值除以10
- 环境变量:主要是获取NodeJs中环境变量,如果系统中有初始化设置,便可获得。
- msg:获取消息包中的属性,很少使用。便于获取自定义属性。
示例
1、启动时触发一个流程
[{"id":"f197c59a3f309563","type":"comment","z":"456ad34aa198a5dc","name":"inject节点可以在启动时触发一个流程","info":"设备启动后,或重新部署后,注入节点自动触发流程,发送一个\"hello world\",调试节点可以打印数据","x":260,"y":320,"wires":[]},{"id":"ac32c2d6439ac760","type":"inject","z":"456ad34aa198a5dc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"","topic":"","payload":"hello world","payloadType":"str","x":210,"y":380,"wires":[["38073da990411939"]]},{"id":"38073da990411939","type":"debug","z":"456ad34aa198a5dc","name":"调试","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":430,"y":380,"wires":[]}]
2、每隔5秒触发一个流程
[{"id":"456ad34aa198a5dc","type":"tab","label":"流程 2","disabled":false,"info":"","env":[]},{"id":"64c1d7b3.a65b38","type":"comment","z":"456ad34aa198a5dc","name":"inject节点可以周期性的触发一个流程","info":"注入节点每隔5秒触发一次流程,发送一个二进制字符流,数据内容为HEX(01 02 03 04 05 06 07 08 09 0A),调试节点可以打印数据","x":240,"y":260,"wires":[]},{"id":"7c820e88.2db33","type":"inject","z":"456ad34aa198a5dc","name":"二进制字节流","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"5","crontab":"","once":false,"onceDelay":"","topic":"","payload":"[1,2,3,4,5,6,7,8,9,10]","payloadType":"bin","x":200,"y":320,"wires":[["8f135212.6a9a9"]]},{"id":"8f135212.6a9a9","type":"debug","z":"456ad34aa198a5dc","name":"调试","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":470,"y":320,"wires":[]}]
3、周一到周五的下午5点触发流程
[{"id":"a4060d5d.a3c92","type":"comment","z":"d1c9dd2044f7381c","name":"inject节点可以在指定时间点触发一个流程","info":"注入节点在每个工作日的下午4点触发一次流程,发送一个BOOL值:true,调试节点可以打印数据","x":320,"y":340,"wires":[]},{"id":"468db06c.bafdd","type":"inject","z":"d1c9dd2044f7381c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 17 * * 1,2,3,4,5","once":false,"onceDelay":"","topic":"","payload":"true","payloadType":"bool","x":230,"y":440,"wires":[["1ccc3174.cb926f"]]},{"id":"1ccc3174.cb926f","type":"debug","z":"d1c9dd2044f7381c","name":"调试","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":530,"y":440,"wires":[]},{"id":"4bad0dbcc63715ba","type":"comment","z":"d1c9dd2044f7381c","name":"比如:星期一至星期五下午17点,触发关闭办公室空调","info":"","x":360,"y":380,"wires":[]}]