Docs: panels without a browser (openpanel), device-interpreted I/O ports
Docs / docs (push) Successful in 29s
Playwright Tests / test-playwright (1, 2) (push) Failing after 3m48s
Playwright Tests / test-playwright (2, 2) (push) Failing after 2m25s
pre-commit / pre-commit (push) Failing after 2m33s
Test Backend / test-backend (push) Failing after 2m59s
Compose Smoke Test / test-compose (push) Successful in 34s
Playwright Tests / merge-reports (push) Successful in 1m59s
Docs / docs (push) Successful in 29s
Playwright Tests / test-playwright (1, 2) (push) Failing after 3m48s
Playwright Tests / test-playwright (2, 2) (push) Failing after 2m25s
pre-commit / pre-commit (push) Failing after 2m33s
Test Backend / test-backend (push) Failing after 2m59s
Compose Smoke Test / test-compose (push) Successful in 34s
Playwright Tests / merge-reports (push) Successful in 1m59s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
28a44853e3
commit
3c08e6ef1e
@@ -194,6 +194,23 @@ charts. On a locked dashboard only the query charts may still publish.
|
||||
dashboard assignments. Deleting the panel removes the assignment and its
|
||||
access.
|
||||
|
||||
### A screen without a browser
|
||||
|
||||
The openpanel firmware, kept in its own repository, draws dashboards as native
|
||||
widgets on an ESP32-P4 wall panel (Waveshare ESP32-P4-WIFI6-Touch-LCD-7B,
|
||||
1024×600). Once its config page points it at this instance, it shows the
|
||||
pairing code itself; enter it as in step 4. It reads the same published
|
||||
dashboards and live values and draws every widget type with two exceptions,
|
||||
both shown as a placeholder: a website tile that embeds a page (image tiles
|
||||
work), and a chart of runs, which a panel credential may not read. Media tiles
|
||||
play MJPEG streams, pushed frames, images, and H.264 Baseline or MJPEG clips up
|
||||
to 640×360. Re-encode other clips with the [clip recipe](../code/nodes.md#making-clips-playable-on-an-lvgl-panel).
|
||||
|
||||
The device decides what the panel's [I/O](#the-devices-own-io) port names
|
||||
mean. openpanel serves `gpio.<n>`, `backlight`, `touch`, `mic` and `speaker`,
|
||||
lists each one's `config` in its README and ignores any other name. A browser
|
||||
screen serves none of them.
|
||||
|
||||
### The device's own I/O
|
||||
|
||||
A panel can also act as a node. Under **I/O**, wire a port on the device to a
|
||||
@@ -201,7 +218,7 @@ message:
|
||||
|
||||
| Field | Meaning |
|
||||
|---|---|
|
||||
| `port` | The device's name for it, such as `gpio.4`, `backlight`, `screen`, `touch`, `mic` or `speaker`. Lowercase letters, digits, `_` and `.` |
|
||||
| `port` | The device's name for it, such as `gpio.4`, `backlight`, `touch`, `mic` or `speaker`. Lowercase letters, digits, `_` and `.` |
|
||||
| `direction` | `in`: the device publishes to the message. `out`: the device follows it |
|
||||
| `message` | A qualified `flow.name`. A flow must declare it, as for a control |
|
||||
| `config` | A JSON object passed to the device unread, such as `{"pull": "up", "debounce_ms": 50}` |
|
||||
|
||||
Reference in New Issue
Block a user