Changes

no edit summary
Line 1: Line 1: −
{{Template:Networking_rutos_manual_fw_disclosure
+
{{Template: Networking_device_manual_fw_disclosure
| fw_version = {{{series}}}_R_00.07.01
+
| series = {{{series}}}
| series     = {{{series}}}
+
| name  = {{{name}}}
 +
| fw_version ={{Template: Networking_device_manual_latest_fw
 +
| series = {{{series}}}
 +
| name  = {{{name}}}
 +
}}
 
}}
 
}}
{{#ifeq: {{{series}}} | RUT9 |<br><i><b>Note</b>: <b>[[{{{name}}} Input/Output (legacy WebUI)|click here]]</b> for the old style WebUI (FW version RUT9XX_R_00.06.08.3 and earlier) user manual page.</i>
+
{{#ifeq: {{{series}}} | RUT9 |<br><i><b>Note</b>: <b>[[{{{name}}} Input/Output (legacy WebUI)|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT9XX}} and earlier) user manual page.</i>
<p style="color:red">Warning: From 7.0 version I/O parameters and controls have changed compared to RUT9XX_R_00.06.08.3 and earlier legacy versions.</p>|}}
+
 
{{#ifeq: {{{series}}} | RUT2 |<br><i><b>Note</b>: <b>[[{{{name}}} Input/Output (legacy WebUI)|click here]]</b> for the old style WebUI (FW version RUT2XX_R_00.01.14.1 and earlier) user manual page.</i>
+
<p style="color:red">Warning: From 7.0 version I/O parameters and controls have changed compared to {{Template: Networking_device_manual_latest_fw | series = RUT9XX}} and earlier legacy versions.</p>|}}
<p style="color:red">Warning: From 7.1 version I/O parameters and controls have changed compared to RUT2XX_R_00.01.14.1 and earlier legacy versions.</p>|}}
+
{{#ifeq: {{{series}}} | RUT2 |<br><i><b>Note</b>: <b>[[{{{name}}} Input/Output (legacy WebUI)|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT2XX}} and earlier) user manual page.</i>
 +
 
 +
<p style="color:red">Warning: From 7.1 version I/O parameters and controls have changed compared to {{Template: Networking_device_manual_latest_fw | series = RUT2XX}} and earlier legacy versions.</p>|}}
 
==Summary==
 
==Summary==
   Line 16: Line 22:  
| series = {{{series}}}
 
| series = {{{series}}}
 
}}
 
}}
 +
 
==Physical characteristics and I/O pin mapping==
 
==Physical characteristics and I/O pin mapping==
   Line 24: Line 31:  
| configurableio = {{{configurableio}}}
 
| configurableio = {{{configurableio}}}
 
| input_volts    = {{{input_volts}}}
 
| input_volts    = {{{input_volts}}}
}}{{#ifeq: {{{name}}} | TRB141 |
+
}}{{#switch: {{{name}}}
<h3>Input/Output Connector Pinout</h3>
+
| TRB141 =<h3>Input/Output Connector Pinout</h3>
 
----
 
----
[[File:Networking_trb141_manual_input_output_input_output_connector_pinout.png]]
+
[[File:Networking_trb141_manual_input_output_input_output_connector_pinout_v2.png]]
    
<ul>
 
<ul>
Line 49: Line 56:  
     <li><b>1W</b> - 1-Wire protocol input/output.</li>
 
     <li><b>1W</b> - 1-Wire protocol input/output.</li>
 
     <li><b>⏚</b> - GND contact.</li>
 
     <li><b>⏚</b> - GND contact.</li>
</ul>|}}
+
    <li><b>''Note:''</b> input circuit components have tolerance of +-1%.</li>
 +
</ul>
 +
| RUT955|RUT956|RUT906 =<h3>Input/Output Connector Pinout</h3>
 +
----
 +
[[File:Networking_rut955_manual_input_output_input_output_connector_pinout_v3.png]]
 +
 
 +
<ul>
 +
    <li><b>DI</b><sub>1</sub> and <b>⏚</b><sub>1</sub> - Digital input (dry type):</li>
 +
        <ul>
 +
            <li>0-1.2 V is detected as logical "1"</li>
 +
            <li>1.8-3 V is detected as logical "0"</li>
 +
        </ul>
 +
    <li><b>DI</b><sub>2</sub>  and <b>⏚</b><sub>2</sub> - Digital galvanically isolated input:</li>
 +
        <ul>
 +
            <li>0-4 V is detected as logical "0"</li>
 +
            <li>9-30 V is detected as logical "1"</li>
 +
        </ul>
 +
    <li><b>DO</b> and <b>⏚</b><sub>3</sub> - Galvanically isolated open collector (OC) output: 30 V, 250 mA.</li> 
 +
    <li><b>+V</b> and <b>⏚</b><sub>3</sub> - External VCC for <b>DO</b> (<30 V).</li> 
 +
    <li><b>C & NO</b> - Common and Normally Open contacts of the internal Non-Latching Relay respectively.<br>Maximum relay ratings: 4 A at 24 VDC, 4 A at 40 VAC.</li>
 +
    <li><b>A</b> and <b>⏚</b><sub>1</sub> - ADC input. Analog voltage range: 0-24 V. The input can be configured for 4-20 mA sensor protocol as current measurement (ACL).<span class="asterisk">*</span></li>
 +
    <li><b>⏚</b><sub>1</sub> - GND for <b>DI</b><sub>1</sub> and <b>A</b>.</li>
 +
    <li><b>⏚</b><sub>2</sub> - GND for <b>DI</b><sub>2</sub>.
 +
    <li><b>⏚</b><sub>3</sub> - GND for <b>DO</b> pins.
 +
    <li><b>''Note:''</b> input circuit components have tolerance of +-1%.</li>
 +
</ul>
 +
----
 +
<span class="asterisk">*</span> The deviation from the actual input voltage and the voltage measured by the device is dependent on the input voltage value:
 +
 
 +
<ul>
 +
    <li>'''≥ 1.5 V''' - the deviation is about ± 10 % and gets lower when the input voltage increases towards 5 V</li>
 +
    <li>'''≥ 5 V''' - the deviation does not exceed ± 3 %</li>
 +
    <li>'''≥ 9 V''' - the deviation does not exceed ± 2 %</li>
 +
</ul>
 +
 
 +
<b>Additional note</b>: the deviation values specified above are applicable in temperatures of < 50 °C. Under higher temperatures the deviation values become considerably higher.
 +
}}
    
==Status==
 
==Status==
Line 56: Line 99:     
{{#switch: {{{name}}}  
 
{{#switch: {{{name}}}  
| TRB141 = [[File:Networking_trb141_manual_input_output_status.png|border|class=tlt-border]]
+
| TRB141 = [[File:Networking_trb141_manual_input_output_status_v3.png|border|class=tlt-border]]
 
| RUT950 = [[File:Networking_RUT950_manual_input_output_status.png|border|class=tlt-border]]
 
| RUT950 = [[File:Networking_RUT950_manual_input_output_status.png|border|class=tlt-border]]
| RUT955 = [[File:Networking_RUT955_manual_input_output_status.png|border|class=tlt-border]]
+
| RUT955|RUT956|RUT906 = [[File:Networking_RUT955_manual_input_output_status_v3.png|border|class=tlt-border]]
 +
| TRB245|TRB246|TRB255|TRB256 = [[File:Networking_trb2_manual_input_output_status_v3.png|border|class=tlt-border]]
 
| [[File:Networking_{{lc:{{{series}}}}}_manual_input_output_status.png|border|class=tlt-border]]
 
| [[File:Networking_{{lc:{{{series}}}}}_manual_input_output_status.png|border|class=tlt-border]]
 
}}
 
}}
    
You can invert an Input pin by clicking the on/off slider under the "Inversion" column or switch the state of an Output pin by clicking the on/off slider under the "State" column.
 
You can invert an Input pin by clicking the on/off slider under the "Inversion" column or switch the state of an Output pin by clicking the on/off slider under the "State" column.
 +
 +
{{#switch: {{{name}}}
 +
| TRB141 = '''Note:''' When dry/wet input is not connected to anything - the state of level is undetermined.
 +
| RUT955|RUT956|RUT906|TRB245|TRB246|TRB255|TRB141|TRB256 =  [[File:Networking_manual_input_output_status_formula.png|border|class=tlt-border]]
 +
| RUT955|RUT956|RUT906|TRB245|TRB246|TRB255|TRB141|TRB256 = '''Note:''' You can edit the adc/acl formula to customize values.
 +
| #default =
 +
}}
    
===Status from command line===
 
===Status from command line===
Line 68: Line 119:  
You can also obtain the status of input and output pins via the command line (CLI or SSH). List of possible ubus values in {{{name}}} devices:
 
You can also obtain the status of input and output pins via the command line (CLI or SSH). List of possible ubus values in {{{name}}} devices:
   −
{{#ifeq: {{{name}}} | TRB141  
+
{{#switch: {{{series}}}
  | {{Template:Networking_trb141_manual_input_output_status}}
+
| TRB1 ={{#ifeq:{{{name}}}
  | {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
+
  | TRB141 | {{Template:Networking_trb141_manual_input_output_status}}
 +
  | {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
 +
  }}
 +
| #default = {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
 +
}}
 +
 
 +
{{#switch: {{{name}}}
 +
| RUT300|RUT301|RUT360|TRB245|TRB246|TRB255|TRB140|TRB141|TRB142|TRB143|TRB145|TRB256 = '''Note:''' Changes of configurable pin type  from output to input (and reverse) could causes the issues where the specific type was set in configurations. Make sure that configurations do not contradict one another.
 +
| #default =
 
}}
 
}}
   Line 77: Line 136:  
Enabling <b>Post/Get</b> provides the possibility to control the state of an output via HTTP POST/GET requests. The figure below is an example of the Auth Settings section of the Post/Get page. It is used to turn Post/Get requests on or off and to set authentication parameters.
 
Enabling <b>Post/Get</b> provides the possibility to control the state of an output via HTTP POST/GET requests. The figure below is an example of the Auth Settings section of the Post/Get page. It is used to turn Post/Get requests on or off and to set authentication parameters.
   −
[[File:Networking_rutos_manual_input_output_post_get_auth_settings.png|border|class=tlt-border]]
+
[[File:Networking_rutos_manual_input_output_post_get_auth_settings_v2.png|border|class=tlt-border]]
    
<table class="nd-mantable">
 
<table class="nd-mantable">
Line 89: Line 148:  
       <td>off | on; default: <b>off</b></td>
 
       <td>off | on; default: <b>off</b></td>
 
       <td>Turns Post/Get on or off.</td>
 
       <td>Turns Post/Get on or off.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Access</td>
 +
      <td>io_state | io_type | io_value; default: <b>io_state, io_type, io_value</b></td>
 +
      <td>Accessible methods. It is considered that all methods are allowed if this list is empty.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Line 106: Line 170:  
     </tr>
 
     </tr>
 
</table>
 
</table>
 +
 +
<b>Note:</b> password fields are required to enable POST/GET funcionallity.
    
===Post/Get examples===
 
===Post/Get examples===
Line 111: Line 177:  
Use a web browser or any other compatible software to send HTTP POST/GET requests to the device.
 
Use a web browser or any other compatible software to send HTTP POST/GET requests to the device.
   −
Below is a table containing syntax examples of this usage:  
+
====Setting====
 +
----
 +
Changing states of various I/O is possible using requests. Below is a table containing syntax examples of this usage:  
    
<table class="nd-othertables_2">
 
<table class="nd-othertables_2">
Line 121: Line 189:  
     <tr>
 
     <tr>
 
       <td>Turn Output state to high</td> <!--  another ifeq to change ip subnet according to trb14x...  -->
 
       <td>Turn Output state to high</td> <!--  another ifeq to change ip subnet according to trb14x...  -->
       <td><nowiki>http://192.168.</nowiki>{{#ifeq:{{{series}}}|TRB1|2|1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_state</b></span><nowiki>?username=user1&password=user1&pin=</nowiki>{{#ifeq:{{{series}}}|RUTX|dout1|dio1}}<span style="color: #0054a6;"><b><nowiki>&state=on</nowiki></b></span></td>
+
       <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_state</b></span><nowiki>?username=user1&password=user1&pin=</nowiki>{{#ifeq:{{{series}}}|RUTX|dout1|dio1}}<span style="color: #0054a6;"><b><nowiki>&state=on</nowiki></b></span></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>Turn Output state to low after 5 seconds for 3 seconds</td>
 
       <td>Turn Output state to low after 5 seconds for 3 seconds</td>
       <td><nowiki>http://192.168.</nowiki>{{#ifeq:{{{series}}}|TRB1|2|1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_state</b></span><nowiki>?username=user1&password=user1&pin=</nowiki>{{#ifeq:{{{series}}}|RUTX|dout1|dio1}}&state=on<span style="color: #0054a6;"><b><nowiki>&delay=5</nowiki></b></span><span style="color: #3232ff;"><b><nowiki>&time=3</nowiki></b></span></td>
+
       <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_state</b></span><nowiki>?username=user1&password=user1&pin=</nowiki>{{#ifeq:{{{series}}}|RUTX|dout1|dio1}}&state=on<span style="color: #0054a6;"><b><nowiki>&delay=5</nowiki></b></span><span style="color: #3232ff;"><b><nowiki>&time=3</nowiki></b></span></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
         <td>Change Configurable Input/Output with pin3 to Output</td>
 
         <td>Change Configurable Input/Output with pin3 to Output</td>
         <td><nowiki>http://192.168.</nowiki>{{#ifeq:{{{series}}}|TRB1|2|1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_type</b></span><nowiki>?username=user1&password=user1&</nowiki><span style="color: #0054a6;"><b>pin=dio1</b></span><span style="color: #3232ff;"><b><nowiki>&type=out</nowiki></b></span></td>
+
         <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_type</b></span><nowiki>?username=user1&password=user1&</nowiki><span style="color: #0054a6;"><b>pin=dio0</b></span><span style="color: #3232ff;"><b><nowiki>&type=out</nowiki></b></span></td>
 
     </tr>
 
     </tr>
 
|
 
|
 
     <tr>
 
     <tr>
 
       <td>Turn Output state to high</td>
 
       <td>Turn Output state to high</td>
       <td><nowiki>http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1</nowiki><span style="color: #0054a6;"><b><nowiki>&state=on</nowiki></b></span></td>
+
       <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1<span style="color: #0054a6;"><b><nowiki>&state=on</nowiki></b></span></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>Turn Output state to low after 5 seconds for 3 seconds</td>
 
       <td>Turn Output state to low after 5 seconds for 3 seconds</td>
       <td><nowiki>http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on</nowiki><span style="color: #0054a6;"><b><nowiki>&delay=5</nowiki></b></span><span style="color: #3232ff;"><b><nowiki>&time=3</nowiki></b></span></td>
+
       <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on<span style="color: #0054a6;"><b><nowiki>&delay=5</nowiki></b></span><span style="color: #3232ff;"><b><nowiki>&time=3</nowiki></b></span></td>
 
     </tr>
 
     </tr>
 
}}
 
}}
Line 146: Line 214:  
<b>Overview</b>:
 
<b>Overview</b>:
 
<ul>
 
<ul>
     <li>192.168.{{#ifeq:{{{series}}}|TRB1|2|1}}.1 - device default LAN IP address; replace it in accordance with your own configuration.</li>
+
     <li>192.168.{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1 - device default LAN IP address; replace it in accordance with your own configuration.</li>
 
{{#ifeq:{{{configurableio}}}|1|<li>io_state or io_type - allows you to change IO state or type.</li>}}
 
{{#ifeq:{{{configurableio}}}|1|<li>io_state or io_type - allows you to change IO state or type.</li>}}
 
     <li>username - login name from Post/Get configuration.</li>
 
     <li>username - login name from Post/Get configuration.</li>
Line 162: Line 230:  
<b>Examples:</b>
 
<b>Examples:</b>
   −
<ul>
+
* <b>Switch output to High:</b>
    <li><b>Switch output to High:</b><br><pre>curl -X GET "http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on"</pre></li>
+
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on</nowiki>"
    <li><b>Switch output to Low after delay:</b><br><pre>curl -X GET "http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=off&delay=5"</pre></li>
+
* <b>Switch output to Low after delay:</b>
</ul>
+
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=off&delay=5</nowiki>"
 +
 
 +
====Reading====
 +
----
 +
Getting the current state of various I/O is possible using requests. Usage is very similar to the examples above:
 +
 
 +
<b>Examples:</b>
 +
 
 +
{{#ifeq:{{{configurableio}}}|1|* {{#switch:{{{name}}}|TRB245|TRB246|TRB255|TRB256 = <b>Read state of Configurable Input/Output PIN2/PIN3/PIN4:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio0</nowiki>"
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio1</nowiki>"
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio2</nowiki>" | #default = <b>Read state of Configurable Input/Output PIN3/PIN4:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio0</nowiki>"
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio1</nowiki>"}}|
 +
* <b>Read state of digital input/output:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=din1</nowiki>"
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dout1</nowiki>"}}
 +
{{#ifeq:{{{analog}}}|1|* <b>Read state of analog input (in voltage mode):</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=adc0</nowiki>"|}}
 +
{{#ifeq:{{{acl}}}|1|* <b>Read state of analog input (in current mode):</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=acl0</nowiki>"|}}
 +
{{#ifeq:{{{dry}}}|1|* <b>Read state of Dry input PIN1:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dwi0</nowiki>"|}}
 +
{{#ifeq:{{{wet}}}|1|* <b>Read state of Wet input PIN2:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dwi1</nowiki>"|}}
 +
{{#ifeq:{{{isolated}}}|1|* <b>Read state of Isolated input:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=iio</nowiki>"|}}
 +
{{#ifeq:{{{onewire}}}|1|* <b>Read state of One Wire:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=onewire</nowiki>"|}}
 +
{{#ifeq:{{{relay}}}|1|* <b>Read state of Relay:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=relay0</nowiki>"|}}
 +
{{#ifeq:{{{latchingrelay}}}|1|* <b>Read state of Latching Relay:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=relay1</nowiki>"|}}
 +
{{#ifeq:{{{galvanic}}}|1|* <b>Read state of Galvanically isolated open collector output:</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dout2</nowiki>"|}}
 +
{{#ifeq:{{{digitalpassive}}}|1|* <b>Read state of Digital input (only for passive sensors):</b>
 +
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=din2</nowiki>"|}}
    
==Scheduler==
 
==Scheduler==
Line 237: Line 341:  
The <b>I/O Juggler</b> is a feature that provides the possibility to create automated rules that perform certain actions based on Input state changes and other conditions. The operating sequence of I/O Juggler can be visualized as such:
 
The <b>I/O Juggler</b> is a feature that provides the possibility to create automated rules that perform certain actions based on Input state changes and other conditions. The operating sequence of I/O Juggler can be visualized as such:
   −
[[File:Networking_rutos_manual_input_output_io_juggler_scheme_condition_mobile_{{{mobile}}}.png]]
+
[[File:Networking_rutos_manual_input_output_io_juggler_scheme_condition_mobile_{{{mobile}}}.png|border|class=tlt-border]]
    
When an Input Trigger occurs, the Input check to see if user-specified conditions are also met. If so, it executes a user-specified action.
 
When an Input Trigger occurs, the Input check to see if user-specified conditions are also met. If so, it executes a user-specified action.
Line 340: Line 444:  
Sends an email to specified recipients. Requires an existing email account configuration on the device. Email accounts can be configured in the System → Administration → Recipients → [[{{{name}}}_Administration#Email_Accounts|Email Accounts]] page.
 
Sends an email to specified recipients. Requires an existing email account configuration on the device. Email accounts can be configured in the System → Administration → Recipients → [[{{{name}}}_Administration#Email_Accounts|Email Accounts]] page.
   −
[[File:Networking_rutos_manual_input_output_io_juggler_actions_email.png|border|class=tlt-border]]
+
{{#switch: {{{name}}}
 +
| RUTX12| RUTM12 =  [[File:Networking rutos manual input output io juggler actions email rutx12 v2.png|border|class=tlt-border]]
 +
| #default = [[File:Networking rutos manual input output io juggler actions email v2.png|border|class=tlt-border]]
 +
}}
    
<table class="nd-mantable">
 
<table class="nd-mantable">
Line 362: Line 469:  
         <td>positive integer; default: <b>none</b></td>
 
         <td>positive integer; default: <b>none</b></td>
 
         <td>A period of time (in seconds) which has to pass after a trigger event before the action is executed.</td>
 
         <td>A period of time (in seconds) which has to pass after a trigger event before the action is executed.</td>
     </tr>
+
     </tr>{{#switch: {{{name}}}
 +
| RUTX12| RUTM12 =
 +
    <tr>
 +
        <td>Modem</td>
 +
        <td>Primary modem {{!}} Secondary modem; default: <b>Primary modem</b></td>
 +
        <td>Modem, which is used to get information from.</td>
 +
    </tr>|}}
 
     <tr>
 
     <tr>
 
         <td>Email account</td>
 
         <td>Email account</td>
Line 374: Line 487:  
     </tr>
 
     </tr>
 
</table>
 
</table>
{{#ifeq: {{{mobile}}} | 1 |
  −
====Type: SMS====
  −
----
  −
Sends an SMS message to specified recipients.
  −
  −
[[File:Networking_rutos_manual_input_output_io_juggler_actions_sms.png|border|class=tlt-border]]
     −
<table class="nd-mantable">
  −
    <tr>
  −
        <th>Field</th>
  −
      <th>Value</th>
  −
      <th>Description</th>
  −
    </tr>
  −
    <tr>
  −
        <td>Text message</td>
  −
        <td>string; default: <b>none</b> </td>
  −
        <td>SMS body text. Below this field you can find special codes that begin with the '%' sign. Each code represents a piece information related to the status of the device. Include these codes in the Text message for dynamic information reports.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Execution delay</td>
  −
        <td>positive integer; default: <b>none</b></td>
  −
        <td>A period of time (in seconds) which has to pass after a trigger event before the action is executed.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Recipients</td>
  −
        <td>Single number {{!}} Group; default: <b>Single number</b></td>
  −
        <td>Defines whether the SMS message will be sent to a single number or multiple numbers included in a user-configured Phone group. Phone groups can be configured in the System → Administration → Recipients → [[{{{name}}}_Administration#Phone_Groups|Phone Groups]] page.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Recipient's phone number {{!}} Phone group</td>
  −
        <td>phone number {{!}} phone group; default: <b>none</b></td>
  −
        <td>Phone number of a single recipient or a Phone group of multiple recipients. The name and selection type of this field depends on the value set in the 'Recipients' field.</td>
  −
    </tr>
  −
</table>
  −
|}}
   
====Type: Output====
 
====Type: Output====
 
----
 
----
Line 458: Line 537:  
</table>
 
</table>
   −
====HTTP====
+
====Type: HTTP====
 
----
 
----
 
Executes a HTTP POST/GET request.
 
Executes a HTTP POST/GET request.
   −
[[File:Networking_rutos_manual_input_output_io_juggler_actions_http.png|border|class=tlt-border]]
+
[[File:Networking_rutos_manual_input_output_io_juggler_actions_http_v2.png|border|class=tlt-border]]
    
<table class="nd-mantable">
 
<table class="nd-mantable">
Line 469: Line 548:  
       <th>Value</th>
 
       <th>Value</th>
 
       <th>Description</th>
 
       <th>Description</th>
    </tr>
  −
    <tr>
  −
        <td>Execution delay</td>
  −
        <td>positive integer; default: <b>none</b></td>
  −
        <td>A period of time (in seconds) which has to pass after a trigger event before this Action is executed.</td>
   
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Line 491: Line 565:  
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>Parameters</td>
+
         <td>Alt. parameters mode</td>
 +
        <td><span style="color:red">off</span> | <span style="color:blue">on</span>; default: <b>off</b></td>
 +
        <td>Choose a different way to pass parameters. If method is POST parameters are passed in request body. If method is GET parameters are passed throught the URL.</td>
 +
    </tr>
 +
    <tr>
 +
        <td><span style="color:red">Parameters</span></td>
 
         <td>string; default: <b>none</b></td>
 
         <td>string; default: <b>none</b></td>
 
         <td>Parameters that are to be included the Post/Get request. Select a parameter (right drop-down box) and enter a custom name for it (left text box).</td>
 
         <td>Parameters that are to be included the Post/Get request. Select a parameter (right drop-down box) and enter a custom name for it (left text box).</td>
 +
    </tr>
 +
    <tr>
 +
        <td><span style="color:blue">Text message</span></td>
 +
        <td>default: <b>Device name - %rn; Time stamp - %ts</b></td>
 +
        <td>Message to send.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Custom headers</td>
 +
        <td>string; default: <b>none</b></td>
 +
        <td>Allows to add custom headers to the HTTP requests.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Execution delay</td>
 +
        <td>positive integer; default: <b>none</b></td>
 +
        <td>A period of time (in seconds) which has to pass after a trigger event before this Action is executed.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
Line 573: Line 667:  
     </tr>
 
     </tr>
 
</table>
 
</table>
 +
 +
====Type: RMS====
 +
----
 +
Enables or disables RMS service.
 +
 +
[[File:Networking_rutos_manual_input_output_io_juggler_actions_rms_v1.png|border|class=tlt-border]]
 +
 +
<table class="nd-mantable">
 +
    <tr>
 +
        <th>Field</th>
 +
      <th>Value</th>
 +
      <th>Description</th>
 +
    </tr>
 +
    <tr>
 +
        <td>Execution delay</td>
 +
        <td>positive integer; default: <b>none</b></td>
 +
        <td>A period of time (in seconds) which has to pass after a trigger event before this Action is executed.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Enable RMS</td>
 +
        <td>off {{!}} on; default: <b>off</b> </td>
 +
        <td>Specifies whether RMS service will be enabled or disabled with this action.</td>
 +
    </tr>
 +
</table>
 +
 +
====Type: MQTT====
 +
----
 +
Executes a MQTT action.
 +
 +
[[File:Networking rutos manual input output io juggler actions mqtt.png|border|class=tlt-border]]
 +
 +
<table class="nd-mantable">
 +
    <tr>
 +
        <th>Field</th>
 +
      <th>Value</th>
 +
      <th>Description</th>
 +
    </tr>
 +
    <tr>
 +
        <td>Text message</td>
 +
        <td>string; default: <b>none</b> </td>
 +
        <td>Below this field you can find special codes that begin with the '%' sign. Each code represents a piece information related to the status of the device. Include these codes in the Text message for dynamic information reports.
 +
        </td>
 +
    </tr>
 +
    <tr>
 +
        <td>Topic</td>
 +
        <td>string; default: <b>none</b></td>
 +
        <td>The name of the topic that the broker will subscribe to.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Hostname</td>
 +
        <td>host | ip; default: <b>none</b> </td>
 +
        <td>Broker’s IP address or hostname.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Port</td>
 +
        <td>integer [0..65535]; default: <b>1883</b></td>
 +
        <td>Broker's port number.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Keepalive</td>
 +
        <td>positive integer; default: <b>none</b></td>
 +
        <td>The number of seconds after which the broker should send a PING message to the client if no other messages have been exchanged in that time</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Qos</td>
 +
        <td>At most once (0) | At least once (1) | Exactly once (2); default: <b>At most once (0)</b></td>
 +
        <td>A period of time (in seconds) which has to pass after a trigger event before this Action is executed.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Username</td>
 +
        <td>string; default: <b>none</b></td>
 +
        <td>Username used for authentication to the Broker.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Password</td>
 +
        <td>string; default: <b>none</b></td>
 +
        <td>Password used for authentication to the Broker.</td>
 +
    </tr>
 +
</table>
 +
 +
 
{{#ifeq: {{{dualsim}}} | 1 |
 
{{#ifeq: {{{dualsim}}} | 1 |
====Type: Change SIM====
+
====Type: SIM switch====
 
----
 
----
 
Switches to using the specified SIM card.
 
Switches to using the specified SIM card.
   −
[[File:Networking_rutos_manual_input_output_io_juggler_actions_change_sim.png|border|class=tlt-border]]
+
[[File:Networking_rutos_manual_input_output_io_juggler_actions_change_sim_v2.png|border|class=tlt-border]]
    
<table class="nd-mantable">
 
<table class="nd-mantable">
Line 595: Line 770:  
         <td>off {{!}} on; default: <b>off</b></td>
 
         <td>off {{!}} on; default: <b>off</b></td>
 
         <td>When set to 'on', switches to the opposite SIM card (the that is currently NOT in use). This can be used instead of selecting a specific SIM card to switch to.</td>
 
         <td>When set to 'on', switches to the opposite SIM card (the that is currently NOT in use). This can be used instead of selecting a specific SIM card to switch to.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Enable primary option transfer</td>
 +
        <td>off {{!}} on; default: <b>off</b></td>
 +
        <td>Enables simd service to change primary card while switching sims </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Line 600: Line 780:  
         <td>SIM1 {{!}} SIM2; default: <b>SIM1</b></td>
 
         <td>SIM1 {{!}} SIM2; default: <b>SIM1</b></td>
 
         <td>Selects a SIM card to switch to. This field is visible only when the 'Flip' field is set to 'off'.</td>
 
         <td>Selects a SIM card to switch to. This field is visible only when the 'Flip' field is set to 'off'.</td>
 +
    </tr>
 +
</table>
 +
|}}
 +
{{#ifeq: {{{mobile}}} | 1 |
 +
====Type: SMS====
 +
----
 +
Sends an SMS message to specified recipients.
 +
 +
[[File:Networking_rutos_manual_input_output_io_juggler_actions_sms.png|border|class=tlt-border]]
 +
 +
<table class="nd-mantable">
 +
    <tr>
 +
        <th>Field</th>
 +
      <th>Value</th>
 +
      <th>Description</th>
 +
    </tr>
 +
    <tr>
 +
        <td>Text message</td>
 +
        <td>string; default: <b>none</b> </td>
 +
        <td>SMS body text. Below this field you can find special codes that begin with the '%' sign. Each code represents a piece information related to the status of the device. Include these codes in the Text message for dynamic information reports.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Execution delay</td>
 +
        <td>positive integer; default: <b>none</b></td>
 +
        <td>A period of time (in seconds) which has to pass after a trigger event before the action is executed.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Recipients</td>
 +
        <td>Single number {{!}} Group; default: <b>Single number</b></td>
 +
        <td>Defines whether the SMS message will be sent to a single number or multiple numbers included in a user-configured Phone group. Phone groups can be configured in the System → Administration → Recipients → [[{{{name}}}_Administration#Phone_Groups|Phone Groups]] page.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Recipient's phone number {{!}} Phone group</td>
 +
        <td>phone number {{!}} phone group; default: <b>none</b></td>
 +
        <td>Phone number of a single recipient or a Phone group of multiple recipients. The name and selection type of this field depends on the value set in the 'Recipients' field.</td>
 +
    </tr>
 +
</table>
 +
|}}
 +
{{#ifeq: {{{wifi}}} | 1 |
 +
====Type: WiFi====
 +
----
 +
Sends an SMS message to specified recipients.
 +
 +
[[File:Networking_rutos_manual_input_output_io_juggler_actions_wifi_v1.png|border|class=tlt-border]]
 +
 +
<table class="nd-mantable">
 +
    <tr>
 +
        <th>Field</th>
 +
      <th>Value</th>
 +
      <th>Description</th>
 +
    </tr>
 +
    <tr>
 +
        <td>Execution delay</td>
 +
        <td>positive integer; default: <b>none</b></td>
 +
        <td>A period of time (in seconds) which has to pass after a trigger event before the action is executed.</td>
 +
    </tr>
 +
    <tr>
 +
        <td>Enable WiFi</td>
 +
        <td>off {{!}} on; default: <b>off</b></td>
 +
        <td>Specifies whether all WiFi interfaces will be enabled/disabled with this action.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>

Navigation menu