From af2fd6eaf742a692e8aa00b9f24c6b3eb5a87637 Mon Sep 17 00:00:00 2001 From: vps1_gitea_admin Date: Wed, 4 Mar 2026 20:16:44 +0000 Subject: [PATCH] Add "Home" --- Home.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..ac0db0a --- /dev/null +++ b/Home.md @@ -0,0 +1,67 @@ +# dashboardAPI + +Custom Node-RED node for programmatic Grafana dashboard creation, management, and telemetry integration. + +## Overview + +| Property | Value | +|----------|-------| +| **Version** | 1.0.0 | +| **Category** | Visualization | +| **Inputs** | 1 | +| **Outputs** | 1 (grafana) | +| **Part of** | [EVOLV](https://gitea.wbd-rd.nl/RnD/EVOLV) | + +## Purpose + +The `dashboardAPI` node integrates with Grafana for automated dashboard management. It provides: + +- **Dashboard creation** - Programmatically generate Grafana dashboards +- **Metrics querying** - Query InfluxDB data through Grafana +- **Alert management** - Configure and manage Grafana alerts +- **FlowFuse chart endpoints** - Serve data to FlowFuse dashboard widgets + +## Configuration + +| Field | Description | Default | +|-------|-------------|---------| +| `protocol` | HTTP or HTTPS | http | +| `host` | Grafana server hostname | - | +| `port` | Grafana server port | 3000 | +| `bearerToken` | Grafana API authentication token | - | +| `defaultBucket` | Default InfluxDB bucket | - | +| `enableLog` | Enable node logging | false | +| `logLevel` | Log verbosity level | - | + +## Inputs and Outputs + +### Input (Port 0) +Dashboard commands: +- Create/update dashboard +- Query metrics +- Manage alerts + +### Output Port 0 - Grafana +API responses, query results, dashboard URLs. + +**Note:** Unlike other EVOLV nodes, dashboardAPI has only 1 output port (not the standard 3-port pattern). + +## Dependencies + +- [generalFunctions](https://gitea.wbd-rd.nl/RnD/generalFunctions) (MenuManager, logger) + +## Technical Requirements + +- Node.js >= 18 +- Node-RED >= 3.x +- Grafana instance (accessible via HTTP/HTTPS) +- Grafana API token with appropriate permissions +- InfluxDB 2.x (as Grafana data source) + +## Testing + +```bash +node --test test/basic/*.test.js +node --test test/integration/*.test.js +node --test test/edge/*.test.js +```