ソフトウェアサポート/Node-RED
2 番目のフローを作成します
測定値を検証し、単位を換算して適切な分岐へ送ります。
図を拡大 +検証と単位換算
入力を数値に変換し、空白と有限でない値を拒否します。temperatureをraw / 10に、unitを°Cに設定します。
ブランチを選択してください
Switchでmsg.payload.temperatureを検査します。最初の条件を数値30以上、次の条件をotherwiseに設定します。
両方の分岐結果を確認
出力を名前付きのHighおよびNormalデバッグノードに接続する。 255 をデプロイしてテストし、次に 305 をテストします。
不正入力を試す
文字列invalidを入力します。FunctionがCatchへエラーを報告し、通常・高温のどちらにも出力しないことを確認します。
const raw = Number(msg.payload);
if (String(msg.payload).trim() === "" || !Number.isFinite(raw)) {
node.error("Invalid raw value", msg);
return null;
}
msg.payload = { temperature: raw / 10, unit: "°C" };
return msg;メッセージ処理を試す
ブラウザのみの学習の例。ゲートウェイを実行したり、フィールド機器を制御したりすることはありません。
有限数を入力してください。出力メッセージは出力されませんでした。