Jump to content

Template:Networking rutos manual data to server: Difference between revisions

From Teltonika Networks Wiki
No edit summary
No edit summary
(66 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}, {{{wifi}}}-->
<!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}, {{{wifi}}}-->
{{Template: Networking_rutos_manual_fw_disclosure
{{Template: Networking_device_manual_fw_disclosure
| fw_version ={{Template: Networking_rutos_manual_latest_fw
| 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: Networking_rutos_manual_latest_fw | series = RUT9XX}} and earlier) user manual page.</i>|}}
{{#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: Networking_rutos_manual_latest_fw | series = RUT2XX}} 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: 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>}}
{{Template:Networking_rutos_manual_basic_advanced_webui_disclaimer
| series = {{{series}}}
}}


==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 data sender first. To add a new data sender, click the 'Add' button.
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:Networking_rutos_manual_data_to_server_data_senders_add_button.png|border|class=tlt-border]]
[[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 sender's configuration page.
After this you should be redirected to the newly added data configuration page.


===Advanced Sender Settings===
===Data configuration===
----
----
Refer to the table below for descriptions on data sender configuration fields.
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:Networking_rutos_manual_data_to_server_advanced_sender_settings_v2.png|border|class=tlt-border]]
[[File:Networking rutos manual data to server data configuration_v1.png|border|class=tlt-border]]
 
====General====


<table class="nd-mantable">
<table class="nd-mantable">
Line 53: Line 40:
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Enabled</td>
       <td>Name</td>
       <td>off | on; default: <b>off</b></td>
       <td>string; default: <b>input1</b></td>
       <td>Turns the data sender on or off.</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>Name</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>Name of the data sender. Used for easier data senders management purposes only (optional).</td>
        <td>Specifies custom format string.</td>  
     </tr>  
     </tr>
     <tr>
     <tr>
       <td>Data source</td>
       <td><span style="color:limegreen">Empty value</span></td>
      <td><span style="color:red">Modbus data</span>{{#ifeq:{{{series}}}|RUT36X|<span class="asterisk">*</span>|}}{{#ifeq:{{{series}}}|RUT30X|<span class="asterisk">*</span>|}} {{#ifeq:{{{bluetooth}}}|1|<nowiki>|</nowiki> <span style="color:green">Bluetooth data</span> |}} {{#ifeq:{{{wifi}}}|1|<nowiki>|</nowiki> WiFi scanner data{{#ifeq: {{{series}}} | RUTX | | <span class="asterisk">*</span>}}|}} | <span style="color:magenta">DNP3</span><span class="asterisk">*</span> {{!}} DNP3 data flash<span class="asterisk">*</span>; default: <b>Modbus data</b></td>
      <td>string; default: <b>N/A</b></td>
      <td>Source of the data to be sent to server.</td>
        <td>A string which will be placed if any value cannot be received.</td>  
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Protocol</td>
       <td><span style="color:limegreen">Delimeter</span></td>
       <td>HTTP(S) | MQTT{{#ifeq: {{{series}}} | RUTX || <span class="asterisk">*</span>}} | Kinesis; default: <b>HTTP(S)</b></td>
       <td>string (Maximum length of value is 1 bytes); default: <b>N/A</b></td>
      <td>Protocol used for sending the data to server.</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>JSON format</td>
       <td><span style="color:cadetblue">Lua format script</span></td>
       <td>string; default: </b>{"TS": "%t", "D": "%d", "data": %a}</b></td>
       <td>-(interactive button)</td>
         <td>Arranges the format of the sent JSON segment.</td>  
         <td>Upload the Lua script.</td>  
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Segment count</td>
       <td>Segment count</td>
       <td>integer [1..10]; default: <b>1</b></td>
       <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 | on; default: <b>off</b></td>
       <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>URL/Host/Connection string</td>
       <td><span style="color:red">Data filtering</span></td>
       <td>string; default: <b>none</b></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>URL for HTTP(S); Host for MQTT; Connection string for Azure MQTT.</td>
       <td>If Data type: <span style="color:red">Modbus data</span>. Choose which data this sender will send to server.</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>Period</td>
       <td><span style="color:olive">Lua data example script</span></td>
       <td>integer [1..86400]; default: <b>60</b></td>
       <td>-(interactive button)</td>
       <td>Data sending frequency (in seconds).</td>
       <td>Download Lua data example script.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:red">Data filtering</span></td>
       <td><span style="color:olive">Lua script</span></td>
       <td>All data | <span style="color:darkred">By slave ID</span> | <span style="color:blue">By slave IP</span>; default: <b>All data</b></td>
       <td>-(interactive button)</td>
       <td>If Data source: <span style="color:red">Modbus data</span>. Choose which data this sender will send to server.</td>
      <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:darkred">By slave ID:</span> Slave ID</td>
       <td><span style="color:coral">Data filtering: Impulse counter pin</span></td>
       <td>integer [1..255]; default: <b>none</b></td>
       <td>list; default: <b>none</b></td>
       <td>ID of the Modbus slave whose collected data will be sent to server.</td>
       <td>Filter data by defined impulse counter pin.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:blue">By slave IP:</span> Slave IP</td>
       <td><span style="color:coral">Data filtering: Invert filter</span></td>
       <td>ip; default: <b>none</b></td>
       <td>off {{!}} on; default: <b>off</b></td>
       <td>IP address of the Modbus slave whose collected data will be sent to server (for Modbus TCP slaves).</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 <nowiki>|</nowiki> <span style="color:darkred">By MAC address</span> <nowiki>|</nowiki> <span style="color:blue">By device name</span>; default: <b>All data</b></td>
       <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 source: <span style="color:green">Bluetooth data</span>. Choose which data this sender will send to server.</td>
      <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>
     <tr>
     <tr>
       <td><span style="color:darkred">By MAC address:</span> MAC address</td>
       <td><span style="color:blue">SIM card</span></td>
       <td>mac; default: <b>none</b></td>
      <td>Select SIM card if device supports multiple SIM cards; default: <b>none</b></td>
       <td>MAC address of bluetooth device whose collected data will be sent to server.</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>
      <td><span style="color:hotpink">Invert filter</span></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:blue">By device name:</span> Device name</td>
       <td><span style="color:brown">Database</span></td>
       <td>string; default: <b>none</b></td>
      <td>RAM {{!}} Flash; default: <b>RAM</b></td>
      <td>Device name of bluetooth device whose collected data will be sent to server.</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>
        <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>
        <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>
        <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>
        <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>
        <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>
     <tr>
      <td><span style="color:magenta">Data filtering</span></td>
    <td><span style="color:orange">Certificate based: Client private keyfile</span></td>
      <td>All data <nowiki>|</nowiki> <span style="color:darkred">DNP3 Address</span> <nowiki>|</nowiki> <span style="color:blue">DNP3 IP</span>; default: <b>All data</b></td>
        <td>.key file; default: <b>none</b></td>
       <td>If Data source: <span style="color:magenta">DNP3</span>. Choose which data this sender will send to server.</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>
     <tr>
     <tr>
       <td><span style="color:darkred">DNP3 Address:</span> DNP3 Address</td>
       <td><span style="color:orange">Pre-shared key based: Identity</span></td>
       <td>integer [0..65519]; default: <b>none</b></td>
       <td>string; default: <b>none</b></td>
       <td>DNP3 address of device whose collected data will be sent to server.</td>
       <td>The identity of this client. May be used as the username depending on the server settings.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:blue">DNP3 IP:</span> DNP3 IP</td>
       <td><span style="color:orange">Username</span></td>
       <td>ip | domain; default: <b>none</b></td>
       <td>string; default: <b>none</b></td>
       <td>IP address of DNP3 device whose collected data will be sent to server.</td>
       <td>Username used in authentication.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Retry on fail</td>
       <td><span style="color:orange">Require password</span></td>
       <td>off | on; default: <b>off</b></td>
       <td>on {{!}} off; default: <b>off</b></td>
       <td>When turned on, the data sender retries failed sending attempts until the are successfully delivered.</td>
       <td>Enables password for authentication.</td>
     </tr>
     </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===
----


<span class="asterisk">*</span> This is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.
[[File:Networking rutos manual data to server collection configuration_v2.png|border|class=tlt-border]]
====Protocol HTTP(S)====


<table class="nd-mantable">
<table class="nd-mantable">
Line 160: Line 314:
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Custom Header</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 add custom headers to the HTTP requests.</td>
      <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>Use TLS</td>
       <td><span style="color:red">Format string</span></td>
      <td>off | <span style="color:red">on</span>; default: '''off'''</td>
      <td>Default: <b>Instance name</b></td>
       <td>Enables the use of TLS certificates.</td>
       <td>Specifies custom format string</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:red">On:</span> TLS type</td>
       <td><span style="color:red">Empty value </span></td>
       <td>Certificate based; default: '''Certificate based'''</td>
       <td>Default: <b>N/A</b></td>
       <td>Select type of TLS.</td>
       <td>A string which will be placed if any value cannot be received</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:red">On:</span> CA File</td>
       <td><span style="color:lightgreen">Lua format example script</span></td>
       <td>.ca file; default: <b>none</b></td>
       <td>-(interactive button)</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>Download the Lua script.</td>  
     </tr>
     </tr>
     <tr>
     <tr>
    <td><span style="color:red">On:</span> Client Certificate</td>
      <td><span style="color:lightgreen">Lua format script</span></td>
        <td>.crt file; default: <b>none</b></td>
      <td>-(interactive button)</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>Upload the Lua script.</td>  
     </tr>
     </tr>
     <tr>
     <tr>
    <td><span style="color:red">On:</span> Private Key</td>
      <td>Encoder</td>
        <td>.key file; default: <b>none</b></td>
      <td>None {{!}} Base64; default: <b>None</b></td>
         <td>File containing private key for this client. This file needs to be not encrypted.</td>
         <td>Encoder used for all sent data.</td>  
     </tr>
     </tr>
</table>
</table>
<br>
 
====Protocol MQTT====
===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>
      <td><span style="color:teal">Pre-Shared-Key</span></td>
      <td>hexadecimal string; default: '''none'''</td>
      <td>The pre-shared-key in hex format with no leading “0x”.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Use TLS</td>
       <td><span style="color:teal">Identity</span></td>
      <td>off | <span style="color:red">on</span>; default: '''off'''</td>
      <td>string; default: '''none'''</td>
       <td>Enables the use of TLS certificates.</td>
       <td>The identity of this client.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:red">On:</span> TLS type</td>
       <td><span style="color:red">Allow insecure connection</span></td>
       <td><span style="color:chocolate">Certificate based</span> {{!}} <span style="color:darkred">Pre-shared key based</span>; default: '''Certificate based'''</td>
       <td>off {{!}} on; default: '''off'''</td>
       <td>Select type of TLS.</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:chocolate">Certificate based:</span> CA File</td>
       <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:chocolate">Certificate based:</span> Client Certificate</td>
     <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:chocolate">Certificate based:</span> Private Key</td>
     <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>
      <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>Connection string based on primary key used in API calls which allows device to communicate with IoT Hub.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:darkred">Pre-shared key based:</span> Pre-Shared-Key</td>
       <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>string; default: <b>none</b></td>
       <td>The pre-shared-key in hex format with no leading "0x".</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:darkred">Pre-shared key based:</span> Identity</td>
       <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 identity of this client. May be used as the username depending on the server settings.</td>
       <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>Use Credentials</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>off | <span style="color:darkgreen">on</span>; default: '''off'''</td>
      <td>-(interactive) button; default: <b>none</b></td>
       <td>Enables use of username and password for authentication.</td>
       <td>Upload the "leaf" key file.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:darkgreen">On:</span> Username</td>
       <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>Username used in authentication.</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:darkgreen">On:</span> Password</td>
       <td><span style="color:DarkMagenta">Server address</span></td>
       <td>string; default: <b>none</b></td>
       <td>string; default: <b>none</b></td>
       <td>Password used in authentication.</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>
</table>
</br>
====Protocol Kinesis====
<table class="nd-mantable">
     <tr>
     <tr>
        <th>Field</th>
      <td><span style="color:DarkSeaGreen">The directory of the file</span></td>
       <th>Value</th>
       <td>path; default: <b>none</b></td>
       <th>Description</th>
       <td>Remote FTP directory to upload file to.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Stream name</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 stream for which to start encrypting records.</td>
       <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>Partition key</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 partition key is used by Kinesis Data Streams as input to a hash function that maps the partitionkey and associated data to a specific shard.</td>
       <td>The username of the FTP server.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>API version</td>
       <td><span style="color:DarkSeaGreen">Password</span></td>
       <td>positive integer; default: <b>none</b></td>
       <td>string; default: <b>none</b></td>
       <td>Optional. Used version of the Kinesis API.</td>
       <td>The password of the FTP server.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Region</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>Region code of the Kinesis server.</td>
       <td>Extra information to be added to file name.</td>
    </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>
      <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>
     <tr>
     <tr>
    <td>Domain</td>
      <td><span style="color:DarkSeaGreen">Interval: Interval</span></td>
        <td>domain; default: <b>none</b></td>
      <td>integer; default: <b>10</b></td>
        <td>Domain of the Kinesis server. E.g. 'amazonaws.com'</td>
      <td>Upload files to server every x seconds.</td>
     </tr>
     </tr>
     <tr>
     <tr>
    <td>Access key</td>
      <td><span style="color:DarkSeaGreen">Fixed: Minute</span></td>
        <td>string; default: <b>none</b></td>
      <td>minutes; default: <b>every minute</b></td>
        <td>Access key ID is a part of Access keys used for authentication.</td>
      <td>Uploading will be performed on this specific minute only.</td>
     </tr>
     </tr>
     <tr>
     <tr>
    <td>Secret key</td>
      <td><span style="color:DarkSeaGreen">Fixed: Hour</span></td>
        <td>string; default: <b>none</b></td>
      <td>hours; default: <b>every minute</b></td>
        <td>Secret access key is a part of Access keys used for authentication.</td>
      <td>Uploading will be performed on this specific hour only.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Use TLS</td>
       <td><span style="color:DarkSeaGreen">Fixed: Day</span></td>
      <td>off | <span style="color:red">on</span>; default: '''off'''</td>
      <td>days; default: <b>every day</b></td>
       <td>Enables the use of TLS certificates.</td>
       <td>Uploading will be performed on this day only.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:red">On:</span> TLS type</td>
       <td><span style="color:DarkSeaGreen">Directory traversing method</span></td>
       <td>Certificate based; default: '''Certificate based'''</td>
       <td>Multi CWD {{!}} No CWD {{!}} Single CWD; default: <b>Multi CWD</b></td>
       <td>Select type of TLS.</td>
       <td>Directory traversing method for FTP (multicwd, nocwd, cwd).</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:red">On:</span> CA File</td>
       <td><span style="color:GoldenRod">Recipients</span></td>
       <td>.ca file; default: <b>none</b></td>
       <td>Single {{!}} Group; default: <b>Single</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>You can choose to add a single number or use a phone group list.</td>
     </tr>
     </tr>
     <tr>
     <tr>
    <td><span style="color:red">On:</span> Client Certificate</td>
      <td><span style="color:GoldenRod">Single: Recipient's phone number</span></td>
        <td>.crt file; default: <b>none</b></td>
      <td>phone number; 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>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:red">On:</span> Private Key</td>
      <td><span style="color:GoldenRod">Group: Phone group</span></td>
        <td>.key file; default: <b>none</b></td>
      <td>list; default: <b>none</b></td>
        <td>File containing private key for this client. This file needs to be not encrypted.</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]]

Revision as of 15:52, 22 October 2025

The information in this page is updated in accordance with firmware version .


Summary

The Data to Server feature provides you with the possibility to set up data senders that collect data from various sources and periodically send it to remote servers. Note: On {{{name}}}, Data to Server is additional software that can be installed from the System → [[{{{name}}} Package Manager|Package Manager]] page.

Data Senders

A Data Sender 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.

After this you should be redirected to the newly added data configuration page.

Data configuration


Refer to the table below for descriptions on data configuration fields.

Note: these tables have coloring schemes to indicate which fields can be seen with different configuration.

Field Value Description
Name string; default: input1 Name of data input.
Type Base | Lua script |  ; default: Base Data input type.
Format type Json | Custom | Lua script (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: Json Arranges the format of the sent JSON segment.
Values list; default: All values included Select values based on the data input type. If no values are selected, all values will be included.
Format string string; default: none Specifies custom format string.
Empty value string; default: N/A A string which will be placed if any value cannot be received.
Delimeter string (Maximum length of value is 1 bytes); default: N/A Specifies delimiters for multiple data segments.
Lua format example script -(interactive button) Download the Lua script.
Lua format script -(interactive button) Upload the Lua script.
Segment count integer [1..64]; default: 1 Max segment count in one JSON string sent to server.
Send as object off | on; default: off When turned on, sends JSON segment as object and not as an array element.
  • Object syntax --> {input1:{}...}
  • JSON Array of Objects syntax --> {input1:[{},{}...]}
Lua data example script -(interactive button) Download Lua data example script.
Lua script -(interactive button) Upload Lua data script.


* This is additional software that can be installed from the System → [[{{{name}}} Package Manager|Package Manager]] page.

Collection configuration


Field Value Description
Enabled off | on; default: on Enables data to server collection instance.
Timer Period | Scheduler | None; default: Period Strategy for collecting/sending data to destination.
Period integer; default: 60 Interval in seconds for collecting/sending data to destination.
Day time string; default: none Day time when action should be executed. Use '*' to indicate every hour or minute, (e.g., 12:15, *:15, 12:*, or *:*).
Interval type Weekdays | Month days; default: Weekdays Allows selecting between week and month days for instance intervals.
Weekdays list; default: Every day is selected Weekdays, when data should be sent/collected. If nothing is selected, every day of the week will be included.
Month day list; default: Every day is selected Month days, when data should be sent/collected. If nothing is selected, every day of the month will be included.
Month day: Force last day off | on; default: off Forces intervals to accept last day of month as valid option if selected day doesn't exist in ongoing month.
Retry off | on; default: off In case of a failed attempt, retry to send the same data to destination later.
Retry count Default: 10 Retry to send the same data N times
Timeout Default: 1 Timeout in second between retry attempts
Format type JSON | custom | Lua script; default: JSON Data collection objects formatting.
Format string Default: Instance name Specifies custom format string
Empty value Default: N/A A string which will be placed if any value cannot be received
Lua format example script -(interactive button) Download the Lua script.
Lua format script -(interactive button) Upload the Lua script.
Encoder None | Base64; default: None Encoder used for all sent data.

Server configuration


Note: on some devices it is necessary to install an additional package to see additional server types [[{{{name}}}_Package_Downloads|Advanced data to server modules]].

Field Value Description
Type HTTP | Azure IoT Hub (requires to install package from [[{{{name}}} Package Manager|Package Manager]]) | Lua | SMTP | Socket | FTP ; default: HTTP Interval in seconds for collecting/sending data to destination.
Server address Default: empty Hostname or IP address of the broker to connect to.
HTTP headers Default: empty Allows to add custom headers to the HTTP requests.
Enable secure connection off | on; default: off Enables the use of TLS certificates.
Certificate files from device off | on; default: off Specify where the certificates will be used from.
Certificate authority file .ca file; default: none 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.
Client certificate .crt file; default: none 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.
Client private keyfile .key file; default: none File containing private key for this client. This file needs to be not encrypted.
Configuration type Unique Azure Iot Hub configuration | Existing Azure Iot Hub configuration; default: Unique Azure Iot Hub configuration
Configuration type Unique Azure Iot Hub configuration | Existing Azure Iot Hub configuration; default: Unique Azure Iot Hub configuration
Unique Azure Iot Hub configuration: Connection type Shared Access Signature (SAS) key | Device Provisioning Service (DPS); default: Shared Access Signature (SAS) key
Unique Azure Iot Hub configuration: Connection String string; default: none Connection string based on primary key used in API calls which allows device to communicate with IoT Hub.
Unique Azure Iot Hub configuration: ID Scope string; default: none 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.
Unique Azure Iot Hub configuration: Registration ID string; default: none 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.
Unique Azure Iot Hub configuration: Global Device Endpoint string; default: global.azure-devices-provisioning.net Destination for messages sent by IoT devices to the Azure IoT Hub (will default to global.azure-devices-provisioning.net if not set).
Unique Azure Iot Hub configuration: Attestation mechanism X.509 Certificates | Symmetric Key; default: X.509 Certificates Method used to confirm a device's identity in Device Provisioning Service.
Unique Azure Iot Hub configuration: X.509 Certificates: X.509 Certificate -(interactive) button; default: none Upload the "leaf" certificate file.
Unique Azure Iot Hub configuration: X.509 Certificates: X.509 Private Key -(interactive) button; default: none Upload the "leaf" key file.
Unique Azure Iot Hub configuration: Symmetric Key: Symmetric Key string; default: none The the derived device key from the DPS Primary Key.
Lua data example script -(interractive button) Downloads an example of script.
Lua script -(interractive button) Path to the lua script.
Subject string; default:none Subject of an email.
Recipient's email address A valid email address is accepted; default: none Subject of an email.
Email account list; default: none Sender's email configuration. Configure email account [[{{{name}}}_Administration#Recipients | here]].
Server address string; default: none Socket's server address.
Server port integer [1..65535]; default: none Socket's server port.
UDP off | on; default: off Use UDP as the protocol.
Timeout integer; default: 10 Specifies the receiving or sending data timeout.
The directory of the file path; default: none Remote FTP directory to upload file to.
Host string; default: none The domain name or IP address of the server.
Port integer [1..65535]; default: 21 The TCP/IP port of the server.
Username string; default: none The username of the FTP server.
Password string; default: none The password of the FTP server.
Extra prefix to file name string; default: none Extra information to be added to file name.
Buffer size integer; default: 1024 The size of the buffer to be used for uploading to FTP server.
Overflow off | on; default: on Upload file to FTP server if buffer overflowed.
Mode Interval | Fixed; default: Interval The schedule mode to be used for uploading to FTP server.
Interval: Interval integer; default: 10 Upload files to server every x seconds.
Fixed: Minute minutes; default: every minute Uploading will be performed on this specific minute only.
Fixed: Hour hours; default: every minute Uploading will be performed on this specific hour only.
Fixed: Day days; default: every day Uploading will be performed on this day only.
Directory traversing method Multi CWD | No CWD | Single CWD; default: Multi CWD Directory traversing method for FTP (multicwd, nocwd, cwd).
Recipients Single | Group; default: Single You can choose to add a single number or use a phone group list.
Single: Recipient's phone number phone number; default: none To whom the message will be sent. The number must be specified in full format, country code included. e.g., +37000000000.
Group: Phone group list; default: none Recipient's phone number users group. Configure it [[{{{name}}}_Administration#Recipients | here]].

[[Category:{{{name}}} Services section]]