Fleet overview
Devices appear here automatically once they dial the relay — the ESP32 registers
itself on connect. Leave the host blank to use localhost:8787 (local
wrangler dev). Manual open is a fallback for a device that hasn't connected yet.
Product menu
Choose a product to begin. Progress and controls move to a dedicated pour screen.
No pour running — start a fill from the device page.
Ask an operator for a new station link.
Staff fill
Select a product, confirm the bag, then start the fill.
Confirm fill
QR fallback
Use the 10-character code printed below the QR label. A device ID alone cannot open pouring controls.
Bags currently assigned to this dispenser. Move more here from global stock.
Current: — pulses/mL. Do a test pour, measure what actually came out, and Save — the device recomputes pulses-per-mL and persists it to NVS.
Delivered 0 pulses. Enter the actual measured volume:
| When | Drink | mL | Result | Time |
|---|
Stock moved to this device and bags consumed by completed fills.
Use the operator-wide enabled list, or choose a smaller menu for this dispenser.
Staff links open a locked single-device fill flow.
The QR pass and manual code are shown only when created; only their SHA-256 hashes are stored.
Create access to render a printable staff label.
Device firmware: — · latest published: —
The device pulls the image from the relay itself (pinned TLS + SHA-256 check), flashes the spare slot, reboots, and reverts automatically if the new firmware can't boot healthy. Updates are refused while a pour is running.
Operator-wide
Moves bags from global stock to the selected dispenser.
Devices use this list unless an operator saves a custom menu under Device → Manage.
Across all devices
Operator
Team access is operator-wide rather than attached to one device.
During standalone development, change the relay host from the Devices page under “Relay & manual add.”