Node-RED中如何处理两个自动输入节点完成指定除法运算?
多输入节点数值运算解决方案
要完成两个自动输入节点的除法运算,核心是先合并两个节点的payload数据,再执行计算,具体步骤如下:
1. 合并两个节点的数据
- 将处理后的
BatteryAmps节点输出、Watts节点输出,同时连接到一个Join节点 - 配置Join节点:选择「合并成对象」模式,为每个输入设置对应的键名(比如把
BatteryAmps的输入键名设为batteryWh,Watts的输入键名设为loadWatts) - 配置完成后,当两个节点都有数据输入时,Join节点会输出一个包含两个数值的对象:
msg.payload.batteryWh和msg.payload.loadWatts
2. 执行除法运算
- 将Join节点的输出连接到Function节点
- 在Function节点中编写运算代码:
// 提取合并后的数值 const batteryWh = msg.payload.batteryWh; const loadWatts = msg.payload.loadWatts; // 避免除以0错误 if (loadWatts === 0) { node.error("负载功率不能为0"); return null; } // 计算续航小时数并保留一位小数 const runtimeHours = (batteryWh / loadWatts).toFixed(1); // 赋值给payload输出 msg.payload = parseFloat(runtimeHours); return msg;
3. 结果验证
示例中batteryWh为7700、loadWatts为358,代入计算后得到21.5,与预期结果一致。
内容的提问来源于stack exchange,提问作者James Rowe
相关产品推荐
相关产品推荐

