@@ -3,7 +3,10 @@ var position_id = 0;
3
3
var newdata_url = "https://api.v2.sondehub.org/amateur/telemetry" ;
4
4
var receivers_url = "https://api.v2.sondehub.org/amateur/listeners/telemetry" ;
5
5
var predictions_url = "https://api.v2.sondehub.org/amateur/predictions?vehicles=" ;
6
+ // Grafana dashboard for most payloads
6
7
var grafana_url = "https://grafana.v2.sondehub.org/d/HJgOZLq7k/basic?" ;
8
+ // Grafana dashboard for slower update-rate payloads (APRS, WSPR)
9
+ var grafana_aprs_url = "https://grafana.v2.sondehub.org/d/Lwvk1Hy4k/aprs-telemetry?" ;
7
10
8
11
var livedata = "wss://ws-reader.v2.sondehub.org/" ;
9
12
var clientID = "SondeHub-Tracker-" + Math . floor ( Math . random ( ) * 10000000000 ) ;
@@ -1496,7 +1499,29 @@ function updateVehicleInfo(vcallsign, newPosition) {
1496
1499
}
1497
1500
1498
1501
// Generate Grafana Link
1499
- var grafana_dashboard_url = grafana_url + "var-Payload=" + vcallsign + "&from=" + vehicle . positions_ts [ 0 ] + "&to=" + vehicle . positions_ts [ vehicle . positions_ts . length - 1 ] + "&orgId=1" ;
1502
+
1503
+ // Use to-time = now, and enable refresh if the data age is < 30 min old.
1504
+ if ( ( timeNow - timeSent ) < ( 30 * 60 * 1000 ) ) {
1505
+ var grafana_to_time = "now" ;
1506
+ var grafana_refresh = "&refresh=1m" ;
1507
+ } else {
1508
+ var grafana_to_time = vehicle . positions_ts [ vehicle . positions_ts . length - 1 ] ;
1509
+ var grafana_refresh = "" ;
1510
+ }
1511
+
1512
+ // Use the default grafana URL, unless the payload is using APRS.
1513
+ var grafana_base_url = grafana_url ;
1514
+
1515
+ if ( vehicle . vehicle_type != "car" ) {
1516
+ if ( vehicle . curr_position . data . hasOwnProperty ( 'modulation' ) ) {
1517
+ if ( vehicle . curr_position . data . modulation . includes ( 'APRS' ) || vehicle . curr_position . data . modulation . includes ( 'WSPR' ) ) {
1518
+ grafana_base_url = grafana_aprs_url ;
1519
+ }
1520
+ }
1521
+ }
1522
+
1523
+ // Finally generate the URL to use for the 'Plots' button.
1524
+ var grafana_dashboard_url = grafana_base_url + "var-Payload=" + vcallsign + "&from=" + vehicle . positions_ts [ 0 ] + "&to=" + grafana_to_time + "&orgId=1" + grafana_refresh ;
1500
1525
1501
1526
//desktop
1502
1527
var a = '<div class="header">' +
0 commit comments