@node-red/nodes 2.1.4 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/core/common/20-inject.html +3 -3
  2. package/core/function/10-function.html +6 -4
  3. package/core/function/10-function.js +1 -2
  4. package/core/function/rbe.js +1 -1
  5. package/core/network/21-httprequest.js +2 -0
  6. package/core/network/22-websocket.js +15 -13
  7. package/examples/common/link/03 - Link call.json +156 -0
  8. package/examples/storage/{file/01 - Write string to a file.json → read file/01 - Read string from a file.json } +22 -22
  9. package/examples/storage/{file-in → read file}/02 - Read data in specified encoding.json +23 -22
  10. package/examples/storage/{file-in → read file}/03 - Read data breaking lines into messages.json +25 -25
  11. package/examples/storage/{file-in → read file}/04 - Create a message stream.json +37 -37
  12. package/examples/storage/{file-in/01 - Read string from a file.json → write file/01 - Write string to a file.json } +15 -15
  13. package/examples/storage/{file → write file}/02 - Write string to a file specified by property.json +22 -22
  14. package/examples/storage/{file → write file}/03 - Delete a file.json +16 -16
  15. package/examples/storage/{file → write file}/04 - Specify encoding of written data.json +23 -23
  16. package/locales/en-US/function/80-template.html +1 -1
  17. package/locales/en-US/function/89-delay.html +1 -1
  18. package/locales/en-US/function/rbe.html +2 -2
  19. package/locales/en-US/network/10-mqtt.html +1 -1
  20. package/locales/en-US/network/21-httprequest.html +1 -1
  21. package/locales/en-US/sequence/17-split.html +1 -1
  22. package/locales/ja/function/80-template.html +2 -0
  23. package/locales/ja/function/89-delay.html +5 -2
  24. package/locales/ja/function/rbe.html +1 -1
  25. package/locales/ja/network/10-mqtt.html +65 -4
  26. package/locales/ja/parsers/70-CSV.html +1 -1
  27. package/locales/ja/sequence/17-split.html +5 -2
  28. package/package.json +4 -4
@@ -52,7 +52,7 @@
52
52
  <dd>In case any redirects occurred while processing the request, this property is the final redirected url.
53
53
  Otherwise, the url of the original request.</dd>
54
54
  <dt>responseCookies <span class="property-type">object</span></dt>
55
- <dd>If the response includes cookies, this propery is an object of name/value pairs for each cookie.</dd>
55
+ <dd>If the response includes cookies, this property is an object of name/value pairs for each cookie.</dd>
56
56
  <dt>redirectList <span class="property-type">array</span></dt>
57
57
  <dd>If the request was redirected one or more times, the accumulated information will be added to this property. `location` is the next redirect destination. `cookies` is the cookies returned from the redirect source.</dd>
58
58
  </dl>
@@ -60,7 +60,7 @@
60
60
  </p>
61
61
  <p>When operating in this mode, the node will not set the <code>msg.parts.count</code>
62
62
  property as it does not know how many messages to expect in the stream. This
63
- means it cannot be used with the <b>join</b> node in its automatic mode</p>
63
+ means it cannot be used with the <b>join</b> node in its automatic mode.</p>
64
64
  </script>
65
65
 
66
66
  <script type="text/html" data-help-name="join">
@@ -46,4 +46,6 @@
46
46
  <code>{{global[store].名前}}</code>を用います。
47
47
  </p>
48
48
  <p><b>注: </b>デフォルトでは、<i>mustache</i>形式は置換対象のHTML要素をエスケープします。これを抑止するには<code>{{{三重}}}</code>括弧形式を使います。</p>
49
+ <p>もし、コンテンツの中で<code>{{ }}</code>を出力する必要がある場合は、テンプレートで使われる記号文字を変えることもできます。例えば、<code>[[ ]]</code>を代わりに用いるには、テンプレートの先頭に以下の行を追加します。</p>
50
+ <pre>{{=[[ ]]=}}</pre>
49
51
  </script>
@@ -25,11 +25,14 @@
25
25
  <dt class="optional">reset</dt>
26
26
  <dd>受信メッセージでこのプロパティを任意の値に設定すると、ノードが保持する全ての未送信メッセージをクリアします。</dd>
27
27
  <dt class="optional">flush</dt>
28
- <dd>受信メッセージでこのプロパティを任意の値に設定すると、ノードが保持する全ての未送信メッセージを直ちに送信します。</dd>
28
+ <dd>本プロパティに数値が設定されたメッセージを受信すると、直ちに指定された数のメッセージを送信します。もし他の型(例えば真偽型)が設定されている場合は、ノードが保持している全ての未送信メッセージを直ちに送信します。</dd>
29
+ <dt class="optional">toFront</dt>
30
+ <dd>流量制御モードにおいて、本プロパティに真偽型<code>true</code>が設定されたメッセージを受け取ると、キューの先頭に追加され、その後に送信されます。<code>msg.flush=1</code>と組み合わせて用いると、すぐに再送信できます。</dd>
29
31
  </dl>
30
32
  <h3>詳細</h3>
31
- <p>メッセージを遅延させるように設定する場合、遅延時間は固定値、範囲内の乱数値、メッセージ毎の動的な指定値のいずれかを指定できます。</p>
33
+ <p>メッセージを遅延させるように設定する場合、遅延時間は固定値、範囲内の乱数値、メッセージ毎の動的な指定値のいずれかを指定できます。各メッセージは、到着時刻に基づいて、他のメッセージとは独立して遅延されます。</p>
32
34
  <p>流量制御する場合、メッセージは指定した時間間隔内に分散して送信します。キューに残っているメッセージ数はノードのステータスに表示されます。受け取った中間メッセージを破棄することも可能です。</p>
33
35
  <p>流量値を上書きできるように設定されている場合、新しい流量値はすぐに適用されます。この流量値は、再度変更されるまで、本ノードがリセットされるまで、またはフローが再実行されるまで有効です。</p>
34
36
  <p>流量制御は全てのメッセージに適用することも、<code>msg.topic</code>値でグループ化して適用することも可能です。グループ化すると、中間メッセージは自動的に破棄されます。時間間隔毎に全てのトピックの最新メッセージを送信するか、次のトピックの最新メッセージを送信するかを指定できます。</p>
37
+ <p><b>注</b>: 流量制御モードでは、キューの大きさの最大値を<i>settings.js</i>ファイルのプロパティに設定できます。例えば、次の様な設定です。<code>nodeMessageBufferMaxLength: 1000,</code></p>
35
38
  </script>
@@ -27,5 +27,5 @@
27
27
  <p>不感帯モードでは%による指定もサポートしています。入力と前の値の差分がX%より大きな場合に出力を行います。</p>
28
28
  <p>狭帯域(narrowband)モードでは、前の値に対する差分が一定値より大きな場合に入力ペイロードをブロックします。このモードは、故障したセンサから発生する外れ値を無視する時などに有用です。</p>
29
29
  <p>不感帯モードと狭帯域モードでは、以前の有効出力値、もしくは、以前の入力値との比較ができます。有効出力値を用いると範囲外の値を無視することが、入力値を用いると設定点がリセットされるため漸次的変化(不感帯モード)もしくは段階的変化(狭帯域モード)が可能です。</p>
30
- <p><b>注:</b> このノードは<code>msg.topic</code>毎に動作します。そのため、ひとつのrbeノードで複数の異なるトピックを同時に扱うことができます。</p>
30
+ <p><b>注:</b> このノードは<code>msg.topic</code>毎に動作します。そのため、ひとつのfilterノードで複数の異なるトピックを同時に扱うことができます。</p>
31
31
  </script>
@@ -26,11 +26,46 @@
26
26
  <dd>0: 最大1度到着, 1: 一度以上到着, 2: 1度のみ到着</dd>
27
27
  <dt>retain <span class="property-type">真偽値</span></dt>
28
28
  <dd>真の場合、メッセージを保持。メッセージが古い値の場合があります。</dd>
29
+ <dt class="optional">responseTopic <span class="property-type">文字列</span></dt>
30
+ <dd><b>MQTTv5</b>: メッセージのMQTT応答トピック</dd>
31
+ <dt class="optional">correlationData <span class="property-type">バッファ</span></dt>
32
+ <dd><b>MQTTv5</b>: メッセージの相関データ</dd>
33
+ <dt class="optional">contentType <span class="property-type">文字列</span></dt>
34
+ <dd><b>MQTTv5</b>: ペイロードのコンテントタイプ</dd>
35
+ <dt class="optional">userProperties <span class="property-type">オブジェクト</span></dt>
36
+ <dd><b>MQTTv5</b>: メッセージのユーザプロパティ</dd>
37
+ <dt class="optional">messageExpiryInterval <span class="property-type">数値</span></dt>
38
+ <dd><b>MQTTv5</b>: 秒単位のメッセージの有効期限</dd>
29
39
  </dl>
30
40
  <h3>詳細</h3>
31
41
  <p>購読トピックにはMQTTのワイルドカード(+: 1レベル, #: 複数レベル)を含めることができます。</p>
32
42
  <p>このノードの利用のためには、MQTTブローカへの接続設定が必要です。この設定は鉛筆アイコンをクリックすることで行えます。</p>
33
43
  <p>MQTT(inおよびout)ノードはブローカへの接続設定を必要に応じて共有できます。</p>
44
+ <h4>動的購読</h4>
45
+ 本ノードは、MQTTの接続と購読を動的に制御するよう設定できます。有効にすると、本ノードの入力にメッセージを渡すことで制御できます。
46
+ <h3>入力</h3>
47
+ <p>これらは、動的購読が設定されている場合のみ適用されます。</p>
48
+ <dl class="message-properties">
49
+ <dt>action <span class="property-type">文字列</span></dt>
50
+ <dd>本ノードが行う動作の名前。利用可能な動作は<code>"connect"</code>、<code>"disconnect"</code>、<code>"subscribe"</code>、<code>"unsubscribe"</code>です。</dd>
51
+ <dt class="optional">topic <span class="property-type">文字列|オブジェクト|配列</span></dt>
52
+ <dd><code>"subscribe"</code>と<code>"unsubscribe"</code>の動作に対して、本プロパティはトピックを提供します。次のいずれかを設定できます:<ul>
53
+ <li>トピックフィルターを含む文字列</li>
54
+ <li><code>topic</code>と<code>qos</code>プロパティを持つオブジェクト</li>
55
+ <li>複数のトピックを扱う文字列やオブジェクトの配列</li>
56
+ </ul>
57
+ </dd>
58
+ <dt class="optional">broker <span class="property-type">broker</span> </dt>
59
+ <dd><code>"connect"</code>の動作に対して、本プロパティは次の様な個々のブローカ設定を上書きします: <ul>
60
+ <li><code>broker</code></li>
61
+ <li><code>port</code></li>
62
+ <li><code>url</code> - 完全な接続URLを提供するために、brokerとportを上書き</li>
63
+ <li><code>username</code></li>
64
+ <li><code>password</code></li>
65
+ </ul>
66
+ <p>本プロパティが設定され既にブローカが接続されている場合、<code>force</code>プロパティを設定しない限り、エラーがログに記録されます。設定された場合はブローカから切断され、新しい設定を適用して再接続します。</p>
67
+ </dd>
68
+ </dl>
34
69
  </script>
35
70
 
36
71
  <script type="text/html" data-help-name="mqtt out">
@@ -39,15 +74,24 @@
39
74
  <dl class="message-properties">
40
75
  <dt>payload <span class="property-type">文字列 | バッファ</span></dt>
41
76
  <dd>発行するペイロード。プロパティが設定されていない場合には、メッセージは送信されません。空のメッセージを送信するには、プロパティに空文字列を設定します。</dd>
42
-
43
77
  <dt class="optional">topic <span class="property-type">文字列</span></dt>
44
78
  <dd>発行対象のMQTTトピック</dd>
45
-
46
79
  <dt class="optional">qos <span class="property-type">数値</span></dt>
47
80
  <dd>0: 最大一度到着, 1: 一度以上到着, 2: 一度のみ到着。デフォルトは0です。</dd>
48
-
49
81
  <dt class="optional">retain <span class="property-type">真偽値</span></dt>
50
82
  <dd>真の場合、メッセージをブローカに保持します。デフォルトは偽です。</dd>
83
+ <dt class="optional">responseTopic <span class="property-type">文字列</span></dt>
84
+ <dd><b>MQTTv5</b>: メッセージのMQTT応答トピック</dd>
85
+ <dt class="optional">correlationData <span class="property-type">バッファ</span></dt>
86
+ <dd><b>MQTTv5</b>: メッセージの相関データ</dd>
87
+ <dt class="optional">contentType <span class="property-type">文字列</span></dt>
88
+ <dd><b>MQTTv5</b>: ペイロードのコンテントタイプ</dd>
89
+ <dt class="optional">userProperties <span class="property-type">オブジェクト</span></dt>
90
+ <dd><b>MQTTv5</b>: メッセージのユーザプロパティ</dd>
91
+ <dt class="optional">messageExpiryInterval <span class="property-type">数値</span></dt>
92
+ <dd><b>MQTTv5</b>: 秒単位のメッセージの有効期限</dd>
93
+ <dt class="optional">topicAlias <span class="property-type">数値</span></dt>
94
+ <dd><b>MQTTv5</b>: 使用するMQTTトピックエイリアス</dd>
51
95
  </dl>
52
96
  <h3>詳細</h3>
53
97
  <p><code>msg.payload</code>を発行するメッセージのペイロードとして用います。ペイロードがオブジェクトの場合、送信の際にJSON文字列に変換します。ペイロードがバイナリバッファの場合、そのまま送信します。</p>
@@ -55,6 +99,24 @@
55
99
  <p>同様に、QoSとretainもノードの設定、もしくは、ノードの設定が空の場合には、それぞれ<code>msg.qos</code>および<code>msg.retain</code>で指定できます。以前ブローカに保存したトピックをクリアするには、retainフラグを設定して当該トピックに空のメッセージを発行します。</p>
56
100
  <p>このノードの利用のためには、MQTTブローカへの接続設定が必要です。この設定は鉛筆アイコンをクリックすることで行えます。</p>
57
101
  <p>MQTT(inおよびout)ノードはブローカへの接続設定を必要に応じて共有できます。</p>
102
+
103
+ <h4>動的制御</h4>
104
+ 本ノードによって接続を動的に制御できます。本ノードが以下の制御メッセージのいずれかを受け取った際は、ペイロードと同じ様にパブリッシュされることはありません。
105
+ <h3>入力</h3>
106
+ <dl class="message-properties">
107
+ <dt>action <span class="property-type">文字列</span></dt>
108
+ <dd>本ノードが行う動作の名前。利用可能な動作は<code>"connect"</code>、<code>"disconnect"</code>、<code>"subscribe"</code>、<code>"unsubscribe"</code>です。</dd>
109
+ <dt class="optional">broker <span class="property-type">broker</span> </dt>
110
+ <dd><code>"connect"</code>の動作に対して、本プロパティは次の様な個々のブローカ設定を上書きします: <ul>
111
+ <li><code>broker</code></li>
112
+ <li><code>port</code></li>
113
+ <li><code>url</code> - 完全な接続URLを提供するために、brokerとportを上書き</li>
114
+ <li><code>username</code></li>
115
+ <li><code>password</code></li>
116
+ </ul>
117
+ <p>本プロパティが設定され既にブローカが接続されている場合、<code>force</code>プロパティを設定しない限り、エラーがログに記録されます。設定された場合はブローカから切断され、新しい設定を適用して再接続します。</p>
118
+ </dd>
119
+ </dl>
58
120
  </script>
59
121
 
60
122
  <script type="text/html" data-help-name="mqtt-broker">
@@ -70,5 +132,4 @@
70
132
  <h4>WebSocket</h4>
71
133
  <p>WebSocketによる接続を行うように設定できます。WebSocketを利用するには、サーバフィールドに接続先のURIを完全な形式で記述します。以下に例を示します。</p>
72
134
  <pre>ws://example.com:4000/mqtt</pre>
73
-
74
135
  </script>
@@ -36,7 +36,7 @@
36
36
  <h3>詳細</h3>
37
37
  <p>「列名」にカラム名のリストを指定することができます。CSVからオブジェクトに変換を行う際、カラム名をプロパティ名として使用します。「列名」の代わりに、CSVデータの1行目にカラム名を含めることもできます。</p>
38
38
  <p>CSVへの変換を行う際には、オブジェクトから取り出すべきプロパティとその順序を「列名」を参照して決めます。</p>
39
- <p>列名がない場合、本ノードは<code>msg.columns</code>プロパティの単純なコンマ区切りリストを使用して、何を抽出するかを決定します。もしそれが存在しない場合、すべてのオブジェクトプロパティを見つけた順序で出力します。</p>
39
+ <p>列名がない場合、本ノードは<code>msg.columns</code>プロパティの単純なコンマ区切りリストを使用して、何をどの順序で抽出するかを決定します。もし存在しない場合、すべてのオブジェクトプロパティを見つけた順序で出力します。</p>
40
40
  <p>入力が配列の場合には、「列名」はカラム名を表す行の出力指定がされた場合だけ用います。</p>
41
41
  <p>「数値を変換する」オプションがチェックされている場合、文字列型の数値が数値として返されます。つまり「1,"1.5",2」の真ん中の値が数値になります。</p>
42
42
  <p>「空の文字を含む」オプションがチェックされている場合、空の文字列が結果に返されます。つまり「"1","",3」の真ん中の値が空の文字列になります。</p>
@@ -52,7 +52,6 @@
52
52
  <p>このモードで処理する際には、メッセージ数を予め知ることができないため、<code>msg.parts.count</code>プロパティは設定されません。従って、<b>join</b>ノードの「自動モード」と組み合わせることはできません。</p>
53
53
  </script>
54
54
 
55
-
56
55
  <script type="text/html" data-help-name="join">
57
56
  <p>メッセージ列を結合して一つのメッセージにします。</p>
58
57
  <p>メッセージの結合には次の3つのモードが利用できます。</p>
@@ -80,6 +79,10 @@
80
79
  </dd>
81
80
  <dt class="optional">complete</dt>
82
81
  <dd>設定されている場合、本ノードはペイロードを追加し、保持しているメッセージを送信します。ペイロードを追加したくない場合は、msgから削除してください。</dd>
82
+ <dt class="optional">reset</dt>
83
+ <dd>設定されている場合、本ノードは部分的に完成したメッセージを送信せず、削除します。</dd>
84
+ <dt class="optional">restartTimeout</dt>
85
+ <dd>設定されている場合、本ノードにタイムアウトが設定され、そのタイムアウトを用いて処理が再開されます。</dd>
83
86
  </dl>
84
87
  <h3>詳細</h3>
85
88
 
@@ -96,7 +99,7 @@
96
99
  </ul>
97
100
  <p>出力メッセージのその他のプロパティはメッセージを送信する直前のメッセージをコピーします。</p>
98
101
  <p>「<i>合計値</i>」には出力メッセージを送信する前に受信すべきメッセージ数を指定します。オブジェクト出力の場合、この合計値に達すると後続メッセージの到着毎にメッセージを出力するように設定することもできます。</p>
99
- <p>「<i>秒</i>」には新規メッセージを送信するまでの経過時間を設定します。</p>
102
+ <p>「<i>秒</i>」には新規メッセージを送信するまでの経過時間を設定します。<code>msg.restartTimeout</code>プロパティを設定したメッセージを渡すことで、指定した時間で再開できます。</p>
100
103
  <p><code>msg.complete</code>プロパティを設定したメッセージを受信すると、出力メッセージを送信します。この時、メッセージ列の数をリセットします。</p>
101
104
  <p><code>msg.reset</code>プロパティを設定したメッセージを受信すると、部分的に受信済みのメッセージを破棄します。これらのメッセージは送信されません。この時、メッセージ列の数をリセットします。</p>
102
105
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-red/nodes",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,10 +15,10 @@
15
15
  }
16
16
  ],
17
17
  "dependencies": {
18
- "acorn": "8.6.0",
18
+ "acorn": "8.7.0",
19
19
  "acorn-walk": "8.2.0",
20
20
  "ajv": "8.8.2",
21
- "body-parser": "1.19.0",
21
+ "body-parser": "1.19.1",
22
22
  "cheerio": "1.0.0-rc.10",
23
23
  "content-type": "1.0.4",
24
24
  "cookie-parser": "1.4.6",
@@ -36,7 +36,7 @@
36
36
  "is-utf8": "0.2.1",
37
37
  "js-yaml": "3.14.1",
38
38
  "media-typer": "1.1.0",
39
- "mqtt": "4.2.8",
39
+ "mqtt": "4.3.4",
40
40
  "multer": "1.4.3",
41
41
  "mustache": "4.2.0",
42
42
  "on-headers": "1.0.2",