Jump to content

Template:Networking rutos manual input output: Difference between revisions

No edit summary
(32 intermediate revisions by 2 users not shown)
Line 7: Line 7:
  }}
  }}
}}
}}
{{#ifeq: {{{series}}} | RUT9 |<br><i><b>Note</b>: <b>[[{{{name}}} Input/Output (legacy WebUI)|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT9XX}} and earlier) user manual page.</i>


<p style="color:red">Warning: From 7.0 version I/O parameters and controls have changed compared to {{Template: Networking_device_manual_latest_fw | series = RUT9XX}} and earlier legacy versions.</p>|}}
{{#ifeq: {{{name}}}|RUT951|<b>Note:</b> Input/Output page is deprecated for <b>Active PoE</b> devices.|}}
{{#ifeq: {{{series}}} | RUT2 |<br><i><b>Note</b>: <b>[[{{{name}}} Input/Output (legacy WebUI)|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT2XX}} and earlier) user manual page.</i>
 
<p style="color:red">Warning: From 7.1 version I/O parameters and controls have changed compared to {{Template: Networking_device_manual_latest_fw | series = RUT2XX}} and earlier legacy versions.</p>|}}
==Summary==
==Summary==


Line 18: Line 14:


This chapter of the user manual provides an overview of the Input/Output section for {{{name}}} devices.
This chapter of the user manual provides an overview of the Input/Output section for {{{name}}} devices.
{{Template:Networking_rutos_manual_basic_advanced_webui_disclaimer
| series = {{{series}}}
}}


==Physical characteristics and I/O pin mapping==
==Physical characteristics and I/O pin mapping==
Line 29: Line 21:
{{Template:Networking_rutos_manual_input_output_pinout
{{Template:Networking_rutos_manual_input_output_pinout
| series        = {{{series}}}
| series        = {{{series}}}
| name          = {{{name}}}
| configurableio = {{{configurableio}}}
| configurableio = {{{configurableio}}}
| input_volts    = {{{input_volts}}}
| input_volts    = {{{input_volts}}}
}}{{#switch: {{{name}}}
| TRB141 =<h3>Input/Output Connector Pinout</h3>
----
[[File:Networking_trb141_manual_input_output_input_output_connector_pinout_v2.png]]
<ul>
    <li><b>DI<sub>1</sub></b> & <b>DI<sub>2</sub></b> - DRY/WET configurable inputs:
        <ul>
            <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><b>DRY</b>: is detected as logical "0"  when the input is shorted to GND; otherwise is detected as logical "1"</li>
        </ul>
    </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>
    <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>
    <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>
    <li><b>l</b> and <b>⏚</b> - isolated input contacts.
        <ul>
            <li>0-7.3 V is detected as logical "0"</li>
            <li>7.3-71 V is detected as logical "1"</li>
        </ul>
    </li>
    <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>
    <li><b>1W</b> - 1-Wire protocol input/output.</li>
    <li><b>⏚</b> - GND contact.</li>
    <li><b>''Note:''</b> input circuit components have tolerance of +-1%.</li>
</ul>
| RUT955|RUT956|RUT906 =<h3>Input/Output Connector Pinout</h3>
----
[[File:Networking_rut955_manual_input_output_input_output_connector_pinout_v3.png]]
<ul>
    <li><b>DI</b><sub>1</sub> and <b>⏚</b><sub>1</sub> - Digital input (dry type):</li>
        <ul>
            <li>0-1.2 V is detected as logical "1"</li>
            <li>1.8-3 V is detected as logical "0"</li>
        </ul>
    <li><b>DI</b><sub>2</sub>  and <b>⏚</b><sub>2</sub> - Digital galvanically isolated input:</li>
        <ul>
            <li>0-4 V is detected as logical "0"</li>
            <li>9-30 V is detected as logical "1"</li>
        </ul>
    <li><b>DO</b> and <b>⏚</b><sub>3</sub> - Galvanically isolated open collector (OC) output: 30 V, 250 mA.</li> 
    <li><b>+V</b> and <b>⏚</b><sub>3</sub> - External VCC for <b>DO</b> (<30 V).</li> 
    <li><b>C & NO</b> - Common and Normally Open contacts of the internal Non-Latching Relay respectively.<br>Maximum relay ratings: 4 A at 24 VDC, 4 A at 40 VAC.</li>
    <li><b>A</b> and <b>⏚</b><sub>1</sub> - ADC input. Analog voltage range: 0-24 V. The input can be configured for 4-20 mA sensor protocol as current measurement (ACL).<span class="asterisk">*</span></li>
    <li><b>⏚</b><sub>1</sub> - GND for <b>DI</b><sub>1</sub> and <b>A</b>.</li>
    <li><b>⏚</b><sub>2</sub> - GND for <b>DI</b><sub>2</sub>.
    <li><b>⏚</b><sub>3</sub> - GND for <b>DO</b> pins.
    <li><b>''Note:''</b> input circuit components have tolerance of +-1%.</li>
</ul>
----
<span class="asterisk">*</span> The deviation from the actual input voltage and the voltage measured by the device is dependent on the input voltage value:
<ul>
    <li>'''≥ 1.5 V''' - the deviation is about ± 10 % and gets lower when the input voltage increases towards 5 V</li>
    <li>'''≥ 5 V''' - the deviation does not exceed ± 3 %</li>
    <li>'''≥ 9 V''' - the deviation does not exceed ± 2 %</li>
</ul>
<b>Additional note</b>: the deviation values specified above are applicable in temperatures of < 50 °C. Under higher temperatures the deviation values become considerably higher.
}}
}}


Line 100: Line 32:
{{#switch: {{{name}}}  
{{#switch: {{{name}}}  
| TRB141 = [[File:Networking_trb141_manual_input_output_status_v5.png|border|class=tlt-border]]
| TRB141 = [[File:Networking_trb141_manual_input_output_status_v5.png|border|class=tlt-border]]
| RUT955|RUT956|RUT906 = [[File:Networking_RUT955_manual_input_output_status_v4.png|border|class=tlt-border]]
| RUTM55 = [[File:Networking rutm55 manual input output status.png|border|class=tlt-border]]
| TRB245|TRB246|TRB255|TRB256 = [[File:Networking_trb2_manual_input_output_status_v3.png|border|class=tlt-border]]
| RUT955|RUT956|RUT906|RUT976 = [[File:Networking_RUT955_manual_input_output_status_v5.png|border|class=tlt-border]]
| [[File:Networking_{{lc:{{{series}}}}}_manual_input_output_status.png|border|class=tlt-border]]
| TRB245|TRB246|TRB255|TRB256 = [[File:Networking_trb2_manual_input_output_status_v4.png|border|class=tlt-border]]
| RUTM30|RUTM31 = [[File:Networking_rut301_manual_input_output_status_v2.png|border|class=tlt-border]]
| #default = [[File:Networking_{{lc:{{{series}}}}}_manual_input_output_status_v2.png|border|class=tlt-border]]
}}
}}


Line 112: Line 46:
| TRB141 = '''Note:''' When dry/wet input is not connected to anything - the state of level is undetermined.
| TRB141 = '''Note:''' When dry/wet input is not connected to anything - the state of level is undetermined.
| #default =}}
| #default =}}
{{#switch: {{{name}}}  
{{#switch: {{{name}}}|RUT955|RUT956|RUT906|TRB245|TRB246|TRB255|TRB141|TRB256|RUT976 =   
| RUT955|RUT956|RUT906|TRB245|TRB246|TRB255|TRB141|TRB256 =   
'''Note:''' You can edit the adc/acl formula to customize values.
'''Note:''' You can edit the adc/acl formula to customize values.


Line 121: Line 54:
Custom I/O status labels for "Analog current loop":
Custom I/O status labels for "Analog current loop":
[[File:Networking_manual_input_output_status_formula_acl0.png|border|class=tlt-border]]
[[File:Networking_manual_input_output_status_formula_acl0.png|border|class=tlt-border]]
| #default =
| #default =}}
}}


===Status from command line===
===Status from command line===
Line 133: Line 65:
   | {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
   | {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
   }}
   }}
| RUTM = {{#switch: {{{name}}} | RUTM30|RUTM31 = {{Template:Networking_rut301_manual_input_output_status|name={{{name}}}}}
| RUTM55 = {{Template:Networking rutm55 manual input output status}}
| #default = {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}}}
| #default = {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
| #default = {{Template:Networking_{{lc:{{{series}}}}}_manual_input_output_status|name={{{name}}}}}
}}
}}


{{#switch: {{{name}}}
{{#switch: {{{name}}}
| RUT300|RUT301|RUT360|TRB245|TRB246|TRB255|TRB140|TRB141|TRB142|TRB143|TRB145|TRB256 = '''Note:''' Changes of configurable pin type  from output to input (and reverse) could causes the issues where the specific type was set in configurations. Make sure that configurations do not contradict one another.
| RUT300|RUT301|RUT360|TRB245|TRB246|TRB255|TRB140|TRB141|TRB142|TRB143|TRB145|TRB256|TRB160|RUTM30|RUTM31 = '''Note:''' Changes of configurable pin type  from output to input (and reverse) could causes the issues where the specific type was set in configurations. Make sure that configurations do not contradict one another.
| #default =
| #default =
}}
}}
==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 requests on or off and to set authentication parameters.
[[File:Networking_rutos_manual_input_output_post_get_auth_settings_v3.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 Post/Get on or off.</td>
    </tr>
    <tr>
      <td>Access</td>
      <td>io_state {{!}} io_type {{!}} io_value {{!}} io_invert; default: <b>io_state, io_type, io_value, io_invert</b></td>
      <td>Accessible methods. It is considered that all methods are allowed if this list is empty.</td>
    </tr>
    <tr>
      <td>Username</td>
      <td>string; default: <b>none</b></td>
      <td>Username used for authentication in POST/GET queries.</td>
    </tr>
    <tr>
    <td>Password</td>
        <td>string; default: <b>none</b></td>
        <td>Password used for authentication in POST/GET queries.</td>
    </tr>
    <tr>
    <td>Confirm password</td>
        <td>string; default: <b>none</b></td>
        <td>Repeat the password for confirmation.</td>
    </tr>
</table>
<b>Note:</b> password fields are required to enable POST/GET funcionallity.
===Post/Get examples===
----
Use a web browser or any other compatible software to send HTTP POST/GET requests to the device.
====Setting====
----
Changing states of various I/O is possible using requests. Below is a table containing syntax examples of this usage:
<table class="nd-othertables_2">
    <tr>
        <th style="width: 500px">Action</th>
      <th style="width: 900px">POST/GET URL</th>
    </tr>
    <tr>
      <td>Turn Output state to high</td> <!--  another ifeq to change ip subnet according to trb14x...  -->
      <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_state</b></span><nowiki>?username=user1&password=user1&pin=</nowiki>{{#ifeq:{{{series}}}|RUTX|dout1|<dio0/dio1{{#switch:{{{series}}}|TRB2|TRB2M=/dio2}}>}}<span style="color: #0054a6;"><b><nowiki>&state=on</nowiki></b></span></td>
    </tr>
    <tr>
      <td>Turn Output state to low after 5 seconds for 3 seconds</td>
      <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_state</b></span><nowiki>?username=user1&password=user1&pin=</nowiki>{{#ifeq:{{{series}}}|RUTX|dout1|<dio0/dio1{{#switch:{{{series}}}|TRB2|TRB2M=/dio2}}>}}&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>
        <td>Check t_time parameter - time is set in miliseconds</td>
        <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_state</b></span><nowiki>?username=user1&password=user1&pin=</nowiki>{{#ifeq:{{{series}}}|RUTX|dout1|<dio0/dio1{{#switch:{{{series}}}|TRB2|TRB2M=/dio2}}>}}&state=on<span style="color: #0054a6;"><b><nowiki>&t_time=msec</nowiki></b></span><span style="color: #3232ff;"><b><nowiki>&time=5000</nowiki></b></span><span style="color: #3232ff;"><b><nowiki>&time=1000</nowiki></b></span></td>
    </tr>
    <tr>
        <td>Invert input</td>
        <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/io_invert?username=user1&password=user1&pin={{#ifeq:{{{series}}}|RUTX|din1|<dio0/dio1{{#switch:{{{series}}}|TRB2|TRB2M=/dio2}}>}}<span style="color: #0054a6;"><b><nowiki>&invert=<0/1> (0 - disable inversion/1 - enable inversion</nowiki></b></span></td>
    </tr>
{{#ifeq:{{{configurableio}}}|1|
    <tr>
        <td>Change Configurable Input/Output with pin3 to Output</td>
        <td><nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1/cgi-bin/<span style="color: #0054a6;"><b>io_type</b></span><nowiki>?username=user1&password=user1&</nowiki><span style="color: #0054a6;"><b>pin=dio0</b></span><span style="color: #3232ff;"><b><nowiki>&type=out</nowiki></b></span></td>
    </tr>
||}}
</table>
<b>Overview</b>:
<ul>
    <li>192.168.{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}.1 - device default LAN IP address; replace it in accordance with your own configuration.</li>
{{#ifeq:{{{configurableio}}}|1|<li>io_state,io_type or io_invert- allows you to change IO state, type or invert cofigurable input.</li>}}
    <li>username - login name from Post/Get configuration.</li>
    <li>password- password from Post/Get configuration.</li>
    <li>state - turn Output on or off.</li>
{{#ifeq:{{{configurableio}}}|1|<li>type - turn Configurable Input/Output to Input or Output.</li>}}
    <li>invert - enables inversion on/off (only works with inputs).</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>
</ul>
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 <i>on</i> (or stay in <i>on</i> state if it was already that way), then after 5 more seconds it will switch to <i>off</i> 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 <b><i>curl -X</i></b> command. Simply add the same URL command in between quotes and specify the HTTP method.
<b>Examples:</b>
* <b>Switch output to High:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=on</nowiki>"
* <b>Switch output to Low after delay:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_state?username=user1&password=user1&pin=dout1&state=off&delay=5</nowiki>"
====Reading====
----
Getting the current state of various I/O is possible using requests. Usage is very similar to the examples above:
<b>Examples:</b>
{{#ifeq:{{{configurableio}}}|1|* {{#switch:{{{name}}}|TRB245|TRB246|TRB255|TRB256 = <b>Read state of Configurable Input/Output PIN2/PIN3/PIN4:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio0</nowiki>"
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio1</nowiki>"
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio2</nowiki>" | #default = <b>Read state of Configurable Input/Output PIN3/PIN4:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio0</nowiki>"
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dio1</nowiki>"}}|
* <b>Read state of digital input/output:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=din1</nowiki>"
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dout1</nowiki>"}}
{{#ifeq:{{{analog}}}|1|* <b>Read state of analog input (in voltage mode):</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=adc0</nowiki>"|}}
{{#ifeq:{{{acl}}}|1|* <b>Read state of analog input (in current mode):</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=acl0</nowiki>"|}}
{{#ifeq:{{{dry}}}|1|* <b>Read state of Dry input PIN1:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dwi0</nowiki>"|}}
{{#ifeq:{{{wet}}}|1|* <b>Read state of Wet input PIN2:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dwi1</nowiki>"|}}
{{#ifeq:{{{isolated}}}|1|* <b>Read state of Isolated input:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=iio</nowiki>"|}}
{{#ifeq:{{{onewire}}}|1|* <b>Read state of One Wire:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=onewire</nowiki>"|}}
{{#ifeq:{{{relay}}}|1|* <b>Read state of Relay:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=relay0</nowiki>"|}}
{{#ifeq:{{{latchingrelay}}}|1|* <b>Read state of Latching Relay:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=relay1</nowiki>"|}}
{{#ifeq:{{{galvanic}}}|1|* <b>Read state of Galvanically isolated open collector output:</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=dout2</nowiki>"|}}
{{#ifeq:{{{digitalpassive}}}|1|* <b>Read state of Digital input (only for passive sensors):</b>
curl -X GET "<nowiki>http://192.168.</nowiki>{{#switch:{{{series}}}|TRB1|TRB5=2|#default=1}}<nowiki>.1/cgi-bin/io_value?username=user1&password=user1&pin=din2</nowiki>"|}}


==Scheduler==
==Scheduler==


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.
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.
<b>Note:</b> I/O Scheduler is additional software on some devices that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.


[[File:Networking_rutos_manual_input_output_scheduler_general_configuration.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_input_output_scheduler_general_configuration.png|border|class=tlt-border]]
Line 293: Line 90:
After this you should be redirected to the configuration page for the newly added Instance which should look similar to this:
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]]
{{#ifeq:{{{name}}}|RUTM55|[[File:Networking_rutos_manual_input_output_scheduler_instance_configuration_rutm55.png|border|class=tlt-border]]|[[File:Networking_rutos_manual_input_output_scheduler_instance_configuration_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]}}


<table class="nd-mantable">
<table class="nd-mantable">
Line 306: Line 103:
       <td>Turns the Scheduler Instance on or off.</td>
       <td>Turns the Scheduler Instance on or off.</td>
     </tr>
     </tr>
    {{#ifeq:{{{name}}}|RUTM55|
    <tr>
      <td>Pin</td>
      <td>Isolated Output (3,4,11) {{!}} Relay (5,13); default: Isolated Output (3,4,11) <b></b></td>
      <td>Pin whose output will be enabled for the selected interval.</td>
    </tr>|
     <tr>
     <tr>
       <td>Pin</td>
       <td>Pin</td>
       <td>output pin; default: <b>{{#ifeq:{{{configurableio}}}|1|Configurable Input/Output (2)|Output (4)}}</b></td>
       <td>output pin; default: <b>{{#ifeq:{{{configurableio}}}|1|Configurable Input/Output (3)|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>
       <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> }}
     <tr>
     <tr>
       <td>Interval Type</td>
       <td>Interval Type</td>
Line 503: Line 306:
Changes the state of a selected output pin.
Changes the state of a selected output pin.


[[File:Networking_rutos_manual_input_output_io_juggler_actions_output_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
{{#ifeq:{{{name}}}|RUTM55|[[File:Networking_rutos_manual_input_output_io_juggler_actions_output_rutm55.png|border|class=tlt-border]]|
[[File:Networking_rutos_manual_input_output_io_juggler_actions_output_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]}}


<table class="nd-mantable">
<table class="nd-mantable">
Line 518: Line 322:
     <tr>
     <tr>
         <td>Control</td>
         <td>Control</td>
         <td>output; default: <b>{{#ifeq:{{{configurableio}}}|1|Configurable Input/Output (2)|Output (4)}}</b></td>
         {{#ifeq:{{{name}}}|RUTM55|<td>Isolated Output (3,4,11) {{!}} Relay (5,13); default: <b>Isolated Output (3,4,11)</b></td>|<td>output; default: <b>{{#ifeq:{{{configurableio}}}|1|Configurable Input/Output (3)|Output (4)}}</b></td>}}
         <td>Selects the output controlled by this Action.</td>
         <td>Selects the output controlled by this Action.</td>
     </tr>
     </tr>
Line 528: Line 332:
     <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>When set to 'on', the output maintains its new state after reboot (the state is changed in the config file as well).</td>
         <td>When set to 'on', the output maintains its new state after reboot (the state is changed in the config file as well).</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>Inverts the state of the selected output, i.e., switches the output pin to a state that is opposite to its current one (high-to-low or low-to-high). This can be used instead of specifying a static state.</td>
         <td>Inverts the state of the selected output, i.e., switches the output pin to a state that is opposite to its current one (high-to-low or low-to-high). This can be used instead of specifying a static 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 the selected input and applies it to the selected output. This can be used instead of specifying a static state.</td>
         <td>Copies the state from the selected input and applies it to the selected output. This can be used instead of specifying a static state.</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 the state of the output pin that will be set by this Action.</td>
         <td>Specifies the state of the output pin that will be set by this Action.</td>
     </tr>
     </tr>
</table>
</table>
}}


====Type: HTTP====
====Type: HTTP====
Line 715: Line 520:
| #default = [[File:Networking rutos manual input output io juggler actions mqtt_v1.png|border|class=tlt-border]]
| #default = [[File:Networking rutos manual input output io juggler actions mqtt_v1.png|border|class=tlt-border]]
}}
}}


<table class="nd-mantable">
<table class="nd-mantable">
Line 816: Line 619:
     </tr>
     </tr>
</table>
</table>


{{#ifeq: {{{dualsim}}} | 1 |
{{#ifeq: {{{dualsim}}} | 1 |
Line 930: Line 732:
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.
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.


{{#ifeq: {{{name}}} | RUTM55 |
[[File:Networking rutos manual input output io juggler conditions io rutm55.png|border|class=tlt-border]]
<table class="nd-mantable">
    <tr>
        <th>Field</th>
      <th>Value</th>
      <th>Description</th>
    </tr>
    <tr>
        <td>I/O</td>
        <td>Digital Input (1) {{!}} Isolated Output (3,4,11) {{!}} Isolated Input (2,10) {{!}} Relay (5,13); default: <b>Digital Input (1)</b></td>
        <td>Specifies the I/O pin to which this Condition is listening to.</td>
    </tr>
    <tr>
        <td>State</td>
        <td>High {{!}} Low; default: <b>High</b></td>
        <td>Specifies in what state the pin has to be in in order for the Condition to be met.</td>
    </tr>
</table>
|
[[File:Networking_rutos_manual_input_output_io_juggler_conditions_io_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]
[[File:Networking_rutos_manual_input_output_io_juggler_conditions_io_configurableio_{{{configurableio}}}.png|border|class=tlt-border]]


Line 940: Line 764:
     <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(3)</b></td>
         <td>Specifies the I/O pin to which this 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 in in order for the Condition to be met.</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 |
{{#ifeq: {{{analog}}} | 1 |
====Condition type: Analog voltage====
====Condition type: Analog voltage====
Line 984: Line 809:
</table>
</table>
|}}
|}}
====Condition type: Boolean group====
====Condition type: Boolean group====
----
----
Line 1,024: Line 850:
     </tr>
     </tr>
</table>
</table>


====Condition types: Date/Time====
====Condition types: Date/Time====
Line 1,057: Line 881:
     </li>
     </li>
</ol>
</ol>
==Impulse Counter==
<b>Impulse Counter</b> service can register chages in the {{#ifeq: {{{configurableio}}} | 1 | `Configurable Input/Output` | `Input`}} state  of a Power socket when a value is transitioned from low to high, from high to low, or both.
===Configuration===
----
The <b>configuration</b> page is used to enable impulse counter and select GPIO pins for input configuration.
====Impulse counter configuration====
----
[[File:Networking_rutos_manual_input_output_impulse_counter_configuration.png|border|class=tlt-border]]
<table class="nd-mantable">
    <tr>
        <th>Field</th>
      <th>Value</th>
      <th>Description</th>
    </tr>
    <tr>
        <td>Status</td>
        <td></td>
        <td>Status of service, whether it is currently running.</td>
    </tr>
    <tr>
        <td>Enabled</td>
        <td>off {{!}} on; default: <b>off</b></td>
        <td>Enable impulse counter.</td>
    </tr>
    <tr>
        <td>Count store duration</td>
        <td>Hour {{!}} Day {{!}} Week {{!}} Month; default: <b>Day</b></td>
        <td>Define for how long the impulse counts are retained, in seconds, before being reset.</td>
    </tr>
    <tr>
        <td>Reset counts</td>
        <td>-(interactive buttom)</td>
        <td>Reset collected impulse counts.</td>
    </tr>
</table>
====Input configuration====
----
A Input configuration defines which {{#ifeq: {{{configurableio}}} | 1 | `Configurable Inputs/Outputs` | `Inputs`}} will be used for impulse counting. Input configuration list is empty by default. Click the 'Add' button in order to create a new Input instance:
[[File:Networking_rutos_manual_input_output_impulse_counter_input_configuration_add_v2.png|border|class=tlt-border]]
You will then be taken to the configuration page for the newly added input:
[[File:Networking_rutos_manual_input_output_impulse_counter_input_configuration.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>on</b></td>
        <td>Enable input configuration.</td>
    </tr>
    <tr>
        <td>Name</td>
        <td>string; default: <b>none</b></td>
        <td>Name of input configuration.</td>
    </tr>
    <tr>
        <td>GPIO pin</td>
        <td>{{#ifeq: {{{configurableio}}} | 1 | Configurable Input/Output (3) {{!}} Configurable Input/Output (4) | Input (3)}}; default: <b>{{#ifeq: {{{configurableio}}} | 1 | Configurable Input/Output (3) | Input (3)}}</b></td>
        <td>Select GPIO pin for input configuration.</td>
    </tr>
    <tr>
        <td>Edge</td>
        <td>Rising {{!}} Falling {{!}} Both; default: <b>Rising</b></td>
        <td>Select the edge option to have the impulse counter increment on the signal`s transition from low to high, high to low, or both.</td>
    </tr>
    <tr>
        <td>Debounce</td>
        <td>integer; default: <b>0</b></td>
        <td>Debounce filters out rapid, unintended signals. Set between 0-1000 ms to ensure only stable inputs are registered.</td>
    </tr>
</table>
===Statistics===
----
<b>Statistics</b> page displays PIN statistics in routers local time.
[[File:Networking_rutos_manual_input_output_impulse_counter_statistics.png|border|class=tlt-border]]


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