{% extends "layout.html" %} {% set active_page = "output" %} {% set help_page = ["output", _('Output')] %} {% block title %} - {{_('Output Devices')}}{% endblock %} {% block head %} {% endblock %} {% block body %}
{% include 'flash_messages.html' %}

{{_('Output Devices')}}

{{_('Output devices enable Mycodo to manipulate things through the use of relays (wired and wireless), PWM signals, and executing commands. When linked to a PID controller, with an input, output devices can be used for feedback regulation.')}}

{{form_add_relay.hidden_tag()}}
{{form_add_relay.relay_quantity(class_='form-control', type="number", value=1, **{'title':_('Quantity')})}}
{{form_add_relay.relay_add(class_='form-control btn btn-default')}}
{{form_conditional.conditional_type(class_='form-control', value='relay')}}
{{form_conditional.quantity(class_='form-control', type="number", value=1, **{'title':_('Quantity')})}}
{{form_conditional.add_cond(class_='form-control btn btn-default')}}
{%- if displayOrder -%} {%- for order in displayOrder -%} {%- for each_relay in relay if each_relay.id == order -%}
{{form_mod_relay.csrf_token}} {{form_mod_relay.relay_id(class_='form-control', value=each_relay.id)}} {{form_mod_relay.relay_pin(class_='form-control', value=each_relay.pin)}}
{{form_mod_relay.name(class_='form-control', value=each_relay.name, **{'title':_('Name')})}}
{% if each_relay.relay_type != 'pwm' -%}
{%- endif %}
{{form_mod_relay.order_up(class_='form-control btn btn-default')}}
{{form_mod_relay.order_down(class_='form-control btn btn-default')}}
{{form_mod_relay.save(class_='form-control btn btn-default')}}
{{form_mod_relay.delete(class_='form-control btn btn-default', **{'onclick':'return confirm("Are you sure you want to delete this relay?")'})}}
{% for each_relay_template in relay_templates if each_relay_template[:-5] == each_relay.relay_type %} {% include 'pages/output_options/'+each_relay_template %} {% endfor %}
{{form_mod_relay.amps.label(class_='control-label')}}
{{form_mod_relay.amps(class_='form-control', value=each_relay.amps, **{'title':_('The number of amps the output device draws (at 120/240 VAC)')})}}
{% if each_relay.relay_type in ['wired', 'wireless_433MHz_pi_switch', 'command'] %}
{% elif each_relay.relay_type == 'pwm' %}
{% endif %}
{%- endfor -%} {%- endfor -%} {%- endif -%}
{% if conditional %}

{{_('Conditionals')}}

{{_('Conditionals allow certain actions to be carried out when a certain set of conditions are met.')}} See the manual for more information.

Note: PWM output cannot currently be used with conditionals.

{% endif %} {%- for each_cond in conditional -%}
{{form_conditional.csrf_token}} {{form_conditional.conditional_id(class_='form-control', value=each_cond.id)}}
{{form_conditional.name(class_='form-control', value=each_cond.name, **{'title':_('Name')})}}
{%- if each_cond.is_activated %} {{form_conditional.deactivate_cond(class_='form-control btn btn-default')}} {%- else %} {{form_conditional.activate_cond(class_='form-control btn btn-default')}} {%- endif -%}
{{form_conditional.save_cond(class_='form-control btn btn-default')}}
{{form_conditional.delete_cond(class_='form-control btn btn-default',**{'onclick':'return confirm("Are you sure you want to delete this Relay Conditional?")'})}}
{{form_conditional.if_relay_duration(class_='form-control', value=each_cond.if_relay_duration, **{'title':_('(Optional) Set this to a specific duration of time if the conditional should trigger when the relay On duration equals this amount'), 'size':'3'})}}
{% for each_cond_action in conditional_actions if each_cond_action.conditional_id == each_cond.id %}
{{form_conditional_actions.csrf_token}} {{form_conditional_actions.conditional_id(class_='form-control', value=each_cond.id)}} {{form_conditional_actions.conditional_action_id(class_='form-control', value=each_cond_action.id)}}
Then ({{loop.index}})
{% if each_cond_action.do_action == 'relay' %}
{{form_conditional_actions.do_relay_id.label(class_='control-label')}}
{{form_conditional_actions.do_relay_duration(class_='form-control', value=each_cond_action.do_relay_duration, **{'title':_('How long to turn the relay on (optional)'), 'size':'3'})}}
{% elif each_cond_action.do_action == 'email' %}
{% elif each_cond_action.do_action == 'flash_lcd' %}
{% elif each_cond_action.do_action == 'photo' %}
{% elif each_cond_action.do_action == 'video' %}
{{form_conditional_actions.do_camera_duration.label(class_='control-label')}} {{form_conditional_actions.do_camera_duration(class_='form-control', value=each_cond_action.do_camera_duration, **{'title':_('Duration to record video (sec)')})}}
{% elif each_cond_action.do_action == 'command' %}
{{form_conditional_actions.do_action_string(class_='form-control', value=each_cond_action.do_action_string, **{'title':_('Command to execute (as user "mycodo")')})}}
{% endif %}
{{form_conditional_actions.save_action(class_='form-control btn btn-default')}}
{{form_conditional_actions.delete_action(class_='form-control btn btn-default')}}
{% endfor %}
{{form_conditional_actions.csrf_token}} {{form_conditional_actions.conditional_id(class_='form-control', value=each_cond.id)}}
Action
{{form_conditional_actions.add_action(class_='form-control btn btn-default')}}
{%- endfor -%}
{% endblock %}