diff --git a/web/src/components/ListViewElement.vue b/web/src/components/ListViewElement.vue index 04aa173..d0b3d5d 100644 --- a/web/src/components/ListViewElement.vue +++ b/web/src/components/ListViewElement.vue @@ -5,7 +5,7 @@
-
+
Name: {{ node.id }} (Status: online)
@@ -22,15 +22,15 @@
Temperature: - {{ sensorData?.temperature !== undefined ? sensorData.temperature : 'NaN' }}°C + {{ latestSensorData?.temperature !== undefined ? latestSensorData.temperature : 'NaN' }}°C
Battery Voltage: - {{ sensorData?.voltage || 'N/A' }}V + {{ latestSensorData?.voltage || 'N/A' }}V
Runtime: - {{ sensorData?.uptime ? (sensorData.uptime / 3600).toFixed(2) + ' hours' : 'N/A' }} + {{ latestSensorData?.uptime ? (latestSensorData.uptime / 3600).toFixed(2) + ' hours' : 'N/A' }}
@@ -42,13 +42,13 @@ diff --git a/web/src/components/TableCategory.vue b/web/src/components/TableCategory.vue index 800284f..c08cb76 100644 --- a/web/src/components/TableCategory.vue +++ b/web/src/components/TableCategory.vue @@ -16,8 +16,8 @@ {{ node.id }} - - {{ node.sensorData.voltage !== 'N/A' ? 'ONLINE' : 'OFFLINE' }} + + {{ getLastSensorData(node)?.voltage !== 'N/A' ? 'ONLINE' : 'OFFLINE' }} {{ node.coord_lo }} - {{ calculateBatteryPercentage(node.sensorData.voltage, node.battery_minimum, node.battery_maximum) }}% - {{ node.sensorData.temperature }}°C - {{ formatRuntime(node.sensorData.uptime) }} + {{ calculateBatteryPercentage(getLastSensorData(node)?.voltage, node.battery_minimum, node.battery_maximum) }}% + {{ getLastSensorData(node)?.temperature }}°C + {{ formatRuntime(getLastSensorData(node)?.uptime) }} @@ -75,6 +75,11 @@ export default { } catch (error) { console.error('Error fetching node or sensor data:', error); } + }, + getLastSensorData(node) { + return node.sensorData && node.sensorData.length > 0 + ? node.sensorData[node.sensorData.length - 1] + : { temperature: 'N/A', voltage: 'N/A', uptime: 'N/A'}; }, calculateBatteryPercentage(voltage, batteryMinimum, batteryMaximum) { if (voltage <= batteryMinimum) {