Mitchell R
b83782b8e0
feat: Node-RED custom nodes + dashboard entity type
...
Node-RED nodes (nodered/):
- bf-config: shared server URL + admin API key
- bf-event-in: filter kiosk events by topic glob
- bf-layout-switch: POST display layout-switch
- bf-power: kiosk wake/standby
- bf-fan: kiosk fan control
- bf-cameras: query camera list
- Drag-droppable from Node-RED palette
Server:
- Admin Bearer API key auth on /admin/* (NodeRED can call admin API)
- GET /api/admin/cameras for bf-cameras node
- Dashboard entity type:
- entities.type CHECK adds 'dashboard'
- entities.dashboard_id column
- shared/nodered-bridge.ts listDashboards() polls /nrdp/flows
- Bundle resolves dashboard entity → web cell at /dash/<id>
- POST /admin/entities/sync-dashboards mirrors Node-RED tabs
- EntitiesPage shows Dashboards section + Sync button
- EntityEditPage for dashboard: read-only + "Open in Node-RED"
- No create/delete from BF UI — managed in Node-RED
- sec-config: noderedUrl on admin-http (was already on api-http)
2026-05-13 01:47:53 +02:00