{% set graph_input_ids = widget_options['measurements_input'] %}
{% set graph_math_ids = widget_options['measurements_math'] %}
{% set graph_function_ids = widget_options['measurements_function'] %}
{% set graph_output_ids = widget_options['measurements_output'] %}
{% set graph_pid_ids = widget_options['measurements_pid'] %}
{% set graph_note_tag_ids = widget_options['measurements_note_tag'] %}
chart[{{chart_number}}] = new Highcharts.StockChart({
chart : {
renderTo: 'container-synchronous-graph-{{each_widget.unique_id}}',
zoomType: 'x',
alignTicks: {% if widget_options['enable_align_ticks'] %}true{% else %}false{% endif %},
resetZoomButton: {
theme: {
display: 'none'
}
},
events: {
load: function () {
{% set count_series = [] -%}
{%- for input_and_measurement_ids in graph_input_ids -%}
{%- set input_id = input_and_measurement_ids.split(',')[0] -%}
{%- set measurement_id = input_and_measurement_ids.split(',')[1] -%}
{%- set all_input = table_input.query.filter(table_input.unique_id == input_id).all() -%}
{%- if all_input -%}
{% for each_input in all_input %}
getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_input.unique_id}}', 'input', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}});
{% if widget_options['enable_auto_refresh'] -%}
getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_input.unique_id}}', 'input', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- endif -%}
{%- do count_series.append(1) -%}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}
{%- for math_and_measurement_ids in graph_math_ids -%}
{%- set math_id = math_and_measurement_ids.split(',')[0] -%}
{%- set measurement_id = math_and_measurement_ids.split(',')[1] -%}
{%- set all_math = table_math.query.filter(table_math.unique_id == math_id).all() -%}
{%- if all_math -%}
{% for each_math in all_math %}
getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_math.unique_id}}', 'math', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}});
{% if widget_options['enable_auto_refresh'] %}
getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_math.unique_id}}', 'math', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{% endif %}
{%- do count_series.append(1) %}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}
{%- for function_and_measurement_ids in graph_function_ids -%}
{%- set function_id = function_and_measurement_ids.split(',')[0] -%}
{%- set measurement_id = function_and_measurement_ids.split(',')[1] -%}
{%- set all_function = table_function.query.filter(table_function.unique_id == function_id).all() -%}
{%- if all_function -%}
{% for each_function in all_function %}
getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_function.unique_id}}', 'function', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}});
{% if widget_options['enable_auto_refresh'] %}
getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_function.unique_id}}', 'function', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{% endif %}
{%- do count_series.append(1) %}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}
{%- for output_and_measurement_ids in graph_output_ids -%}
{%- set output_id = output_and_measurement_ids.split(',')[0] -%}
{%- set measurement_id = output_and_measurement_ids.split(',')[1] -%}
{%- set all_output = table_output.query.filter(table_output.unique_id == output_id).all() -%}
{%- if all_output -%}
{% for each_output in all_output %}
getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_output.unique_id}}', 'output', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}});
{% if widget_options['enable_auto_refresh'] -%}
getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_output.unique_id}}', 'output', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- endif -%}
{%- do count_series.append(1) -%}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}
{%- for each_pid in pid -%}
{%- for pid_and_measurement_id in graph_pid_ids if each_pid.unique_id == pid_and_measurement_id.split(',')[0] %}
{%- set measurement_id = pid_and_measurement_id.split(',')[1] -%}
getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_pid.unique_id}}', 'pid', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}});
{% if widget_options['enable_auto_refresh'] %}
getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_pid.unique_id}}', 'pid', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{% endif %}
{%- do count_series.append(1) %}
{%- endfor -%}
{%- endfor -%}
{%- for each_tag in tags -%}
{%- for tag_and_measurement_id in graph_note_tag_ids if each_tag.unique_id == tag_and_measurement_id.split(',')[0] %}
{%- set measurement_id = tag_and_measurement_id.split(',')[1] -%}
getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_tag.unique_id}}', 'tag', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}});
{% if widget_options['enable_auto_refresh'] %}
getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_tag.unique_id}}', 'tag', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{% endif %}
{%- do count_series.append(1) %}
{%- endfor -%}
{%- endfor -%}
}
}
},
{% if widget_options['use_custom_colors'] and widget_options['custom_colors'] -%}
{% set color_list = widget_options['custom_colors'] %}
colors: [
{%- for each_color in color_list -%}
"{{each_color}}",
{%- endfor -%}],
{%- endif -%}
title: {
text: '{% if widget_options['enable_title'] %}{{each_widget.name}}{% endif %}'
},
legend: {
enabled: {% if widget_options['enable_graph_legend'] %}true{% else %}false{% endif %}
},
xAxis: {
type: 'datetime',
ordinal: false
},
yAxis: [
{% for each_axis_meas in widget_variables['y_axes'] if each_axis_meas in dict_units %}
{
{% if widget_options['enable_manual_y_axis'] and
widget_variables['custom_yaxes'][each_axis_meas]['minimum'] != widget_variables['custom_yaxes'][each_axis_meas]['maximum'] %}
min: {{widget_variables['custom_yaxes'][each_axis_meas]['minimum']}},
max: {{widget_variables['custom_yaxes'][each_axis_meas]['maximum']}},
startOnTick: {% if widget_options['enable_start_on_tick'] %}true{% else %}false{% endif %},
endOnTick: {% if widget_options['enable_end_on_tick'] %}true{% else %}false{% endif %},
{% endif %}
title: {
text: '{{dict_units[each_axis_meas]['name']}}
{%- if dict_units[each_axis_meas]['unit'] != '' -%}
{{' (' + dict_units[each_axis_meas]['unit'] + ')'}}
{%- endif -%}'
},
labels: {
format: '{value}'
},
opposite: false,
id: '{{each_axis_meas}}'
},
{% endfor %}
],
exporting: {
enabled: {% if widget_options['enable_export'] %}true{% else %}false{% endif %},
fallbackToExportServer: false,
},
navigator: {
enabled: {% if widget_options['enable_navbar'] %}true{% else %}false{% endif %}
},
scrollbar: {
enabled: false
},
rangeSelector: {
enabled: {% if widget_options['enable_range_selector'] %}true{% else %}false{% endif %},
buttons: [{
count: 1,
type: 'minute',
text: '1m'
}, {
count: 5,
type: 'minute',
text: '5m'
}, {
count: 15,
type: 'minute',
text: '15m'
}, {
count: 30,
type: 'minute',
text: '30m'
}, {
type: 'hour',
count: 1,
text: '1h'
}, {
type: 'hour',
count: 6,
text: '6h'
}, {
type: 'day',
count: 1,
text: '1d'
}, {
type: 'week',
count: 1,
text: '1w'
}, {
type: 'month',
count: 1,
text: '1m'
}, {
type: 'month',
count: 3,
text: '3m'
}, {
type: 'all',
text: 'Full'
}],
selected: 15
},
credits: {
enabled: false,
href: "https://github.com/kizniche/Mycodo",
text: "Mycodo"
},
tooltip: {
shared: true,
useHTML: true,
formatter: function(){
const d = new Date(this.x);
if (this.point) {
return ''+ Highcharts.dateFormat('%B %e, %Y %H:%M:%S.', this.x) + d.getMilliseconds()
+ '
' + this.series.name
+ '
' + this.point.title
+ '
' + this.point.text;
}
else {
let s = '' + Highcharts.dateFormat('%B %e, %Y %H:%M:%S.', this.x) + d.getMilliseconds() + '';
$.each(this.points, function(i, point) {
s += '
● ' + point.series.name + ': ' + Highcharts.numberFormat(point.y, this.series.tooltipOptions.valueDecimals) + ' ' + this.series.tooltipOptions.valueSuffix;
});
return s;
}
}
},
plotOptions: {
column: {
maxPointWidth: 3 /* limit the maximum column width. */
}
},
{# // Generate thermal image from pixel data#}
{# // point click event opens image in a new window#}
{# plotOptions: {#}
{# series: {#}
{# cursor: 'pointer',#}
{# point: {#}
{# events: {#}
{# click: function () {#}
{# URL = '/generate_thermal_image/f36ce034-3129-456d-b877-ff0d5587e375/' + this.x;#}
{# window.open(URL, "_blank");#}
{# }#}
{# }#}
{# }#}
{# }#}
{# },#}
{# plotOptions: {#}
{# series: {#}
{# cursor: 'pointer',#}
{# point: {#}
{# events: {#}
{# click: function(e){#}
{# hs.htmlExpand(null, {#}
{# pageOrigin: {#}
{# x: e.pageX || e.clientX,#}
{# y: e.pageY || e.clientY#}
{# },#}
{# headingText: this.series.name,#}
{# maincontentText: '
',#}
{# width: 215,#}
{# height: 255,#}
{# });#}
{# }#}
{# }#}
{# },#}
{# marker: {#}
{# lineWidth: 1#}
{# }#}
{# }#}
{# },#}
series: [
{%- for input_and_measurement_ids in graph_input_ids -%}
{%- set input_id = input_and_measurement_ids.split(',')[0] -%}
{%- set all_input = table_input.query.filter(table_input.unique_id == input_id).all() -%}
{%- if all_input -%}
{%- for each_input in all_input -%}
{%- set measurement_id = input_and_measurement_ids.split(',')[1] -%}
{% set disable_data_grouping = [] -%}
{% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %}
{%- do disable_data_grouping.append(1) %}
{% endfor %}
{%- if measurement_id in device_measurements_dict -%}
{
name: '{{each_input.name}}
{%- if device_measurements_dict[measurement_id].name -%}
{{' (' + device_measurements_dict[measurement_id].name}})
{%- endif -%}
{{' (CH' + (device_measurements_dict[measurement_id].channel)|string}}
{%- if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%}
{{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}}
{%- endif -%}
{%- if dict_measure_units[measurement_id] in dict_units and
dict_units[dict_measure_units[measurement_id]]['unit'] -%}
{{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}}
{%- endif -%}
)',
{% if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %}
type: 'column',
{% else -%}
type: 'line',
{%- endif -%}
dataGrouping: {
enabled: {% if disable_data_grouping %}false{% else %}true{% endif %},
groupPixelWidth: 2
},
tooltip: {
valueSuffix: '
{%- if device_measurements_dict[measurement_id].conversion_id -%}
{{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}}
{%- elif device_measurements_dict[measurement_id].rescaled_unit -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}}
{%- else -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}}
{%- endif -%}
',
valueDecimals: 3
},
yAxis: '
{%- if measurement_id in dict_measure_units -%}
{{dict_measure_units[measurement_id]}}
{%- endif -%}
',
data: []
},
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}
{% for each_math in math -%}
{%- for math_and_measurement_ids in graph_math_ids if each_math.unique_id == math_and_measurement_ids.split(',')[0] -%}
{%- set measurement_id = math_and_measurement_ids.split(',')[1] -%}
{% set disable_data_grouping = [] -%}
{% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %}
{%- do disable_data_grouping.append(1) %}
{% endfor %}
{%- if measurement_id in device_measurements_dict -%}
{
name: '{{each_math.name}}
{%- if device_measurements_dict[measurement_id].name -%}
{{' (' + device_measurements_dict[measurement_id].name}})
{%- endif -%}
{{' (CH' + (device_measurements_dict[measurement_id].channel)|string}}
{%- if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%}
{{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}}
{%- endif -%}
{%- if dict_measure_units[measurement_id] in dict_units and
dict_units[dict_measure_units[measurement_id]]['unit'] -%}
{{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}}
{%- endif -%}
)',
{% if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %}
type: 'column',
{% else %}
type: 'line',
{% endif %}
dataGrouping: {
enabled: {% if disable_data_grouping %}false{% else %}true{% endif %},
groupPixelWidth: 2
},
tooltip: {
valueSuffix: '
{%- if device_measurements_dict[measurement_id].conversion_id -%}
{{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}}
{%- elif device_measurements_dict[measurement_id].rescaled_unit -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}}
{%- else -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}}
{%- endif -%}
',
valueDecimals: 3
},
yAxis: '
{%- if measurement_id in dict_measure_units -%}
{{dict_measure_units[measurement_id]}}
{%- endif -%}
',
data: []
},
{%- endif -%}
{%- endfor -%}
{% endfor %}
{% for each_function in function -%}
{%- for function_and_measurement_ids in graph_function_ids if each_function.unique_id == function_and_measurement_ids.split(',')[0] -%}
{%- set measurement_id = function_and_measurement_ids.split(',')[1] -%}
{% set disable_data_grouping = [] -%}
{% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %}
{%- do disable_data_grouping.append(1) %}
{% endfor %}
{%- if measurement_id in device_measurements_dict -%}
{
name: '{{each_function.name}}
{%- if device_measurements_dict[measurement_id].name -%}
{{' (' + device_measurements_dict[measurement_id].name}})
{%- endif -%}
{{' (CH' + (device_measurements_dict[measurement_id].channel)|string}}
{%- if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%}
{{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}}
{%- endif -%}
{%- if dict_measure_units[measurement_id] in dict_units and
dict_units[dict_measure_units[measurement_id]]['unit'] -%}
{{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}}
{%- endif -%}
)',
{% if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %}
type: 'column',
{% else %}
type: 'line',
{% endif %}
dataGrouping: {
enabled: {% if disable_data_grouping %}false{% else %}true{% endif %},
groupPixelWidth: 2
},
tooltip: {
valueSuffix: '
{%- if device_measurements_dict[measurement_id].conversion_id -%}
{{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}}
{%- elif device_measurements_dict[measurement_id].rescaled_unit -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}}
{%- else -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}}
{%- endif -%}
',
valueDecimals: 3
},
yAxis: '
{%- if measurement_id in dict_measure_units -%}
{{dict_measure_units[measurement_id]}}
{%- endif -%}
',
data: []
},
{%- endif -%}
{%- endfor -%}
{% endfor %}
{%- for output_and_measurement_ids in graph_output_ids -%}
{%- set output_id = output_and_measurement_ids.split(',')[0] -%}
{%- set all_output = table_output.query.filter(table_output.unique_id == output_id).all() -%}
{%- if all_output -%}
{%- for each_output in all_output -%}
{%- set measurement_id = output_and_measurement_ids.split(',')[1] -%}
{% set disable_data_grouping = [] -%}
{% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %}
{%- do disable_data_grouping.append(1) %}
{% endfor %}
{%- if measurement_id in device_measurements_dict -%}
{
name: '{{each_output.name}}
{%- if device_measurements_dict[measurement_id].name -%}
{{' (' + device_measurements_dict[measurement_id].name}})
{%- endif -%}
{{' (CH' + (device_measurements_dict[measurement_id].channel)|string}}
{%- if output_id in custom_options_values_output_channels and
device_measurements_dict[measurement_id].channel in custom_options_values_output_channels[output_id] and
'name' in custom_options_values_output_channels[output_id][device_measurements_dict[measurement_id].channel] -%}
{{', ' + custom_options_values_output_channels[output_id][device_measurements_dict[measurement_id].channel]['name']}}
{%- endif -%}
{%- if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%}
{{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}}
{%- endif -%}
{%- if dict_measure_units[measurement_id] in dict_units and
dict_units[dict_measure_units[measurement_id]]['unit'] -%}
{{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}}
{%- endif -%}
)',
type: 'column',
dataGrouping: {
enabled: {% if disable_data_grouping %}false{% else %}true{% endif %},
groupPixelWidth: 5
},
tooltip: {
valueSuffix: '
{%- if device_measurements_dict[measurement_id].conversion_id -%}
{{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}}
{%- elif device_measurements_dict[measurement_id].rescaled_unit -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}}
{%- else -%}
{{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}}
{%- endif -%}
',
valueDecimals: 3
},
yAxis: '
{%- if measurement_id in dict_measure_units -%}
{{dict_measure_units[measurement_id]}}
{%- endif -%}
',
data: []
},
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}
{%- for each_pid in pid -%}
{%- for pid_and_measurement_ids in graph_pid_ids if each_pid.unique_id == pid_and_measurement_ids.split(',')[0] -%}
{%- set measurement_id = pid_and_measurement_ids.split(',')[1] -%}
{% set disable_data_grouping = [] -%}
{% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %}
{%- do disable_data_grouping.append(1) %}
{% endfor %}
{%- if measurement_id in device_measurements_dict -%}
{
name: '{{each_pid.name}}
{%- if device_measurements_dict[measurement_id].name -%}
{{' (' + device_measurements_dict[measurement_id].name}})
{%- endif -%}
{{' (CH' + (device_measurements_dict[measurement_id].channel)|string}}
{%- if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%}
{{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}}
{%- endif -%}
{%- if dict_measure_units[measurement_id] in dict_units and
dict_units[dict_measure_units[measurement_id]]['unit'] -%}
{{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}}
{%- endif -%}
)',
{% if dict_measure_measurements[measurement_id] in dict_measurements and
dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %}
type: 'column',
{% else %}
type: 'line',
{% endif %}
dataGrouping: {
enabled: {% if disable_data_grouping %}false{% else %}true{% endif %},
groupPixelWidth: 2
},
tooltip: {
valueSuffix: '
{%- if measurement_id in dict_measure_units and dict_measure_units[measurement_id] in dict_units -%}
{{' ' + dict_units[dict_measure_units[measurement_id]]['unit']}}
{%- endif -%}
',
valueDecimals: 3
},
yAxis: '
{%- if measurement_id in dict_measure_units -%}
{{dict_measure_units[measurement_id]}}
{%- endif -%}
',
data: []
},
{%- endif -%}
{%- endfor -%}
{% endfor %}
{%- for each_tag in tags -%}
{%- for each_graph_note_tag_id in graph_note_tag_ids if each_tag.unique_id == each_graph_note_tag_id.split(',')[0] -%}
{
name: 'Note Tag: {{each_tag.name}}',
type: 'flags',
data: [],
stackDistance: 40,
shape: 'squarepin'
},
{% endfor %}
{% endfor %}
]
});
$('#updateData{{chart_number}}').click(function() {
{% set count_series = [] -%}
{% for each_input in input -%}
{% for input_and_measurement_ids in graph_input_ids if each_input.unique_id == input_and_measurement_ids.split(',')[0] %}
{%- set measurement_id = input_and_measurement_ids.split(',')[1] -%}
retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_input.unique_id}}', 'input', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- do count_series.append(1) %}
{% endfor %}
{%- endfor -%}
{% for each_math in math -%}
{% for math_and_measurement_id in graph_math_ids if each_math.unique_id == math_and_measurement_id.split(',')[0] %}
{%- set measurement_id = math_and_measurement_id.split(',')[1] -%}
retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_math.unique_id}}', 'math', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- do count_series.append(1) %}
{% endfor %}
{%- endfor -%}
{% for each_function in function -%}
{% for function_and_measurement_id in graph_function_ids if each_function.unique_id == function_and_measurement_id.split(',')[0] %}
{%- set measurement_id = function_and_measurement_id.split(',')[1] -%}
retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_function.unique_id}}', 'function', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- do count_series.append(1) %}
{% endfor %}
{%- endfor -%}
{% for each_output in output -%}
{% for output_and_measurement_ids in graph_output_ids if each_output.unique_id == output_and_measurement_ids.split(',')[0] %}
{%- set measurement_id = output_and_measurement_ids.split(',')[1] -%}
retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_output.unique_id}}', 'output', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- do count_series.append(1) %}
{% endfor %}
{%- endfor -%}
{% for each_pid in pid -%}
{% for pid_and_measurement_id in graph_pid_ids if each_pid.unique_id == pid_and_measurement_id.split(',')[0] %}
{%- set measurement_id = pid_and_measurement_id.split(',')[1] -%}
retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_pid.unique_id}}', 'pid', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- do count_series.append(1) %}
{% endfor %}
{%- endfor -%}
{%- for each_tag in tag -%}
{% for each_id_and_measure in graph_note_tag_ids if each_pid.unique_id == each_id_and_measure.split(',')[0] %}
retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_id_and_measure.split(',')[1]}}', '{{each_id_and_measure.split(',')[0]}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}});
{%- do count_series.append(1) %}
{% endfor %}
{%- endfor -%}
});
$('#resetZoom{{chart_number}}').click(function() {
const chart = $('#container-synchronous-graph-{{each_widget.unique_id}}').highcharts();
chart.zoomOut();
});
$('#showhidebutton{{chart_number}}').click(function() {
const chart = $('#container-synchronous-graph-{{each_widget.unique_id}}').highcharts();
const series = chart.series[0];
if (series.visible) {
$(chart.series).each(function(){
this.setVisible(false, false);
});
chart.redraw();
} else {
$(chart.series).each(function(){
this.setVisible(true, false);
});
chart.redraw();
}
});