Node-RED:フローの使い方②

HEMS/IoT
スポンサーリンク

このブログで使用するフローの使い方をまとめておく。②

complete

パレットの共通に配置されている。

動作は、completeのプロパティで指定したフローの完了が、トリガーとなり、
complete以降のフローが動き出す。

completeのプロパティ

1)トリガーにするフローをリストから直接選択
2)ノードを選択…をクリックして、トリガーとするフローを直接選択
の二通りがある。

フローが多くなると、同じ名前があったり、探すのが大変で、間違いが発生する可能性があるので、
2)ノードを選択… からフローを直接選択する方が選びやすい。

トリガーとするフローの選択が終われば、完了で設定終了。
フローの選択は、複数選択もできる。

link in と link out

仮想ワイヤで接続したフローとなる。通常は、ワイヤーが見えなくなり、link フローを選択したとき仮想ワイヤーが破線で表示される。
link 同士は、接続先を指定する必要がある。link プロパティでリストから選択する。

フローを複数作成していくと、ワイヤーとフローが複雑になり、目的のフローを探すのに時間が掛かる事態になる。回避できるように link フローがある。

私の場合は、link フローはタイムラグが出るので、flowオブジェクトを使っている。
link フローは、flowオブジェクトの呼び出し先が分かるように配置して使っている。

calculator

数学的な処理を行うフロー。
追加が必要なフロー:node-red-contrib-calc

値が複数ある場合は、配列にしておく必要がある。
配列の順番が重要で、最初から順に計算される。

Operation:計算する方法をプルダウンリストから選択。

Constant:一定数で計算する場合は、ここへ数値を入れておけば良い。
     恐らく一番最後に計算される。

Operation

  • Sum:+算。配列内のすべての数値の合計
  • Subtract:ー算。配列内のすべての数値の減算
  • Multiply:×算。配列内のすべての数値を乗算
  • Divide:÷算。配列内のすべての数値の除算
  • Sort ascending:昇順で並べ替え
  • Sort descending:降順で並べ替え

cronplus

日時を指定してトリガーにするフロー。
追加が必要なフロー:node-red-contrib-cron-plus

  1. Name:ワークスペースに表示される名前
  2. Output property:⑦で設定した値が格納される場所
  3. Timezone:日本であれば、標準で”Asia/Tokyo”。指定する場合入力する。
  4. Outputs:出力方法の指定。
    ・1 output: All messages to output 1
      出力先は2つ。全ての情報を出力。
    ・2 outputs: Schedule messages to output 1, command responses to output 2
      出力先は2つ。全ての情報が1つ目に出力。2つ目の出力が不明。
    ・fan out: Separate outputs for static; dynamic and command messages
      出力先はSchedulesの数。Schedule毎に出力される。
      Schedule の数よりも2つ多く作成されるが、この2つの用途は不明。
  5. Schedule設定の名前
  6. Schedule設定のtopic名
  7. ②に代入する値
  8. ⑦の日時設定方法 cronは、Raspberry Pi OS のコマンド
  9. 日時を指定する。
    * * * * * * *
     0 0 0 1 * * *   毎月1日0時0分0秒に実行
     1 2 3 4 5 6 2022 1:秒 2:分 3:時 4:日 5:月 6:曜日(0~7、0と7が日曜) 2022:年
HEMS/IoT
スポンサーリンク
masafをフォローする
マサフ ブログ

コメント