Changes

no edit summary
Line 1: Line 1:  
{{Template:Networking_rutos_manual_fw_disclosure
 
{{Template:Networking_rutos_manual_fw_disclosure
| fw_version = {{{series}}}_R_00.02.05.1
+
| fw_version = {{{series}}}{{#ifeq:{{{name}}}|RUT241|M|}}_R_00.07.01{{#ifeq:{{{series}}}|RUT9|.1|}}
 
| series    = {{{series}}}
 
| series    = {{{series}}}
 
}}
 
}}
 +
{{#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.5 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 |
 +
{{#switch: {{{name}}}
 +
  | RUT241 =
 +
  | #default =
 +
<br><i><b>Note</b>: <b>[[{{{name}}} System (legacy WebUI)|click here]]</b> for the old style WebUI (FW version RUT2XX_R_00.01.14.4 and earlier) user manual page.</i>}}
 +
<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>|}}
 
==Summary==
 
==Summary==
   Line 12: Line 20:  
| series = {{{series}}}
 
| series = {{{series}}}
 
}}
 
}}
 +
==Physical characteristics and I/O pin mapping==
   −
{{#switch: {{{series}}}
+
Electrical characteristics and I/O pin mapping information are presented below.
| RUTX =
  −
==Power Socket Pinout==
     −
The router's input/output pins can be found inside the power socket:
+
{{Template:Networking_rutos_manual_input_output_pinout
 +
| series        = {{{series}}}
 +
| configurableio = {{{configurableio}}}
 +
| input_volts    = {{{input_volts}}}
 +
}}{{#ifeq: {{{name}}} | TRB141 |
 +
<h3>Input/Output Connector Pinout</h3>
 +
----
 +
[[File:Networking_trb141_manual_input_output_input_output_connector_pinout.png]]
   −
[[File:Networking_rutos_manual_input_output_power_socket_pinout_configurableio_{{{configurableio}}}.png]]
  −
----
  −
The electric characteristics for the input and output pins are as follows:
   
<ul>
 
<ul>
     <li><b>Power</b>: 9-50 VDC positive (+).</li>
+
     <li><b>DI<sub>1</sub></b> & <b>DI<sub>2</sub></b> - DRY/WET configurable inputs:
    <li><b>Ground</b>: negative/ground (-).</li>
  −
    <li><b>Input</b>: digital non-isolated input.
   
         <ul>
 
         <ul>
             <li><i>logical low level:</i> 0 - 5 V;</li>
+
             <li><b>WET</b>: 0-1.9 V is detected as logical "0"; 1.9-3.8 V is detected as logical "1"</li>
             <li><i>logical high level:</i> 8 - 40 V.</li>
+
             <li><b>DRY</b>: is detected as logical "0"  when the input is shorted to GND; otherwise is detected as logical "1"</li>
 
         </ul>
 
         </ul>
 
     </li>
 
     </li>
     <li><b>Output</b>: digital open collector (OC) output; 30 V, 300 mA.</li>
+
     <li><b>NC<sub>1</sub></b>, <b>C<sub>1</sub></b> & <b>NO<sub>1</sub></b> - Normally Closed, Common and Normally Open contacts of the internal Non-Latching Relay respectively.<br>Maximum relay ratings: 0.5 A at 60 VDC/70 VAC, 1 A at 30 VDC/VAC.</li>
</ul>
+
     <li><b>NC<sub>2</sub></b>, <b>C<sub>2</sub></b> & <b>NO<sub>2</sub></b> - Normally Closed, Common and Normally Open contacts of the internal Latching Relay respectively.<br>Maximum relay ratings: 0.8 A at 70 VDC, 0.9 A at 70 VAC, 2 A at 30 VDC/VAC.</li>
| TRB1 =
+
     <li><b>A</b> - ADC input. Analog voltage range: 0-30 V. The input can be configured for 4-20 mA sensor protocol as current measurement (ACL) of 0-30 mA.</li>
{{#ifeq:{{{name}}}|TRB141
+
     <li><b>l</b> and <b>⏚</b> - isolated input contacts.
|
  −
==Characteristics==
  −
 
  −
TRB141 has eighteen input/output pins, two of them can be found inside the power socket and the rest sixteen are on the side of the device. A list of Input/Output electric characteristics inherent in TRB141 devices can be found bellow.
  −
 
  −
===Power Socket Pinout===
  −
----
  −
[[File:Networking_rutos_manual_input_output_power_socket_pinout_configurableio_{{{configurableio}}}.png]]
  −
 
  −
<ul>
  −
     <li><b>Power</b>: 9-30 VDC positive (+).</li>
  −
     <li><b>Ground</b>: negative/ground (-).</li>
  −
     <li><b>I/O</b>: programmable input/output pins; can be set to:
   
         <ul>
 
         <ul>
             <li><i>open collector (OC) output;</i> max 30 V;</li>
+
             <li>0-7.3 V is detected as logical "0"</li>
            <li><i>digital input;</i> 0-7.3 V is detected as logical "0"; 7.3-30 V is detected as logical "1".</li>
+
            <li>7.3-71 V is detected as logical "1"</li>
 
         </ul>
 
         </ul>
 
     </li>
 
     </li>
</ul>
+
    <li><b>+</b> - a power output connected directly to gateway's power supply input pin. This Output can be used to power an external 4-20 mA current sensor.</li>
 
+
    <li><b>3.8</b> is a 3.8 V power output that can be used to power 1-Wire sensors.</li>
===Connector Pins===
+
    <li><b>1W</b> - 1-Wire protocol input/output.</li>
----
+
    <li><b></b> - GND contact.</li>
[[File:Networking_trb141_manual_I-O_socket_v1.png|345x345px|border|class=tlt-border]]
+
</ul>|}}
 
  −
*'''DI1''' and '''DI2''' are DRY/WET configurable inputs. WET: 0-1.9 V is detected as logical "0", 1.9-3.8 V is detected as logical "1".  DRY: Logical "0" is detected when input is shorted to GND, otherwise  input is detected as logical "1".
  −
*'''NC<sub>1</sub> C<sub>1</sub>''' and '''NO<sub>1</sub>''' are respectively Normally Closed, Common and Normally Open contacts of internal Non-Latching Relay. Maximum relay ratings: 0.5A at 60 VDC/70 VAC, 1A at 30 VDC/VAC.
  −
*'''NC<sub>2</sub> C<sub>2</sub>''' and '''NO<sub>2</sub>''' are respectively Normally Closed, Common and Normally Open contacts of internal Latching Relay. Maximum relay ratings: 0.8A at 70 VDC, 0.9A at 70 VAC, 2A at 30 VDC/VAC.
  −
*'''A''' is ADC input. Analog voltage range 0 - 30 V. Input can be configured for 4-20mA sensor protocol as current measurement of 0 - 30 mA.
  −
*'''l''' and '''⏚''' are isolated input contacts. 0-7.3 V is detected as logical "0",  7.3-71 V is detected as logical "1".
  −
*'''+''' is power output connected directly to gateway's power supply input pin. This Output can be used for powering external 4-20 mA current sensor.
  −
*'''3.8''' is 3.8V power output which can be used to power 1-Wire sensors when needed.
  −
*'''1W''' 1-Wire protocol input/output.
  −
*'''''' is GND contact.
  −
 
  −
|
  −
 
  −
==Characteristics==
  −
 
  −
{{{name}}} input/output pins can be found inside the power socket:
  −
 
  −
===Power Socket Pins===
  −
----[[File:Networking_trb141_manual_I-O_power_v1.png|border|class=tlt-border|353x353px]]<br />
  −
 
  −
*'''Power''' pin: +9 ... +30 VDC positive power input.
  −
*'''Ground''' pin: negative/ground connection from power supply.
  −
*'''I/0''' pins: programmable Input/Output pins (Open Collector output, max  30V or Digital input where 0-5 V is detected as logical "0", 8-40 V is  detected as logical "1").
  −
}}
  −
 
  −
| TRB2XX =
  −
 
  −
|
  −
}}
      
==Status==
 
==Status==
   −
{{#switch:{{{series}}}
+
The <b>Status</b> page displays the current states of the device's input and output pins:
| TRB2 =
  −
The <b>Status</b> page displays the current states of the device configurable inputs and outputs:
  −
 
  −
[[File:Networking_trb2_manual_input_output_status_v1.png|border|class=tlt-border]]
  −
 
  −
You can invert Input pins by clicking on slider in <b>Inversion</b> column and switch Outputs pin state by clicking on slider in <b>State</b> column.
  −
 
  −
===Status from command line===
  −
----
  −
You can also obtain the status of the input or output from the command line. List of ubus possible <b>values</b> in {{{name}}} devices:
  −
 
  −
ioman.adc.adc0
  −
ioman.gpio.dio0
  −
ioman.gpio.dio1
  −
ioman.gpio.dio2
  −
 
  −
Call command <b>ubus call <u>value</u> status </b>:
  −
root@Teltonika-{{{name}}}:~# ubus call ioman.gpio.dio0 status
  −
{
  −
        "value": "0",
  −
        "direction": "out",
  −
        "bi_dir": true,
  −
        "invert_input": false
  −
}
  −
 
  −
<ul>
  −
    <li><b>dio0</b> is configurable input / output:
  −
        <ul>
  −
            <li>"value": "<b>0</b>" means low level state.</li>
  −
            <li>"value": "<b>1</b>" means high level state.</li>
  −
        </ul>
  −
    </li>
  −
    <li><b>adc0</b> is analog input:
  −
        <ul>
  −
            <li>"value": "<b>0.54</b>" means 0.54V.</li>
  −
        </ul>
  −
    </li>
  −
</ul>
  −
| TRB1 =
  −
{{#ifeq:{{{name}}}|TRB141
  −
|
  −
The <b>Status</b> page displays the current states of the device configurable inputs and outputs:
  −
 
  −
[[File:Networking_trb1_manual_input_output_status_v2.png|border|class=tlt-border]]
  −
 
  −
You can invert Input pins by clicking on slider in <b>Inversion</b> column and switch Outputs pin state by clicking on slider in <b>State</b> column.
     −
===Status from command line===
+
{{#switch: {{{name}}}  
----
+
| TRB141 = [[File:Networking_trb141_manual_input_output_status.png|border|class=tlt-border]]
You can also obtain the status of the input or output from the command line. List of ubus possible <b>values</b> in {{{name}}} devices:
+
| 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]]
ioman.acl.acl0
+
| [[File:Networking_{{lc:{{{series}}}}}_manual_input_output_status.png|border|class=tlt-border]]
ioman.adc.adc0
  −
ioman.dwi.dwi0
  −
ioman.dwi.dwi1
  −
ioman.gpio.dio0
  −
ioman.gpio.dio1
  −
ioman.gpio.iio
  −
ioman.gpio.onewire
  −
ioman.relay.relay0
  −
ioman.relay.relay1
  −
 
  −
In order to read value use '''''status''''' command.
  −
 
  −
ubus call ioman.gpio.dio0 status
  −
ubus call ioman.relay.relay0 status
  −
 
  −
To change input settings use '''''update''''' command and write the value.
  −
 
  −
ubus call ioman.gpio.dio0 update '{"value":"0"}'
  −
ubus call ioman.gpio.dio0 update '{"value":"1"}'
  −
 
  −
To change relay settings use '''''update''''' command and write state.
  −
 
  −
ubus call ioman.relay.relay0 update '{"state":"open"}'
  −
ubus call ioman.relay.relay0 update '{"state":"closed"}'
  −
 
  −
===Reading I/O values from directory===
  −
----
  −
 
  −
You can also collect I/O values straight from directories in your device.
  −
 
  −
====Digital inputs, Relay outputs====
  −
----
  −
 
  −
Following is a list of I/O directories in '''''/sys/class/gpio/''''':
  −
 
  −
dwi1(dry wet) input 14; toggle 12 (to read value refer to gpio14, to change state dry/wet refer to gpio12)
  −
dwi2(dry wet) input 15; toggle 38 (to read value refer to gpio15, to change state dry/wet refer to gpio38)
  −
relay open 20; closed 22; (turn off gpio20 set to 0, turn on gpio22 set value to 1; and visa versa)
  −
latching relay open 23; close 21 (turn off gpio23 set to 0, turn on gpio21 set value to 1; and visa versa)
  −
dio0 (power socket) input 13; output 16 (direction can be changed, to read input use gpio13, to control output use gpio16)
  −
dio1 (power socket) input 17; output 78 (direction can be changed, to read input use gpio17, to control output use gpio78)
  −
iio (isolated input) input 1021 (to read value refer to gpio1021)
  −
 
  −
In order to read digital input value use '''''cat''''' command.
  −
 
  −
cat /sys/class/gpio/gpio14/value
  −
cat /sys/class/gpio/gpio15/value
  −
cat /sys/class/gpio/gpio1021/value
  −
 
  −
To change input state use '''''echo''''' command where "1" is "dry" state and "0" is "wet" state.
  −
 
  −
echo 0 > /sys/class/gpio/gpio12/value
  −
echo 1 > /sys/class/gpio/gpio38/value
  −
 
  −
When one Relay output is open, other one is closed, so turning on/off the output you will have to change value on both pins. For that '''''echo''''' command is used. Same principle applies to Latching Relay output.
  −
 
  −
echo 1 > /sys/class/gpio/gpio20/value & echo 0 > /sys/class/gpio/gpio22/value
  −
echo 1 > /sys/class/gpio/gpio23/value & echo 0 > /sys/class/gpio/gpio21/value
  −
 
  −
====ADC (Analog Input)====
  −
----
  −
 
  −
ADC (Analog input) can be read from different directory, '''''/sys/devices/qpnp-vadc-8/mpp4_vadc''''' also using '''''cat''''' command, but received Result value has to be divided by 126582 to get number in volts.
  −
 
  −
cat /sys/devices/qpnp-vadc-8/mpp4_vadc
  −
 
  −
====One-wire====
  −
----
  −
 
  −
To read one-wire sensor data you will need to follow these steps:
  −
 
  −
Set one-wire sensor '''''value''''' to '''''1''''' using '''''ubus''''' command.
  −
 
  −
  ubus call ioman.gpio.onewire update '{"value":"1"}'
  −
 
  −
After that list out connected one-wire devices in directory '''''/sys/bus/w1/devices''''' with '''''ls''''' command.
  −
 
  −
  ls /sys/bus/w1/devices
  −
 
  −
Choose sensor that you want to know values off and using '''''cat''''' command read them from '''''/sys/bus/w1/devices/&#60;device_name&#62;/w1_slave''''' directory.
  −
 
  −
  cat /sys/bus/w1/devices/&#60;device_name&#62;/w1_slave
  −
 
  −
 
  −
| <!--    for other TRB1    -->
  −
The <b>Status</b> page displays the current states of the device input and output:
  −
 
  −
[[File:Networking_trb14x_manual_input_output_status_v1.png|border|class=tlt-border]]
  −
 
  −
You can invert Input pin by clicking on slider in <b>Inversion</b> column and switch Output pin state by clicking on slider in <b>State</b> column.
  −
 
  −
===Status from command line===
  −
----
  −
You can also obtain the status of the input or output from the command line. List of ubus possible <b>values</b> in {{{name}}} devices:
  −
 
  −
ioman.gpio.din1
  −
ioman.gpio.dout1
  −
 
  −
Call command <b>ubus call <u>value</u> status </b>:
  −
root@Teltonika-{{{name}}}:~# ubus call ioman.gpio.dout1 status
  −
{
  −
        "value": "0",
  −
        "direction": "in",
  −
        "bi_dir": false,
  −
        "invert_input": false
  −
}
  −
 
  −
<ul>
  −
    <li><b>din1</b> is the input:
  −
        <ul>
  −
            <li>"value": "<b>0</b>" means low level state.</li>
  −
            <li>"value": "<b>1</b>" means high level state.</li>
  −
        </ul>
  −
    </li>
  −
    <li><b>dout1</b> is the output:
  −
        <ul>
  −
            <li>"value": "<b>0</b>" means low level state.</li>
  −
            <li>"value": "<b>1</b>" means high level state.</li>
  −
        </ul>
  −
    </li>
  −
</ul>
   
}}
 
}}
| <!--    for rutx      -->
  −
The <b>Status</b> page displays the current states of the device input and output:
     −
[[File:Networking_rutx_manual_input_output_status_v2.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 Input pin by clicking on slider in <b>Inversion</b> column and switch Output pin state by clicking on slider in <b>State</b> column.
      
===Status from command line===
 
===Status from command line===
 
----
 
----
You can also obtain the status of the input or output from the command line. List of ubus possible <b>values</b> 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:
   −
ioman.gpio.dio0
+
{{#switch: {{{series}}}
ioman.gpio.dio1
+
| TRB1 ={{#ifeq:{{{name}}}
 
+
  | TRB141 | {{Template:Networking_trb141_manual_input_output_status}}
Call command <b>ubus call <u>value</u> status </b>:
+
  | {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
root@Teltonika-{{{name}}}:~# ubus call ioman.gpio.dio0 status
+
  }}
{
+
| #default = {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
        "value": "0",
  −
        "direction": "in",
  −
        "bi_dir": false,
  −
        "invert_input": false
  −
}
  −
 
  −
<ul>
  −
    <li><b>din1</b> is the input:
  −
        <ul>
  −
            <li>"value": "<b>0</b>" means low level state.</li>
  −
            <li>"value": "<b>1</b>" means high level state.</li>
  −
        </ul>
  −
    </li>
  −
    <li><b>dout1</b> is the output:
  −
        <ul>
  −
            <li>"value": "<b>0</b>" means low level state.</li>
  −
            <li>"value": "<b>1</b>" means high level state.</li>
  −
        </ul>
  −
    </li>
  −
</ul>
   
}}
 
}}
    
==Post/Get==
 
==Post/Get==
   −
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 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.png|border|class=tlt-border]]
Line 340: Line 116:  
===Post/Get examples===
 
===Post/Get examples===
 
----
 
----
It is possible to turn the output on and off by using a valid HTTP POST/GET syntax. Use a web browser or any other compatible software to submit HTTP POST/GET strings 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:  
 
Below is a table containing syntax examples of this usage:  
Line 360: Line 136:  
     <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>{{#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=dio0</b></span><span style="color: #3232ff;"><b><nowiki>&type=out</nowiki></b></span></td>
 
     </tr>
 
     </tr>
 
|
 
|
Line 400: Line 176:  
==Scheduler==
 
==Scheduler==
   −
The output <b>Scheduler</b> can be used to configure a timetable of when an output should be turned on or off, based on days of the week and hours of the day. Below is an example of the Scheduler section.
+
The output <b>Scheduler</b> can be used to configure a timetable of when an output should be turned on or off, based on days of the week or month and hours of the day. The General Configuration section is used to turn the Output Scheduler on or off.
   −
[[File:Networking_rutos_manual_input_output_scheduler_configure_scheduler_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
+
[[File:Networking_rutos_manual_input_output_scheduler_general_configuration.png|border|class=tlt-border]]
   −
Each field represents a day of the week and an hour of the day. The Scheduler table itself is interactive; click on different fields to set the state of an output for a specific window of time. For example:
+
The Scheduler is configured in the form of <b>Instances</b>. A Scheduler Instance defines a time interval during which the state of an output associated with the instance will be set to "High". The Output Scheduler Instances list is empty by default. Click the 'Add' button in order to create a new Scheduler Instance:
 +
 
 +
[[File:Networking_rutos_manual_input_output_scheduler_add_button.png|border|class=tlt-border]]
 +
 
 +
After this you should be redirected to the configuration page for the newly added Instance which should look similar to this:
 +
 
 +
[[File:Networking_rutos_manual_input_output_scheduler_instance_configuration_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
 +
 
 +
<table class="nd-mantable">
 +
    <tr>
 +
        <th>Field</th>
 +
      <th>Value</th>
 +
      <th>Description</th>
 +
    </tr>
 +
    <tr>
 +
      <td>Enable</td>
 +
      <td>off | on; default: <b>off</b></td>
 +
      <td>Turns the Scheduler Instance on or off.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Pin</td>
 +
      <td>output pin; default: <b>{{#ifeq:{{{configurableio}}}|1|Configurable Input/Output (2)|Output (4)}}</b></td>
 +
      <td>Output pin. The state of the selected output will be set to "High" during the time interval defined in the fields below.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Interval Type</td>
 +
      <td>Weekdays | <span style="color: red;">Month Days</span>; default: <b>Weekdays</b></td>
 +
      <td>Selects the interval type for scheduler to use.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Start Day</td>
 +
      <td>[Monday..Sunday] | [1..31]; default: <b>Monday | 1</b></td>
 +
      <td>The day that marks the start of the time interval.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Start Time</td>
 +
      <td>hh:mm ([00..23]:[00..59]); default: <b>12:00</b></td>
 +
      <td>The hour and minute that mark the start of the time interval.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>End Day</td>
 +
      <td>[Monday..Sunday] | [1..31]; default: <b>Tuesday | 1</b></td>
 +
      <td>The day that marks the end of the time interval.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>End Time</td>
 +
      <td>hh:mm ([00..23]:[00..59]); default: <b>12:00</b></td>
 +
      <td>The hour and minute that mark the end of the time interval.</td>
 +
    </tr>
 +
    <tr>
 +
      <td><span style="color: red;">Force Last Day</span></td>
 +
      <td>off | on; default: <b>off</b></td>
 +
      <td>Forces intervals to accept last day of month as a valid option if selected day does not exist during ongoing month. This field becomes visible only when 'Interval Type' is set to <i>Month Days</i>.</td>
 +
    </tr>
 +
</table>
   −
[[File:Networking_rutos_manual_input_output_scheduler_configure_scheduler_example_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
+
A Scheduler Instance will not work unless you turn both the the Scheduler service and the individual instance on:
   −
The Scheduler is turned off by default. To turn it on set the 'Enable' slider to "on".
+
[[File:Networking_rutos_manual_input_output_scheduler_on_off_slider_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
    
==I/O Juggler==
 
==I/O Juggler==
Line 580: Line 410:  
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>Recipient's phone number/Phone group</td>
+
         <td>Recipient's phone number {{!}} Phone group</td>
         <td>phone number | phone group; default: <b>none</b></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>
 
         <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>
 
     </tr>
Line 637: Line 467:  
====HTTP====
 
====HTTP====
 
----
 
----
Executes at HTTP Post/Get action.
+
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.png|border|class=tlt-border]]
Line 697: Line 527:  
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>Custom script/Script file</td>
+
         <td>Custom script {{!}} Script file</td>
 
         <td>-(interactive button) | filepath</td>
 
         <td>-(interactive button) | filepath</td>
 
         <td>Shows file upload window on click or provides the possibility to specify a path to an internal script file. The name and selection type of this field depends on the value set in the 'Specify path' field.</td>
 
         <td>Shows file upload window on click or provides the possibility to specify a path to an internal script file. The name and selection type of this field depends on the value set in the 'Specify path' field.</td>
Line 731: Line 561:  
Switches to using a specified Configuration Profile.
 
Switches to using a specified Configuration Profile.
   −
[[File:Networking_rutos_manual_input_output_io_juggler_actions_script.png|border|class=tlt-border]]
+
[[File:Networking_rutos_manual_input_output_io_juggler_actions_profile.png|border|class=tlt-border]]
    
<table class="nd-mantable">
 
<table class="nd-mantable">
Line 751: Line 581:  
</table>
 
</table>
 
{{#ifeq: {{{dualsim}}} | 1 |
 
{{#ifeq: {{{dualsim}}} | 1 |
=====Type: Change SIM=====
+
====Type: Change SIM====
 
----
 
----
 
Switches to using the specified SIM card.
 
Switches to using the specified SIM card.
Line 780: Line 610:  
</table>
 
</table>
 
|}}
 
|}}
 +
 
===Conditions===
 
===Conditions===
 
----
 
----
The <b>Conditions</b> section lets you manage your created Conditions for I/O Juggler Actions. The figure below is an example of Conditions section.
+
The <b>Conditions</b> section is used to manage and created Conditions for I/O Juggler Actions. The figure below is an example of the Conditions section, which is empty by default.
   −
[[File:Networking_rutx_manual_input_output_iojuggler_conditions_v1.png]]
+
[[File:Networking_rutos_manual_input_output_io_juggler_conditions.png|border|class=tlt-border]]
   −
====Modify condition====
+
To create a new Condition, look to the Add a Condition section; enter a custom name, select the Type of the Condition and click the 'Add' button.
----
     −
[[File:Networking_rutx_manual_input_output_iojuggler_conditions_modify_v1.png]]
+
[[File:Networking_rutos_manual_input_output_io_juggler_conditions_add_button.png|border|class=tlt-border]]
   −
Above is an example of what condition configuration window looks like. Below is a table with detailed explanations on
+
After this you should be redirected to the configuration page of the newly added Condition. You will find descriptions of each different Condition type described on the sections below.
how to configure the condition and what each of the fields mean. To avoid redundancy, screenshots for the other conditions
  −
will not be provided, since the structures, syntax and the overall look of the configuration windows for each condition
  −
are very similar. Instead, only tables containing information on how to edit each condition will be provided.  
     −
=====Boolean group=====
+
====Condition type: I/O====
 
----
 
----
<table class="nd-mantable">
+
I/O Condition type tracks the state of a selected input or output pin and considers the Condition as MET if that pin is in a user-specified state.
    <tr>
  −
        <th>Field</th>
  −
      <th>Value</th>
  −
      <th>Description</th>
  −
    </tr>
  −
    <tr>
  −
        <td>Condition type</td>
  −
        <td>Boolean group</td>
  −
        <td>A type of condition.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Boolean type</td>
  −
        <td>AND {{!}} NAND {{!}} OR {{!}} NOR; default: <b>AND</b></td>
  −
        <td>Type of boolean condition.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Add conditions</td>
  −
        <td>conditions; default: <b>none</b> </td>
  −
        <td>Specifies conditions which have to be met for action to occur. Conditions are optional.</td>
  −
    </tr>
  −
</table>
      +
[[File:Networking_rutos_manual_input_output_io_juggler_conditions_io_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
   −
=====I/O=====
  −
----
   
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
Line 829: Line 634:  
       <th>Value</th>
 
       <th>Value</th>
 
       <th>Description</th>
 
       <th>Description</th>
    </tr>
  −
    <tr>
  −
        <td>Condition type</td>
  −
        <td>I/O</td>
  −
        <td>A type of condition.</td>
   
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
         <td>I/O</td>
 
         <td>I/O</td>
 
         <td>inputs/outputs; default: <b>Output(4)</b></td>
 
         <td>inputs/outputs; default: <b>Output(4)</b></td>
         <td>Specifies the I/O to which the condition is listening to.</td>
+
         <td>Specifies the I/O pin to which this Condition is listening to.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
         <td>State</td>
 
         <td>State</td>
         <td>High {{!}} Low; default: <b>High</b> </td>
+
         <td>High | Low; default: <b>High</b></td>
         <td>Specifies in what state the pin has to be.</td>
+
         <td>Specifies in what state the pin has to be in in order for the Condition to be met.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
 +
{{#ifeq: {{{analog}}} | 1 |
 +
====Condition type: Analog voltage====
 +
----
 +
Analog voltage Condition type measures the value of the Analog input and checks whether it inside or outside the user-specified range.
    +
[[File:Networking_rutos_manual_input_output_io_juggler_conditions_analog_voltage.png|border|class=tlt-border]]
   −
{{#ifeq: {{{analog}}} | 1 |
  −
=====Analog voltage=====
  −
----
   
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
Line 856: Line 658:  
       <th>Value</th>
 
       <th>Value</th>
 
       <th>Description</th>
 
       <th>Description</th>
    </tr>
  −
    <tr>
  −
        <td>Condition type</td>
  −
        <td>Analog voltage</td>
  −
        <td>A type of condition.</td>
   
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Line 884: Line 681:  
</table>
 
</table>
 
|}}
 
|}}
 +
====Condition type: Boolean group====
 +
----
 +
Boolean Group will evaluate two or more existing conditions based on selected Boolean type. A Boolean Group condition will considered as MET based on the outcome of the evaluation performed along with one of the available Boolean types:
 +
 +
<ul>
 +
    <li><b>AND</b> - all selected conditions evaluate as TRUE.</li>
 +
    <li><b>NAND</b> - at least one selected condition evaluates as FALSE.</li>
 +
    <li><b>OR</b> - at least one selected condition evaluates as TRUE.</li>
 +
    <li><b>NOR</b> - none of the selected conditions evaluate as TRUE.</li>
 +
</ul>
    +
For example, if we have two time Conditions (hour and minute) and a third Condition of Boolean group: AND, both Conditions 1 & 2 have to be met for Condition 3 to be evaluated as TRUE.
   −
=====Minute=====
+
[[File:Networking_rutos_manual_input_output_io_juggler_boolean_group_scheme_true.png|border|class=tlt-border]]
----
  −
<table class="nd-mantable">
  −
    <tr>
  −
        <th>Field</th>
  −
      <th>Value</th>
  −
      <th>Description</th>
  −
    </tr>
  −
    <tr>
  −
        <td>Condition type</td>
  −
        <td>Minute</td>
  −
        <td>A type of condition.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Inverted function</td>
  −
        <td>off {{!}} on; default: <b>off</b> </td>
  −
        <td>Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Interval</td>
  −
        <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td>
  −
        <td>Switches between a specific value and a time interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:red;">Off:</span> Minute</td>
  −
        <td>integer [0..59]; default: <b>none</b></td>
  −
        <td>Specifies minute at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> Start minute</td>
  −
        <td>integer [0..59]; default: <b>none</b></td>
  −
        <td>Specifies starting minute of the interval at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> End minute</td>
  −
        <td>integer [0..59]; default: <b>none</b></td>
  −
        <td>Specifies ending minute of the interval at which the action can occur.</td>
  −
    </tr>
  −
</table>
     −
<b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration.
+
In this case, if at least one condition is no longer met, the Boolean group: AND Condition is evaluated as FALSE.
   −
=====Hour=====
+
[[File:Networking_rutos_manual_input_output_io_juggler_boolean_group_scheme_false.png|border|class=tlt-border]]
 
----
 
----
<table class="nd-mantable">
+
Below is an example of Condition type: Boolean group configuration.
    <tr>
  −
        <th>Field</th>
  −
      <th>Value</th>
  −
      <th>Description</th>
  −
    </tr>
  −
    <tr>
  −
        <td>Condition type</td>
  −
        <td>Hour</td>
  −
        <td>A type of condition.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Inverted function</td>
  −
        <td>off {{!}} on; default: <b>off</b> </td>
  −
        <td>Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Interval</td>
  −
        <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td>
  −
        <td>Switches between a specific value and a time interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:red;">Off:</span> Hour</td>
  −
        <td>integer [0..59]; default: <b>none</b></td>
  −
        <td>Specifies hour at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> Start hour</td>
  −
        <td>integer [0..59]; default: <b>none</b></td>
  −
        <td>Specifies starting hour of the interval at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> End hour</td>
  −
        <td>integer [0..59]; default: <b>none</b></td>
  −
        <td>Specifies ending hour of the interval at which the action can occur.</td>
  −
    </tr>
  −
</table>
     −
<b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration.
+
[[File:Networking_rutos_manual_input_output_io_juggler_conditions_boolean_group.png|border|class=tlt-border]]
   −
=====Weekday=====
  −
----
   
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
Line 979: Line 711:  
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>Condition type</td>
+
         <td>Boolean type</td>
         <td>Weekday</td>
+
         <td>AND | NAND | OR | NOR; default: <b>AND</b></td>
         <td>A type of condition.</td>
+
         <td>Type of boolean condition.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>Inverted function</td>
+
         <td>Add conditions</td>
         <td>off {{!}} on; default: <b>off</b> </td>
+
         <td>conditions; default: <b>none</b> </td>
        <td>Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval.</td>
+
         <td>Specifies conditions which have to be met for action to occur.</td>
    </tr>
  −
    <tr>
  −
        <td>Interval</td>
  −
        <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td>
  −
        <td>Switches between a specific value and a time interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:red;">Off:</span> Weekday</td>
  −
        <td>weekday; default: <b>Monday</b></td>
  −
        <td>Specifies weekday at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> Start weekday</td>
  −
        <td>weekday; default: <b>Monday</b></td>
  −
        <td>Specifies starting weekday of the interval at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> End weekday</td>
  −
        <td>weekday; default: <b>Monday</b></td>
  −
         <td>Specifies ending weekday of the interval at which the action can occur.</td>
   
     </tr>
 
     </tr>
 
</table>
 
</table>
   −
<b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration.
     −
=====Month day=====
+
 
 +
====Condition types: Date/Time====
 
----
 
----
<table class="nd-mantable">
+
Lastly, you can configure Conditions based on date and time. Date/time Conditions can be configured based on:
    <tr>
+
 
        <th>Field</th>
+
<ul>
      <th>Value</th>
+
     <li><b>Minute</b> of the hour</li>
      <th>Description</th>
+
     <li><b>Hour</b> of the day</li>
     </tr>
+
     <li><b>Day</b> of the <b>Week</b></li>
    <tr>
+
     <li><b>Day</b> of the <b>Month</b></li>
        <td>Condition type</td>
+
     <li><b>Day</b> of the <b>Year</b></li>
        <td>Month day</td>
+
</ul>
        <td>A type of condition.</td>
  −
    </tr>
  −
     <tr>
  −
        <td>Month override</td>
  −
        <td>off {{!}} on; default: <b>off</b> </td>
  −
        <td>If the option is selected and the specified day is not in the month then the condition uses the last day of the month.</td>
  −
     </tr>
  −
    <tr>
  −
        <td>Interval</td>
  −
        <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td>
  −
        <td>Switches between a specific value and a time interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:red;">Off:</span> Day of the month</td>
  −
        <td>integer [1..31]; default: <b>none</b></td>
  −
        <td>Specifies day of the month at which the action can occur.</td>
  −
     </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> Start day of the month</td>
  −
        <td>integer [1..31]; default: <b>none</b></td>
  −
        <td>Specifies starting day of the interval of the month at which the action can occur.</td>
  −
     </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> End day of the month</td>
  −
        <td>integer [1..31]; default: <b>none</b></td>
  −
        <td>Specifies ending day of the interval of the month at which the action can occur.</td>
  −
    </tr>
  −
</table>
     −
<b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration.
+
[[File:Networking_rutos_manual_input_output_io_juggler_conditions_date_time.png|border|class=tlt-border]]
   −
=====Year=====
+
Each type can be configured in two distinct ways:
----
  −
<table class="nd-mantable">
  −
    <tr>
  −
        <th>Field</th>
  −
      <th>Value</th>
  −
      <th>Description</th>
  −
    </tr>
  −
    <tr>
  −
        <td>Condition type</td>
  −
        <td>Year</td>
  −
        <td>A type of condition.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Inverted function</td>
  −
        <td>off {{!}} on; default: <b>off</b> </td>
  −
        <td>Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td>Interval</td>
  −
        <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td>
  −
        <td>Switches between a specific value and a time interval.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:red;">Off:</span> Day of the year</td>
  −
        <td>integer [1..366]; default: <b>none</b></td>
  −
        <td>Specifies day of the year at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> Start day of the year</td>
  −
        <td>integer [1..366]; default: <b>none</b></td>
  −
        <td>Specifies starting day of the interval of the year at which the action can occur.</td>
  −
    </tr>
  −
    <tr>
  −
        <td><span style="color:blue ;">On:</span> End day of the year</td>
  −
        <td>integer [1..366]; default: <b>none</b></td>
  −
        <td>Specifies ending day of the interval of the year at which the action can occur.</td>
  −
    </tr>
  −
</table>
     −
<b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration.
+
<ol>
 +
    <li><b>Specific time</b> - configured as a single value which defines the exact time when the Condition is considered as TRUE. e.g.:
 +
        <ul>
 +
            <li>Hour: <b>8</b></li>
 +
            <li>Day of Month: <b>1</b></li>
 +
        </ul>
 +
    </li>
 +
    <li><b>Time interval</b> - configured with a start and an end value which define a window of time during which the Condition is considered as TRUE. e.g.:
 +
        <ul>
 +
            <li>Hours: <b>8-12</b></li>
 +
            <li>Days of Month: <b>1-12</b></li>
 +
        </ul>
 +
    </li>
 +
</ol>
    
[[Category:{{{name}}} Services section]]
 
[[Category:{{{name}}} Services section]]

Navigation menu