Device node: a device's ports are wired in flows
- flow/nodes/device.py: `device` node with params `device` and `config`;
provides the device's `in` ports, requires its `out` ports without
waking anything, never run (Node.passive), down "Offline" from presence
- DeviceDef.io and DevicePort go; GET /devices/{id} computes `io` and
`bindings` from the device nodes of published flows, in a fixed order,
cached by FlowStore.revision; the credential's scope comes from them
- issues `unknown_device` and `device_port` (wired twice; against a report
the wrong direction or dtype, or unlisted as advisory), rechecked when a
device is created or deleted; ValidationIssue.advisory is a field
- a device publishing on a bound port is credited to its node by the
server; the panel endpoint kind is gone from `_endpoints` and the canvas
- a rebuild that moves a device's bindings sends `dashboard_changed` with
an empty name, which the firmware refetches on
- startup moves each device's `io` rows into device nodes in the flows
declaring their messages, draft and published, one commit; rows no
flow declares are logged and left out
- frontend: Device node settings (device, Publishes, Follows, a port
picker from a report), palette shortcuts per reported port, DeviceDetail
lists bindings with "Use in flow" in place of the I/O editor
- docs: devices, flow editor, node types, issues, API
This commit is contained in:
@@ -386,6 +386,24 @@ They are reported but cannot receive writes unless wired.
|
||||
|
||||
The chat's [Control tab](../code/agents.md#control) sends commands by hand.
|
||||
|
||||
## Devices
|
||||
|
||||
### Device
|
||||
|
||||
**`device`** — a paired device's own ports: what it publishes, what it follows.
|
||||
|
||||
The engine never runs it. Its outputs are the device's `in` ports, published by
|
||||
the device itself, and its inputs the `out` ports the device follows, which
|
||||
never wake anything. Each port is named by the device, such as `gpio.4` or
|
||||
`backlight`. See [the device's own ports](../interface/dashboards.md#the-devices-own-ports).
|
||||
|
||||
| Setting | Default | Notes |
|
||||
|---|---|---|
|
||||
| `device` | | the device's id |
|
||||
| `config` | `{}` | per port, a JSON object handed to the device unread |
|
||||
|
||||
The node is down, *Offline*, while the device is not connected.
|
||||
|
||||
## Connectors
|
||||
|
||||
Installed connector packages add types through the `fluksio.node_types`
|
||||
|
||||
Reference in New Issue
Block a user