Enhancement: support netalertx v26.1.17 breaking changes (#6196)
Some checks are pending
Docker CI / Linting Checks (push) Waiting to run
Docker CI / Docker Build & Push (push) Blocked by required conditions

This commit is contained in:
shamoon
2026-01-17 15:39:15 -08:00
committed by GitHub
parent f9d920a8fb
commit 9076cfd7e7
4 changed files with 18 additions and 6 deletions

View File

@@ -9,11 +9,17 @@ _Note that the project was renamed from PiAlert to NetAlertX._
Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`.
If you have enabled a password on your NetAlertX instance, you will need to provide the `SYNC_api_token` as the `key` in your config.
Provide the `API_TOKEN` (f.k.a. `SYNC_api_token`) as the `key` in your config.
| NetAlertX Version | Homepage Widget Version |
| ----------------- | ----------------------- |
| < v26.1.17 | 1 (default) |
| > v26.1.17 | 2 |
```yaml
widget:
type: netalertx
url: http://ip:port
key: netalertxsyncapitoken # optional, only if password is enabled
key: yournetalertxapitoken
version: 2 # optional, default is 1
```

View File

@@ -314,7 +314,7 @@ export function cleanServiceGroups(groups) {
// gamedig
gameToken,
// authentik, beszel, glances, immich, komga, mealie, pihole, pfsense, speedtest
// authentik, beszel, glances, immich, komga, mealie, netalertx, pihole, pfsense, speedtest
version,
// glances
@@ -559,6 +559,7 @@ export function cleanServiceGroups(groups) {
"immich",
"komga",
"mealie",
"netalertx",
"pfsense",
"pihole",
"speedtest",

View File

@@ -9,7 +9,9 @@ export default function Component({ service }) {
const { widget } = service;
const { data: netalertxData, error: netalertxError } = useWidgetAPI(widget, "data");
const dataEndpoint = widget?.version > 1 ? "datav2" : "data";
const { data: netalertxData, error: netalertxError } = useWidgetAPI(widget, dataEndpoint);
if (netalertxError) {
return <Container service={service} error={netalertxError} />;

View File

@@ -1,12 +1,15 @@
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
const widget = {
api: "{url}/php/server/devices.php?action=getDevicesTotals",
api: "{url}/{endpoint}",
proxyHandler: credentialedProxyHandler,
mappings: {
data: {
endpoint: "data",
endpoint: "php/server/devices.php?action=getDevicesTotals",
},
datav2: {
endpoint: "devices/totals",
},
},
};