Add ha_probe to the workflow
Build probe jar / build (push) Successful in 1m57s

This commit is contained in:
gerviba committed 2026-11-01 21:17:24 +01:00
1 parent 8e77a0607a
commit d663f3336b
5 files changed
+362 -1

No files matched your search

+3
View File
@@ -33,3 +33,6 @@ jobs:
- name: Publish jar
run: cp build/libs/probe-all.jar /output/probe.jar
- name: Package ha_probe component
run: tar -cf /output/ha_probe.tar -C custom_components ha_probe
+164
View File
@@ -0,0 +1,164 @@
{
"haId": "hacluster",
"haDisplayName": "HaCluster",
"webServerEnabled": true,
"webServerToken": null,
"webServerPort": null,
"haUrl": "http://127.0.0.1:5123",
"webhookToken": null,
"measurements": [
{
"type": "nvidia",
"name": "NVIDIA GeForce RTX 4090",
"args": [],
"haId": "nvidia_4090",
"haDisplayName": "Nvidia RTX 4090 OC",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "folder",
"name": "/home/gerviba/workspaces/systemmonitor",
"args": [],
"haId": "systemonitor",
"haDisplayName": "SystemMonitor folder size",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "folder",
"name": "/home/gerviba/workspaces",
"args": [],
"haId": "workspaces",
"haDisplayName": "Workspaces folder size",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "disc",
"name": "",
"args": [],
"haId": "disc",
"haDisplayName": "HaCluster disc",
"frequency": "EVERY_HOUR",
"device": "default"
},
{
"type": "sensor",
"name": "coretemp-isa-0000.Package id 0",
"args": [],
"haId": "cpu-temperature",
"haDisplayName": "Cpu temperature",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "cpu",
"args": [],
"haId": "cpu",
"haDisplayName": "Cpu utilization",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "ram",
"args": [],
"haId": "memory",
"haDisplayName": "Memory utilization",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "swap",
"args": [],
"haId": "swap",
"haDisplayName": "Swap utilization",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "uptime",
"args": [],
"haId": "uptime",
"haDisplayName": "Uptime",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "load1",
"args": [],
"haId": "load1",
"haDisplayName": "Load average 1m",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "load5",
"args": [],
"haId": "load5",
"haDisplayName": "Load average 5m",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "load15",
"args": [],
"haId": "load15",
"haDisplayName": "Load average 15m",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "docker",
"name": "naughty_rosalind",
"args": [],
"haId": "nginx-test",
"haDisplayName": "Nginx Test",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "event",
"name": "backup_success",
"args": [],
"haId": "backup_success",
"haDisplayName": "Last successful backup",
"device": "default"
},
{
"type": "event",
"name": "backup_error",
"args": [],
"haId": "backup_error",
"haDisplayName": "Last failed backup",
"device": "default"
}
],
"devices": [
{
"haId": "default",
"haDisplayName": "lab1"
}
],
"services": [
{
"type": "cmd",
"name": "notify1",
"command": ["notify-send", "'Hello world!'", "'This is an example notification.'", "--icon=dialog-information"],
"waitFor": true
},
{
"type": "cmd",
"name": "notify2",
"command": ["notify-send", "'Hello world!'", "'This is an example notification.'", "--icon=dialog-warning"],
"waitFor": true
}
]
}
+184
View File
@@ -0,0 +1,184 @@
{
"haId": "lab1",
"haDisplayName": "lab1",
"webServerEnabled": true,
"webServerToken": null,
"webServerPort": 7000,
"haUrl": "https://ha.home.p75.dev/",
"webhookToken": null,
"measurements": [
{
"type": "folder",
"name": "/home/clustermaster/backup",
"args": [],
"haId": "backup-folder",
"haDisplayName": "Backup folder size",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "folder",
"name": "/home/clustermaster/storage/cdn/serve",
"args": [],
"haId": "cdn-folder",
"haDisplayName": "CDN folder size",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "disc",
"name": "",
"args": [],
"haId": "disc",
"haDisplayName": "HaCluster disc",
"frequency": "EVERY_HOUR",
"device": "default"
},
{
"type": "sensor",
"name": "coretemp-isa-0000.Package id 0",
"args": [],
"haId": "cpu-temperature",
"haDisplayName": "Cpu temperature",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "cpu",
"args": [],
"haId": "cpu",
"haDisplayName": "Cpu utilization",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "ram",
"args": [],
"haId": "memory",
"haDisplayName": "Memory utilization",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "swap",
"args": [],
"haId": "swap",
"haDisplayName": "Swap utilization",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "uptime",
"args": [],
"haId": "uptime",
"haDisplayName": "Uptime",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "load1",
"args": [],
"haId": "load1",
"haDisplayName": "Load average 1m",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "load5",
"args": [],
"haId": "load5",
"haDisplayName": "Load average 5m",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "utilization",
"name": "load15",
"args": [],
"haId": "load15",
"haDisplayName": "Load average 15m",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "docker",
"name": "homeassistant-jq955wq9px6u6lswj5evxtgc",
"args": [],
"haId": "docker-ha",
"haDisplayName": "HomeAssistant",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "docker",
"name": "gitea-mlesqvh0mqkrhpkfblmnylsy",
"args": [],
"haId": "docker-gitea",
"haDisplayName": "Gitea",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "docker",
"name": "runner-mlesqvh0mqkrhpkfblmnylsy",
"args": [],
"haId": "docker-gitea-runner",
"haDisplayName": "Gitea Runner",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "docker",
"name": "vaultwarden-sm1wplp110l3ierkzk1kx5iw",
"args": [],
"haId": "docker-vaultwarden",
"haDisplayName": "VaultWarden",
"frequency": "EVERY_MINUTE",
"device": "default"
},
{
"type": "event",
"name": "backup_success",
"args": [],
"haId": "backup_success",
"haDisplayName": "Last successful backup",
"device": "default"
},
{
"type": "event",
"name": "backup_error",
"args": [],
"haId": "backup_error",
"haDisplayName": "Last failed backup",
"device": "default"
},
{
"type": "event",
"name": "test_event",
"args": [],
"haId": "test_event",
"haDisplayName": "Test event",
"device": "default"
}
],
"devices": [
{
"haId": "default",
"haDisplayName": "lab1"
}
],
"services": [
{
"type": "cmd",
"name": "backup-now",
"command": ["sh", "/home/clustermaster/do-backup.sh"],
"waitFor": true
}
]
}
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Wrapper for probe.jar - passes all arguments through.
PROBE_JAR="/home/clustermaster/storage/cdn/serve/internal/probe/probe.jar"
WORKDIR="/home/clustermaster/probe"
cd "$WORKDIR" || { echo "probe: cannot cd to $WORKDIR" >&2; exit 1; }
exec java -jar "$PROBE_JAR" "$@"
@@ -28,7 +28,7 @@ data class SensorRecord(
val args: List<String> = listOf(),
val haId: String,
val haDisplayName: String,
val frequency: SchedulerFrequency,
val frequency: SchedulerFrequency = SchedulerFrequency.EVERY_MINUTE,
val device: String = "default"
)