Difference between revisions of "Template:Networking rutos manual input output"
(94 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Template: | + | {{Template:Networking_rutos_manual_fw_disclosure |
− | | | + | | fw_version = {{{series}}}_R_00.02.05.1 |
− | + | | series = {{{series}}} | |
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Summary== | ==Summary== | ||
Line 23: | Line 13: | ||
}} | }} | ||
− | == | + | {{#switch: {{{series}}} |
+ | | RUTX = | ||
+ | ==Power Socket Pinout== | ||
− | + | The router's input/output pins can be found inside the power socket: | |
− | + | [[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> | + | <li><b>Power</b>: 9-50 VDC positive (+).</li> |
+ | <li><b>Ground</b>: negative/ground (-).</li> | ||
+ | <li><b>Input</b>: digital non-isolated input. | ||
<ul> | <ul> | ||
− | <li>< | + | <li><i>logical low level:</i> 0 - 5 V;</li> |
− | <li>< | + | <li><i>logical high level:</i> 8 - 40 V.</li> |
</ul> | </ul> | ||
</li> | </li> | ||
− | <li><b> | + | <li><b>Output</b>: digital open collector (OC) output; 30 V, 300 mA.</li> |
− | <li><b> | + | </ul> |
− | <li><b> | + | | TRB1 = |
− | <li><b> | + | {{#ifeq:{{{name}}}|TRB141 |
+ | | | ||
+ | ==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>0-7.3 V is detected as logical "0" | + | <li><i>open collector (OC) output;</i> max 30 V;</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> | |
</ul> | </ul> | ||
</li> | </li> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
</ul> | </ul> | ||
− | | | + | |
+ | ===Connector Pins=== | ||
+ | ---- | ||
+ | [[File:Networking_trb141_manual_I-O_socket_v1.png|345x345px|border|class=tlt-border]] | ||
+ | |||
+ | *'''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== | ||
+ | |||
+ | {{#switch:{{{series}}} | ||
+ | | 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> | <ul> | ||
− | <li><b> | + | <li><b>dio0</b> is configurable input / output: |
<ul> | <ul> | ||
− | <li>0 | + | <li>"value": "<b>0</b>" means low level state.</li> |
− | <li>1. | + | <li>"value": "<b>1</b>" means high level state.</li> |
</ul> | </ul> | ||
− | <li>< | + | </li> |
+ | <li><b>adc0</b> is analog input: | ||
<ul> | <ul> | ||
− | <li> | + | <li>"value": "<b>0.54</b>" means 0.54V.</li> |
− | |||
</ul> | </ul> | ||
− | + | </li> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</ul> | </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=== | ||
---- | ---- | ||
− | < | + | 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.acl.acl0 | ||
+ | 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/<device_name>/w1_slave''''' directory. | ||
− | + | cat /sys/bus/w1/devices/<device_name>/w1_slave | |
− | |||
− | |||
− | The <b>Status</b> page displays the current states of the device | + | | <!-- 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 | + | 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 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 input | + | 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.dio0 | |
− | + | ioman.gpio.dio1 | |
− | + | ||
− | + | Call command <b>ubus call <u>value</u> status </b>: | |
− | + | root@Teltonika-{{{name}}}:~# ubus call ioman.gpio.dio0 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> | ||
}} | }} | ||
==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 | + | 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. |
− | [[File: | + | [[File:Networking_rutos_manual_input_output_post_get_auth_settings.png|border|class=tlt-border]] |
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
Line 155: | Line 318: | ||
<tr> | <tr> | ||
<td>Enable</td> | <td>Enable</td> | ||
− | <td>off | + | <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> | ||
<tr> | <tr> | ||
Line 179: | Line 337: | ||
</tr> | </tr> | ||
</table> | </table> | ||
− | |||
− | |||
===Post/Get examples=== | ===Post/Get examples=== | ||
---- | ---- | ||
− | Use a web browser or any other compatible software to | + | 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. |
− | + | Below is a table containing syntax examples of this usage: | |
− | |||
− | |||
<table class="nd-othertables_2"> | <table class="nd-othertables_2"> | ||
Line 195: | Line 349: | ||
<th style="width: 900px">POST/GET URL</th> | <th style="width: 900px">POST/GET URL</th> | ||
</tr> | </tr> | ||
− | + | {{#ifeq:{{{configurableio}}}|1| | |
<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>{{# | + | <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> |
</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>{{# | + | <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> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Change Configurable Input/Output with pin3 to Output</td> |
− | <td><nowiki>http://192.168.</nowiki>{{# | + | <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> |
</tr> | </tr> | ||
+ | | | ||
<tr> | <tr> | ||
− | + | <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> | |
</tr> | </tr> | ||
− | |||
<tr> | <tr> | ||
− | + | <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> | |
</tr> | </tr> | ||
− | + | }} | |
− | + | ||
</table> | </table> | ||
<b>Overview</b>: | <b>Overview</b>: | ||
<ul> | <ul> | ||
− | <li>192.168.{{# | + | <li>192.168.{{#ifeq:{{{series}}}|TRB1|2|1}}.1 - device default LAN IP address; replace it in accordance with your own configuration.</li> |
− | {{#ifeq:{{{configurableio}}}|1|<li>io_state | + | {{#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> | ||
<li>password- password from Post/Get configuration.</li> | <li>password- password from Post/Get configuration.</li> | ||
<li>state - turn Output on or off.</li> | <li>state - turn Output on or off.</li> | ||
{{#ifeq:{{{configurableio}}}|1|<li>type - turn Configurable Input/Output to Input or Output.</li>}} | {{#ifeq:{{{configurableio}}}|1|<li>type - turn Configurable Input/Output to Input or Output.</li>}} | ||
− | |||
<li>delay - defines a delay (in seconds) after which the specified action will be performed.</li> | <li>delay - defines a delay (in seconds) after which the specified action will be performed.</li> | ||
<li>time - defines a window of time during which the action will take place. For instance, if you post an <i>on</i> action while specifying <i>time=5</i>, the output will turn on and stay on for 5 seconds before turning off.</li> | <li>time - defines a window of time during which the action will take place. For instance, if you post an <i>on</i> action while specifying <i>time=5</i>, the output will turn on and stay on for 5 seconds before turning off.</li> | ||
Line 240: | Line 393: | ||
<b>Examples:</b> | <b>Examples:</b> | ||
− | + | <ul> | |
− | + | <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> | |
− | + | <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> | |
− | + | </ul> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==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 | + | 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. |
− | |||
− | |||
− | + | [[File:Networking_rutos_manual_input_output_scheduler_configure_scheduler_configurableio_{{{configurableio}}}.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: | |
− | + | [[File:Networking_rutos_manual_input_output_scheduler_configure_scheduler_example_configurableio_{{{configurableio}}}.png|border|class=tlt-border]] | |
− | + | The Scheduler is turned off by default. To turn it on set the 'Enable' slider to "on". | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==I/O Juggler== | ==I/O Juggler== | ||
Line 351: | Line 414: | ||
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]] |
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 434: | Line 497: | ||
===Actions=== | ===Actions=== | ||
---- | ---- | ||
− | The <b>Actions</b> section is used to manage and create new Actions that | + | The <b>Actions</b> section is used to manage existing and create new Actions that be executed by the I/O Juggler Rules. The figure below is an example of the Actions section, which is empty by default. |
[[File:Networking_rutos_manual_input_output_io_juggler_actions_actions.png|border|class=tlt-border]] | [[File:Networking_rutos_manual_input_output_io_juggler_actions_actions.png|border|class=tlt-border]] | ||
Line 442: | Line 505: | ||
[[File:Networking_rutos_manual_input_output_io_juggler_actions_add_button.png|border|class=tlt-border]] | [[File:Networking_rutos_manual_input_output_io_juggler_actions_add_button.png|border|class=tlt-border]] | ||
− | After this you will be redirected to the configuration page for the newly added Action, which should look similar to this (example for | + | After this you will be redirected to the configuration page for the newly added Action, which should look similar to this (example for the 'Reboot' action only): |
[[File:Networking_rutos_manual_input_output_io_juggler_actions_configuration_reboot.png|border|class=tlt-border]] | [[File:Networking_rutos_manual_input_output_io_juggler_actions_configuration_reboot.png|border|class=tlt-border]] | ||
− | + | ====Modify action==== | |
+ | ---- | ||
− | + | [[File:Networking_rutx_manual_input_output_iojuggler_actions_modify_v1.png]] | |
− | ==== | + | Above is an example of what action configuration window looks like. Below is a table with detailed explanations on |
+ | how to configure the action and what each of the fields mean. To avoid redundancy, screenshots for the other actions | ||
+ | will not be provided, since the structures, syntax and the overall look of the configuration windows for each action | ||
+ | are very similar. Instead, only tables containing information on how to edit each action will be provided. | ||
+ | |||
+ | =====Profile===== | ||
---- | ---- | ||
− | + | <table class="nd-mantable"> | |
+ | <tr> | ||
+ | <th>Field</th> | ||
+ | <th>Value</th> | ||
+ | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>Profile</td> | ||
+ | <td>Changes current profile to specified one when action triggers.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Execution delay</td> | ||
+ | <td>positive integer; default: <b>none</b></td> | ||
+ | <td>How many seconds will pass before the action is excecuted after it's triggered.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Profile</td> | ||
+ | <td>profile; default: <b>default</b> </td> | ||
+ | <td>Choose a profile that will be applied when the action triggers.</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> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | =====Email===== | ||
+ | ---- | ||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 465: | Line 557: | ||
<th>Value</th> | <th>Value</th> | ||
<th>Description</th> | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>Email</td> | ||
+ | <td>Sends email when action triggers.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 474: | Line 571: | ||
<td>Text message</td> | <td>Text message</td> | ||
<td>string; default: <b>none</b> </td> | <td>string; default: <b>none</b> </td> | ||
− | <td> | + | <td>Text message to be sent in email. Below this field you can find device information and |
+ | their codes, which can be included in messages to send device information.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Execution delay</td> | <td>Execution delay</td> | ||
<td>positive integer; default: <b>none</b></td> | <td>positive integer; default: <b>none</b></td> | ||
− | <td> | + | <td>How many seconds will pass before the action is excecuted after it's triggered.</td> |
− | </tr> | + | </tr> |
− | |||
<tr> | <tr> | ||
− | <td> | + | <td>Email user</td> |
− | <td> | + | <td>email user; default: <b>none</b></td> |
− | <td> | + | <td>Configured email user.</td> |
− | </tr> | + | </tr> |
<tr> | <tr> | ||
− | <td> | + | <td>Recipient's email address</td> |
− | <td> | + | <td>string; default: <b>none</b></td> |
− | <td>Email | + | <td>Email receiver(s).</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Add conditions</td> |
− | <td> | + | <td>conditions; default: <b>none</b> </td> |
− | <td> | + | <td>Specifies conditions which have to be met for action to occur. Conditions are optional.</td> |
</tr> | </tr> | ||
</table> | </table> | ||
− | ==== | + | {{#ifeq:{{{mobile}}}|0|| |
+ | =====SMS===== | ||
---- | ---- | ||
− | + | <table class="nd-mantable"> | |
+ | <tr> | ||
+ | <th>Field</th> | ||
+ | <th>Value</th> | ||
+ | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>SMS</td> | ||
+ | <td>Sends sms when action triggers.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Text message</td> | ||
+ | <td>string; default: <b>none</b> </td> | ||
+ | <td>Text message to be sent in sms. Below this field you can find device information and | ||
+ | their codes, which can be included in messages to send device information.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Execution delay</td> | ||
+ | <td>positive integer; default: <b>none</b></td> | ||
+ | <td>How many seconds will pass before the action is excecuted after it's triggered.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Recipients</td> | ||
+ | <td><span style="color:red;">Single number</span> {{!}} <span style="color:blue;">Group</span>; default: <b>Single number</b></td> | ||
+ | <td>How many recipients will get the message.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><span style="color:red;">Single number:</span> Recipient's phone number</td> | ||
+ | <td>number; default: <b>none</b></td> | ||
+ | <td>SMS receiver.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><span style="color:blue;">Group:</span> Phone group</td> | ||
+ | <td>phone group; default: <b>none</b></td> | ||
+ | <td>SMS receivers.</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> | ||
− | + | <b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration. | |
+ | }} | ||
+ | =====Output===== | ||
+ | ---- | ||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 510: | Line 653: | ||
<th>Value</th> | <th>Value</th> | ||
<th>Description</th> | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>Output</td> | ||
+ | <td>Changes Output state when action triggers.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Execution delay</td> | <td>Execution delay</td> | ||
<td>positive integer; default: <b>none</b></td> | <td>positive integer; default: <b>none</b></td> | ||
− | <td> | + | <td>How many seconds will pass before the action is excecuted after it's triggered.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Control</td> | <td>Control</td> | ||
− | <td>output; default: <b> | + | <td>output; default: <b>Output(4)</b></td> |
− | <td> | + | <td>Specifies the output of which the state will be changed.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Revert</td> | <td>Revert</td> | ||
− | <td>integer; default: <b>0</b></td> | + | <td>integer; default: <b>0</b> </td> |
− | <td>After how many seconds the state will revert. If left | + | <td>After how many seconds the state will revert. If left 0 or empty the state will not revert.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Maintain</td> | <td>Maintain</td> | ||
<td>off | on; default: <b>on</b></td> | <td>off | on; default: <b>on</b></td> | ||
− | <td> | + | <td>Maintain this IO state after reboot.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Invert</td> | <td>Invert</td> | ||
<td>off | on; default: <b>off</b></td> | <td>off | on; default: <b>off</b></td> | ||
− | <td> | + | <td>On action inverts pin state.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>State copying</td> | <td>State copying</td> | ||
<td>off | on; default: <b>off</b></td> | <td>off | on; default: <b>off</b></td> | ||
− | <td>Copies the state from | + | <td>Copies the state from selected input to selected output.</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 | + | <td>Specifies what state the output pin will be set to.</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> | </tr> | ||
</table> | </table> | ||
− | ==== | + | |
+ | =====HTTP===== | ||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 559: | Line 709: | ||
<th>Value</th> | <th>Value</th> | ||
<th>Description</th> | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>HTTP</td> | ||
+ | <td>Sends HTTP request when action triggers.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Execution delay</td> | ||
+ | <td>positive integer; default: <b>none</b></td> | ||
+ | <td>How many seconds will pass before the action is excecuted after it's triggered.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Method</td> | <td>Method</td> | ||
− | <td>Get | + | <td>Get {{!}} Post; default: <b>Get</b></td> |
− | <td> | + | <td>Specifies the output of which the state will be changed.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>URL</td> | <td>URL</td> | ||
<td>string; default: <b>none</b> </td> | <td>string; default: <b>none</b> </td> | ||
− | <td>URL to send | + | <td>URL to send request to.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Verify</td> | <td>Verify</td> | ||
<td>off | on; default: <b>off</b></td> | <td>off | on; default: <b>off</b></td> | ||
− | <td>Verifies the validity of certificates | + | <td>Verifies the validity of certificates, only works for https.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td | + | <td>Parameters</td> |
− | |||
− | |||
− | |||
− | |||
− | |||
<td>string; default: <b>none</b></td> | <td>string; default: <b>none</b></td> | ||
− | <td>Parameters | + | <td>Parameters and their value from device for usage in Post or Get requests. |
+ | {{#switch:{{{name}}} | ||
+ | | RUTX10 = Possible values: Time stamp, UNIX time, WAN MAC, Wired WAN IP, Network info, Product code, LAN MAC address, LAN IP address, Serial number, Current FW version, Monitoring status, Input Name, Input state change trigger </td> | ||
+ | | RUTX08 = Possible values: Time stamp, UNIX time, WAN MAC, Wired WAN IP, Network info, Product code, LAN MAC address, LAN IP address, Serial number, Current FW version, Monitoring status, Input Name, Input state change trigger </td> | ||
+ | | Possible values: Time stamp, UNIX time, WAN MAC, Wired WAN IP, Network info, Product code, LAN MAC address, LAN IP address, Serial number, Current FW version, Monitoring status, Input Name, Input state change trigger, RSCP, ECIO, SIM slot in use, CELLID, RSRQ, SINR, RSRP, SIM State, SIM pin state, Modem model, IMSI, Modem serial number , Network State, Data connection state, Connection type, Mobile IP, Operator name, Signal strenght, IMEI, ICCID, Neighbour cells, Network serving.</td> | ||
+ | }} | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <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> | |
− | |||
− | |||
− | |||
− | <td> | ||
− | <td> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
</tr> | </tr> | ||
</table> | </table> | ||
− | ==== | + | |
+ | =====Script===== | ||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 617: | Line 760: | ||
<th>Value</th> | <th>Value</th> | ||
<th>Description</th> | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>Script</td> | ||
+ | <td>Runs script when action triggers.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Execution delay</td> | <td>Execution delay</td> | ||
<td>positive integer; default: <b>none</b></td> | <td>positive integer; default: <b>none</b></td> | ||
− | <td> | + | <td>How many seconds will pass before the action is excecuted after it's triggered.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Specify path</td> | <td>Specify path</td> | ||
− | <td>Upload a script | + | <td><span style="color:red;">Upload a script</span> {{!}} <span style="color:blue;">Specify path</span>; default: <b>Upload a script</b></td> |
− | <td> | + | <td>Selection to upload a script or specify its absolute path in device.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td>Custom script | + | <td><span style="color:red;">Upload a script:</span> Custom script</td> |
− | <td>-(interactive button) | + | <td>-(interactive button)</td> |
− | <td>Shows file upload window on click | + | <td>Shows file upload window on click.</td> |
+ | </tr> | ||
+ | <tr> | ||
+ | <td><span style="color:blue;">Specify path:</span> Script file</td> | ||
+ | <td>string; default: <b>none</b></td> | ||
+ | <td>Absolute path to script file in device.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Arguments</td> | <td>Arguments</td> | ||
− | <td>string; default: <b>none</b></td> | + | <td>string; default: <b>none</b> </td> |
<td>Optional arguments which can be provided for the script. You can include device information with values given below this input field.</td> | <td>Optional arguments which can be provided for the script. You can include device information with values given below this input field.</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> | </tr> | ||
</table> | </table> | ||
− | ==== | + | <b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration. |
+ | |||
+ | =====Reboot===== | ||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 651: | Line 807: | ||
<th>Value</th> | <th>Value</th> | ||
<th>Description</th> | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>Reboot</td> | ||
+ | <td>Reboots device when action triggers.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Execution delay</td> | <td>Execution delay</td> | ||
<td>positive integer; default: <b>none</b></td> | <td>positive integer; default: <b>none</b></td> | ||
− | <td> | + | <td>How many seconds will pass before the action is excecuted after it's triggered.</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> | </tr> | ||
</table> | </table> | ||
− | ==== | + | {{#ifeq:{{{mobile}}}|0|| |
+ | {{#ifeq:{{{series}}}|TRB1|| | ||
+ | =====Change sim===== | ||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 670: | Line 834: | ||
<th>Value</th> | <th>Value</th> | ||
<th>Description</th> | <th>Description</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Type</td> | ||
+ | <td>Change sim</td> | ||
+ | <td>Changes active sim card when action triggers.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Execution delay</td> | <td>Execution delay</td> | ||
<td>positive integer; default: <b>none</b></td> | <td>positive integer; default: <b>none</b></td> | ||
− | <td> | + | <td>How many seconds will pass before the action is excecuted after it's triggered.</td> |
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Flip</td> | ||
+ | <td><span style="color:red;">off</span> {{!}} on; default: <b>off</b></td> | ||
+ | <td>Switches to a different sim card.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td><span style="color:red;">Off:</span> Target</td> | ||
+ | <td>Sim1 {{!}} Sim2; default: <b>Sim1</b></td> | ||
+ | <td>Switches to a selected sim card.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Add conditions</td> |
− | <td> | + | <td>conditions; default: <b>none</b> </td> |
− | <td> | + | <td>Specifies conditions which have to be met for action to occur. Conditions are optional.</td> |
</tr> | </tr> | ||
</table> | </table> | ||
− | ==== | + | <b>Note</b>: this table has coloring scheme to indicate which fields can be seen with different configuration. |
+ | }} | ||
+ | }} | ||
+ | ===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. | ||
+ | |||
+ | [[File:Networking_rutx_manual_input_output_iojuggler_conditions_v1.png]] | ||
+ | |||
+ | ====Modify condition==== | ||
---- | ---- | ||
− | |||
− | [[File: | + | [[File:Networking_rutx_manual_input_output_iojuggler_conditions_modify_v1.png]] |
+ | Above is an example of what condition configuration window looks like. Below is a table with detailed explanations on | ||
+ | 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===== | ||
+ | ---- | ||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 696: | Line 892: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition type</td> |
− | <td> | + | <td>Boolean group</td> |
− | <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> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Add conditions</td> |
− | <td> | + | <td>conditions; default: <b>none</b> </td> |
− | <td>Specifies | + | <td>Specifies conditions which have to be met for action to occur. Conditions are optional.</td> |
</tr> | </tr> | ||
</table> | </table> | ||
− | ==== | + | |
+ | =====I/O===== | ||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 725: | Line 918: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition type</td> |
− | <td> | + | <td>I/O</td> |
− | <td> | + | <td>A type of condition.</td> |
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>I/O</td> |
− | <td> | + | <td>inputs/outputs; default: <b>Output(4)</b></td> |
− | <td> | + | <td>Specifies the I/O to which the condition is listening to.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>State</td> |
− | <td> | + | <td>High {{!}} Low; default: <b>High</b> </td> |
− | <td> | + | <td>Specifies in what state the pin has to be.</td> |
</tr> | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | {{#ifeq: {{{analog}}} | 1 | | ||
+ | =====Analog voltage===== | ||
+ | ---- | ||
+ | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
− | < | + | <th>Field</th> |
− | + | <th>Value</th> | |
− | + | <th>Description</th> | |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition type</td> |
− | <td> | + | <td>Analog voltage</td> |
− | <td> | + | <td>A type of condition.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition</td> |
− | <td> | + | <td>Inside voltage {{!}} Outside voltage; default: <b>Inside voltage</b> </td> |
− | <td> | + | <td>Whether to evaluate the condition as true inside or outside the specified range.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Input</td> |
− | <td> | + | <td>inputs; default: <b>none</b></td> |
− | <td> | + | <td>Specifies the analog input to which the condition is listening to.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Min voltage</td> |
− | <td> | + | <td>positive float; default: <b>none</b></td> |
− | <td> | + | <td>Specifies minimum voltage of range.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Max voltage</td> |
− | <td> | + | <td>positive float; default: <b>none</b></td> |
− | <td> | + | <td>Specifies magimum voltage of range.</td> |
</tr> | </tr> | ||
+ | </table> | ||
+ | |}} | ||
+ | |||
+ | |||
+ | =====Minute===== | ||
+ | ---- | ||
+ | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
− | < | + | <th>Field</th> |
− | + | <th>Value</th> | |
− | + | <th>Description</th> | |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition type</td> |
− | <td> | + | <td>Minute</td> |
− | <td> | + | <td>A type of condition.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Inverted function</td> |
− | <td>off {{!}} on; default: <b>off</b></td> | + | <td>off {{!}} on; default: <b>off</b> </td> |
− | <td> | + | <td>Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval.</td> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td><span style="color: | + | <td>Interval</td> |
− | + | <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td> | |
− | <td> | + | <td>Switches between a specific value and a time interval.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td><span style="color: | + | <td><span style="color:red;">Off:</span> Minute</td> |
− | <td>. | + | <td>integer [0..59]; default: <b>none</b></td> |
− | <td> | + | <td>Specifies minute at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td><span style="color:blue"> | + | <td><span style="color:blue ;">On:</span> Start minute</td> |
− | <td> | + | <td>integer [0..59]; default: <b>none</b></td> |
− | <td> | + | <td>Specifies starting minute of the interval at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td><span style="color:blue"> | + | <td><span style="color:blue ;">On:</span> End minute</td> |
− | <td> | + | <td>integer [0..59]; default: <b>none</b></td> |
− | <td> | + | <td>Specifies ending minute 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. | ||
− | + | =====Hour===== | |
− | ==== | ||
---- | ---- | ||
− | |||
− | |||
− | |||
− | |||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 832: | Line 1,024: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition type</td> |
− | <td> | + | <td>Hour</td> |
− | <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> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:red;">Off:</span> Hour</td> |
− | <td> | + | <td>integer [0..59]; default: <b>none</b></td> |
− | <td> | + | <td>Specifies hour at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> Start hour</td> |
− | <td> | + | <td>integer [0..59]; default: <b>none</b></td> |
− | <td> | + | <td>Specifies starting hour of the interval at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> End hour</td> |
− | <td> | + | <td>integer [0..59]; default: <b>none</b></td> |
− | <td> | + | <td>Specifies ending hour 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. | |
+ | =====Weekday===== | ||
+ | ---- | ||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 867: | Line 1,066: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition type</td> |
− | <td> | + | <td>Weekday</td> |
− | <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> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:red;">Off:</span> Weekday</td> |
− | <td> | + | <td>weekday; default: <b>Monday</b></td> |
− | <td> | + | <td>Specifies weekday at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> Start weekday</td> |
− | <td> | + | <td>weekday; default: <b>Monday</b></td> |
− | <td> | + | <td>Specifies starting weekday of the interval at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> End weekday</td> |
− | <td> | + | <td>weekday; default: <b>Monday</b></td> |
− | <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===== | ||
+ | ---- | ||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 902: | Line 1,108: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Condition type</td> |
− | <td> | + | <td>Month day</td> |
− | <td> | + | <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> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Interval</td> |
− | <td>off | + | <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td> |
− | <td> | + | <td>Switches between a specific value and a time interval.</td> |
</tr> | </tr> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<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> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> Start day of the month</td> |
− | <td> | + | <td>integer [1..31]; default: <b>none</b></td> |
− | <td>Specifies the | + | <td>Specifies starting day of the interval of the month at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> End day of the month</td> |
− | <td> | + | <td>integer [1..31]; default: <b>none</b></td> |
− | <td>Specifies | + | <td>Specifies ending day of the interval of the month 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. | |
+ | =====Year===== | ||
+ | ---- | ||
<table class="nd-mantable"> | <table class="nd-mantable"> | ||
<tr> | <tr> | ||
Line 963: | Line 1,150: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td>Condition</td> | + | <td>Condition type</td> |
− | <td> | + | <td>Year</td> |
− | <td> | + | <td>A type of condition.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Inverted function</td> |
− | <td> | + | <td>off {{!}} on; default: <b>off</b> </td> |
− | <td> | + | <td>Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Interval</td> |
− | <td> | + | <td><span style="color:red;">off</span> | <span style="color:blue;">on</span>; default: <b>off</b></td> |
− | <td> | + | <td>Switches between a specific value and a time interval.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:red;">Off:</span> Day of the year</td> |
− | + | <td>integer [1..366]; default: <b>none</b></td> | |
− | <td> | + | <td>Specifies day of the year at which the action can occur.</td> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> Start day of the year</td> |
− | <td> | + | <td>integer [1..366]; default: <b>none</b></td> |
− | <td> | + | <td>Specifies starting day of the interval of the year at which the action can occur.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td><span style="color:blue ;">On:</span> End day of the year</td> |
− | <td> | + | <td>integer [1..366]; default: <b>none</b></td> |
− | <td>Specifies | + | <td>Specifies ending day of the interval of the year 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:{{{name}}} Services section]] | [[Category:{{{name}}} Services section]] |
Revision as of 14:53, 22 October 2020
Template:Networking rutos manual fw disclosure
Summary
Inputs and outputs are used for monitoring and controlling a connected device or receiving signals from that device in order to trigger certain events.
This chapter of the user manual provides an overview of the Input/Output section for {{{name}}} devices.
If you're having trouble finding this page or some of the parameters described here on your device's WebUI, you should turn on "Advanced WebUI" mode. You can do that by clicking the "Advanced" button, located at the top of the WebUI.
Status
The Status page displays the current states of the device input and output:
File:Networking rutx manual input output status v2.png
You can invert Input pin by clicking on slider in Inversion column and switch Output pin state by clicking on slider in State column.
Status from command line
You can also obtain the status of the input or output from the command line. List of ubus possible values in {{{name}}} devices:
ioman.gpio.dio0 ioman.gpio.dio1
Call command ubus call value status :
root@Teltonika-{{{name}}}:~# ubus call ioman.gpio.dio0 status { "value": "0", "direction": "in", "bi_dir": false, "invert_input": false }
- din1 is the input:
- "value": "0" means low level state.
- "value": "1" means high level state.
- dout1 is the output:
- "value": "0" means low level state.
- "value": "1" means high level state.
Post/Get
Enabling Post/Get 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.
Field | Value | Description |
---|---|---|
Enable | off | on; default: off | Turns Post/Get on or off. |
Username | string; default: none | Username used for authentication in POST/GET queries. |
Password | string; default: none | Password used for authentication in POST/GET queries. |
Confirm password | string; default: none | Repeat the password for confirmation. |
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.
Below is a table containing syntax examples of this usage:
Action | POST/GET URL |
---|---|
Turn Output state to high | http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on |
Turn Output state to low after 5 seconds for 3 seconds | http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on&delay=5&time=3 |
Overview:
- 192.168.1.1 - device default LAN IP address; replace it in accordance with your own configuration.
- username - login name from Post/Get configuration.
- password- password from Post/Get configuration.
- state - turn Output on or off.
- delay - defines a delay (in seconds) after which the specified action will be performed.
- time - defines a window of time during which the action will take place. For instance, if you post an on action while specifying time=5, the output will turn on and stay on for 5 seconds before turning off.
Delay and time parameters can be used together. For example, if delay is 10, time is 5, action is on, then 10 seconds after the execution of the command, the output will switch to on (or stay in on state if it was already that way), then after 5 more seconds it will switch to off state. In this case the overall command execution time is 15 seconds.
To use Post/Get via SSH instead of a browser, you may want to use the curl -X command. Simply add the same URL command in between quotes and specify the HTTP method.
Examples:
- Switch output to High:
curl -X GET "http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on"
- Switch output to Low after delay:
curl -X GET "http://192.168.1.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=off&delay=5"
Scheduler
The output Scheduler 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.
[[File:Networking_rutos_manual_input_output_scheduler_configure_scheduler_configurableio_{{{configurableio}}}.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:
[[File:Networking_rutos_manual_input_output_scheduler_configure_scheduler_example_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
The Scheduler is turned off by default. To turn it on set the 'Enable' slider to "on".
I/O Juggler
The I/O Juggler 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]]
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.
For example, if we configure the I/O Juggler like this:
- Trigger - input state rising.
- Condition - 8:00 AM - 5:00 PM.
- Action - send email.
The operating sequence would look like this:
- A connected device raises the input state.
- This {{{name}}} device checks whether the current time is between 8:00 AM and 5:00 PM.
- Yes - {{{name}}} sends an email.
- No - {{{name}}} doesn't send an email.
You can specify multiple actions and multiple conditions for any I/O Juggler rule. Selecting conditions is optional. If there are no set or configured I/O Juggler conditions, the operating sequence is as such:
[[File:Networking_rutos_manual_input_output_io_juggler_scheme_mobile_{{{mobile}}}.png]]
General
The General section is used to Input Trigger rules, which can perform a specified user-configured action when the Input state changes and when certain other user-configured conditions are met (conditions are optional).
Before you can use the I/O Juggler, you must turn it on first (off by default). This can be done by setting the 'Enable' slider to "on":
Input
The Input is used to create Input Rules. An Input Rule is triggered by a user-specified input state change. When this trigger occurs, the device executes a specified command if certain specified conditions are met (conditions are optional).
The Input list is empty by default. To create a new Input Rule, look to the Add Input section at the bottom of the page; select an input and click the 'Add' button:
[[File:Networking_rutos_manual_input_output_io_juggler_general_input_add_button_juggler_input_{{{juggler_input}}}.png|border|class=tlt-border]]
After this you will be redirected to the configuration page for the newly added Rule, which should look similar to this:
[[File:Networking_rutos_manual_input_output_io_juggler_general_input_configuration_juggler_input_{{{juggler_input}}}.png|border|class=tlt-border]]
Field | Value | Description |
---|---|---|
Enabled | off | on; default: off | Changes current profile to specified one when action triggers. |
Trigger interval | integer [0..99999999]; default: 1 | The shortest amount of time (in seconds) between two triggers. If the input is triggered more than once in a time period shorter than the value specified in this field, the device will react to the first trigger. |
Trigger | Rising | Falling | Both; default: Rising | Input state change that will trigger this rule. |
Add actions | i/o juggler action(s); default: none | Actions that will be executed by this rule when the specified trigger and conditions (optional) occur. |
Add conditions | i/o juggler conditions; default: none | Conditions that have to be met for the rule to take action. Conditions are optional. |
Actions
The Actions section is used to manage existing and create new Actions that be executed by the I/O Juggler Rules. The figure below is an example of the Actions section, which is empty by default.
To create a new Action, look to the Add an Action section at the bottom of the page; enter a custom name, select an action type and click the 'Add' button:
After this you will be redirected to the configuration page for the newly added Action, which should look similar to this (example for the 'Reboot' action only):
Modify action
Above is an example of what action configuration window looks like. Below is a table with detailed explanations on how to configure the action and what each of the fields mean. To avoid redundancy, screenshots for the other actions will not be provided, since the structures, syntax and the overall look of the configuration windows for each action are very similar. Instead, only tables containing information on how to edit each action will be provided.
Profile
Field | Value | Description |
---|---|---|
Type | Profile | Changes current profile to specified one when action triggers. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Profile | profile; default: default | Choose a profile that will be applied when the action triggers. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
Field | Value | Description |
---|---|---|
Type | Sends email when action triggers. | |
Subject | string; default: none | Subject of email. |
Text message | string; default: none | Text message to be sent in email. Below this field you can find device information and their codes, which can be included in messages to send device information. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Email user | email user; default: none | Configured email user. |
Recipient's email address | string; default: none | Email receiver(s). |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
SMS
Field | Value | Description |
---|---|---|
Type | SMS | Sends sms when action triggers. |
Text message | string; default: none | Text message to be sent in sms. Below this field you can find device information and their codes, which can be included in messages to send device information. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Recipients | Single number | Group; default: Single number | How many recipients will get the message. |
Single number: Recipient's phone number | number; default: none | SMS receiver. |
Group: Phone group | phone group; default: none | SMS receivers. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
Output
Field | Value | Description |
---|---|---|
Type | Output | Changes Output state when action triggers. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Control | output; default: Output(4) | Specifies the output of which the state will be changed. |
Revert | integer; default: 0 | After how many seconds the state will revert. If left 0 or empty the state will not revert. |
Maintain | off | on; default: on | Maintain this IO state after reboot. |
Invert | off | on; default: off | On action inverts pin state. |
State copying | off | on; default: off | Copies the state from selected input to selected output. |
State | High | Low; default: High | Specifies what state the output pin will be set to. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
HTTP
Field | Value | Description |
---|---|---|
Type | HTTP | Sends HTTP request when action triggers. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Method | Get | Post; default: Get | Specifies the output of which the state will be changed. |
URL | string; default: none | URL to send request to. |
Verify | off | on; default: off | Verifies the validity of certificates, only works for https. |
Parameters | string; default: none | Parameters and their value from device for usage in Post or Get requests. Possible values: Time stamp, UNIX time, WAN MAC, Wired WAN IP, Network info, Product code, LAN MAC address, LAN IP address, Serial number, Current FW version, Monitoring status, Input Name, Input state change trigger, RSCP, ECIO, SIM slot in use, CELLID, RSRQ, SINR, RSRP, SIM State, SIM pin state, Modem model, IMSI, Modem serial number , Network State, Data connection state, Connection type, Mobile IP, Operator name, Signal strenght, IMEI, ICCID, Neighbour cells, Network serving. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
Script
Field | Value | Description |
---|---|---|
Type | Script | Runs script when action triggers. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Specify path | Upload a script | Specify path; default: Upload a script | Selection to upload a script or specify its absolute path in device. |
Upload a script: Custom script | -(interactive button) | Shows file upload window on click. |
Specify path: Script file | string; default: none | Absolute path to script file in device. |
Arguments | string; default: none | Optional arguments which can be provided for the script. You can include device information with values given below this input field. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
Reboot
Field | Value | Description |
---|---|---|
Type | Reboot | Reboots device when action triggers. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
Change sim
Field | Value | Description |
---|---|---|
Type | Change sim | Changes active sim card when action triggers. |
Execution delay | positive integer; default: none | How many seconds will pass before the action is excecuted after it's triggered. |
Flip | off | on; default: off | Switches to a different sim card. |
Off: Target | Sim1 | Sim2; default: Sim1 | Switches to a selected sim card. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
Conditions
The Conditions section lets you manage your created Conditions for I/O Juggler Actions. The figure below is an example of Conditions section.
Modify condition
Above is an example of what condition configuration window looks like. Below is a table with detailed explanations on 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
Field | Value | Description |
---|---|---|
Condition type | Boolean group | A type of condition. |
Boolean type | AND | NAND | OR | NOR; default: AND | Type of boolean condition. |
Add conditions | conditions; default: none | Specifies conditions which have to be met for action to occur. Conditions are optional. |
I/O
Field | Value | Description |
---|---|---|
Condition type | I/O | A type of condition. |
I/O | inputs/outputs; default: Output(4) | Specifies the I/O to which the condition is listening to. |
State | High | Low; default: High | Specifies in what state the pin has to be. |
Minute
Field | Value | Description |
---|---|---|
Condition type | Minute | A type of condition. |
Inverted function | off | on; default: off | Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval. |
Interval | off | on; default: off | Switches between a specific value and a time interval. |
Off: Minute | integer [0..59]; default: none | Specifies minute at which the action can occur. |
On: Start minute | integer [0..59]; default: none | Specifies starting minute of the interval at which the action can occur. |
On: End minute | integer [0..59]; default: none | Specifies ending minute of the interval at which the action can occur. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
Hour
Field | Value | Description |
---|---|---|
Condition type | Hour | A type of condition. |
Inverted function | off | on; default: off | Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval. |
Interval | off | on; default: off | Switches between a specific value and a time interval. |
Off: Hour | integer [0..59]; default: none | Specifies hour at which the action can occur. |
On: Start hour | integer [0..59]; default: none | Specifies starting hour of the interval at which the action can occur. |
On: End hour | integer [0..59]; default: none | Specifies ending hour of the interval at which the action can occur. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
Weekday
Field | Value | Description |
---|---|---|
Condition type | Weekday | A type of condition. |
Inverted function | off | on; default: off | Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval. |
Interval | off | on; default: off | Switches between a specific value and a time interval. |
Off: Weekday | weekday; default: Monday | Specifies weekday at which the action can occur. |
On: Start weekday | weekday; default: Monday | Specifies starting weekday of the interval at which the action can occur. |
On: End weekday | weekday; default: Monday | Specifies ending weekday of the interval at which the action can occur. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
Month day
Field | Value | Description |
---|---|---|
Condition type | Month day | A type of condition. |
Month override | off | on; default: off | If the option is selected and the specified day is not in the month then the condition uses the last day of the month. |
Interval | off | on; default: off | Switches between a specific value and a time interval. |
Off: Day of the month | integer [1..31]; default: none | Specifies day of the month at which the action can occur. |
On: Start day of the month | integer [1..31]; default: none | Specifies starting day of the interval of the month at which the action can occur. |
On: End day of the month | integer [1..31]; default: none | Specifies ending day of the interval of the month at which the action can occur. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
Year
Field | Value | Description |
---|---|---|
Condition type | Year | A type of condition. |
Inverted function | off | on; default: off | Inverts the selected condition type. Makes the condition true if the time/date is outside the specified interval. |
Interval | off | on; default: off | Switches between a specific value and a time interval. |
Off: Day of the year | integer [1..366]; default: none | Specifies day of the year at which the action can occur. |
On: Start day of the year | integer [1..366]; default: none | Specifies starting day of the interval of the year at which the action can occur. |
On: End day of the year | integer [1..366]; default: none | Specifies ending day of the interval of the year at which the action can occur. |
Note: this table has coloring scheme to indicate which fields can be seen with different configuration.
[[Category:{{{name}}} Services section]]