最近話題になっているNode-RED。
使い方を学びたいという声を聞くことがあります。
そのような方のために、Node-REDのフローを100個作ってその様子を動画で紹介する「Node-RED100本ノック」という企画を立ち上げました。
Node-REDの公式サイトにあるNode-REDクックブックに紹介されているフローや自分で行ってみたフローについて、実際に作る方法とフローの解説していく第3回目です。
第2回は固定値をmessageプロパティにセットです。
messsageプロパティの移動
今回は、Node-REDクックブックにある”Move a message property”の解説です。
Changeノードを使用してプロパティを移動をさせます。
Node-REDのフローのコピーはこちらから
JPサイト ⇒ https://cookbook.nodered.jp/basic/move-message-property
グローバルサイト ⇒ https://cookbook.nodered.org/basic/move-message-property
第4回は異なる範囲の数値をマッピングするです。
Node-RED100本ノックのYoutube再生リストはこちらです。⇒ Node-RED100本ノック
ぜひチャンネル登録をお願いいたします。⇒ DALI KNX EnOcean照明制御チャンネル
【文字起こし】messsageプロパティの移動
はい、みなさんこんにちは。
スマートライトの中畑です。
今回もNode-RED100本ノック行ってみましょう。
今回ですね、第3回目です。
今回やるのはまたNode-RED Cook Bookから、ここですね、Move a message propertyというのをやります。
これ、どういうフローかというと、インジェクトNodeを押すとメッセージが切り替わって送られるというNodeになっています。
じゃあ、さっそくやってみましょう!
先ずはこちらにあるモードをはい、フローをコピーします。
コピーしてNode-REDの画面に行きます。
右のほうでインポートをして、ここに先ほどのNodeを貼り付け。
これでデプロイですね。
こっちをデバッグモードにして、ここでこのインジェクトNodeを押すと「Hello」っていう文字が表示されました。
じゃあ、一つづつフローを確認していくと、まずこのインジェクトNodeは、このトピック、メッセージペイロードはタイムスタンプを送ってるんですけど、このメッセージトピックで「Hello」っていうのを送っているんですね。
で、実はこれデバッグノートなんですけど、最初そのまま入れた状態だとメッセージペイロードの値を表示するようになっています。
なので、本来ならこれをこのまま直接つけたらタイムスタンプの値しか表示されないはずなんですけど、ここでメッセージを入れ替えています。
これどういうふうにやってるかって言うと、このチェンジNodeなんですけど、メッセージトピックにきた内容をメッセージペイロードに送るっていうふうにになっています。
なので、ここでメッセージペイロードにはタイムスタンプの値が送られているんですけど、メッセージトピックにある「Hello」っていう値をここでメッセージトピックからペイロードに移して、こっちのデバッグNodeに送っています。
で、これ僕もこういう使い方したことなかったんですけど、例えばですね、これメッセージデバッグモードなんですけど、ここのコンプリートメッセージオブジェクトっていうふうにやると、送られたメッセージを全部表示させることができるんですよ。
で、これ押しますよね。
送られたメッセージはペイロードの「Hello」しか来てないんですね。
で、これ何が言いたいかっていうと、例えばこれを外してこのインジェクトNodeを直接デバッグNodeにつなげると
はい、結果はですね、メッセージペイロードにはこのタイムスタンプが乗ってるんですけど、メッセージトピックに「Hallo」があって、このペイロードトピックが送られているんですが
さっきこれをこういうふうにやって送るとメッセージトピックがここで、なくなってるんですね。
こっちだとメッセージトピックの「Hallo」があるんですけど、こっちはメッセージペイロードにチェンジしたので送られているんですけど、その他のメッセージに送られた内容が消えているようになっています。
なので、結構そのNode-REDを使うときにフローでこう次に次にってどんどん連携していくんですけど、その時にメッセージペイロードとかメッセージに乗せた内容が全部いってしまうんですけど、他のものを消してメッセージペイロードだけにするっていう時にチェンジNodeを使うと便利だなということがわかります。
これ使い方としてはメッセージペイロードにどんどんこうデータを載せていくと次に送られてしまうので、一旦リフレッシュする時にこれが使えるんだなっていうふうに思います。
多分ちょっとこれ、説明難しいですね。
はい、なのでこういうものもあるということだけぜひ覚えておいてください。
Node-RED100本ノック第3回目は、change Nodeを使ってメッセージをトピックからペイロードに移すっていうフローを扱ってみました。
では、また会いましょう。
皆さん、さようなら。