diff --git a/index.xml b/index.xml
index 92f5e01..c6ccccb 100644
--- a/index.xml
+++ b/index.xml
@@ -16,4 +16,5 @@ Att bygga en solnod Val av LoRa hårdvara Det är en stor skillnad i strömförb
⏰ Tid: 17:00-21:00 Våren närmar sig och det är massvis med trafik i meshen. Det har dessutom tillkommit massvis med nya noder och personer. Vi bjuder därför in till After Work för de som vill träffa likasinnade, snacka LoRa, dela erfarenheter och visa hemmabyggen.Om STHLM-MESHhttps://sthlm-mesh.se/about/Mon, 01 Jan 0001 00:00:00 +0000https://sthlm-mesh.se/about/Om STHLM-MESH STHLM-MESH är ett community-drivet open-source-projekt som syftar till att bygga och dokumentera ett öppet LoRa Mesh-nätverk i Stockholm. Projektet drivs av entusiaster som vill utforska möjligheterna med decentraliserad kommunikation och verka för ett välfungerande mesh för alla i Stockholm.
Backend Denna webbplats är byggd med de statiska site-generatorn Hugo och använder Docsy som tema.
Collaboration Källkoden för webbplatsen är öppen och tillgänglig på GitHub, och vi uppmuntrar bidrag från communityt!Mesh Statushttps://sthlm-mesh.se/status/Mon, 01 Jan 0001 00:00:00 +0000https://sthlm-mesh.se/status/Text Meddelanden Antalet meddelande per timme senaste 7 dygnen.
-Skapade paket per nod Grafen nedan visar vilka noder som har skickat flest paket under det senaste dygnet. Vidarebefordrade meddelanden och krypterade paket är inte medräknade. Datat i grafen är endast en uppskattning och bör inte ses som exakt. Graferna bygger på MQTT-data från ett begränsat antal noder. Eftersom vi har begränsad bandbredd är det viktigt att hålla nere trafiken. En sändningsvolym på max 50–100 paket per dygn är önskvärd.
\ No newline at end of file
+Skapade paket per nod Grafen nedan visar vilka noder som har skickat flest paket under det senaste dygnet. Graferna bygger på MQTT-data från ett begränsat antal noder. Eftersom vi har begränsad bandbredd är det viktigt att hålla nere trafiken. En sändningsvolym på max 100 paket per dygn är önskvärd.
+Position Precision Grafen visar position precision, eller noggrannhet, på de noder som rapporterat sin position de senaste 7 dagarna.
\ No newline at end of file
diff --git a/js/status/most-active-nodes.js b/js/status/most-active-nodes.js
new file mode 100644
index 0000000..45de66a
--- /dev/null
+++ b/js/status/most-active-nodes.js
@@ -0,0 +1,62 @@
+async function mostActiveNodesGraph() {
+ const canvas = document.getElementById('mostActiveNodes');
+ const ctx = canvas.getContext('2d');
+
+ // Show "Loading..." message
+ ctx.font = '16px Arial';
+ ctx.fillStyle = 'gray';
+ ctx.textAlign = 'center';
+ ctx.fillText('Loading data...', canvas.width / 2, canvas.height / 2);
+
+ try {
+ const response = await fetch('https://map.sthlm-mesh.se/api/v1/stats/most-active-nodes');
+ const data = await response.json();
+
+ const labels = data.map(entry => entry.long_name);
+ const counts = data.map(entry => entry.count);
+
+ // Adjust chart height based on number of items
+ const chartContainer = document.getElementById('mostActiveNodesContainer');
+ chartContainer.style.height = `${labels.length * 25}px`;
+
+ const backgroundColors = counts.map(count => {
+ if (count < 100) return '#7EB26D'; // Green
+ if (count < 200) return '#EAB839'; // Yellow
+ return '#BF1B00'; // Red
+ });
+
+
+ new Chart(ctx, {
+ type: 'bar',
+ data: {
+ labels: labels,
+ datasets: [{
+ label: 'Packages originated',
+ data: counts,
+ backgroundColor: backgroundColors,
+ borderWidth: 1
+ }]
+ },
+ options: {
+ responsive: true,
+ maintainAspectRatio: false,
+ indexAxis: 'y', // horizontal bars
+ scales: {
+ y: {
+ ticks: { autoSkip: false, font: { size: 12 } }
+ }
+ },
+ plugins: {
+ legend: { display: false },
+ }
+ }
+ });
+ } catch (error) {
+ console.error('Error fetching data:', error);
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
+ ctx.fillStyle = 'red';
+ ctx.fillText('Error loading data', canvas.width / 2, canvas.height / 2);
+ }
+}
+
+mostActiveNodesGraph();
diff --git a/sitemap.xml b/sitemap.xml
index 427a826..d125f43 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-https://sthlm-mesh.se/docs/settings/2025-02-26T18:39:36+01:00https://sthlm-mesh.se/docs/device_role/2025-02-26T18:42:15+01:00https://sthlm-mesh.se/docs/position/2025-02-22T09:11:26+01:00https://sthlm-mesh.se/docs/mqtt/2025-03-31T19:16:34+02:00https://sthlm-mesh.se/docs/neighbor_info/2025-02-23T20:48:06+01:00https://sthlm-mesh.se/docs/kartor/2025-03-08T20:11:28+01:00https://sthlm-mesh.se/docs/solar_nodes/2025-02-25T20:03:55+01:00https://sthlm-mesh.se/docs/communities/2025-02-23T20:48:06+01:00https://sthlm-mesh.se/categories/https://sthlm-mesh.se/docs/2025-03-03T22:48:04+01:00https://sthlm-mesh.se/messages/2025-03-28T17:26:53+01:00https://sthlm-mesh.se/meetups/2025-03-03T22:48:04+01:00https://sthlm-mesh.se/about/2025-02-23T18:02:23+01:00https://sthlm-mesh.se/status/2025-03-31T20:54:28+02:00https://sthlm-mesh.se/2025-03-09T16:16:44+01:00https://sthlm-mesh.se/tags/
\ No newline at end of file
+https://sthlm-mesh.se/docs/settings/2025-02-26T18:39:36+01:00https://sthlm-mesh.se/docs/device_role/2025-02-26T18:42:15+01:00https://sthlm-mesh.se/docs/position/2025-02-22T09:11:26+01:00https://sthlm-mesh.se/docs/mqtt/2025-03-31T19:16:34+02:00https://sthlm-mesh.se/docs/neighbor_info/2025-02-23T20:48:06+01:00https://sthlm-mesh.se/docs/kartor/2025-03-08T20:11:28+01:00https://sthlm-mesh.se/docs/solar_nodes/2025-02-25T20:03:55+01:00https://sthlm-mesh.se/docs/communities/2025-02-23T20:48:06+01:00https://sthlm-mesh.se/categories/https://sthlm-mesh.se/docs/2025-03-03T22:48:04+01:00https://sthlm-mesh.se/messages/2025-03-28T17:26:53+01:00https://sthlm-mesh.se/meetups/2025-03-03T22:48:04+01:00https://sthlm-mesh.se/about/2025-02-23T18:02:23+01:00https://sthlm-mesh.se/status/2025-03-31T21:42:24+02:00https://sthlm-mesh.se/2025-03-09T16:16:44+01:00https://sthlm-mesh.se/tags/
\ No newline at end of file
diff --git a/status/index.html b/status/index.html
index c420ea7..3edd48e 100644
--- a/status/index.html
+++ b/status/index.html
@@ -1,15 +1,20 @@
Mesh Status | STHLM-MESH
+Skapade paket per nod Grafen nedan visar vilka noder som har skickat flest paket under det senaste dygnet. Graferna bygger på MQTT-data från ett begränsat antal noder. Eftersom vi har begränsad bandbredd är det viktigt att hålla nere trafiken. En sändningsvolym på max 100 paket per dygn är önskvärd.
+Position Precision Grafen visar position precision, eller noggrannhet, på de noder som rapporterat sin position de senaste 7 dagarna.">
-
Text Meddelanden
Antalet meddelande per timme senaste 7 dygnen.
Skapade paket per nod
Grafen nedan visar vilka noder som har skickat flest paket under det senaste dygnet. Vidarebefordrade meddelanden och krypterade paket är inte medräknade.
-Datat i grafen är endast en uppskattning och bör inte ses som exakt. Graferna bygger på MQTT-data från ett begränsat antal noder.
-Eftersom vi har begränsad bandbredd är det viktigt att hålla nere trafiken. En sändningsvolym på max 50–100 paket per dygn är önskvärd.
Loading...
Packet typer
Fördelningen av olika pakettyper i nätverket under de senaste dygnet. Diagrammet visar hur nätverket används, inklusive meddelanden, positionstelemetri och andra systempaket.
Loading...
Position Precision
Grafen visar position precision, eller noggrannhet, på de noder som rapporterat sin position de senaste 7 dagarna.
+
Text Meddelanden
Antalet meddelande per timme senaste 7 dygnen.
Skapade paket per nod
Grafen nedan visar vilka noder som har skickat flest paket under det senaste dygnet.
+Graferna bygger på MQTT-data från ett begränsat antal noder.
+Eftersom vi har begränsad bandbredd är det viktigt att hålla nere trafiken. En sändningsvolym på max 100 paket per dygn är önskvärd.
Position Precision
Grafen visar position precision, eller noggrannhet, på de noder som rapporterat sin position de senaste 7 dagarna.
Vi ser gärna att man använder en noggrannhet på ±182m eller mer. Detta är dock inte möjligt att ställa in i iPhone Appen.
-För mer info se vår dokumentation.
Hårdvarumodeller
Antalet enheter av respektive hårdvarutyp som synts i meshet de senaste 30 dagarna.
OM
Majoriteten av graferna baseras på data från map.sthlm-mesh.se, där data samlas in från ett par noder i Stockholmsområdet. Data hämtas från API’t, som vi dessutom har utökat med fler funktioner för att möjliggöra mer analys. Visualisering sker genom biblioteket chartjs.org.
Vissa av graferna är genererade av Meshtastic-metrics-exporter som är kopplad mot en annan privat MQTT broker. Graferna laddas från en separat server. Med hjälp av Nginx så cacheas bilderna för att inte överbelasta Grafana instansen. Dessa grafer jobbar vi på att ersätta med våra egna.
Antalet enheter av respektive hårdvarutyp som synts i meshet de senaste 30 dagarna.
Packet typer
Fördelningen av olika pakettyper i nätverket under de senaste dygnet. Diagrammet visar hur nätverket används, inklusive meddelanden, positionstelemetri och andra systempaket.
Loading...
OM
Majoriteten av graferna baseras på data från map.sthlm-mesh.se, där data samlas in från ett par noder i Stockholmsområdet. Data hämtas från API’t, som vi dessutom har utökat med fler funktioner för att möjliggöra mer analys. Visualisering sker genom biblioteket chartjs.org.
Vissa av graferna är genererade av Meshtastic-metrics-exporter som är kopplad mot en annan privat MQTT broker. Graferna laddas från en separat server. Med hjälp av Nginx så cacheas bilderna för att inte överbelasta Grafana instansen. Dessa grafer jobbar vi på att ersätta med våra egna.