1589 lines
29 KiB
JSON
1589 lines
29 KiB
JSON
{
|
|
"editable": true,
|
|
"id": null,
|
|
"panels": [
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 4,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"id": 1,
|
|
"options": {
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "center",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "value_and_name"
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Steps",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierStepCount&agg=sum",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Steps",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "red",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 4,
|
|
"x": 4,
|
|
"y": 0
|
|
},
|
|
"id": 2,
|
|
"options": {
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "center",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "value_and_name"
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Resting HR",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierRestingHeartRate&agg=avg",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Resting HR",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "blue",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "masskg"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 4,
|
|
"x": 8,
|
|
"y": 0
|
|
},
|
|
"id": 3,
|
|
"options": {
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "center",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "value_and_name"
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Weight",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierBodyMass&agg=avg",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Weight",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "#4ECDC4",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 4,
|
|
"x": 12,
|
|
"y": 0
|
|
},
|
|
"id": 4,
|
|
"options": {
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "center",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "value_and_name"
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "VO₂ max",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierVO2Max&agg=avg",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "VO₂ max",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "purple",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 4,
|
|
"x": 16,
|
|
"y": 0
|
|
},
|
|
"id": 5,
|
|
"options": {
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "center",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "value_and_name"
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Active energy",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierActiveEnergyBurned&agg=sum",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Active energy",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "orange",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 4,
|
|
"x": 20,
|
|
"y": 0
|
|
},
|
|
"id": 6,
|
|
"options": {
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "center",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "value_and_name"
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Exercise min",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierAppleExerciseTime&agg=sum",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Exercise min",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"fixedColor": "green",
|
|
"mode": "fixed"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "bars",
|
|
"fillOpacity": 14,
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"pointSize": 5,
|
|
"showPoints": "never",
|
|
"spanNulls": true
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 5
|
|
},
|
|
"id": 10,
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Steps per day",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierStepCount&agg=sum",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Steps per day",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"fixedColor": "purple",
|
|
"mode": "fixed"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "bars",
|
|
"fillOpacity": 14,
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"pointSize": 5,
|
|
"showPoints": "never",
|
|
"spanNulls": true
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 5
|
|
},
|
|
"id": 11,
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Active energy per day",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierActiveEnergyBurned&agg=sum",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Active energy per day",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"fixedColor": "red",
|
|
"mode": "fixed"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"fillOpacity": 14,
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"pointSize": 5,
|
|
"showPoints": "never",
|
|
"spanNulls": true
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 13
|
|
},
|
|
"id": 12,
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Resting heart rate",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierRestingHeartRate&agg=avg",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Resting heart rate",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"fixedColor": "blue",
|
|
"mode": "fixed"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"fillOpacity": 14,
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"pointSize": 5,
|
|
"showPoints": "always",
|
|
"spanNulls": true
|
|
},
|
|
"unit": "masskg"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 13
|
|
},
|
|
"id": 13,
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Weight",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierBodyMass&agg=avg",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Weight",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"fixedColor": "orange",
|
|
"mode": "fixed"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"fillOpacity": 14,
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"pointSize": 5,
|
|
"showPoints": "never",
|
|
"spanNulls": true
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 21
|
|
},
|
|
"id": 14,
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Heart rate (daily avg)",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierHeartRate&agg=avg",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Heart rate (daily avg)",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"fixedColor": "yellow",
|
|
"mode": "fixed"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "bars",
|
|
"fillOpacity": 14,
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"pointSize": 5,
|
|
"showPoints": "never",
|
|
"spanNulls": true
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 21
|
|
},
|
|
"id": 15,
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "value",
|
|
"text": "Exercise minutes per day",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/daily?db=${db}&type=HKQuantityTypeIdentifierAppleExerciseTime&agg=sum",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Exercise minutes per day",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 59
|
|
},
|
|
"id": 20,
|
|
"options": {
|
|
"cellHeight": "sm",
|
|
"showHeader": true,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Start"
|
|
}
|
|
]
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "start_date",
|
|
"text": "Start",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"selector": "activity_type",
|
|
"text": "Activity",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"selector": "total_distance",
|
|
"text": "Distance",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "total_energy",
|
|
"text": "Energy (kcal)",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "duration",
|
|
"text": "Duration (min)",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "source_name",
|
|
"text": "Source",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "table",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/workouts?db=${db}",
|
|
"url_options": {
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Recent workouts",
|
|
"type": "table"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"max": 100,
|
|
"min": 0,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "red",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "orange",
|
|
"value": 60
|
|
},
|
|
{
|
|
"color": "green",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 29
|
|
},
|
|
"id": 30,
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": true
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "score",
|
|
"text": "Sleep score",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"root_selector": "",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/sleep?db=${db}",
|
|
"url_options": {
|
|
"data": "",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Sleep score (last night)",
|
|
"type": "gauge"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"drawStyle": "bars",
|
|
"fillOpacity": 80,
|
|
"lineWidth": 0,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "normal"
|
|
}
|
|
},
|
|
"unit": "h"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Deep"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "dark-blue",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Core"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "blue",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "REM"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "#4ECDC4",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Awake"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "orange",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"gridPos": {
|
|
"h": 7,
|
|
"w": 18,
|
|
"x": 6,
|
|
"y": 29
|
|
},
|
|
"id": 31,
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "deep_h",
|
|
"text": "Deep",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "core_h",
|
|
"text": "Core",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "rem_h",
|
|
"text": "REM",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "awake_h",
|
|
"text": "Awake",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "table",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"root_selector": "",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/sleep?db=${db}",
|
|
"url_options": {
|
|
"data": "",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Sleep stages per night (hours)",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"fixedColor": "purple",
|
|
"mode": "fixed"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"fillOpacity": 12,
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"showPoints": "never"
|
|
},
|
|
"max": 100,
|
|
"min": 0,
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 36
|
|
},
|
|
"id": 32,
|
|
"options": {
|
|
"legend": {
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "time",
|
|
"text": "time",
|
|
"type": "timestamp"
|
|
},
|
|
{
|
|
"selector": "score",
|
|
"text": "Sleep score",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "timeseries",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"root_selector": "",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/sleep?db=${db}",
|
|
"url_options": {
|
|
"data": "",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Sleep score over time",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 12,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 42
|
|
},
|
|
"id": 33,
|
|
"options": {
|
|
"basemap": {
|
|
"config": {
|
|
"showLabels": true,
|
|
"theme": "auto"
|
|
},
|
|
"name": "Basemap",
|
|
"tooltip": false,
|
|
"type": "carto"
|
|
},
|
|
"controls": {
|
|
"mouseWheelZoom": true,
|
|
"showAttribution": true,
|
|
"showDebug": false,
|
|
"showMeasure": false,
|
|
"showScale": false,
|
|
"showZoom": true
|
|
},
|
|
"layers": [
|
|
{
|
|
"config": {
|
|
"showLegend": false,
|
|
"style": {
|
|
"color": {
|
|
"fixed": "blue"
|
|
},
|
|
"opacity": 0.6,
|
|
"size": {
|
|
"fixed": 3,
|
|
"max": 8,
|
|
"min": 2
|
|
},
|
|
"symbol": {
|
|
"fixed": "img/icons/marker/circle.svg",
|
|
"mode": "fixed"
|
|
},
|
|
"textConfig": {
|
|
"fontSize": 12,
|
|
"textAlign": "center",
|
|
"textBaseline": "middle"
|
|
}
|
|
}
|
|
},
|
|
"filterData": {
|
|
"id": "byRefId",
|
|
"options": "A"
|
|
},
|
|
"location": {
|
|
"latitude": "lat",
|
|
"longitude": "lon",
|
|
"mode": "coords"
|
|
},
|
|
"name": "Layer 1",
|
|
"tooltip": false,
|
|
"type": "markers"
|
|
}
|
|
],
|
|
"tooltip": {
|
|
"mode": "none"
|
|
},
|
|
"view": {
|
|
"allLayers": true,
|
|
"id": "fit",
|
|
"lastOnly": false,
|
|
"lat": 60.9,
|
|
"layer": "Layer 1",
|
|
"lon": 10.9,
|
|
"padding": 10,
|
|
"zoom": 12
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "lat",
|
|
"text": "lat",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "lon",
|
|
"text": "lon",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "table",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"root_selector": "",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/route?db=${db}&id=${route}",
|
|
"url_options": {
|
|
"data": "",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Workout route (choose it in the Route dropdown up top)",
|
|
"type": "geomap"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "blue",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "short"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 54
|
|
},
|
|
"id": 34,
|
|
"options": {
|
|
"colorMode": "value",
|
|
"graphMode": "none",
|
|
"justifyMode": "center",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "value_and_name"
|
|
},
|
|
"targets": [
|
|
{
|
|
"columns": [
|
|
{
|
|
"selector": "activity",
|
|
"text": "Activity",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"selector": "distance_km",
|
|
"text": "Distance (km)",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "duration_min",
|
|
"text": "Duration (min)",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "energy_kcal",
|
|
"text": "Calories (kcal)",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "elevation_gain_m",
|
|
"text": "Elevation ↑ (m)",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"selector": "avg_speed_kmh",
|
|
"text": "Speed (km/h)",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"format": "table",
|
|
"parser": "backend",
|
|
"refId": "A",
|
|
"root_selector": "",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/route/stats?db=${db}&id=${route}",
|
|
"url_options": {
|
|
"data": "",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
],
|
|
"title": "Selected route",
|
|
"type": "stat"
|
|
}
|
|
],
|
|
"refresh": "",
|
|
"schemaVersion": 39,
|
|
"tags": [
|
|
"ahdx"
|
|
],
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"current": {},
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"definition": "AHDX databases",
|
|
"hide": 0,
|
|
"includeAll": false,
|
|
"label": "Person",
|
|
"multi": false,
|
|
"name": "db",
|
|
"options": [],
|
|
"query": {
|
|
"infinityQuery": {
|
|
"columns": [
|
|
{
|
|
"selector": "name",
|
|
"text": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"filters": [],
|
|
"format": "table",
|
|
"parser": "backend",
|
|
"refId": "variable",
|
|
"root_selector": "",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/databases",
|
|
"url_options": {
|
|
"data": "",
|
|
"method": "GET"
|
|
}
|
|
},
|
|
"query": "",
|
|
"queryType": "infinity"
|
|
},
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"sort": 1,
|
|
"type": "query"
|
|
},
|
|
{
|
|
"current": {},
|
|
"datasource": {
|
|
"type": "yesoreyeram-infinity-datasource",
|
|
"uid": "ahdx-infinity"
|
|
},
|
|
"definition": "AHDX routes",
|
|
"hide": 0,
|
|
"includeAll": false,
|
|
"label": "Route",
|
|
"multi": false,
|
|
"name": "route",
|
|
"options": [],
|
|
"query": {
|
|
"infinityQuery": {
|
|
"columns": [
|
|
{
|
|
"selector": "filename",
|
|
"text": "__text",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"selector": "id",
|
|
"text": "__value",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"filters": [],
|
|
"format": "table",
|
|
"parser": "backend",
|
|
"refId": "variable",
|
|
"root_selector": "",
|
|
"source": "url",
|
|
"type": "json",
|
|
"url": "/api/routes?db=${db}",
|
|
"url_options": {
|
|
"data": "",
|
|
"method": "GET"
|
|
}
|
|
},
|
|
"query": "",
|
|
"queryType": "infinity"
|
|
},
|
|
"refresh": 2,
|
|
"regex": "",
|
|
"sort": 0,
|
|
"type": "query"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"from": "now-1y",
|
|
"to": "now"
|
|
},
|
|
"timezone": "",
|
|
"title": "Apple Health",
|
|
"uid": "ahdx-health",
|
|
"version": 1
|
|
} |