Jump to content

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

From Teltonika Networks Wiki
No edit summary
No edit summary
 
(31 intermediate revisions by 2 users not shown)
Line 14: Line 14:


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 =
| RUTC =
| TCR1 =
| TRB1 =
| TRB2 =
| TRB2M =
| TRB5 =
| RUT2M =
| RUT2 =
| RUT30X =
| RUT36X =
| RUT9|RUT9M =
| RUT14X =
| TAP100 | TAP200 =  
| #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_v3.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.


===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.


{{#switch: {{{series}}}
[[File:Networking rutos manual data to server data configuration_v1.png|border|class=tlt-border]]
| TAP100 | TAP200 =  [[File:Networking rutos manual data to server data configuration_tap.png|border|class=tlt-border]]
| #default = [[File:Networking rutos manual data to server data configuration.png|border|class=tlt-border]]
}}


====General====
<table class="nd-mantable">
<table class="nd-mantable">
     <tr>
     <tr>
Line 68: Line 41:
     <tr>
     <tr>
       <td>Name</td>
       <td>Name</td>
       <td>string; default: <b>none</b></td>
       <td>string; default: <b>input1</b></td>
       <td>Name of the data sender. Used for easier data senders management purposes only (optional).</td>
       <td>Name of data input.</td>
     </tr>  
     </tr>  
     <tr>
     <tr>
       <td>Type</td>
       <td>Type</td>
       <td><span>Base {{!}} {{#ifeq:{{{bluetooth}}}|1|<span style="color:green">Bluetooth</span> {{!}} |}}{{#ifeq:{{{mobile}}}|1| GSM {{!}} |}} Lua script {{!}} {{#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> {{!}} |}}{{#ifeq:{{{DLMS}}}|1|<span style="color:hotpink">DLMS</span><span class="asterisk">*</span>|}}; default: <b>Base</b></span>    
       <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>
       <td>Data input type.</td>
       <td>Source of the data to be sent to server.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td>Format type</td>
       <td>Format type</td>
       <td>Json {{!}} <span style="color:limegreen">Custom</span>; default: <b>Json</b></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>  
         <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>
Line 96: Line 73:
       <td>string (Maximum length of value is 1 bytes); default: <b>N/A</b></td>
       <td>string (Maximum length of value is 1 bytes); default: <b>N/A</b></td>
         <td>Specifies delimiters for multiple data segments.</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>
      <td><span style="color:cadetblue">Lua format script</span></td>
      <td>-(interactive button)</td>
        <td>Upload the Lua script.</td>
     </tr>
     </tr>
     <tr>
     <tr>
Line 105: Line 92:
       <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>
     </tr>
     {{#ifeq:{{{Modbus}}}|1|
     {{#ifeq:{{{Modbus}}}|1|
     <tr>
     <tr>
       <td><span style="color:grey">Data filtering</span></td>
       <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>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>
       <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><span style="color:red">Data filtering</span></td>
       <td><span style="color:red">Data filtering </span></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>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>If Data type: <span style="color:red">Modbus data</span>. Choose which data this sender will send to server.</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>
      <td><span style="color:olive">Lua data example script</span></td>
      <td>-(interactive button)</td>
      <td>Download Lua data example script.</td>
    </tr>
    <tr>
      <td><span style="color:olive">Lua script</span></td>
      <td>-(interactive button)</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>
      <td><span style="color:coral">Data filtering: Impulse counter pin</span></td>
      <td>list; default: <b>none</b></td>
      <td>Filter data by defined impulse counter pin.</td>
    </tr>
    <tr>
      <td><span style="color:coral">Data filtering: Invert filter</span></td>
      <td>off {{!}} on; default: <b>off</b></td>
      <td>Inverts filter condition.</td>
    </tr>|}}
     {{#ifeq:{{{bluetooth}}}|1|
     {{#ifeq:{{{bluetooth}}}|1|
     <tr>
     <tr>
Line 124: Line 154:
       <td>All {{!}} <span style="color:green">Device MAC address</span> {{!}} <span style="color:green">Device name</span>; default: <b>All</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 type: <span style="color:green">Bluetooth</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>|}}
     </tr>|}}  
   
     {{#ifeq:{{{wifi}}}|1|
     {{#ifeq:{{{wifi}}}|1|
     <tr>
     <tr>
Line 132: Line 161:
       <td>If Data type: <span style="color:purple">Wifi scanner</span>. Choose which data this sender will send to server.</td>
       <td>If Data type: <span style="color:purple">Wifi scanner</span>. Choose which data this sender will send to server.</td>
     </tr>|}}
     </tr>|}}
   
     {{#ifeq:{{{mobile}}}|1|
     {{#ifeq:{{{mobile}}}|1|
     <tr>
     <tr>
       <td><span style="color:blue">Data period</span></td>
       <td><span style="color:blue">Data period</span></td>
       <td><span style="color:blue>Day</span> {{!}} <span style="color:blue>Week</span> {{!}} <span style="color:blue>Month</span>; default: <b>Day</b></td>
       <td>Day {{!}} Week {{!}} Month; default: <b>Day</b></td>
       <td>If Data type: <span style="color:blue">Mobile usage</span>. Choose for which time period to send info from.</td>
       <td>Choose for which time period to send info from.</td>
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:blue">Current</span></td>
       <td><span style="color:blue">Current</span></td>
       <td><span style="color:blue>off</span> {{!}} <span style="color:blue>on</span>; default: <b>off</b></td>
       <td>off {{!}} on; default: <b>off</b></td>
       <td>If Data type: <span style="color:blue">Mobile usage</span>.</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>|}}
     </tr>|}}
     {{#ifeq: {{{DLMS}}}|1|
     {{#ifeq: {{{DLMS}}}|1|
Line 151: Line 184:
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:hotpink">Invert file</span></td>
       <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><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>
       <td>If Data type: <span style="color:hotpink">DLMS</span>. Inverts filter condition.</td>
     </tr>
     </tr>|}}
    |}}
     {{#ifeq: {{{DNP3}}}|1|
     {{#ifeq: {{{DNP3}}}|1|
     <tr>
     <tr>
Line 172: Line 204:
       <td>All {{!}} <span style="color:lightblue"> Name </span>; default: <b>All</b></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>  
         <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>
     {{#ifeq:{{{MQTT}}}|1|<tr>
         <td><span style="color:orange">Server address</span></td>
         <td><span style="color:orange">Server address</span></td>
Line 228: Line 259:
     </tr>
     </tr>
     <tr>
     <tr>
       <td><span style="color:orange">Certificate based: CA File</span></td>
       <td><span style="color:orange">Certificate based: 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>
Line 238: Line 269:
     </tr>
     </tr>
     <tr>
     <tr>
     <td><span style="color:orange">Certificate based: CLient private Key</span></td>
     <td><span style="color:orange">Certificate based: 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>
Line 271: Line 302:
<span class="asterisk">*</span> This is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.
<span class="asterisk">*</span> This is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.


====Collection settings====
===Collection configuration===
----
----


[[File:Networking rutos manual data to server collection configuration general settings_v1.png|border|class=tlt-border]]
[[File:Networking rutos manual data to server collection configuration_v2.png|border|class=tlt-border]]


<table class="nd-mantable">
<table class="nd-mantable">
Line 286: Line 317:
       <td>off {{!}} on; default: <b>on</b></td>
       <td>off {{!}} on; default: <b>on</b></td>
       <td>Enables data to server collection instance.</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>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>
     <tr>
     <tr>
       <td>Format type</td>
       <td>Format type</td>
       <td>JSON {{!}} <span style="color:red">custom</span>; default: <b>JSON</b></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>
       <td>Data collection objects formatting.</td>
     </tr>
     </tr>
Line 301: Line 382:
       <td>Default: <b>N/A</b></td>
       <td>Default: <b>N/A</b></td>
       <td>A string which will be placed if any value cannot be received</td>
       <td>A string which will be placed if any value cannot be received</td>
    </tr>
    <tr>
      <td>Period</td>
      <td>Default: <b>60</b></td>
      <td>Interval in seconds for collecting/sending data to destination.</td>
     </tr>
     </tr>
    <tr>
    <tr>
       <td>Retry</td>
       <td><span style="color:lightgreen">Lua format example script</span></td>
       <td>off {{!}} <span style="color:blue">on</span>; default: <b>off</b></td>
       <td>-(interactive button)</td>
      <td>In case of a failed attempt, retry to send the same data to destination later.</td>
        <td>Download the Lua script.</td>
    </tr>
    <tr>
      <td><span style="color:lightgreen">Lua format script</span></td>
      <td>-(interactive button)</td>
        <td>Upload the Lua script.</td>  
     </tr>
     </tr>
    <tr>
      <td><span style="color:blue">Retry count</span></td>
      <td>Default: <b>10</b></td>
      <td>Retry to send the same data N times </td>
    </tr>
     <tr>
     <tr>
       <td><span style="color:blue">Timeout</span></td>
       <td>Encoder</td>
       <td>Default: <b>1</b></td>
       <td>None {{!}} Base64; default: <b>None</b></td>
      <td>Timeout in second between retry attempts</td>
        <td>Encoder used for all sent data.</td>  
     </tr>
     </tr>
</table>
</table>


====Server configuration====
===Server configuration===
----
----


[[File:Networking rutos manual data to server server configuration.png|border|class=tlt-border]]
[[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 337: Line 415:
     <tr>
     <tr>
       <td>Type</td>
       <td>Type</td>
       <td>HTTP {{#ifeq:{{{MQTT}}}|1|{{!}} <span style="color:red">MQTT</span>}}; default: <b>HTTP</b></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>
       <td>Interval in seconds for collecting/sending data to destination.</td>
     </tr>
     </tr>
Line 352: Line 430:
     <tr>
     <tr>
       <td>Enable secure connection</td>
       <td>Enable secure connection</td>
       <td>on {{!}} off; default: <b>off</b></td>
       <td>off {{!}} <span style="color:blue">on</span>; default: <b>off</b></td>
       <td>Enables the use of TLS certificates.</td>
       <td>Enables the use of TLS certificates.</td>
     </tr>  
     </tr>  
Line 383: 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>}}
     </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>
       <td>Enable secure connection</td>
       <td><span style="color:teal">Identity</span></td>
      <td>off {{!}} <span style="color:blue">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>{{#ifeq:{{{MQTT}}}|1|
     </tr>
     <tr>
     <tr>
       <td>Allow insecure connection</td>
       <td><span style="color:red">Allow insecure connection</span></td>
       <td>off {{!}} on; default: '''off'''</td>
       <td>off {{!}} on; default: '''off'''</td>
       <td>Allow not verifying server authentication.</td>
       <td>Allow not verifying server authentication.</td>
     </tr>}}
     </tr>|}}
     <tr>
     <tr>
       <td><span style="color:blue">Certificate files from device</span></td>
       <td><span style="color:blue">Certificate files from device</span></td>
Line 405: Line 493:
     </tr>
     </tr>
     <tr>
     <tr>
     <td><span style="color:blue">Client Certificate</span></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:blue">Client Private Keyfile</span></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>{{#ifeq:{{{MQTT}}}|1|
     <tr>
     <tr>
       <td>Use credentials</td>
       <td><span style="color:red">Use credentials</span></td>
       <td>off {{!}} <span style="color:darkgreen">on</span>; default: '''off'''</td>
       <td>off {{!}} <span style="color:darkgreen">on</span>; default: '''off'''</td>
       <td>Enables use of username and password for authentication.</td>
       <td>Enables use of username and password for authentication.</td>
Line 428: Line 516:
       <td>string; default: <b>none</b></td>
       <td>string; default: <b>none</b></td>
       <td>Password used in authentication.</td>
       <td>Password used in authentication.</td>
     </tr>}}
     </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>
      <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>
      <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>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>
      <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>Upload the "leaf" key file.</td>
    </tr>
    <tr>
      <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>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>
      <td><span style="color:DarkMagenta">Server address</span></td>
      <td>string; default: <b>none</b></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>
      <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>
      <td><span style="color:DarkSeaGreen">Host</span></td>
      <td>string; default: <b>none</b></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>
      <td><span style="color:DarkSeaGreen">Username</span></td>
      <td>string; default: <b>none</b></td>
      <td>The username of the FTP server.</td>
    </tr>
    <tr>
      <td><span style="color:DarkSeaGreen">Password</span></td>
      <td>string; default: <b>none</b></td>
      <td>The password of the FTP server.</td>
    </tr>
    <tr>
      <td><span style="color:DarkSeaGreen">Extra prefix to file name</span></td>
      <td>string; default: <b>none</b></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>
      <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>
      <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>
      <td><span style="color:DarkSeaGreen">Fixed: Day</span></td>
      <td>days; default: <b>every day</b></td>
      <td>Uploading will be performed on this day only.</td>
    </tr>
    <tr>
      <td><span style="color:DarkSeaGreen">Directory traversing method</span></td>
      <td>Multi CWD {{!}} No CWD {{!}} Single CWD; default: <b>Multi CWD</b></td>
      <td>Directory traversing method for FTP (multicwd, nocwd, cwd).</td>
    </tr>
    <tr>
      <td><span style="color:GoldenRod">Recipients</span></td>
      <td>Single {{!}} Group; default: <b>Single</b></td>
      <td>You can choose to add a single number or use a phone group list.</td>
    </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>
      <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>
</table>
</table>


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

Latest revision as of 09:43, 21 November 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]]