2024-07-07 07:44:11 -07:00
{
"annotations" : {
"list" : [
{
"builtIn" : 1 ,
"datasource" : {
"type" : "grafana" ,
"uid" : "-- Grafana --"
} ,
"enable" : true ,
"hide" : true ,
"iconColor" : "rgba(0, 211, 255, 1)" ,
"name" : "Annotations & Alerts" ,
"type" : "dashboard"
}
]
} ,
"editable" : true ,
"fiscalYearStartMonth" : 0 ,
"graphTooltip" : 0 ,
2024-08-09 03:21:13 -07:00
"id" : 10 ,
2024-07-07 07:44:11 -07:00
"links" : [ ] ,
"panels" : [
{
"datasource" : {
2024-07-26 10:04:22 -07:00
"type" : "datasource" ,
"uid" : "-- Mixed --"
2024-07-07 07:44:11 -07:00
} ,
2024-08-09 03:21:13 -07:00
"description" : "Total packets sent in the specified time range" ,
2024-07-07 07:44:11 -07:00
"fieldConfig" : {
"defaults" : {
"color" : {
2024-07-26 10:04:22 -07:00
"mode" : "palette-classic"
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"fieldMinMax" : false ,
"mappings" : [ ] ,
2024-07-07 07:44:11 -07:00
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
2024-07-26 10:04:22 -07:00
} ,
{
"color" : "red" ,
"value" : 80
2024-07-07 07:44:11 -07:00
}
]
2024-07-26 10:04:22 -07:00
} ,
"unit" : "Packets"
2024-07-07 07:44:11 -07:00
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
"w" : 5 ,
"x" : 0 ,
"y" : 0
} ,
2024-07-26 10:04:22 -07:00
"id" : 10 ,
2024-07-07 07:44:11 -07:00
"options" : {
"colorMode" : "value" ,
2024-07-26 10:04:22 -07:00
"graphMode" : "none" ,
2024-07-07 07:44:11 -07:00
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "auto" ,
"wideLayout" : true
} ,
2024-10-22 11:32:21 -07:00
"pluginVersion" : "11.2.2+security-01" ,
2024-07-07 07:44:11 -07:00
"targets" : [
{
"datasource" : {
2024-07-26 10:04:22 -07:00
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "sum(sum by(portnum) (mesh_packet_source_types_total{source_id=~\"$nodeID\"}))" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"legendFormat" : "__auto" ,
"range" : true ,
2024-07-07 07:44:11 -07:00
"refId" : "A" ,
2024-07-26 10:04:22 -07:00
"useBackend" : false
2024-07-07 07:44:11 -07:00
}
] ,
2024-07-26 10:04:22 -07:00
"title" : "Total packets sent" ,
2024-07-07 07:44:11 -07:00
"type" : "stat"
} ,
{
"datasource" : {
"type" : "datasource" ,
"uid" : "-- Mixed --"
} ,
2024-08-09 03:21:13 -07:00
"description" : "Displays types of packets sent in the selected time range.\n\nFor more details see:\nhttps://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.PortNum" ,
2024-07-07 07:44:11 -07:00
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"fieldMinMax" : false ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
"unit" : "Packets"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
2024-07-26 10:04:22 -07:00
"h" : 4 ,
2024-10-22 11:32:21 -07:00
"w" : 14 ,
2024-07-07 07:44:11 -07:00
"x" : 5 ,
"y" : 0
} ,
"id" : 11 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "center" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
2024-08-09 03:21:13 -07:00
"textMode" : "value_and_name" ,
2024-07-07 07:44:11 -07:00
"wideLayout" : true
} ,
2024-10-22 11:32:21 -07:00
"pluginVersion" : "11.2.2+security-01" ,
2024-07-07 07:44:11 -07:00
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "sum by(portnum) (mesh_packet_source_types_total{source_id=~\"$nodeID\"})" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"legendFormat" : "__auto" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
2024-08-09 03:21:13 -07:00
"title" : "Packet types sent for selected time" ,
2024-07-07 07:44:11 -07:00
"type" : "stat"
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
2024-08-09 03:21:13 -07:00
"description" : "The last time a packet was observed being sent from this node" ,
2024-07-07 07:44:11 -07:00
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"fieldMinMax" : false ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
"unit" : "dateTimeFromNow"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
2024-10-22 11:32:21 -07:00
"w" : 5 ,
"x" : 19 ,
2024-07-07 07:44:11 -07:00
"y" : 0
} ,
"id" : 12 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "/^Time$/" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "auto" ,
"wideLayout" : true
} ,
2024-10-22 11:32:21 -07:00
"pluginVersion" : "11.2.2+security-01" ,
2024-07-07 07:44:11 -07:00
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"editorMode" : "code" ,
2024-08-09 03:21:13 -07:00
"expr" : "timestamp((\n count(mesh_packet_total{source_id=\"$nodeID\"}) by (source_id)\n -\n count(mesh_packet_total{source_id=\"$nodeID\"} offset 1m) by (source_id)\n) > 0)" ,
"instant" : false ,
"legendFormat" : "__auto" ,
"range" : true ,
"refId" : "A"
}
] ,
"title" : "Last packet sent" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "datasource" ,
"uid" : "-- Mixed --"
} ,
"description" : "Total packets observed with this node as their destination in the specified time range" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"fieldMinMax" : false ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "Packets"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
"w" : 5 ,
"x" : 0 ,
"y" : 4
} ,
"id" : 14 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "none" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "auto" ,
"wideLayout" : true
} ,
2024-10-22 11:32:21 -07:00
"pluginVersion" : "11.2.2+security-01" ,
2024-08-09 03:21:13 -07:00
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "sum(sum by(portnum) (mesh_packet_source_types_total{destination_id=~\"$nodeID\"}))" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"legendFormat" : "__auto" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
"title" : "Total packets received" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "datasource" ,
"uid" : "-- Mixed --"
} ,
"description" : "Displays types of packets received in the selected time range.\n\nFor more details see:\nhttps://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.PortNum" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"fieldMinMax" : false ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
"unit" : "Packets"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
2024-10-22 11:32:21 -07:00
"w" : 14 ,
2024-08-09 03:21:13 -07:00
"x" : 5 ,
"y" : 4
} ,
"id" : 15 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "center" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "value_and_name" ,
"wideLayout" : true
} ,
2024-10-22 11:32:21 -07:00
"pluginVersion" : "11.2.2+security-01" ,
2024-08-09 03:21:13 -07:00
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "sum by(portnum) (mesh_packet_source_types_total{destination_id=\"$nodeID\"})" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"legendFormat" : "__auto" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
"title" : "Packet types received for selected time" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"description" : "The last time a packet was observed with this node as its destination" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"fieldMinMax" : false ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
"unit" : "dateTimeFromNow"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
2024-10-22 11:32:21 -07:00
"w" : 5 ,
"x" : 19 ,
2024-08-09 03:21:13 -07:00
"y" : 4
} ,
"id" : 16 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "/^Time$/" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "auto" ,
"wideLayout" : true
} ,
2024-10-22 11:32:21 -07:00
"pluginVersion" : "11.2.2+security-01" ,
2024-08-09 03:21:13 -07:00
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"editorMode" : "code" ,
"expr" : "timestamp((\n count(mesh_packet_total{destination_id=\"$nodeID\"}) by (destination_id)\n -\n count(mesh_packet_total{destination_id=\"$nodeID\"} offset 1m) by (destination_id)\n) > 0)" ,
2024-07-07 07:44:11 -07:00
"instant" : false ,
"legendFormat" : "__auto" ,
"range" : true ,
"refId" : "A"
}
] ,
"title" : "Last message received" ,
"type" : "stat"
} ,
{
"datasource" : {
2024-08-09 03:21:13 -07:00
"type" : "grafana-postgresql-datasource" ,
2024-07-07 07:44:11 -07:00
"uid" : "PA942B37CCFAF5A81"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"custom" : {
"align" : "center" ,
"cellOptions" : {
2024-10-22 11:32:21 -07:00
"type" : "auto" ,
"wrapText" : false
2024-07-07 07:44:11 -07:00
} ,
"inspect" : true
} ,
"mappings" : [
{
"options" : {
"none" : {
"color" : "text" ,
"index" : 2 ,
"text" : "⚪️ Unknown"
} ,
"offline" : {
"color" : "red" ,
"index" : 1 ,
"text" : "🛑 Offline"
} ,
"online" : {
"color" : "green" ,
"index" : 0 ,
"text" : "🟢 Online"
}
} ,
"type" : "value"
}
] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
}
} ,
2024-08-09 03:21:13 -07:00
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "Node Created At"
} ,
"properties" : [
{
"id" : "unit" ,
"value" : "dateTimeFromNow"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "Node Updated At"
} ,
"properties" : [
{
"id" : "unit" ,
"value" : "dateTimeFromNow"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "Node ID"
} ,
"properties" : [
{
"id" : "unit" ,
"value" : "hex"
}
]
}
]
2024-07-07 07:44:11 -07:00
} ,
"gridPos" : {
"h" : 4 ,
"w" : 24 ,
"x" : 0 ,
2024-08-09 03:21:13 -07:00
"y" : 8
2024-07-07 07:44:11 -07:00
} ,
"id" : 1 ,
"options" : {
"cellHeight" : "lg" ,
"footer" : {
"countRows" : false ,
"fields" : "" ,
"reducer" : [
"sum"
] ,
"show" : false
} ,
"showHeader" : true
} ,
2024-10-22 11:32:21 -07:00
"pluginVersion" : "11.2.2+security-01" ,
2024-07-07 07:44:11 -07:00
"targets" : [
{
"datasource" : {
"type" : "postgres" ,
"uid" : "PA942B37CCFAF5A81"
} ,
"editorMode" : "code" ,
"format" : "table" ,
"rawQuery" : true ,
2024-07-26 10:04:22 -07:00
"rawSql" : "SELECT * FROM node_details WHERE node_id = '${nodeID}' LIMIT 1 " ,
2024-07-07 07:44:11 -07:00
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [
{
"name" : "*" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50 ,
"whereJsonTree" : {
"children1" : [
{
"id" : "99bbbb8b-0123-4456-b89a-b1907a16d7fe" ,
"properties" : {
"field" : "node_id" ,
"fieldSrc" : "field" ,
"operator" : "equal" ,
"value" : [
"${nodeID}"
] ,
"valueSrc" : [
"value"
] ,
"valueType" : [
"text"
]
} ,
"type" : "rule"
}
] ,
"id" : "babb9899-0123-4456-b89a-b19079f5bfed" ,
"type" : "group"
} ,
"whereString" : "node_id = '${nodeID}'"
} ,
2024-07-26 10:04:22 -07:00
"table" : "node_details"
2024-07-07 07:44:11 -07:00
}
] ,
"title" : "Node details" ,
"transformations" : [
{
"id" : "organize" ,
"options" : {
2024-08-09 03:21:13 -07:00
"excludeByName" : {
"altitude" : true ,
"latitude" : true ,
"longitude" : true ,
"precision" : true
} ,
2024-07-07 07:44:11 -07:00
"includeByName" : { } ,
"indexByName" : { } ,
"renameByName" : {
2024-08-09 03:21:13 -07:00
"created_at" : "Node Created At" ,
2024-07-07 07:44:11 -07:00
"hardware_model" : "Hardware Model" ,
"long_name" : "Long Name" ,
"mqtt_status" : "MQTT Status" ,
"node_id" : "Node ID" ,
"role" : "Client Role" ,
2024-08-09 03:21:13 -07:00
"short_name" : "Short Name" ,
"updated_at" : "Node Updated At"
2024-07-07 07:44:11 -07:00
}
}
}
] ,
"transparent" : true ,
"type" : "table"
} ,
{
"datasource" : {
2024-07-26 10:04:22 -07:00
"type" : "postgres" ,
"uid" : "PA942B37CCFAF5A81"
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"description" : "Graph that is built from Neighbor Info reports and shows the signal strenth for each line" ,
2024-07-07 07:44:11 -07:00
"gridPos" : {
2024-07-26 10:04:22 -07:00
"h" : 8 ,
"w" : 8 ,
2024-07-07 07:44:11 -07:00
"x" : 0 ,
2024-08-09 03:21:13 -07:00
"y" : 12
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"id" : 9 ,
2024-07-07 07:44:11 -07:00
"options" : {
2024-07-26 10:04:22 -07:00
"edges" : {
"mainStatUnit" : "dB"
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"nodes" : {
"arcs" : [ ]
}
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"pluginVersion" : "10.4.2" ,
2024-07-07 07:44:11 -07:00
"targets" : [
{
"datasource" : {
2024-07-26 10:04:22 -07:00
"type" : "postgres" ,
"uid" : "PA942B37CCFAF5A81"
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"editorMode" : "code" ,
"format" : "table" ,
"rawQuery" : true ,
"rawSql" : "SELECT \n node_id AS \"id\", \n long_name AS \"title\", \n hardware_model AS \"detail__Hardware Detail\", \n role AS \"detail__Client Role\", \n mqtt_status AS \"detail__MQTT Status\", \n short_name AS \"subtitle\",\n CASE \n WHEN mqtt_status = 'online' THEN '#2ECC71' -- Green for online\n WHEN mqtt_status = 'offline' THEN '#E74C3C' -- Red for offline\n ELSE '#808080' -- Gray for none or any other status\n END AS \"color\"\nFROM \n node_details\n WHERE node_id IN (${nodeID:singlequote}) OR node_id IN (${relatives:singlequote})" ,
"refId" : "nodes" ,
"sql" : {
"columns" : [
2024-07-07 07:44:11 -07:00
{
"alias" : "\"id\"" ,
"parameters" : [
{
"name" : "node_id" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"title\"" ,
"parameters" : [
{
"name" : "long_name" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"detail__Hardware Detail\"" ,
"parameters" : [
{
"name" : "hardware_model" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"detail__Client Role\"" ,
"parameters" : [
{
"name" : "role" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"detail__MQTT Status\"" ,
"parameters" : [
{
"name" : "mqtt_status" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"subtitle\"" ,
"parameters" : [
{
"name" : "short_name" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
2024-07-26 10:04:22 -07:00
"table" : "node_details"
2024-07-07 07:44:11 -07:00
} ,
{
"datasource" : {
"type" : "postgres" ,
"uid" : "PA942B37CCFAF5A81"
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT \n CONCAT(neighbor_id, '_', node_id) AS id,\n neighbor_id AS \"source\",\n node_id AS \"target\",\n snr AS \"mainstat\",\n CASE\n WHEN snr < -13 THEN '#E74C3C' -- Red for SNR < -13\n WHEN snr < -7 THEN '#F4D03F' -- Yellow for -13 ≤ SNR < -7\n ELSE '#2ECC71' -- Green for SNR ≥ -7\n END AS \"color\",\n GREATEST(0.1, LEAST(2, 1 + ((snr + 13) / 10))) AS \"thickness\"\nFROM \n node_neighbors\n WHERE (neighbor_id IN (${nodeID:singlequote}) OR neighbor_id IN (${relatives:singlequote}))\n AND (node_id IN (${nodeID:singlequote}) OR node_id IN (${relatives:singlequote}))" ,
"refId" : "edges" ,
"sql" : {
"columns" : [
{
"parameters" : [
{
"name" : "id" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"source\"" ,
"parameters" : [
{
"name" : "neighbor_id" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"target\"" ,
"parameters" : [
{
"name" : "node_id" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
} ,
{
"alias" : "\"mainstat\"" ,
"parameters" : [
{
"name" : "snr" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"table" : "node_neighbors"
}
] ,
"title" : "Node Graph" ,
"type" : "nodeGraph"
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "continuous-GrYlRd"
} ,
"custom" : {
"fillOpacity" : 70 ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineWidth" : 0 ,
"spanNulls" : false
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
2024-07-26 10:04:22 -07:00
"unit" : "celsius"
2024-07-07 07:44:11 -07:00
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 5 ,
2024-10-22 11:32:21 -07:00
"w" : 9 ,
2024-07-07 07:44:11 -07:00
"x" : 8 ,
2024-08-09 03:21:13 -07:00
"y" : 12
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"id" : 5 ,
2024-07-07 07:44:11 -07:00
"options" : {
"alignValue" : "center" ,
"legend" : {
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : false
} ,
"mergeValues" : true ,
"rowHeight" : 0.9 ,
"showValue" : "auto" ,
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
} ,
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"exemplar" : false ,
2024-07-26 10:04:22 -07:00
"expr" : "topk(1, telemetry_app_temperature{node_id=\"$nodeID\"})" ,
2024-07-07 07:44:11 -07:00
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "{{long_name}}" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
2024-07-26 10:04:22 -07:00
"title" : "Temprerature telemetry" ,
2024-07-07 07:44:11 -07:00
"transformations" : [
{
"id" : "seriesToRows" ,
"options" : { }
} ,
{
"id" : "organize" ,
"options" : {
"excludeByName" : {
"Metric" : true
} ,
"includeByName" : { } ,
"indexByName" : { } ,
"renameByName" : { }
}
}
] ,
"type" : "state-timeline"
} ,
2024-10-22 11:32:21 -07:00
{
"datasource" : {
"type" : "grafana-postgresql-datasource" ,
"uid" : "PA942B37CCFAF5A81"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"custom" : {
"align" : "left" ,
"cellOptions" : {
"type" : "auto" ,
"wrapText" : false
} ,
"filterable" : true ,
"inspect" : false
} ,
"fieldMinMax" : false ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
}
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 15 ,
"w" : 7 ,
"x" : 17 ,
"y" : 12
} ,
"id" : 17 ,
"options" : {
"cellHeight" : "sm" ,
"footer" : {
"countRows" : false ,
"fields" : "" ,
"reducer" : [
"sum"
] ,
"show" : false
} ,
"showHeader" : true
} ,
"pluginVersion" : "11.2.2+security-01" ,
"targets" : [
{
"datasource" : {
"type" : "grafana-postgresql-datasource" ,
"uid" : "PA942B37CCFAF5A81"
} ,
"editorMode" : "code" ,
"format" : "table" ,
"rawQuery" : true ,
"rawSql" : "SELECT\n node_id,\n CASE\n WHEN EXTRACT(EPOCH FROM environment_update_interval) > 1\n THEN to_char(environment_update_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS environment_update_interval,\n to_char(environment_update_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS environment_update_last_timestamp,\n \n CASE\n WHEN EXTRACT(EPOCH FROM device_update_interval) > 1\n THEN to_char(device_update_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS device_update_interval,\n to_char(device_update_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS device_update_last_timestamp,\n \n CASE\n WHEN EXTRACT(EPOCH FROM air_quality_update_interval) > 1\n THEN to_char(air_quality_update_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS air_quality_update_interval,\n to_char(air_quality_update_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS air_quality_update_last_timestamp,\n \n CASE\n WHEN EXTRACT(EPOCH FROM power_update_interval) > 1\n THEN to_char(power_update_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS power_update_interval,\n to_char(power_update_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS power_update_last_timestamp,\n \n CASE\n WHEN EXTRACT(EPOCH FROM range_test_interval) > 1\n THEN to_char(range_test_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS range_test_interval,\n to_char(range_test_last_packet_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS range_test_last_packet_timestamp,\n \n CASE\n WHEN EXTRACT(EPOCH FROM pax_counter_interval) > 1\n THEN to_char(pax_counter_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS pax_counter_interval,\n to_char(pax_counter_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS pax_counter_last_timestamp,\n \n CASE\n WHEN EXTRACT(EPOCH FROM neighbor_info_interval) > 1\n THEN to_char(neighbor_info_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS neighbor_info_interval,\n to_char(neighbor_info_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS neighbor_info_last_timestamp,\n \n CASE\n WHEN EXTRACT(EPOCH FROM map_broadcast_interval) > 1\n THEN to_char(map_broadcast_interval, 'HH24:MI:SS')\n ELSE NULL\n END AS map_broadcast_interval,\n to_char(map_broadcast_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS map_broadcast_last_timestamp,\n \n mqtt_encryption_enabled,\n mqtt_json_enabled,\n mqtt_configured_root_topic,\n to_char(mqtt_info_last_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS mqtt_info_last_timestamp,\n \n to_char(last_updated, 'YYYY-MM-DD HH24:MI:SS') AS last_updated\nFROM node_configurations\nWHERE\n (EXTRACT(EPOCH FROM environment_update_interval) > 1 OR\n EXTRACT(EPOCH FROM device_update_interval) > 1 OR\n EXTRACT(EPOCH FROM air_quality_update_interval) > 1 OR\n EXTRACT(EPOCH FROM power_update_interval) > 1 OR\n EXTRACT(EPOCH FROM range_test_interval) > 1 OR\n EXTRACT(EPOCH FROM pax_counter_interval) > 1 OR\n EXTRACT(EPOCH FROM neighbor_info_interval) > 1 OR\n EXTRACT(EPOCH FROM map_broadcast_interval) > 1)\n AND node_id = '${nodeID}'\nLIMIT 50" ,
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [
{
"name" : "environment_update_interval" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50 ,
"whereJsonTree" : {
"children1" : [
{
"id" : "8abaab98-4567-489a-bcde-f19136d5e7d5" ,
"properties" : {
"field" : "node_id" ,
"fieldSrc" : "field" ,
"operator" : "equal" ,
"value" : [
"${nodeID}"
] ,
"valueError" : [
null
] ,
"valueSrc" : [
"value"
] ,
"valueType" : [
"text"
]
} ,
"type" : "rule"
}
] ,
"id" : "9b988aa8-0123-4456-b89a-b1913556a003" ,
"type" : "group"
} ,
"whereString" : "node_id = '${nodeID}'"
} ,
"table" : "node_configurations"
}
] ,
"title" : "Node configuration details" ,
"transformations" : [
{
"id" : "organize" ,
"options" : {
"excludeByName" : { } ,
"includeByName" : { } ,
"indexByName" : { } ,
"renameByName" : {
"air_quality_update_interval" : "Air quality update interval" ,
"air_quality_update_last_timestamp" : "Air quality (Timestamp)" ,
"device_update_interval" : "Device information update interval" ,
"device_update_last_timestamp" : "Device information (Timestamp)" ,
"environment_update_interval" : "Environment update interval" ,
"environment_update_last_timestamp" : "Environment (Timestamp)" ,
"last_updated" : "Last updated" ,
"map_broadcast_interval" : "Map Broadcast update interval" ,
"map_broadcast_last_timestamp" : "Map Broadcast (Timestamp)" ,
"mqtt_configured_root_topic" : "Root topic at MQTT" ,
"mqtt_encryption_enabled" : "Is MQTT encryption enabled" ,
"mqtt_info_last_timestamp" : "MQTT Info (Timestamp)" ,
"mqtt_json_enabled" : "Is MQTT JSON toggled on" ,
"neighbor_info_interval" : "Neighbour Info update interval" ,
"neighbor_info_last_timestamp" : "Neighbour Info (Timestamp)" ,
"node_id" : "Node ID" ,
"pax_counter_interval" : "PAX counter update interval" ,
"pax_counter_last_timestamp" : "PAX counter (Timestamp)" ,
"power_update_interval" : "Power update interval" ,
"power_update_last_timestamp" : "Power (Timestamp)" ,
"range_test_interval" : "Range test update interval" ,
"range_test_last_packet_timestamp" : "Range test (Timestamp)"
}
}
} ,
{
"id" : "reduce" ,
"options" : {
"labelsToFields" : false ,
"reducers" : [
"lastNotNull"
]
}
}
] ,
"type" : "table"
} ,
2024-07-07 07:44:11 -07:00
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "continuous-GrYlRd"
} ,
"custom" : {
"fillOpacity" : 70 ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineWidth" : 0 ,
"spanNulls" : false
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
2024-10-22 11:32:21 -07:00
"color" : "green" ,
"value" : null
2024-07-07 07:44:11 -07:00
}
]
} ,
2024-07-26 10:04:22 -07:00
"unit" : "humidity"
2024-07-07 07:44:11 -07:00
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 5 ,
2024-10-22 11:32:21 -07:00
"w" : 9 ,
2024-07-07 07:44:11 -07:00
"x" : 8 ,
2024-08-09 03:21:13 -07:00
"y" : 17
2024-07-07 07:44:11 -07:00
} ,
2024-07-26 10:04:22 -07:00
"id" : 6 ,
2024-07-07 07:44:11 -07:00
"options" : {
"alignValue" : "center" ,
"legend" : {
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : false
} ,
"mergeValues" : true ,
"rowHeight" : 0.9 ,
"showValue" : "auto" ,
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
} ,
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"exemplar" : false ,
2024-07-26 10:04:22 -07:00
"expr" : "topk(1, telemetry_app_relative_humidity{node_id=\"$nodeID\"})" ,
2024-07-07 07:44:11 -07:00
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "{{long_name}}" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
2024-07-26 10:04:22 -07:00
"title" : "Humidity telemetry" ,
2024-07-07 07:44:11 -07:00
"transformations" : [
{
"id" : "seriesToRows" ,
"options" : { }
} ,
{
"id" : "organize" ,
"options" : {
"excludeByName" : {
"Metric" : true
} ,
"includeByName" : { } ,
"indexByName" : { } ,
"renameByName" : { }
}
}
] ,
"type" : "state-timeline"
2024-07-26 10:04:22 -07:00
} ,
{
"datasource" : {
"type" : "grafana-postgresql-datasource" ,
"uid" : "PA942B37CCFAF5A81"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"custom" : {
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
2024-08-09 03:21:13 -07:00
"color" : "green"
2024-07-26 10:04:22 -07:00
}
]
}
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 8 ,
"x" : 0 ,
2024-08-09 03:21:13 -07:00
"y" : 20
2024-07-26 10:04:22 -07:00
} ,
"id" : 13 ,
"options" : {
"basemap" : {
"config" : { } ,
"name" : "Layer 0" ,
"tooltip" : true ,
"type" : "osm-standard"
} ,
"controls" : {
"mouseWheelZoom" : true ,
"showAttribution" : true ,
"showDebug" : false ,
"showMeasure" : false ,
"showScale" : true ,
"showZoom" : true
} ,
"layers" : [
{
"config" : {
"showLegend" : false ,
"style" : {
"color" : {
"fixed" : "dark-green"
} ,
"opacity" : 0.4 ,
"rotation" : {
"fixed" : 0 ,
"max" : 360 ,
"min" : -360 ,
"mode" : "mod"
} ,
"size" : {
"fixed" : 5 ,
"max" : 15 ,
"min" : 2
} ,
"symbol" : {
"fixed" : "img/icons/marker/circle.svg" ,
"mode" : "fixed"
} ,
"symbolAlign" : {
"horizontal" : "center" ,
"vertical" : "center"
} ,
"textConfig" : {
"fontSize" : 12 ,
"offsetX" : 0 ,
"offsetY" : 0 ,
"textAlign" : "center" ,
"textBaseline" : "middle"
}
}
} ,
"location" : {
2024-10-22 11:32:21 -07:00
"mode" : "auto"
2024-07-26 10:04:22 -07:00
} ,
"name" : "Layer 1" ,
"tooltip" : true ,
"type" : "markers"
}
] ,
"tooltip" : {
"mode" : "none"
} ,
"view" : {
"allLayers" : true ,
2024-10-22 11:32:21 -07:00
"id" : "coords" ,
2024-07-26 10:04:22 -07:00
"lastOnly" : false ,
2024-10-22 11:32:21 -07:00
"lat" : 31.499467 ,
2024-07-26 10:04:22 -07:00
"layer" : "Layer 1" ,
2024-10-22 11:32:21 -07:00
"lon" : 34.669663 ,
"padding" : 2 ,
"zoom" : 6.53
2024-07-26 10:04:22 -07:00
}
} ,
"pluginVersion" : "11.1.0" ,
"targets" : [
{
"datasource" : {
"type" : "grafana-postgresql-datasource" ,
"uid" : "PA942B37CCFAF5A81"
} ,
"editorMode" : "code" ,
"format" : "table" ,
"rawQuery" : true ,
2024-10-22 11:32:21 -07:00
"rawSql" : "SELECT node_id, short_name, long_name, hardware_model, role, mqtt_status, \nlongitude * 1e-7 as longitude,\nlatitude * 1e-7 as latitude,\naltitude\nFROM node_details \nWHERE node_id = '${nodeID}' LIMIT 1" ,
2024-07-26 10:04:22 -07:00
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [
{
"name" : "*" ,
"type" : "functionParameter"
}
] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50 ,
"whereJsonTree" : {
"children1" : [
{
"id" : "abb9a8b8-4567-489a-bcde-f190ef655acf" ,
"properties" : {
"field" : "node_id" ,
"fieldSrc" : "field" ,
"operator" : "equal" ,
"value" : [
"${nodeID}"
] ,
"valueError" : [
null
] ,
"valueSrc" : [
"value"
] ,
"valueType" : [
"text"
]
} ,
"type" : "rule"
}
] ,
"id" : "aabba98a-0123-4456-b89a-b190ef5f79f0" ,
"properties" : {
"conjunction" : "AND"
} ,
"type" : "group"
} ,
"whereString" : "node_id = '${nodeID}'"
} ,
"table" : "node_details"
}
] ,
"title" : "Panel Title" ,
"type" : "geomap"
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "continuous-GrYlRd"
} ,
"custom" : {
"fillOpacity" : 70 ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineWidth" : 0 ,
"spanNulls" : false
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
2024-08-09 03:21:13 -07:00
"color" : "green"
2024-07-26 10:04:22 -07:00
}
]
} ,
"unit" : "pressurehpa"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 5 ,
2024-10-22 11:32:21 -07:00
"w" : 9 ,
2024-07-26 10:04:22 -07:00
"x" : 8 ,
2024-08-09 03:21:13 -07:00
"y" : 22
2024-07-26 10:04:22 -07:00
} ,
"id" : 7 ,
"options" : {
"alignValue" : "center" ,
"legend" : {
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : false
} ,
"mergeValues" : true ,
"rowHeight" : 0.9 ,
"showValue" : "auto" ,
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
} ,
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"exemplar" : false ,
"expr" : "topk(1, telemetry_app_barometric_pressure{node_id=\"$nodeID\"})" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "{{long_name}}" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
"title" : "Barometric pressure telemetry" ,
"transformations" : [
{
"id" : "seriesToRows" ,
"options" : { }
} ,
{
"id" : "organize" ,
"options" : {
"excludeByName" : {
"Metric" : true
} ,
"includeByName" : { } ,
"indexByName" : { } ,
"renameByName" : { }
}
}
] ,
"type" : "state-timeline"
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"axisSoftMax" : 110 ,
"axisSoftMin" : 0 ,
"barAlignment" : 0 ,
"drawStyle" : "line" ,
"fillOpacity" : 5 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 2 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "area"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "percentage" ,
"steps" : [
{
"color" : "red"
} ,
{
"color" : "#EAB839" ,
"value" : 20
} ,
{
"color" : "green" ,
"value" : 40
}
]
} ,
"unit" : "percent"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 8 ,
"w" : 12 ,
"x" : 0 ,
2024-08-09 03:21:13 -07:00
"y" : 27
2024-07-26 10:04:22 -07:00
} ,
"id" : 2 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : false
} ,
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
} ,
"pluginVersion" : "11.1.0" ,
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"exemplar" : false ,
"expr" : "telemetry_app_battery_level{node_id=\"$nodeID\"}" ,
"format" : "time_series" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "{{long_name}} | Model: {{hardware_model}} | Role: {{role}}" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
"title" : "Battery Level" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"drawStyle" : "line" ,
"fillOpacity" : 5 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green"
}
]
} ,
"unit" : "volt"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 8 ,
"w" : 12 ,
"x" : 12 ,
2024-08-09 03:21:13 -07:00
"y" : 27
2024-07-26 10:04:22 -07:00
} ,
"id" : 3 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : false
} ,
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
} ,
"pluginVersion" : "11.1.0" ,
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "telemetry_app_voltage{node_id=\"$nodeID\"}" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "{{long_name}} | Model: {{hardware_model}} | Role: {{role}}" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
}
] ,
"title" : "Device voltage" ,
"type" : "timeseries"
2024-10-22 11:32:21 -07:00
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"description" : "Displays the measured current from the channels (1,2,3)" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"drawStyle" : "line" ,
"fillOpacity" : 0 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green"
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "mamp"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 8 ,
"w" : 12 ,
"x" : 0 ,
"y" : 35
} ,
"id" : 18 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
} ,
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "telemetry_app_ch1_current{node_id=\"$nodeID\"}" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "Channel 1" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "telemetry_app_ch2_current{node_id=\"$nodeID\"}" ,
"fullMetaSearch" : false ,
"hide" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "Channel 2" ,
"range" : true ,
"refId" : "B" ,
"useBackend" : false
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "telemetry_app_ch3_current{node_id=\"$nodeID\"}" ,
"fullMetaSearch" : false ,
"hide" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "Channel 3" ,
"range" : true ,
"refId" : "C" ,
"useBackend" : false
}
] ,
"title" : "Current measured from node" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"description" : "Measures the volage on channels (1,2,3)" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"drawStyle" : "line" ,
"fillOpacity" : 0 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green"
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "volt"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 8 ,
"w" : 12 ,
"x" : 12 ,
"y" : 35
} ,
"id" : 19 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
} ,
"targets" : [
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "telemetry_app_ch1_voltage{node_id=\"$nodeID\"}" ,
"fullMetaSearch" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "Channel 1" ,
"range" : true ,
"refId" : "A" ,
"useBackend" : false
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "telemetry_app_ch2_voltage{node_id=\"$nodeID\"}" ,
"fullMetaSearch" : false ,
"hide" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "Channel 2" ,
"range" : true ,
"refId" : "B" ,
"useBackend" : false
} ,
{
"datasource" : {
"type" : "prometheus" ,
"uid" : "P1809F7CD0C75ACF3"
} ,
"disableTextWrap" : false ,
"editorMode" : "builder" ,
"expr" : "telemetry_app_ch3_voltage{node_id=\"$nodeID\"}" ,
"fullMetaSearch" : false ,
"hide" : false ,
"includeNullMetadata" : true ,
"instant" : false ,
"legendFormat" : "Channel 3" ,
"range" : true ,
"refId" : "C" ,
"useBackend" : false
}
] ,
"title" : "Voltage measured by the node" ,
"type" : "timeseries"
2024-07-07 07:44:11 -07:00
}
] ,
2024-08-09 03:21:13 -07:00
"refresh" : "1m" ,
2024-07-07 07:44:11 -07:00
"schemaVersion" : 39 ,
"tags" : [ ] ,
"templating" : {
"list" : [
{
"current" : {
"selected" : false ,
2024-08-09 03:21:13 -07:00
"text" : "🐦🔥:34GL3 (3944975137)" ,
"value" : "3944975137"
2024-07-07 07:44:11 -07:00
} ,
"datasource" : {
"type" : "postgres" ,
"uid" : "PA942B37CCFAF5A81"
} ,
2024-07-26 10:04:22 -07:00
"definition" : "SELECT \n concat(long_name, ' (', node_id, ')') as __text, \n node_id as __value \nFROM node_details \nORDER BY long_name" ,
2024-07-07 07:44:11 -07:00
"hide" : 0 ,
"includeAll" : false ,
"label" : "Node ID" ,
"multi" : false ,
"name" : "nodeID" ,
"options" : [ ] ,
2024-07-26 10:04:22 -07:00
"query" : "SELECT \n concat(long_name, ' (', node_id, ')') as __text, \n node_id as __value \nFROM node_details \nORDER BY long_name" ,
2024-07-07 07:44:11 -07:00
"refresh" : 1 ,
"regex" : "" ,
"skipUrlSync" : false ,
"sort" : 0 ,
"type" : "query"
} ,
{
"current" : {
"selected" : false ,
2024-08-09 03:21:13 -07:00
"text" : "3944975137" ,
"value" : "3944975137"
2024-07-07 07:44:11 -07:00
} ,
"datasource" : {
"type" : "postgres" ,
"uid" : "PA942B37CCFAF5A81"
} ,
"definition" : "SELECT \n neighbor_id AS \"source\",\n node_id AS \"target\"\nFROM \n node_neighbors\nWHERE node_id = ${nodeID:singlequote} OR neighbor_id = ${nodeID:singlequote}" ,
"description" : "" ,
"hide" : 2 ,
"includeAll" : false ,
"label" : "relatives" ,
"multi" : false ,
"name" : "relatives" ,
"options" : [ ] ,
"query" : "SELECT \n neighbor_id AS \"source\",\n node_id AS \"target\"\nFROM \n node_neighbors\nWHERE node_id = ${nodeID:singlequote} OR neighbor_id = ${nodeID:singlequote}" ,
"refresh" : 2 ,
"regex" : "" ,
"skipUrlSync" : false ,
"sort" : 0 ,
"type" : "query"
}
]
} ,
"time" : {
"from" : "now-6h" ,
"to" : "now"
} ,
"timepicker" : { } ,
"timezone" : "browser" ,
"title" : "Node Dashboard" ,
"uid" : "edqo1uh0eglq8g" ,
2024-10-22 11:32:21 -07:00
"version" : 52 ,
2024-07-07 07:44:11 -07:00
"weekStart" : ""
}