{% extends "layout.html" %} {% set active_page = "live" %} {% set help_page = ["live-measurements", _('Live Leasurements')] %} {% block title %} - {{_('Live')}}{% endblock %} {% block head %} {% endblock %} {%- block body %}
{% include 'flash_messages.html' %} {%- if sensorDisplayOrderSorted|length == 0 -%}
No Sensors Activated. Click here to go to the sensor page. Read the Manual to become more familiar with the system and configuration options.
{%- endif -%} {%- if sensorDisplayOrderSorted -%} {%- for sensor_order in sensorDisplayOrderSorted -%} {%- set collapse_container_number = loop.index -%} {%- for each_sensor in sensor if each_sensor.id == sensor_order -%}
{%- set sensor_has_pid = [] -%} {%- if pidDisplayOrder -%} {%- for pid_order in pidDisplayOrder -%} {%- for each_pid in pid if each_pid.id == pid_order and each_pid.is_activated and each_pid.measurement.split(',')[0] == each_sensor.unique_id -%} {%- do sensor_has_pid.append(1) -%} {%- endfor -%} {%- endfor -%} {%- endif -%} {%- if sensor_has_pid -%} {%- endif -%} {{each_sensor.name}} ({{each_sensor.id}}) {%- if each_sensor.device != 'EDGE' -%}
{{_('%(type)s Sensor, %(sec)s second interval', type=each_sensor.device, sec=each_sensor.period)}}
{%- endif -%}
{{_('Measurement')}} | {{_('Timestamp')}}
{% for each_measure in each_sensor.measurements.split(',') if each_sensor.device != 'LinuxCommand' %} {% if each_measure and measurement_units[each_measure]['meas'] == 'temperature' %} 0.0 {{measurement_units[each_measure]['unit']}} (0.0 °F) {%- if each_measure == 'dewpoint' %} DP {% elif each_measure == 'temperature_object' %} Obj {% elif each_measure == 'temperature_die' %} Die {%- endif -%} | <{{_('Please wait')}}>
{% else %} 0.0 {% if each_measure != '' %}{{measurement_units[each_measure]['unit']}}{% endif %} | <{{_('Please wait')}}>
{% endif %} {% endfor %} {%- if each_sensor.device in ['ADS1x15', 'MCP342x'] %} 0.0 {{each_sensor.adc_measure_units}} {{each_sensor.adc_measure}} | <{{_('Please wait')}}> {% endif %} {%- if each_sensor.device == 'LinuxCommand' %} 0.0 {{each_sensor.cmd_measurement_units}} {{each_sensor.cmd_measurement}} | <{{_('Please wait')}}> {% endif %}
{%- if pidDisplayOrder -%} {%- for pid_order in pidDisplayOrder -%} {%- for each_pid in pid if each_pid.id == pid_order and each_pid.is_activated and each_pid.measurement.split(',')[0] == each_sensor.unique_id -%}
{{each_pid.name}} ({{each_pid.id}})
Every {{each_pid.period}} seconds, apply PID to {% if each_pid.direction == 'both' -%}raise or lower{%- else -%}{{each_pid.direction}}{%- endif %} {{each_pid.measurement.split(',')[1]}} to {{each_pid.setpoint}}
{{_('Gain')}}
KP: {{each_pid.p}}, KI: {{each_pid.i}}, KD: {{each_pid.d}}
{%- for rel in relay if rel.id == each_pid.raise_relay_id -%}
{{_('Output (Raise)')}}
{{rel.name}} ({{rel.id}})
{% if each_pid.pid_type != 'pwm' -%} {{_('On Duration (sec.)')}} {% else -%} {{_('Duty Cycle (%%)')}} {% endif %}
{{_('Min')}}: {{each_pid.raise_min_duration}}, {{_('Max')}}: {{each_pid.raise_max_duration}}
{% if each_pid.pid_type != 'pwm' -%}
{{_('Off Duration (sec.)')}}
{{_('Min')}}: {{each_pid.raise_min_off_duration}}
{% endif %}
{{_('Current Draw')}}
{{rel.amps}} {{_('amps')}}
{%- endfor -%} {%- for rel in relay if rel.id == each_pid.lower_relay_id -%}
{{_('Output (Lower)')}}
{{rel.name}} ({{rel.id}})
{% if each_pid.pid_type != 'pwm' -%} {{_('On Duration (sec.)')}} {% else -%} {{_('Duty Cycle (%%)')}} {% endif %}
{{_('Min')}}: {{each_pid.lower_min_duration}}, {{_('Max')}}: {{each_pid.lower_max_duration}}
{% if each_pid.pid_type != 'pwm' -%}
{{_('Off Duration (sec.)')}}
{{_('Min')}}: {{each_pid.lower_min_off_duration}}
{% endif %}
{{_('Current Draw')}}
{{rel.amps}} {{_('amps')}}
{%- endfor -%} {%- for each_method in method if each_method.id == each_pid.method_id -%} {%- endfor -%}
{%- endfor -%} {%- endfor -%} {%- endif -%}
{%- endfor -%} {%- endfor -%} {%- endif -%}
{% endblock -%}