// Retrieve the latest/last measurement for Measurement widget function getLastDataMeasurement(chart_number, unique_id, measure_type, measurement_id, max_measure_age_sec, decimal_places) { 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 repeatLastDataMeasurement(chart_number, dev_id, measure_type, measurement_id, period_sec, max_measure_age_sec, decimal_places) { setInterval(function () { getLastDataMeasurement(chart_number, dev_id, measure_type, measurement_id, max_measure_age_sec, decimal_places) }, period_sec * 1000); }