Template:Networking rutos manual data to server: Difference between revisions
Appearance
Kristijonasb (talk | contribs) No edit summary |
No edit summary |
||
| (67 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
<!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}, {{{wifi}}}--> | <!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}, {{{wifi}}}--> | ||
{{Template: | {{Template: Networking_device_manual_fw_disclosure | ||
| fw_version ={{Template: | | series = {{{series}}} | ||
| name = {{{name}}} | |||
| fw_version ={{Template: Networking_device_manual_latest_fw | |||
| series = {{{series}}} | | series = {{{series}}} | ||
| name = {{{name}}} | | name = {{{name}}} | ||
}} | }} | ||
}} | }} | ||
{{#ifeq: {{{series}}} | RUT9 |<br><i><b>Note</b>: <b>[[{{{name}}} Modbus (legacy WebUI)#Modbus_Data_to_Server|click here]]</b> for the old style WebUI (FW version {{Template: | {{#ifeq: {{{series}}} | RUT9 |<br><i><b>Note</b>: <b>[[{{{name}}} Modbus (legacy WebUI)#Modbus_Data_to_Server|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT9XX}} and earlier) user manual page.</i>|}} | ||
{{#ifeq: {{{series}}} | RUT2 |<br><i><b>Note</b>: <b>[[{{{name}}} Modbus (legacy WebUI)#Modbus_Data_to_Server|click here]]</b> for the old style WebUI (FW version {{Template: | {{#ifeq: {{{series}}} | RUT2 |<br><i><b>Note</b>: <b>[[{{{name}}} Modbus (legacy WebUI)#Modbus_Data_to_Server|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT2XX}} and earlier) user manual page.</i>|}} | ||
__TOC__ | __TOC__ | ||
==Summary== | ==Summary== | ||
The <b>Data to Server</b> feature provides you with the possibility to set up data senders that collect data from various sources and periodically send it to remote servers. | The <b>Data to Server</b> feature provides you with the possibility to set up data senders that collect data from various sources and periodically send it to remote servers. | ||
{{#switch: {{{series}}} | {{#switch: {{{series}}} | RUTX | RUTM | RUTC | TCR1 | TRB1 | TRB2 | TRB2M | TRB5 | RUT2M | RUT2 | RUT30X | RUT36X | RUT9 | RUT9M | RUT14X | TAP100 | TAP200 = | #default = | ||
| RUTX | <u><b>Note:</b> On {{{name}}}, Data to Server is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.</u>}} | ||
| RUTM | |||
| TRB1 | |||
| TRB2 | |||
| RUT9|RUT9M = | |||
| #default = | |||
<u><b> | |||
Note:</b> On {{{name}}}, Data to Server is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page. | |||
</u> | |||
}} | |||
==Data Senders== | ==Data Senders== | ||
A <b>Data Sender</b> is an instance that gathers and periodically sends collected data to a specified server. The Data Senders list is empty by default so, in order to begin configuration you must add a new | A <b>Data Sender</b> is an instance that gathers and periodically sends collected data to a specified server. The Data Senders list is empty by default so, in order to begin configuration you must add a new collection first. To add a new collection, click the 'Add' button. | ||
[[File: | [[File:Networking_rutos_manual_data_to_server_data_senders_add_button_v4.png|border|class=tlt-border]] | ||
After this you should be redirected to the newly added data | After this you should be redirected to the newly added data configuration page. | ||
=== | ===Data configuration=== | ||
---- | ---- | ||
Refer to the table below for descriptions on data | Refer to the table below for descriptions on data configuration fields. | ||
<b>Note</b>: these tables have coloring schemes to indicate which fields can be seen with different configuration. | <b>Note</b>: these tables have coloring schemes to indicate which fields can be seen with different configuration. | ||
[[File: | [[File:Networking rutos manual data to server data configuration_v1.png|border|class=tlt-border]] | ||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
| Line 53: | Line 40: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>Name</td> | ||
<td> | <td>string; default: <b>input1</b></td> | ||
<td> | <td>Name of data input.</td> | ||
</tr> | |||
<tr> | |||
<td>Type</td> | |||
<td><span>Base {{!}} {{#ifeq:{{{bluetooth}}}|1|<span style="color:green">Bluetooth</span> {{!}}|}} {{#ifeq:{{{mobile}}}|1| GSM {{!}}|}} {{#ifeq:{{{impulse_counter}}}|1|<span style="color:coral">Impulse counter</span> {{!}}|}} <span style="color:olive">Lua script</span> {{!}} {{#ifeq:{{{m-bus}}}|1|<span style="color:midnightblue ">M-Bus</span>{{!}}|}} {{#ifeq:{{{mobile_usage}}}|1|<span style="color:blue">Mobile usage</span>{{!}}|}} {{#ifeq:{{{MNF}}}|1| MNF info {{!}}|}} {{#ifeq:{{{Modbus}}}|1|<span style="color:red">Modbus</span><span class="asterisk">*</span> {{!}} <span style="color:grey">Modbus Alarms</span> {{!}}|}} {{#ifeq:{{{wifi}}}|1|<span style="color:purple">Wifi scanner</span><span class="asterisk">*</span> {{!}}|}} {{#ifeq:{{{DNP3}}}|1|<span style="color:brown">DNP3</span><span class="asterisk">*</span> {{!}}|}} {{#ifeq:{{{MQTT}}}|1|<span style="color:orange">MQTT</span> {{!}}|}} {{#ifeq:{{{OPC}}}|1|<span style="color:lightblue">OPC UA</span><span class="asterisk">*</span> {{!}}|}} {{#ifeq:{{{gps}}}|1|<span style="color:Black">GPS</span> {{!}}|}} {{#ifeq:{{{DLMS}}}|1|<span style="color:hotpink">DLMS</span><span class="asterisk">*</span>|}} {{#ifeq:{{{io}}}|1|{{!}} <span style="color:slateblue">Input/Output</span>|}}; default: <b>Base</b></span></td> | |||
<td>Data input type.</td> | |||
</tr> | |||
<tr> | |||
<td>Format type</td> | |||
<td>Json {{!}} <span style="color:limegreen">Custom</span> {{!}} <span style="color:cadetblue">Lua script</span> (Some data input types may not work correctly with the provided Lua format example script. Review and adapt the script as needed to ensure compatibility.); default: <b>Json</b></td> | |||
<td>Arranges the format of the sent JSON segment.</td> | |||
</tr> | |||
<tr> | |||
<td>Values</td> | |||
<td>list; default: <b>All values included</b></td> | |||
<td>Select values based on the data input type. If no values are selected, all values will be included.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:limegreen">Format string</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td>Specifies custom format string.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:limegreen">Empty value</span></td> | |||
<td>string; default: <b>N/A</b></td> | |||
<td>A string which will be placed if any value cannot be received.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:limegreen">Delimeter</span></td> | ||
<td> | <td>string (Maximum length of value is 1 bytes); default: <b>N/A</b></td> | ||
<td>Specifies delimiters for multiple data segments.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:cadetblue">Lua format example script</span></td> | |||
<td>-(interactive button)</td> | |||
<td>Download the Lua script.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:cadetblue">Lua format script</span></td> | ||
<td> | <td>-(interactive button)</td> | ||
<td> | <td>Upload the Lua script.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Segment count</td> | <td>Segment count</td> | ||
<td>integer [1.. | <td>integer [1..64]; default: <b>1</b></td> | ||
<td>Max segment count in one JSON string sent to server.</td> | <td>Max segment count in one JSON string sent to server.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Send as object</td> | <td>Send as object</td> | ||
<td>off | <td>off {{!}} on; default: <b>off</b></td> | ||
<td>When turned on, sends JSON segment as object and not as an array element.</td> | <td>When turned on, sends JSON segment as object and not as an array element. | ||
<ul> | |||
<li><b>Object syntax</b> --> {input1:{}...}</li> | |||
<li><b>JSON Array of Objects syntax</b> --> {input1:<b>[</b>{},{}...<b>]</b>}</li> | |||
</ul> | |||
</td> | |||
</tr> | |||
{{#ifeq:{{{Modbus}}}|1| | |||
<tr> | |||
<td><span style="color:grey">Data filtering</span></td> | |||
<td>All {{!}} <span style="color:grey">Server ID</span> {{!}} <span style="color:grey">Alarm ID</span> {{!}} <span style="color:grey">Register number</span>; default: <b>All</b></td> | |||
<td>If Data type: <span style="color:grey">Modbus alarms data</span>. Choose which data this sender will send to server.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:red">Data filtering </span></td> | ||
<td> | <td>All {{!}} <span style="color:red">Server IP address</span> {{!}} <span style="color:red">Server ID</span> {{!}} <span style="color:red">Request name</span> ; default: <b>All</b></td> | ||
<td> | <td>If Data type: <span style="color:red">Modbus data</span>. Choose which data this sender will send to server. <b>Note:</b> 20 filtering entries with Modbus data are allowed.</td> | ||
</tr>|}} | |||
{{#ifeq:{{{m-bus}}}|1| | |||
<tr> | |||
<td><span style="color:midnightblue">Data filtering</span></td> | |||
<td>All {{!}} Name; default: <b>All</b></td> | |||
<td>If Data type: <span style="color:midnightblue">M-Bus</span>. Choose which data this sender will send to server.</td> | |||
</tr> | </tr> | ||
|}} | |||
<tr> | <tr> | ||
<td> | <td><span style="color:olive">Lua data example script</span></td> | ||
<td> | <td>-(interactive button)</td> | ||
<td> | <td>Download Lua data example script.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:olive">Lua script</span></td> | ||
<td> | <td>-(interactive button)</td> | ||
<td>If Data | <td>Upload Lua data script.</td> | ||
</tr> | |||
{{#ifeq:{{{io}}}|1| | |||
<tr> | |||
<td><span style="color:slateblue">I/O pin</span></td> | |||
<td>PIN list; default: <b>depends on the device</b></td> | |||
<td>I/O pin name.</td> | |||
</tr>|}} | |||
{{#ifeq:{{{impulse_counter}}}|1| | |||
<tr> | |||
<td><span style="color:coral">Data filtering</span></td> | |||
<td>All {{!}} Pin Name; default: <b>All</b></td> | |||
<td>If Data type: <span style="color:coral">Impulse counter</span>. Choose which data this sender will send to server.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:coral">Data filtering: Impulse counter pin</span></td> | ||
<td> | <td>list; default: <b>none</b></td> | ||
<td> | <td>Filter data by defined impulse counter pin.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:coral">Data filtering: Invert filter</span></td> | ||
<td> | <td>off {{!}} on; default: <b>off</b></td> | ||
<td> | <td>Inverts filter condition.</td> | ||
</tr>{{#ifeq:{{{bluetooth}}}|1| | </tr>|}} | ||
{{#ifeq:{{{bluetooth}}}|1| | |||
<tr> | <tr> | ||
<td><span style="color:green">Data filtering</span></td> | <td><span style="color:green">Data filtering</span></td> | ||
<td>All data < | <td>All {{!}} <span style="color:green">Device MAC address</span> {{!}} <span style="color:green">Device name</span>; default: <b>All</b></td> | ||
<td>If Data | <td>If Data type: <span style="color:green">Bluetooth</span>. Choose which data this sender will send to server.</td> | ||
</tr>|}} | |||
{{#ifeq:{{{wifi}}}|1| | |||
<tr> | |||
<td><span style="color:purple">Data filtering</span></td> | |||
<td>All {{!}} <span style="color:purple">Name</span> {{!}} <span style="color:purple">MAC address</span> {{!}} <span style="color:purple">Signal strength</span>; default: <b>All</b></td> | |||
<td>If Data type: <span style="color:purple">Wifi scanner</span>. Choose which data this sender will send to server.</td> | |||
</tr>|}} | |||
{{#ifeq:{{{mobile}}}|1| | |||
<tr> | |||
<td><span style="color:blue">Data period</span></td> | |||
<td>Day {{!}} Week {{!}} Month; default: <b>Day</b></td> | |||
<td>Choose for which time period to send info from.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:blue">Current</span></td> | |||
<td>off {{!}} on; default: <b>off</b></td> | |||
<td>Current data.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:blue">SIM card</span></td> | |||
<td>Select SIM card if device supports multiple SIM cards; default: <b>none</b></td> | |||
<td></td> | |||
</tr>|}} | |||
{{#ifeq: {{{DLMS}}}|1| | |||
<tr> | |||
<td><span style="color:hotpink">Data filtering</span></td> | |||
<td>All {{!}} <span style="color:hotpink">Name</span>; default: <b>All</b></td> | |||
<td>If Data type: <span style="color:hotpink">DLMS</span>. Choose which data this sender will send to server.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:hotpink">Invert filter</span></td> | ||
<td> | <td><span style="color:hotpink">off</span> {{!}} <span style="color:hotpink">on</span>; default: <b>off</b></td> | ||
<td>If Data type: <span style="color:hotpink">DLMS</span>. Inverts filter condition.</td> | |||
</tr>|}} | |||
{{#ifeq: {{{DNP3}}}|1| | |||
<tr> | |||
<td><span style="color:brown">Data filtering</span></td> | |||
<td>All {{!}} <span style="color:brown"> Address </span> {{!}} <span style="color:brown">IP</span>; default: <b>All</b></td> | |||
<td>If Data type: <span style="color:brown">DNP3</span>. Choose which data this sender will send to server.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:brown">Database</span></td> | ||
<td> | <td>RAM {{!}} Flash; default: <b>RAM</b></td> | ||
<td>Database location</td> | |||
</tr>|}} | |||
{{#ifeq:{{{OPC}}}|1| | |||
<tr> | |||
<td><span style="color:lightblue">Data filtering</span></td> | |||
<td>All {{!}} <span style="color:lightblue"> Name </span>; default: <b>All</b></td> | |||
<td>If Data type: <span style="color:lightblue">OPC UA</span>. Choose which data this sender will send to server.</td> | |||
</tr>|}} | </tr>|}} | ||
{{#ifeq:{{{MQTT}}}|1|<tr> | |||
<td><span style="color:orange">Server address</span></td> | |||
<td>Default: <b>empty</b></td> | |||
<td>Hostname or ip address of the broker to connect to.</td> | |||
</tr> | |||
<tr> | <tr> | ||
<td><span style="color:orange">Port</span></td> | |||
<td>integer [0..65535]; default: <b>1883</b></td> | |||
<td>Port number for connecting to MQTT.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:orange">Keepalive</span></td> | |||
<td>integer [1..640]; default: <b>60</b></td> | |||
<td>MQTT Keepalive period in seconds.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:orange">Topic</span></td> | |||
<td>string; default: <b>none</b></td> | |||
<td>MQTT topic to be used for publishing the data.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:orange">Client ID</span></td> | |||
<td>string; default: <b>none</b></td> | |||
<td>Client ID to send with the data. If empty, a random client ID will be generated</td> | |||
</tr> | </tr> | ||
<tr> | |||
<td><span style="color:orange">QoS</span></td> | |||
<td>integer [0..2]; default: <b>0</b></td> | |||
<td>MQTT Quality of Service. Allowed values: | |||
* 0 - when we prefer that the message will not arrive at all rather than arrive twice, | |||
* 1 - when we want the message to arrive at least once but don't care if it arrives twice (or more), | |||
* 2 - when we want the message to arrive exactly once. A higher QoS value means a slower transfer.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Enable secure connection</span></td> | |||
<td>off {{!}} <span style="color:blue">on</span>; default: '''off'''</td> | |||
<td>Enables the use of TLS certificates.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:blue">On:</span> <span style="color:orange">TLS type</span></td> | |||
<td>Certificate based {{!}} Pre-shared key based; default: '''Certificate based'''</td> | |||
<td>Select type of TLS.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Certificate based: Allow insecure connection</span></td> | |||
<td>off {{!}} on; default: '''off'''</td> | |||
<td>Allow not verifying server authentication.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Certificate based: Certificate files from device</span></td> | |||
<td>off {{!}} on; default: '''off'''</td> | |||
<td>Specify where the certificates will be used from.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Certificate based: Certificate authority file</span></td> | |||
<td>.ca file; default: <b>none</b></td> | |||
<td>'''Certificate authority''' is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Certificate based: Client certificate</span></td> | |||
<td>.crt file; default: <b>none</b></td> | |||
<td>Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Certificate based: Client private keyfile</span></td> | |||
<td>.key file; default: <b>none</b></td> | |||
<td>File containing private key for this client. This file needs to be not encrypted.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Pre-shared key based: Pre-Shared-Key</span></td> | |||
<td>string; default: <b>none</b></td> | |||
<td>The pre-shared-key in hex format with no leading "0x".</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Pre-shared key based: Identity</span></td> | |||
<td>string; default: <b>none</b></td> | |||
<td>The identity of this client. May be used as the username depending on the server settings.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Username</span></td> | |||
<td>string; default: <b>none</b></td> | |||
<td>Username used in authentication.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Require password</span></td> | |||
<td>on {{!}} off; default: <b>off</b></td> | |||
<td>Enables password for authentication.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Password</span></td> | |||
<td>string; default: <b>none</b></td> | |||
<td>Password used in authentication.</td> | |||
</tr>}} | |||
</table> | </table> | ||
<br> | <br> | ||
<span class="asterisk">*</span> This is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page. | |||
===Collection configuration=== | |||
== | ---- | ||
[[File:Networking rutos manual data to server collection configuration_v2.png|border|class=tlt-border]] | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
| Line 160: | Line 314: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>Enabled</td> | ||
<td>off {{!}} on; default: <b>on</b></td> | |||
<td>Enables data to server collection instance.</td> | |||
</tr> | |||
<tr> | |||
<td>Timer</td> | |||
<td><span style="color:blue">Period</span> {{!}} <span style="color:orange">Scheduler</span> {{!}} None; default: <b>Period</b></td> | |||
<td>Strategy for collecting/sending data to destination.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:blue">Period</span></td> | |||
<td>integer; default: <b>60</b></td> | |||
<td>Interval in seconds for collecting/sending data to destination.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Day time</span></td> | |||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td>Allows to | <td>Day time when action should be executed. Use '*' to indicate every hour or minute, (e.g., 12:15, *:15, 12:*, or *:*).</td> | ||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Interval type</span></td> | |||
<td>Weekdays {{!}} Month days; default: <b>Weekdays</b></td> | |||
<td>Allows selecting between week and month days for instance intervals.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Weekdays</span></td> | |||
<td>list; default: <b>Every day is selected</b></td> | |||
<td>Weekdays, when data should be sent/collected. If nothing is selected, every day of the week will be included.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Month day</span></td> | |||
<td>list; default: <b>Every day is selected</b></td> | |||
<td>Month days, when data should be sent/collected. If nothing is selected, every day of the month will be included.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:orange">Month day: Force last day</span></td> | |||
<td>off {{!}} on; default: <b>off</b></td> | |||
<td>Forces intervals to accept last day of month as valid option if selected day doesn't exist in ongoing month.</td> | |||
</tr> | |||
<tr> | |||
<td>Retry</td> | |||
<td>off {{!}} <span style="color:olive">on</span>; default: <b>off</b></td> | |||
<td>In case of a failed attempt, retry to send the same data to destination later.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Retry count</span></td> | |||
<td>Default: <b>10</b></td> | |||
<td>Retry to send the same data N times </td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Timeout</span></td> | |||
<td>Default: <b>1</b></td> | |||
<td>Timeout in second between retry attempts</td> | |||
</tr> | |||
<tr> | |||
<td>Format type</td> | |||
<td>JSON {{!}} <span style="color:red">custom</span> {{!}} <span style="color:lightgreen">Lua script</span>; default: <b>JSON</b></td> | |||
<td>Data collection objects formatting.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:red">Format string</span></td> | ||
<td>Default: <b>Instance name</b></td> | |||
<td> | <td>Specifies custom format string</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:red"> | <td><span style="color:red">Empty value </span></td> | ||
<td> | <td>Default: <b>N/A</b></td> | ||
<td> | <td>A string which will be placed if any value cannot be received</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:lightgreen">Lua format example script</span></td> | ||
<td> | <td>-(interactive button)</td> | ||
<td>Download the Lua script.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:lightgreen">Lua format script</span></td> | |||
<td>-(interactive button)</td> | |||
<td> | <td>Upload the Lua script.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Encoder</td> | |||
<td>None {{!}} Base64; default: <b>None</b></td> | |||
<td> | <td>Encoder used for all sent data.</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
=== | ===Server configuration=== | ||
---- | |||
[[File:Networking rutos manual data to server server configuration.png|border|class=tlt-border]] | |||
<b>Note:</b> on some devices it is necessary to install an additional package to see additional server types [[{{{name}}}_Package_Downloads|Advanced data to server modules]]. | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
| Line 198: | Line 412: | ||
<th>Value</th> | <th>Value</th> | ||
<th>Description</th> | <th>Description</th> | ||
</tr> | |||
<tr> | |||
<td>Type</td> | |||
<td>HTTP {{#ifeq:{{{MQTT}}}|1|{{!}} <span style="color:red">MQTT</span>|}} {{!}} <span style="color:olive">Azure IoT Hub</span> (requires to install package from [[{{{name}}} Package Manager|Package Manager]]) {{!}} <span style="color:brown">Lua</span> {{!}} <span style="color:coral">SMTP</span> {{!}} <span style="color:DarkMagenta">Socket</span> {{!}} <span style="color:DarkSeaGreen">FTP</span> {{#ifeq:{{{mobile}}}|1|{{!}} <span style="color:GoldenRod">SMS</span>|}}; default: <b>HTTP</b></td> | |||
<td>Interval in seconds for collecting/sending data to destination.</td> | |||
</tr> | </tr> | ||
<tr> | |||
<td>Server address</td> | |||
<td>Default: <b>empty</b></td> | |||
<td>Hostname or IP address of the broker to connect to.</td> | |||
</tr> | |||
<tr> | |||
<td>HTTP headers</td> | |||
<td>Default: <b>empty</b></td> | |||
<td>Allows to add custom headers to the HTTP requests.</td> | |||
</tr> | |||
<tr> | |||
<td>Enable secure connection</td> | |||
<td>off {{!}} <span style="color:blue">on</span>; default: <b>off</b></td> | |||
<td>Enables the use of TLS certificates.</td> | |||
</tr> | |||
{{#ifeq:{{{MQTT}}}|1| | |||
<tr> | <tr> | ||
<td>Port</td> | <td><span style="color:red">Port</span></td> | ||
<td>integer [0..65535]; default: <b>1883</b></td> | <td>integer [0..65535]; default: <b>1883</b></td> | ||
<td>Port number for connecting to MQTT.</td> | <td>Port number for connecting to MQTT.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Keepalive</td> | <td><span style="color:red">Keepalive</span></td> | ||
<td>integer [1..640]; default: <b>60</b></td> | <td>integer [1..640]; default: <b>60</b></td> | ||
<td>MQTT Keepalive period in seconds.</td> | <td>MQTT Keepalive period in seconds.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Topic</td> | <td><span style="color:red">Topic</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td>MQTT topic to be used for publishing the data.</td> | <td>MQTT topic to be used for publishing the data.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Client ID</td> | <td><span style="color:red">Client ID</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td>Client ID to send with the data. If empty, a random client ID will be generated</td> | <td>Client ID to send with the data. If empty, a random client ID will be generated</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>QoS</td> | <td><span style="color:red">QoS</span></td> | ||
<td>integer [0..2]; default: <b>0</b></td> | <td>integer [0..2]; default: <b>0</b></td> | ||
<td>MQTT Quality of Service. Allowed values: | <td>MQTT Quality of Service. Allowed values: | ||
| Line 226: | Line 461: | ||
* 1 - when we want the message to arrive at least once but don't care if it arrives twice (or more), | * 1 - when we want the message to arrive at least once but don't care if it arrives twice (or more), | ||
* 2 - when we want the message to arrive exactly once. A higher QoS value means a slower transfer.</td> | * 2 - when we want the message to arrive exactly once. A higher QoS value means a slower transfer.</td> | ||
</tr>|}}{{#ifeq:{{{MQTT}}}|1| | |||
<tr> | |||
<td><span style="color:red">TLS type</span></td> | |||
<td>Certificate based {{!}} <span style="color:teal">Pre-Shared-Key based</span>; default: '''Certificate based'''</td> | |||
<td>Choose TLS type.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:teal">Pre-Shared-Key</span></td> | ||
<td> | <td>hexadecimal string; default: '''none'''</td> | ||
<td> | <td>The pre-shared-key in hex format with no leading “0x”.</td> | ||
</tr> | |||
<tr> | |||
<td><span style="color:teal">Identity</span></td> | |||
<td>string; default: '''none'''</td> | |||
<td>The identity of this client.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:red"> | <td><span style="color:red">Allow insecure connection</span></td> | ||
<td>< | <td>off {{!}} on; default: '''off'''</td> | ||
<td> | <td>Allow not verifying server authentication.</td> | ||
</tr>|}} | |||
<tr> | |||
<td><span style="color:blue">Certificate files from device</span></td> | |||
<td>off {{!}} on; default: '''off'''</td> | |||
<td>Specify where the certificates will be used from.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:blue">Certificate authority file</span></td> | ||
<td>.ca file; default: <b>none</b></td> | <td>.ca file; default: <b>none</b></td> | ||
<td>'''Certificate authority''' is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.</td> | <td>'''Certificate authority''' is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:blue">Client certificate</span></td> | ||
<td>.crt file; default: <b>none</b></td> | <td>.crt file; default: <b>none</b></td> | ||
<td>Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.</td> | <td>Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:blue">Client private keyfile</span></td> | ||
<td>.key file; default: <b>none</b></td> | <td>.key file; default: <b>none</b></td> | ||
<td>File containing private key for this client. This file needs to be not encrypted.</td> | <td>File containing private key for this client. This file needs to be not encrypted.</td> | ||
</tr>{{#ifeq:{{{MQTT}}}|1| | |||
<tr> | |||
<td><span style="color:red">Use credentials</span></td> | |||
<td>off {{!}} <span style="color:darkgreen">on</span>; default: '''off'''</td> | |||
<td>Enables use of username and password for authentication.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:darkgreen">On:</span> Username</td> | |||
<td>string; default: <b>none</b></td> | |||
<td>Username used in authentication.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:darkgreen">On:</span> Password</td> | |||
<td>string; default: <b>none</b></td> | |||
<td>Password used in authentication.</td> | |||
</tr>|}} | |||
<tr> | |||
<td><span style="color:olive">Configuration type</span></td> | |||
<td>Unique Azure Iot Hub configuration {{!}} Existing Azure Iot Hub configuration; default: <b>Unique Azure Iot Hub configuration</b></td> | |||
<td></td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:olive">Configuration type</span></td> | ||
<td>Unique Azure Iot Hub configuration {{!}} Existing Azure Iot Hub configuration; default: <b>Unique Azure Iot Hub configuration</b></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Unique Azure Iot Hub configuration:</span> Connection type</td> | |||
<td><span style="color:blue">Shared Access Signature (SAS) key</span> {{!}} <span style="color:red">Device Provisioning Service (DPS)</span>; default: <b>Shared Access Signature (SAS) key</b></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:blue">Connection String</span></td> | |||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td> | <td>Connection string based on primary key used in API calls which allows device to communicate with IoT Hub.</td> | ||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:red">ID Scope</span></td> | |||
<td>string; default: <b>none</b></td> | |||
<td>Unique identifier that is assigned to an Azure IoT Hub during its creation and is used to uniquely identify the specific provisioning service the device will register through.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:red">Registration ID</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td>The | <td>The registration ID is used to uniquely identify a device registration with the Device Provisioning Service. Registration ID is the X.509 certificate common name (CN) field of the individual device's certificate.</td> | ||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:red">Global Device Endpoint</span></td> | |||
<td>string; default: <b>global.azure-devices-provisioning.net</b></td> | |||
<td>Destination for messages sent by IoT devices to the Azure IoT Hub (will default to global.azure-devices-provisioning.net if not set).</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:red">Attestation mechanism</span></td> | |||
<td>X.509 Certificates {{!}} Symmetric Key; default: <b>X.509 Certificates</b></td> | |||
<td>Method used to confirm a device's identity in Device Provisioning Service.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:red">X.509 Certificates: X.509 Certificate</span></td> | |||
<td>-(interactive) button; default: <b>none</b></td> | |||
<td>Upload the "leaf" certificate file.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:red">X.509 Certificates: X.509 Private Key</span></td> | ||
<td>-(interactive) button; default: <b>none</b></td> | |||
<td> | <td>Upload the "leaf" key file.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:olive">Unique Azure Iot Hub configuration:</span> <span style="color:red">Symmetric Key: Symmetric Key</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td> | <td>The the derived device key from the DPS Primary Key.</td> | ||
</tr> | |||
<tr> | |||
<td><span style="color:brown">Lua data example script</span></td> | |||
<td>-(interractive button)</td> | |||
<td>Downloads an example of script.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:brown">Lua script</span></td> | |||
<td>-(interractive button)</td> | |||
<td>Path to the lua script.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:coral">Subject</span></td> | |||
<td>string; default:<b>none</b></td> | |||
<td>Subject of an email.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:coral">Recipient's email address</span></td> | |||
<td>A valid email address is accepted; default: <b>none</b></td> | |||
<td>Subject of an email.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:coral">Email account</span></td> | |||
<td>list; default: <b>none</b></td> | |||
<td>Sender's email configuration. Configure email account [[{{{name}}}_Administration#Recipients | here]].</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:DarkMagenta">Server address</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td> | <td>Socket's server address.</td> | ||
</tr> | |||
<tr> | |||
<td><span style="color:DarkMagenta">Server port</span></td> | |||
<td>integer [1..65535]; default: <b>none</b></td> | |||
<td>Socket's server port.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:DarkMagenta">UDP</span></td> | |||
<td>off {{!}} on; default: <b>off</b></td> | |||
<td>Use UDP as the protocol.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:DarkMagenta">Timeout</span></td> | |||
<td>integer; default: <b>10</b></td> | |||
<td>Specifies the receiving or sending data timeout.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:DarkSeaGreen">The directory of the file</span></td> | |||
< | <td>path; default: <b>none</b></td> | ||
< | <td>Remote FTP directory to upload file to.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:DarkSeaGreen">Host</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td>The name of the | <td>The domain name or IP address of the server.</td> | ||
</tr> | |||
<tr> | |||
<td><span style="color:DarkSeaGreen">Port</span></td> | |||
<td>integer [1..65535]; default: <b>21</b></td> | |||
<td>The TCP/IP port of the server.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:DarkSeaGreen">Username</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td>The | <td>The username of the FTP server.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:DarkSeaGreen">Password</span></td> | ||
<td> | <td>string; default: <b>none</b></td> | ||
<td> | <td>The password of the FTP server.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:DarkSeaGreen">Extra prefix to file name</span></td> | ||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
<td> | <td>Extra information to be added to file name.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:DarkSeaGreen">Buffer size</span></td> | |||
<td>integer; default: <b>1024</b></td> | |||
<td>The size of the buffer to be used for uploading to FTP server.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:DarkSeaGreen">Overflow</span></td> | |||
<td>off {{!}} on; default: <b>on</b></td> | |||
<td>Upload file to FTP server if buffer overflowed.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:DarkSeaGreen">Mode</span></td> | |||
<td>Interval {{!}} Fixed; default: <b>Interval</b></td> | |||
<td>The schedule mode to be used for uploading to FTP server.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:DarkSeaGreen">Interval: Interval</span></td> | |||
<td>integer; default: <b>10</b></td> | |||
<td>Upload files to server every x seconds.</td> | |||
</tr> | |||
<tr> | |||
<td><span style="color:DarkSeaGreen">Fixed: Minute</span></td> | |||
<td>minutes; default: <b>every minute</b></td> | |||
<td>Uploading will be performed on this specific minute only.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:DarkSeaGreen">Fixed: Hour</span></td> | |||
<td>hours; default: <b>every minute</b></td> | |||
<td>Uploading will be performed on this specific hour only.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td><span style="color:DarkSeaGreen">Fixed: Day</span></td> | ||
<td>days; default: <b>every day</b></td> | |||
<td> | <td>Uploading will be performed on this day only.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:DarkSeaGreen">Directory traversing method</span></td> | ||
<td> | <td>Multi CWD {{!}} No CWD {{!}} Single CWD; default: <b>Multi CWD</b></td> | ||
<td> | <td>Directory traversing method for FTP (multicwd, nocwd, cwd).</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color: | <td><span style="color:GoldenRod">Recipients</span></td> | ||
<td> | <td>Single {{!}} Group; default: <b>Single</b></td> | ||
<td> | <td>You can choose to add a single number or use a phone group list.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:GoldenRod">Single: Recipient's phone number</span></td> | |||
<td>phone number; default: <b>none</b></td> | |||
<td>To whom the message will be sent. The number must be specified in full format, country code included. e.g., +37000000000.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><span style="color:GoldenRod">Group: Phone group</span></td> | |||
<td>list; default: <b>none</b></td> | |||
<td>Recipient's phone number users group. Configure it [[{{{name}}}_Administration#Recipients | here]].</td> | |||
</tr> | </tr> | ||
</table> | </table> | ||
[[Category:{{{name}}} Services section]] | [[Category:{{{name}}} Services section]] | ||