{% include 'flash_messages.html' %}

{{dict_translation['output']['title']}}

{{_('Output devices enable Mycodo to manipulate things through the use of outputs (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_output.hidden_tag()}}
{{form_add_output.output_quantity(class_='form-control', type="number", value=1, **{'title': _('Quantity')})}}
{{form_add_output.output_type(class_='selectpicker', **{'title': dict_translation['output']['title'] + ': ' + dict_translation['select_one']['title']})}}
{{form_add_output.output_add(class_='btn btn-primary btn-block')}}
{%- if display_order_output -%} {%- for order in display_order_output -%} {%- for each_output in output if each_output.unique_id == order -%}
{{form_mod_output.csrf_token}} {{form_mod_output.output_id(class_='form-control', value=each_output.unique_id)}} {{form_mod_output.output_pin(class_='form-control', value=each_output.pin)}} {% set form = form_mod_output %} {% set dict_options = dict_outputs[each_output.output_type] %} {% set each_device = each_output %} {% set unique_id = each_output.unique_id %} {% set custom_options_values = custom_options_values_outputs %}
{% if 'button_on' in dict_options['options_enabled'] -%}
{%- endif %} {% if 'button_on' in dict_options['options_enabled'] -%}
{% else %}
{% endif %}
{{form_mod_output.save(class_='form-control btn btn-primary btn-sm btn-block')}}
{{form_mod_output.delete(class_='form-control btn btn-primary btn-sm btn-block', **{'onclick':'return confirm("Are you sure you want to delete this?")'})}}
{{_("Model")}}: {{dict_outputs[each_output.output_type]['output_name']}}
{% if 'dependencies_module' in dict_outputs[each_output.output_type] and dict_outputs[each_output.output_type]['dependencies_module'] %}
{{_("Library")}}: {% for each_lib in dict_outputs[each_output.output_type]['dependencies_module'] -%} {% if each_lib[0] == 'pip-pypi' %} {{each_lib[2]}} {% else %} {{each_lib[1]}} {% endif %} {%- if not loop.last %}, {% endif %} {% endfor %}
{% endif %} {% set manufacturer_url = 'url_manufacturer' in dict_outputs[each_output.output_type] and dict_outputs[each_output.output_type]['url_manufacturer'] %} {% set datasheet_url = 'url_datasheet' in dict_outputs[each_output.output_type] and dict_outputs[each_output.output_type]['url_datasheet'] %} {% set product_purchase_url = 'url_product_purchase' in dict_outputs[each_output.output_type] and dict_outputs[each_output.output_type]['url_product_purchase'] %} {% set additional_url = 'url_additional' in dict_outputs[each_output.output_type] and dict_outputs[each_output.output_type]['url_additional'] %} {% if manufacturer_url or datasheet_url or product_purchase_url or additional_url %}
{{_('Literature') + ': '}} {%- if manufacturer_url -%} {{_("Manufacturer")}} {% for each_url in dict_outputs[each_output.output_type]['url_manufacturer'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%} {%- if datasheet_url -%} {% if manufacturer_url %}; {% endif -%} {{_("Datasheet")}} {% for each_url in dict_outputs[each_output.output_type]['url_datasheet'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%} {%- if product_purchase_url -%} {% if manufacturer_url or datasheet_url %}; {% endif -%} {{_("Product")}} {% for each_url in dict_outputs[each_output.output_type]['url_product_purchase'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%} {%- if additional_url -%} {% if manufacturer_url or datasheet_url or product_purchase_url %}; {% endif -%} {{_("Additional")}} {% for each_url in dict_outputs[each_output.output_type]['url_additional'] %}Link {{loop.index}}{{ ", " if not loop.last }}{% endfor %} {%- endif -%}.
{% endif %} {% if 'message' in dict_outputs[each_output.output_type] %}
{{dict_outputs[each_output.output_type]['message']|safe}}
{% endif %}
{% if each_output.output_type in custom_actions and custom_actions[each_output.output_type] %}
{{_('Actions')}}
{% include 'pages/form_options/Custom_Actions_Message.html' %} {% set running_custom_action = true %} {% if 'custom_actions' in dict_options %} {% for each_option in dict_options['custom_actions'] %} {% include 'pages/form_options/Custom_Options.html' %} {% endfor %} {% endif %}
{% endif %}
{{_('Options')}}
{{form_mod_output.name.label(class_='control-label')}}
{{form_mod_output.name(class_='form-control', value=each_output.name, **{'title': dict_translation['name']['phrase']})}}
{{form_mod_output.log_level_debug.label(class_='control-label')}}
{% include 'pages/form_options/Interface.html' %} {% include 'pages/form_options/GPIO.html' %} {% include 'pages/form_options/GPIO_Pin.html' %} {% include 'pages/form_options/Bluetooth.html' %} {% include 'pages/form_options/I2C.html' %} {% include 'pages/form_options/FTDI.html' %} {% include 'pages/form_options/UART.html' %} {% include 'pages/form_options/Baud_Rate.html' %} {% include 'pages/form_options/Location.html' %} {% include 'pages/form_options/Period.html' %} {% include 'pages/form_options/Wireless_Protocol.html' %} {% include 'pages/form_options/Wireless_Pulse_Length.html' %} {% include 'pages/form_options/Wireless_Command_On.html' %} {% include 'pages/form_options/Wireless_Command_Off.html' %} {% include 'pages/form_options/Pump_Output_Mode.html' %} {% include 'pages/form_options/Pump_Flow_Rate.html' %} {% include 'pages/form_options/Command_On.html' %} {% include 'pages/form_options/Command_Off.html' %} {% include 'pages/form_options/Python_PWM.html' %} {% include 'pages/form_options/Python_On.html' %} {% include 'pages/form_options/Python_Off.html' %} {% include 'pages/form_options/PWM_Command.html' %} {% include 'pages/form_options/PWM_Library.html' %} {% include 'pages/form_options/PWM_Frequency.html' %} {% include 'pages/form_options/PWM_Invert_Signal.html' %} {% include 'pages/form_options/Command_Execute_User.html' %} {% include 'pages/form_options/Command_Force.html' %} {% include 'pages/form_options/PWM_State_Startup.html' %} {% include 'pages/form_options/PWM_State_Shutdown.html' %} {% include 'pages/form_options/On_Off_State_On.html' %} {% include 'pages/form_options/On_Off_State_Startup.html' %} {% include 'pages/form_options/On_Off_State_Shutdown.html' %} {% include 'pages/form_options/On_Off_None_State_Startup.html' %} {% include 'pages/form_options/On_Off_None_State_Shutdown.html' %} {% include 'pages/form_options/Trigger_Functions_Startup.html' %} {% include 'pages/form_options/Current_Draw.html' %}
{% if 'custom_options' in dict_options or 'custom_options_message' in dict_options %}
{{_('Custom Options')}}
{% if 'custom_options_message' in dict_options %} {% include 'pages/form_options/Custom_Options_Message.html' %} {% endif %} {% if 'custom_options' in dict_options %} {% for each_option in dict_options['custom_options'] %} {% include 'pages/form_options/Custom_Options.html' %} {% endfor %} {% endif %}
{% endif %} {% if 'button_send_duration' in dict_options['options_enabled'] %}
{% endif %} {% if 'button_send_volume' in dict_options['options_enabled'] %}
{% endif %} {% if 'button_send_duty_cycle' in dict_options['options_enabled'] %}
{% endif %}
{%- endfor -%} {%- endfor -%}
{{form_base.csrf_token}}
{{form_base.reorder(class_='btn btn-primary')}}
{{form_base.reorder_type(class_='form-control', value='output')}}
{%- endif -%}