2026-05-12 23:47:53 +00:00
|
|
|
{
|
|
|
|
|
"name": "@betterframe/nodered-nodes",
|
|
|
|
|
"version": "0.1.0",
|
|
|
|
|
"description": "BetterFrame integration nodes for Node-RED.",
|
|
|
|
|
"license": "AGPL-3.0-only OR Commercial",
|
|
|
|
|
"keywords": [
|
|
|
|
|
"node-red",
|
|
|
|
|
"betterframe"
|
|
|
|
|
],
|
|
|
|
|
"node-red": {
|
|
|
|
|
"version": ">=3.0.0",
|
|
|
|
|
"nodes": {
|
feat: restructure Node-RED nodes + server event emission
Renames:
- bf-config → bf-server-config (config node clarity)
- bf-event-in → bf-kiosk-camera-event (specific camera trigger)
New trigger nodes (input-only, under "BetterFrame Triggers"):
- bf-trigger-display-power, bf-trigger-layout-changed,
bf-trigger-kiosk-changed, bf-trigger-camera-changed
New flow nodes:
- bf-config-get: query state by type (displays/kiosks/cameras/layouts/
entities, or by-id)
- bf-config-set: mutate via typed setters (default-layout, enabled,
priority, name)
Server-side event emission:
- shared/strip-secrets.ts: recursive password scrub
- New JSON admin endpoints: GET/POST /api/admin/{displays,kiosks,
layouts,entities}[/:id]
- Coordinator-ws fires kiosk.changed on connect/disconnect/heartbeat
- Layout/power/camera routes call nodered.forward() on state change
2026-05-13 00:26:08 +00:00
|
|
|
"bf-server-config": "src/bf-server-config.js",
|
|
|
|
|
"bf-kiosk-camera-event": "src/bf-kiosk-camera-event.js",
|
|
|
|
|
"bf-trigger-display-power": "src/bf-trigger-display-power.js",
|
|
|
|
|
"bf-trigger-layout-changed": "src/bf-trigger-layout-changed.js",
|
|
|
|
|
"bf-trigger-kiosk-changed": "src/bf-trigger-kiosk-changed.js",
|
|
|
|
|
"bf-trigger-camera-changed": "src/bf-trigger-camera-changed.js",
|
2026-05-13 00:29:12 +00:00
|
|
|
"bf-trigger-status": "src/bf-trigger-status.js",
|
2026-05-12 23:47:53 +00:00
|
|
|
"bf-layout-switch": "src/bf-layout-switch.js",
|
|
|
|
|
"bf-power": "src/bf-power.js",
|
|
|
|
|
"bf-fan": "src/bf-fan.js",
|
feat: restructure Node-RED nodes + server event emission
Renames:
- bf-config → bf-server-config (config node clarity)
- bf-event-in → bf-kiosk-camera-event (specific camera trigger)
New trigger nodes (input-only, under "BetterFrame Triggers"):
- bf-trigger-display-power, bf-trigger-layout-changed,
bf-trigger-kiosk-changed, bf-trigger-camera-changed
New flow nodes:
- bf-config-get: query state by type (displays/kiosks/cameras/layouts/
entities, or by-id)
- bf-config-set: mutate via typed setters (default-layout, enabled,
priority, name)
Server-side event emission:
- shared/strip-secrets.ts: recursive password scrub
- New JSON admin endpoints: GET/POST /api/admin/{displays,kiosks,
layouts,entities}[/:id]
- Coordinator-ws fires kiosk.changed on connect/disconnect/heartbeat
- Layout/power/camera routes call nodered.forward() on state change
2026-05-13 00:26:08 +00:00
|
|
|
"bf-cameras": "src/bf-cameras.js",
|
|
|
|
|
"bf-config-get": "src/bf-config-get.js",
|
2026-05-13 00:29:12 +00:00
|
|
|
"bf-config-set": "src/bf-config-set.js",
|
|
|
|
|
"bf-status": "src/bf-status.js",
|
|
|
|
|
"bf-snapshot": "src/bf-snapshot.js"
|
2026-05-12 23:47:53 +00:00
|
|
|
},
|
|
|
|
|
"icons": [
|
|
|
|
|
"icons"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|