@node-red/nodes 2.1.2 → 2.1.6
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.
- package/core/common/20-inject.html +11 -9
- package/core/common/21-debug.js +13 -1
- package/core/function/10-function.html +6 -4
- package/core/function/10-function.js +1 -2
- package/core/function/89-delay.html +2 -1
- package/core/function/89-delay.js +1 -0
- package/core/function/rbe.js +1 -1
- package/core/network/21-httprequest.js +8 -10
- package/core/network/22-websocket.js +15 -13
- package/examples/common/link/03 - Link call.json +156 -0
- package/examples/storage/{file/01 - Write string to a file.json → read file/01 - Read string from a file.json } +22 -22
- package/examples/storage/{file-in → read file}/02 - Read data in specified encoding.json +23 -22
- package/examples/storage/{file-in → read file}/03 - Read data breaking lines into messages.json +25 -25
- package/examples/storage/{file-in → read file}/04 - Create a message stream.json +37 -37
- package/examples/storage/{file-in/01 - Read string from a file.json → write file/01 - Write string to a file.json } +15 -15
- package/examples/storage/{file → write file}/02 - Write string to a file specified by property.json +22 -22
- package/examples/storage/{file → write file}/03 - Delete a file.json +16 -16
- package/examples/storage/{file → write file}/04 - Specify encoding of written data.json +23 -23
- package/locales/de/common/20-inject.html +2 -2
- package/locales/de/common/21-debug.html +6 -6
- package/locales/de/common/24-complete.html +2 -2
- package/locales/de/common/25-catch.html +4 -4
- package/locales/de/common/60-link.html +2 -2
- package/locales/de/function/10-function.html +1 -1
- package/locales/de/function/10-switch.html +1 -1
- package/locales/de/function/90-exec.html +3 -3
- package/locales/de/messages.json +10 -11
- package/locales/de/network/10-mqtt.html +2 -2
- package/locales/de/network/21-httpin.html +3 -3
- package/locales/de/parsers/70-JSON.html +3 -3
- package/locales/de/sequence/17-split.html +6 -6
- package/locales/de/sequence/18-sort.html +2 -2
- package/locales/de/storage/10-file.html +1 -1
- package/locales/en-US/function/80-template.html +1 -1
- package/locales/en-US/function/89-delay.html +1 -1
- package/locales/en-US/function/rbe.html +2 -2
- package/locales/en-US/network/10-mqtt.html +1 -1
- package/locales/en-US/network/21-httprequest.html +1 -1
- package/locales/en-US/sequence/17-split.html +1 -1
- package/locales/ja/common/60-link.html +9 -0
- package/locales/ja/function/80-template.html +2 -0
- package/locales/ja/function/89-delay.html +5 -2
- package/locales/ja/function/rbe.html +1 -1
- package/locales/ja/messages.json +32 -6
- package/locales/ja/network/10-mqtt.html +65 -4
- package/locales/ja/parsers/70-CSV.html +1 -1
- package/locales/ja/sequence/17-split.html +5 -2
- package/locales/ko/messages.json +0 -1
- package/locales/ru/messages.json +0 -1
- package/locales/zh-CN/messages.json +0 -1
- package/locales/zh-TW/messages.json +0 -1
- package/package.json +8 -8
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
}
|
|
235
235
|
} else if (v[i].vt === "jsonata") {
|
|
236
236
|
try{jsonata(v[i].v);}catch(e){return false;}
|
|
237
|
-
} else if ([i].vt === "json") {
|
|
237
|
+
} else if (v[i].vt === "json") {
|
|
238
238
|
try{JSON.parse(v[i].v);}catch(e){return false;}
|
|
239
239
|
}
|
|
240
240
|
}
|
|
@@ -353,14 +353,16 @@
|
|
|
353
353
|
},
|
|
354
354
|
oneditprepare: function() {
|
|
355
355
|
var node = this;
|
|
356
|
+
var payloadType = node.payloadType;
|
|
357
|
+
|
|
356
358
|
if (node.payloadType == null) {
|
|
357
359
|
if (node.payload == "") {
|
|
358
|
-
|
|
360
|
+
payloadType = "date";
|
|
359
361
|
} else {
|
|
360
|
-
|
|
362
|
+
payloadType = "str";
|
|
361
363
|
}
|
|
362
364
|
} else if (node.payloadType === 'string' || node.payloadType === 'none') {
|
|
363
|
-
|
|
365
|
+
payloadType = "str";
|
|
364
366
|
}
|
|
365
367
|
|
|
366
368
|
$("#inject-time-type-select").on("change", function() {
|
|
@@ -557,7 +559,7 @@
|
|
|
557
559
|
var payload = {
|
|
558
560
|
p:'payload',
|
|
559
561
|
v: node.payload ? node.payload : '',
|
|
560
|
-
vt:
|
|
562
|
+
vt:payloadType ? payloadType : 'date'
|
|
561
563
|
};
|
|
562
564
|
var topic = {
|
|
563
565
|
p:'topic',
|
|
@@ -573,7 +575,7 @@
|
|
|
573
575
|
if (newProp.v === undefined) {
|
|
574
576
|
if (prop.p === 'payload') {
|
|
575
577
|
newProp.v = node.payload ? node.payload : '';
|
|
576
|
-
newProp.vt =
|
|
578
|
+
newProp.vt = payloadType ? payloadType : 'date';
|
|
577
579
|
} else if (prop.p === 'topic' && prop.vt === "str") {
|
|
578
580
|
newProp.v = node.topic ? node.topic : '';
|
|
579
581
|
}
|
|
@@ -688,9 +690,9 @@
|
|
|
688
690
|
this.topic = "";
|
|
689
691
|
var result = getProps(items, true);
|
|
690
692
|
this.props = result.props;
|
|
691
|
-
if(result.payloadType) { this.payloadType = result.payloadType; };
|
|
692
|
-
if(result.payload) { this.payload = result.payload; };
|
|
693
|
-
if(result.topic) { this.topic = result.topic; };
|
|
693
|
+
if(result.hasOwnProperty('payloadType')) { this.payloadType = result.payloadType; };
|
|
694
|
+
if(result.hasOwnProperty('payload')) { this.payload = result.payload; };
|
|
695
|
+
if(result.hasOwnProperty('topic')) { this.topic = result.topic; };
|
|
694
696
|
},
|
|
695
697
|
button: {
|
|
696
698
|
enabled: function() {
|
package/core/common/21-debug.js
CHANGED
|
@@ -280,6 +280,18 @@ module.exports = function(RED) {
|
|
|
280
280
|
root: path.join(__dirname,"lib","debug"),
|
|
281
281
|
dotfiles: 'deny'
|
|
282
282
|
};
|
|
283
|
-
|
|
283
|
+
try {
|
|
284
|
+
res.sendFile(
|
|
285
|
+
req.params[0],
|
|
286
|
+
options,
|
|
287
|
+
err => {
|
|
288
|
+
if (err) {
|
|
289
|
+
res.sendStatus(404);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
)
|
|
293
|
+
} catch(err) {
|
|
294
|
+
res.sendStatus(404);
|
|
295
|
+
}
|
|
284
296
|
});
|
|
285
297
|
};
|
|
@@ -91,21 +91,21 @@
|
|
|
91
91
|
<div id="func-tab-init" style="display:none">
|
|
92
92
|
<div class="form-row node-text-editor-row" style="position:relative">
|
|
93
93
|
<div style="height: 250px; min-height:150px;" class="node-text-editor" id="node-input-init-editor" ></div>
|
|
94
|
-
<div style="position: absolute; right:0; bottom: calc(100% - 20px); z-Index:
|
|
94
|
+
<div style="position: absolute; right:0; bottom: calc(100% - 20px); z-Index: 10;"><button id="node-init-expand-js" class="red-ui-button red-ui-button-small"><i class="fa fa-expand"></i></button></div>
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
97
97
|
|
|
98
98
|
<div id="func-tab-body" style="display:none">
|
|
99
99
|
<div class="form-row node-text-editor-row" style="position:relative">
|
|
100
100
|
<div style="height: 220px; min-height:150px;" class="node-text-editor" id="node-input-func-editor" ></div>
|
|
101
|
-
<div style="position: absolute; right:0; bottom: calc(100% - 20px); z-Index:
|
|
101
|
+
<div style="position: absolute; right:0; bottom: calc(100% - 20px); z-Index: 10;"><button id="node-function-expand-js" class="red-ui-button red-ui-button-small"><i class="fa fa-expand"></i></button></div>
|
|
102
102
|
</div>
|
|
103
103
|
</div>
|
|
104
104
|
|
|
105
105
|
<div id="func-tab-finalize" style="display:none">
|
|
106
106
|
<div class="form-row node-text-editor-row" style="position:relative">
|
|
107
107
|
<div style="height: 250px; min-height:150px;" class="node-text-editor" id="node-input-finalize-editor" ></div>
|
|
108
|
-
<div style="position: absolute; right:0; bottom: calc(100% - 20px); z-Index:
|
|
108
|
+
<div style="position: absolute; right:0; bottom: calc(100% - 20px); z-Index: 10;"><button id="node-finalize-expand-js" class="red-ui-button red-ui-button-small"><i class="fa fa-expand"></i></button></div>
|
|
109
109
|
</div>
|
|
110
110
|
</div>
|
|
111
111
|
|
|
@@ -512,6 +512,7 @@
|
|
|
512
512
|
return function(e) {
|
|
513
513
|
e.preventDefault();
|
|
514
514
|
var value = editor.getValue();
|
|
515
|
+
var extraLibs = that.libs || [];
|
|
515
516
|
RED.editor.editJavaScript({
|
|
516
517
|
value: value,
|
|
517
518
|
width: "Infinity",
|
|
@@ -523,7 +524,8 @@
|
|
|
523
524
|
setTimeout(function() {
|
|
524
525
|
editor.focus();
|
|
525
526
|
},300);
|
|
526
|
-
}
|
|
527
|
+
},
|
|
528
|
+
extraLibs: extraLibs
|
|
527
529
|
})
|
|
528
530
|
}
|
|
529
531
|
}
|
|
@@ -114,7 +114,8 @@
|
|
|
114
114
|
timeout: {value:"5", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }},
|
|
115
115
|
timeoutUnits: {value:"seconds"},
|
|
116
116
|
rate: {value:"1", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }},
|
|
117
|
-
nbRateUnits: {value:"1", required:false,
|
|
117
|
+
nbRateUnits: {value:"1", required:false,
|
|
118
|
+
validate:function(v) { return RED.validators.number(v) && (v >= 0); }},
|
|
118
119
|
rateUnits: {value: "second"},
|
|
119
120
|
randomFirst: {value:"1", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }},
|
|
120
121
|
randomLast: {value:"5", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }},
|
|
@@ -372,6 +372,7 @@ module.exports = function(RED) {
|
|
|
372
372
|
hit = false;
|
|
373
373
|
for (var b in node.buffer) { // check if already in queue
|
|
374
374
|
if (msg.topic === node.buffer[b].msg.topic) {
|
|
375
|
+
if (node.outputs === 2) { send([null,node.buffer[b].msg]) }
|
|
375
376
|
node.buffer[b].done();
|
|
376
377
|
node.buffer[b] = {msg, send, done}; // if so - replace existing entry
|
|
377
378
|
hit = true;
|
package/core/function/rbe.js
CHANGED
|
@@ -58,7 +58,7 @@ module.exports = function(RED) {
|
|
|
58
58
|
else {
|
|
59
59
|
var n = parseFloat(value);
|
|
60
60
|
if (!isNaN(n)) {
|
|
61
|
-
if ((typeof node.previous[t] === 'undefined') && (this.func === "narrowband")) {
|
|
61
|
+
if ((typeof node.previous[t] === 'undefined') && (this.func === "narrowband" || this.func === "narrowbandEq")) {
|
|
62
62
|
if (node.start === '') { node.previous[t] = n; }
|
|
63
63
|
else { node.previous[t] = node.start; }
|
|
64
64
|
}
|
|
@@ -298,18 +298,16 @@ in your Node-RED user directory (${RED.settings.userDir}).
|
|
|
298
298
|
}
|
|
299
299
|
if (Object.keys(this.credentials).length != 0) {
|
|
300
300
|
if (this.authType === "basic") {
|
|
301
|
-
// Workaround for https://github.com/sindresorhus/got/issues/1169
|
|
302
|
-
var cred = ""
|
|
303
|
-
if (this.credentials.user) {
|
|
304
|
-
//
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
// opts.password = this.credentials.password;
|
|
309
|
-
cred += ":" + this.credentials.password
|
|
301
|
+
// Workaround for https://github.com/sindresorhus/got/issues/1169 (fixed in got v12)
|
|
302
|
+
// var cred = ""
|
|
303
|
+
if (this.credentials.user || this.credentials.password) {
|
|
304
|
+
// cred = `${this.credentials.user}:${this.credentials.password}`;
|
|
305
|
+
if (this.credentials.user === undefined) { this.credentials.user = ""}
|
|
306
|
+
if (this.credentials.password === undefined) { this.credentials.password = ""}
|
|
307
|
+
opts.headers.Authorization = "Basic " + Buffer.from(`${this.credentials.user}:${this.credentials.password}`).toString("base64");
|
|
310
308
|
}
|
|
311
309
|
// build own basic auth header
|
|
312
|
-
opts.headers.Authorization = "Basic " + Buffer.from(cred).toString("base64");
|
|
310
|
+
// opts.headers.Authorization = "Basic " + Buffer.from(cred).toString("base64");
|
|
313
311
|
} else if (this.authType === "digest") {
|
|
314
312
|
let digestCreds = this.credentials;
|
|
315
313
|
let sentCreds = false;
|
|
@@ -105,22 +105,24 @@ module.exports = function(RED) {
|
|
|
105
105
|
if (node.isServer) {
|
|
106
106
|
node._clients[id] = socket;
|
|
107
107
|
node.emit('opened',{count:Object.keys(node._clients).length,id:id});
|
|
108
|
-
} else {
|
|
109
|
-
if (node.heartbeat) {
|
|
110
|
-
node.heartbeatInterval = setInterval(function() {
|
|
111
|
-
if (socket.nrPendingHeartbeat) {
|
|
112
|
-
// No pong received
|
|
113
|
-
socket.terminate();
|
|
114
|
-
socket.nrErrorHandler(new Error("timeout"));
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
socket.nrPendingHeartbeat = true;
|
|
118
|
-
socket.ping();
|
|
119
|
-
},node.heartbeat);
|
|
120
|
-
}
|
|
121
108
|
}
|
|
122
109
|
socket.on('open',function() {
|
|
123
110
|
if (!node.isServer) {
|
|
111
|
+
if (node.heartbeat) {
|
|
112
|
+
clearInterval(node.heartbeatInterval);
|
|
113
|
+
node.heartbeatInterval = setInterval(function() {
|
|
114
|
+
if (socket.nrPendingHeartbeat) {
|
|
115
|
+
// No pong received
|
|
116
|
+
socket.terminate();
|
|
117
|
+
socket.nrErrorHandler(new Error("timeout"));
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
socket.nrPendingHeartbeat = true;
|
|
121
|
+
try {
|
|
122
|
+
socket.ping();
|
|
123
|
+
} catch(err) {}
|
|
124
|
+
},node.heartbeat);
|
|
125
|
+
}
|
|
124
126
|
node.emit('opened',{count:'',id:id});
|
|
125
127
|
}
|
|
126
128
|
});
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "62ea32aa.d73aac",
|
|
4
|
+
"type": "comment",
|
|
5
|
+
"z": "6312c0588348b2d4",
|
|
6
|
+
"name": "Example: Link Call Node",
|
|
7
|
+
"info": "Link call node can call link in node then get result from link out node.",
|
|
8
|
+
"x": 230,
|
|
9
|
+
"y": 180,
|
|
10
|
+
"wires": []
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "c588bc36.87fec",
|
|
14
|
+
"type": "comment",
|
|
15
|
+
"z": "6312c0588348b2d4",
|
|
16
|
+
"name": "↓ call link in node",
|
|
17
|
+
"info": "",
|
|
18
|
+
"x": 440,
|
|
19
|
+
"y": 220,
|
|
20
|
+
"wires": []
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "cd31efb4d2c6967e",
|
|
24
|
+
"type": "link call",
|
|
25
|
+
"z": "6312c0588348b2d4",
|
|
26
|
+
"name": "",
|
|
27
|
+
"links": [
|
|
28
|
+
"dbc46892c8d14c37"
|
|
29
|
+
],
|
|
30
|
+
"timeout": "30",
|
|
31
|
+
"x": 420,
|
|
32
|
+
"y": 260,
|
|
33
|
+
"wires": [
|
|
34
|
+
[
|
|
35
|
+
"c3db64d1d2260340"
|
|
36
|
+
]
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "dbc46892c8d14c37",
|
|
41
|
+
"type": "link in",
|
|
42
|
+
"z": "6312c0588348b2d4",
|
|
43
|
+
"name": "",
|
|
44
|
+
"links": [],
|
|
45
|
+
"x": 315,
|
|
46
|
+
"y": 340,
|
|
47
|
+
"wires": [
|
|
48
|
+
[
|
|
49
|
+
"e10575d73f2e5352"
|
|
50
|
+
]
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "6b61792143b3b0a3",
|
|
55
|
+
"type": "inject",
|
|
56
|
+
"z": "6312c0588348b2d4",
|
|
57
|
+
"name": "",
|
|
58
|
+
"props": [
|
|
59
|
+
{
|
|
60
|
+
"p": "payload"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"p": "topic",
|
|
64
|
+
"vt": "str"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"repeat": "",
|
|
68
|
+
"crontab": "",
|
|
69
|
+
"once": false,
|
|
70
|
+
"onceDelay": 0.1,
|
|
71
|
+
"topic": "",
|
|
72
|
+
"payload": "",
|
|
73
|
+
"payloadType": "date",
|
|
74
|
+
"x": 240,
|
|
75
|
+
"y": 260,
|
|
76
|
+
"wires": [
|
|
77
|
+
[
|
|
78
|
+
"cd31efb4d2c6967e"
|
|
79
|
+
]
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "e10575d73f2e5352",
|
|
84
|
+
"type": "change",
|
|
85
|
+
"z": "6312c0588348b2d4",
|
|
86
|
+
"name": "",
|
|
87
|
+
"rules": [
|
|
88
|
+
{
|
|
89
|
+
"t": "set",
|
|
90
|
+
"p": "payload",
|
|
91
|
+
"pt": "msg",
|
|
92
|
+
"to": "Hello, World!",
|
|
93
|
+
"tot": "str"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"action": "",
|
|
97
|
+
"property": "",
|
|
98
|
+
"from": "",
|
|
99
|
+
"to": "",
|
|
100
|
+
"reg": false,
|
|
101
|
+
"x": 450,
|
|
102
|
+
"y": 340,
|
|
103
|
+
"wires": [
|
|
104
|
+
[
|
|
105
|
+
"cf8438e7137bc0f0"
|
|
106
|
+
]
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "cf8438e7137bc0f0",
|
|
111
|
+
"type": "link out",
|
|
112
|
+
"z": "6312c0588348b2d4",
|
|
113
|
+
"name": "",
|
|
114
|
+
"mode": "return",
|
|
115
|
+
"links": [],
|
|
116
|
+
"x": 595,
|
|
117
|
+
"y": 340,
|
|
118
|
+
"wires": []
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"id": "c3db64d1d2260340",
|
|
122
|
+
"type": "debug",
|
|
123
|
+
"z": "6312c0588348b2d4",
|
|
124
|
+
"name": "",
|
|
125
|
+
"active": true,
|
|
126
|
+
"tosidebar": true,
|
|
127
|
+
"console": false,
|
|
128
|
+
"tostatus": false,
|
|
129
|
+
"complete": "false",
|
|
130
|
+
"statusVal": "",
|
|
131
|
+
"statusType": "auto",
|
|
132
|
+
"x": 600,
|
|
133
|
+
"y": 260,
|
|
134
|
+
"wires": []
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"id": "6d077dfa0987febb",
|
|
138
|
+
"type": "comment",
|
|
139
|
+
"z": "6312c0588348b2d4",
|
|
140
|
+
"name": "↑called from link call node",
|
|
141
|
+
"info": "",
|
|
142
|
+
"x": 410,
|
|
143
|
+
"y": 380,
|
|
144
|
+
"wires": []
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "53b9a0adfd8c4217",
|
|
148
|
+
"type": "comment",
|
|
149
|
+
"z": "6312c0588348b2d4",
|
|
150
|
+
"name": "↑return to link call node",
|
|
151
|
+
"info": "",
|
|
152
|
+
"x": 680,
|
|
153
|
+
"y": 380,
|
|
154
|
+
"wires": []
|
|
155
|
+
}
|
|
156
|
+
]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
{
|
|
3
3
|
"id": "84222b92.d65d18",
|
|
4
4
|
"type": "inject",
|
|
5
|
-
"z": "
|
|
5
|
+
"z": "6312c0588348b2d4",
|
|
6
6
|
"name": "",
|
|
7
7
|
"props": [
|
|
8
8
|
{
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"topic": "",
|
|
21
21
|
"payload": "Hello, World!",
|
|
22
22
|
"payloadType": "str",
|
|
23
|
-
"x":
|
|
24
|
-
"y":
|
|
23
|
+
"x": 190,
|
|
24
|
+
"y": 180,
|
|
25
25
|
"wires": [
|
|
26
26
|
[
|
|
27
27
|
"b4b9f603.739598"
|
|
@@ -31,25 +31,25 @@
|
|
|
31
31
|
{
|
|
32
32
|
"id": "7b014430.dfd94c",
|
|
33
33
|
"type": "comment",
|
|
34
|
-
"z": "
|
|
34
|
+
"z": "6312c0588348b2d4",
|
|
35
35
|
"name": "Write string to a file, then read from the file",
|
|
36
|
-
"info": "
|
|
37
|
-
"x":
|
|
38
|
-
"y":
|
|
36
|
+
"info": "Read file node can read string from a file.",
|
|
37
|
+
"x": 220,
|
|
38
|
+
"y": 100,
|
|
39
39
|
"wires": []
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"id": "b4b9f603.739598",
|
|
43
43
|
"type": "file",
|
|
44
|
-
"z": "
|
|
44
|
+
"z": "6312c0588348b2d4",
|
|
45
45
|
"name": "",
|
|
46
46
|
"filename": "/tmp/hello.txt",
|
|
47
47
|
"appendNewline": true,
|
|
48
48
|
"createDir": false,
|
|
49
49
|
"overwriteFile": "true",
|
|
50
50
|
"encoding": "none",
|
|
51
|
-
"x":
|
|
52
|
-
"y":
|
|
51
|
+
"x": 380,
|
|
52
|
+
"y": 180,
|
|
53
53
|
"wires": [
|
|
54
54
|
[
|
|
55
55
|
"6dc01cac.5c4bf4"
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
{
|
|
60
60
|
"id": "2587adb9.7e60f2",
|
|
61
61
|
"type": "debug",
|
|
62
|
-
"z": "
|
|
62
|
+
"z": "6312c0588348b2d4",
|
|
63
63
|
"name": "",
|
|
64
64
|
"active": true,
|
|
65
65
|
"tosidebar": true,
|
|
@@ -68,22 +68,22 @@
|
|
|
68
68
|
"complete": "false",
|
|
69
69
|
"statusVal": "",
|
|
70
70
|
"statusType": "auto",
|
|
71
|
-
"x":
|
|
72
|
-
"y":
|
|
71
|
+
"x": 770,
|
|
72
|
+
"y": 180,
|
|
73
73
|
"wires": []
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
"id": "6dc01cac.5c4bf4",
|
|
77
77
|
"type": "file in",
|
|
78
|
-
"z": "
|
|
78
|
+
"z": "6312c0588348b2d4",
|
|
79
79
|
"name": "",
|
|
80
80
|
"filename": "/tmp/hello.txt",
|
|
81
81
|
"format": "utf8",
|
|
82
82
|
"chunk": false,
|
|
83
83
|
"sendError": false,
|
|
84
84
|
"encoding": "none",
|
|
85
|
-
"x":
|
|
86
|
-
"y":
|
|
85
|
+
"x": 580,
|
|
86
|
+
"y": 180,
|
|
87
87
|
"wires": [
|
|
88
88
|
[
|
|
89
89
|
"2587adb9.7e60f2"
|
|
@@ -93,21 +93,21 @@
|
|
|
93
93
|
{
|
|
94
94
|
"id": "f4b4309a.3b78a",
|
|
95
95
|
"type": "comment",
|
|
96
|
-
"z": "
|
|
96
|
+
"z": "6312c0588348b2d4",
|
|
97
97
|
"name": "↑read result from file",
|
|
98
98
|
"info": "",
|
|
99
|
-
"x":
|
|
100
|
-
"y":
|
|
99
|
+
"x": 590,
|
|
100
|
+
"y": 220,
|
|
101
101
|
"wires": []
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
104
|
"id": "672d3693.3cabd8",
|
|
105
105
|
"type": "comment",
|
|
106
|
-
"z": "
|
|
106
|
+
"z": "6312c0588348b2d4",
|
|
107
107
|
"name": "↓write to /tmp/hello.txt",
|
|
108
108
|
"info": "",
|
|
109
|
-
"x":
|
|
110
|
-
"y":
|
|
109
|
+
"x": 400,
|
|
110
|
+
"y": 140,
|
|
111
111
|
"wires": []
|
|
112
112
|
}
|
|
113
113
|
]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
{
|
|
3
3
|
"id": "8997398f.c5d628",
|
|
4
4
|
"type": "inject",
|
|
5
|
-
"z": "
|
|
5
|
+
"z": "6312c0588348b2d4",
|
|
6
6
|
"name": "",
|
|
7
7
|
"props": [
|
|
8
8
|
{
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"topic": "",
|
|
21
21
|
"payload": "😀",
|
|
22
22
|
"payloadType": "str",
|
|
23
|
-
"x":
|
|
24
|
-
"y":
|
|
23
|
+
"x": 170,
|
|
24
|
+
"y": 260,
|
|
25
25
|
"wires": [
|
|
26
26
|
[
|
|
27
27
|
"56e32d23.050f44"
|
|
@@ -31,25 +31,25 @@
|
|
|
31
31
|
{
|
|
32
32
|
"id": "4e598e65.1799d",
|
|
33
33
|
"type": "comment",
|
|
34
|
-
"z": "
|
|
34
|
+
"z": "6312c0588348b2d4",
|
|
35
35
|
"name": "Read data in specified encoding",
|
|
36
|
-
"info": "
|
|
37
|
-
"x":
|
|
38
|
-
"y":
|
|
36
|
+
"info": "Read file node can specify encoding of data read from a file.",
|
|
37
|
+
"x": 190,
|
|
38
|
+
"y": 180,
|
|
39
39
|
"wires": []
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"id": "56e32d23.050f44",
|
|
43
43
|
"type": "file",
|
|
44
|
-
"z": "
|
|
44
|
+
"z": "6312c0588348b2d4",
|
|
45
45
|
"name": "",
|
|
46
46
|
"filename": "/tmp/hello.txt",
|
|
47
47
|
"appendNewline": true,
|
|
48
48
|
"createDir": false,
|
|
49
49
|
"overwriteFile": "true",
|
|
50
50
|
"encoding": "none",
|
|
51
|
-
"x":
|
|
52
|
-
"y":
|
|
51
|
+
"x": 340,
|
|
52
|
+
"y": 260,
|
|
53
53
|
"wires": [
|
|
54
54
|
[
|
|
55
55
|
"38fa0579.f2cd8a"
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
{
|
|
60
60
|
"id": "d28c8994.99c0a8",
|
|
61
61
|
"type": "debug",
|
|
62
|
-
"z": "
|
|
62
|
+
"z": "6312c0588348b2d4",
|
|
63
63
|
"name": "",
|
|
64
64
|
"active": true,
|
|
65
65
|
"tosidebar": true,
|
|
@@ -68,22 +68,23 @@
|
|
|
68
68
|
"complete": "false",
|
|
69
69
|
"statusVal": "",
|
|
70
70
|
"statusType": "auto",
|
|
71
|
-
"x":
|
|
72
|
-
"y":
|
|
71
|
+
"x": 730,
|
|
72
|
+
"y": 260,
|
|
73
73
|
"wires": []
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
"id": "38fa0579.f2cd8a",
|
|
77
77
|
"type": "file in",
|
|
78
|
-
"z": "
|
|
78
|
+
"z": "6312c0588348b2d4",
|
|
79
79
|
"name": "",
|
|
80
80
|
"filename": "/tmp/hello.txt",
|
|
81
81
|
"format": "utf8",
|
|
82
82
|
"chunk": false,
|
|
83
83
|
"sendError": false,
|
|
84
84
|
"encoding": "base64",
|
|
85
|
-
"
|
|
86
|
-
"
|
|
85
|
+
"allProps": false,
|
|
86
|
+
"x": 540,
|
|
87
|
+
"y": 260,
|
|
87
88
|
"wires": [
|
|
88
89
|
[
|
|
89
90
|
"d28c8994.99c0a8"
|
|
@@ -93,21 +94,21 @@
|
|
|
93
94
|
{
|
|
94
95
|
"id": "fa22ca20.ae4528",
|
|
95
96
|
"type": "comment",
|
|
96
|
-
"z": "
|
|
97
|
+
"z": "6312c0588348b2d4",
|
|
97
98
|
"name": "↑read data from file as base64 string",
|
|
98
99
|
"info": "",
|
|
99
|
-
"x":
|
|
100
|
-
"y":
|
|
100
|
+
"x": 600,
|
|
101
|
+
"y": 300,
|
|
101
102
|
"wires": []
|
|
102
103
|
},
|
|
103
104
|
{
|
|
104
105
|
"id": "148e25ad.98891a",
|
|
105
106
|
"type": "comment",
|
|
106
|
-
"z": "
|
|
107
|
+
"z": "6312c0588348b2d4",
|
|
107
108
|
"name": "↓write to /tmp/hello.txt",
|
|
108
109
|
"info": "",
|
|
109
|
-
"x":
|
|
110
|
-
"y":
|
|
110
|
+
"x": 360,
|
|
111
|
+
"y": 220,
|
|
111
112
|
"wires": []
|
|
112
113
|
}
|
|
113
114
|
]
|