Flows file
なんとなくで作成したHello Worldフロー。
デプロイボタンはあるものの,メニューには保存アクションは見当たらず。
デプロイしたフローがどこに保存されているのかメモ。
フローの保存先
Node-REDの起動時に以下メッセージがコンソールに出力されている。
9 Nov 15:49:54 - [info] User directory : \Users\maema\.node-red
9 Nov 15:49:54 - [info] Flows file : \Users\maema\.node-red\flows_hostname.json
9 Nov 15:49:54 - [info] Server now running at http://127.0.0.1:1880/
Flows fileはどうやら"\Users\maema.node-red\flows_hostname.json"
にあるらしい。
Windowsマシンにインストールして,デフォルト設定のままなので,
ユーザーディレクトリ下となっている。
Frows.jsonの中身について
作成したフロー
探し出しやすいように以下の名称でHelloWorldフローを作成。
- フロー名:[WST]WorkSpaceTest
- ノード1:[WST]inject
- ノード2:[WST]debug
少しFrows.jsonの中身を見てみる
Frows.jsonを開いて,オブジェクトを発見。
- フロー名:[WST]WorkSpaceTest
{
"id": "d086bedd.26fb4",
"type": "tab",
"label": "[WST]WorkSpaceTest",
"disabled": false,
"info": ""
}
- ノード1:[WST]inject
{
"id": "3128a95a.a79aa6",
"type": "inject",
"z": "d086bedd.26fb4",
"name": "[WST]inject",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "Hello World",
"payloadType": "str",
"x": 100,
"y": 20,
"wires": [
[
"9373d07f.90f06"
]
]
}
- ノード2:[WST]debug
{
"id": "9373d07f.90f06",
"type": "debug",
"z": "d086bedd.26fb4",
"name": "[WST]debug",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 290,
"y": 60,
"wires": [
]
}
全部見るのはメンドクサイので,ぼんやり見てみるとフロー,ノード共に"id"を持っており,ノードの"z"にフローの"id"が指定されているのが分かる。
また,ノード1の"wires"にノード2の"id"が指定されており,ノード2の"wires"は空となっている。
ノードによって違うのかもしれないが,少なくともinjectノードとdebugノードを繋いだ場合,IN/OUTのリンク全てを持たせているのではなく,OUTノードの情報だけを"wires"に持たせているようだ。
そして"x"と"y"に座標情報を持っているのが見え,こんなにシンプルなら頭の良い人がすぐ自動整列機能を作ってくれる未来が見えた。
端にノードを配置してみたところ,サイズは5000 × 5000のようだ。試しにx:0, y:0を指定してみると...
少しだけ見えているがほぼ隠れてしまう...
恐らくノードの中心のようなので,ある程度マージンを付けてあげないとダメみたいだ。
自動整列機能の実装を心待ちにしておこう。