// Retrieve the latest/last measurement for gauges/outputs function getLastDataPWMSlider(chart_number, unique_id, measure_type, measurement_id, max_measure_age_sec, decimal_places, extra) { if (decimal_places === null) { decimal_places = 1; } const url = '/last/' + unique_id + '/' + measure_type + '/' + measurement_id + '/' + max_measure_age_sec.toString(); $.ajax(url, { success: function(data, responseText, jqXHR) { if (jqXHR.status === 204) { document.getElementById('value-' + chart_number).innerHTML = 'NO DATA'; document.getElementById('timestamp-' + chart_number).innerHTML = 'MAX AGE EXCEEDED'; } else { const formattedTime = epoch_to_timestamp(data[0]); const measurement = data[1]; document.getElementById('value-' + chart_number).innerHTML = measurement.toFixed(decimal_places); const range_exists = document.getElementById("range_" + chart_number); if (range_exists != null) { // Update range slider value document.getElementById("range_" + chart_number).value = measurement.toFixed(0); document.getElementById("range_val_" + chart_number).innerHTML = measurement.toFixed(0); } document.getElementById('timestamp-' + chart_number).innerHTML = formattedTime; } }, error: function(jqXHR, textStatus, errorThrown) { document.getElementById('value-' + chart_number).innerHTML = 'NO DATA'; document.getElementById('timestamp-' + chart_number).innerHTML = '{{_('Error')}}'; } }); } // Repeat function for getLastData() function repeatLastDataPWMSlider(chart_number, dev_id, measure_type, measurement_id, period_sec, max_measure_age_sec, decimal_places, extra) { setInterval(function () { getLastDataPWMSlider(chart_number, dev_id, measure_type, measurement_id, max_measure_age_sec, decimal_places, extra) }, period_sec * 1000); } function getGPIOStatePWMSlider(chart_number, unique_id, channel_id) { const url = '/outputstate_unique_id/' + unique_id + '/' + channel_id; $.getJSON(url, function(state, responseText, jqXHR) { if (jqXHR.status !== 204) { if (state !== null) { document.getElementById("container-output-" + chart_number).className = "active-background"; if (state !== 'off') { if (state === 'on') { document.getElementById("text-output-state-" + chart_number).innerHTML = '({{_('Active')}})'; } else { document.getElementById("text-output-state-" + chart_number).innerHTML = '({{_('Active')}}, ' + state.toFixed(1) + '%)'; } } else { document.getElementById("container-output-" + chart_number).className = "inactive-background"; document.getElementById("text-output-state-" + chart_number).innerHTML = '({{_('Inactive')}})'; } } } else { document.getElementById("container-output-" + chart_number).className = "pause-background"; document.getElementById("text-output-state-" + chart_number).innerHTML = '({{_('No Connection')}})'; } } ); } function repeatGPIOStatePWMSlider(chart_number, unique_id, channel_id, refresh_seconds) { setInterval(function () { getGPIOStatePWMSlider(chart_number, unique_id, channel_id); }, refresh_seconds * 1000); // Refresh duration in milliseconds }