Documentation
Installing Roastwarden, connecting a roaster, and every feature from charge to bag label. New here? Start with Install, then the User guide.
Guides
- InstallInstall Roastwarden from scratch: one container on a Raspberry Pi or any Linux host, the built-in MQTT broker, and the first sign-in.
- User guideEvery part of Roastwarden from the roaster's side: a roast from charge to drop, history, profiles, beans, labels, reports, roasters and settings.
- Connect your roasterWhat Roastwarden expects of a roaster on one page, how to pick a transport, and a tested example roaster for each: MQTT, Modbus TCP, TC4 serial and WebSocket.
- Add a roasterAdding a roaster in the dashboard or with roast roaster add, map and check: the connection, the mapping of its own names, and the conformance check.
- Roasters from Artisan's cataloguePick a machine from Artisan's catalogue and get its connection, register map and channels set up: Modbus, Fuji PIDs, TC4, WebSocket and MQTT machines.
- Running itDay-to-day operation: the one container, the built-in broker, upgrades that wait for the roaster, label fonts, nightly backups and a checked restore.
- The roast CLIroast: every operation of the server from a shell, for people, scripts and agents, with tokens, approvals and exit codes.
Roasting
- ProfilesSeed profiles by roaster kind, Artisan .alog import and export, and sharing a profile by a public link that another server imports.
- Profile driveThe server drives a roast from a profile: setpoint, heater and fan curves, events by time or temperature, and auto DROP.
- Roast sequenceWhat CHARGE, DROP and cancel do to the roaster: heater and fan at charge, cooling after drop.
- Alarms and auto eventsAlarms on temperature, rate of rise and time with actions and notifications; automatic turning point, dry end and DROP; Artisan .alrm files.
- Fan assistOn a fluid bed, the fan takes over part of the temperature control when the heater runs out of headroom late in the roast.
- PredictionThe roaster's own model, fitted from its roasts: bean temperature two minutes ahead, first crack and DROP, RoR crash and flick warnings, and how good it is.
- Roast guidanceThe numbers read for you: development, weight loss and colour against cited references and the roaster's own history, at most three lines per roast.
- Roast review and compareA roast's numbers in one read, and two or more roasts compared phase by phase.
- StatisticsConsistency bands, area under the curve per phase, and the rate of rise slope from first crack to drop.
- A new bean's first roastStarting a new coffee: what to expect from its first roast on your roaster, what to watch, and what to change for the next one.
- CuppingThe SCA cupping form and its score, kept with the roast.
Coffee and paper
- Green coffeePurchases and costs, adding a coffee from a supplier's link, the shopping list and its cart links, and orders recorded from their receipts.
- Planned roasts and batchesA queue of planned roasts, batch numbers per roaster, and green stock drawn down by each roast.
- Roasted coffeeEach roast's lot: resting, ready, used and given away.
- Bag labelsBag labels designed in Typst, printed over IPP, with a public page per roast behind the QR code.
- PDF reportsA roast, two roasts compared, a profile, a coffee, a period, the plan, inventory and purchases as PDF reports.
How it works
- Roaster kind and control levelEach roaster's kind, outputs and control level, and the one gate in the server that every command passes.
- ControlWhere the bean temperature loop runs, the device contract, leases and the safe state, approvals.
- AutotuneThe server's autotune: a relay experiment, a fitted model of the roaster, and PI gains designed from it.
- Mapping a device's own namesA device keeps its own field names, units, topics and command syntax; a connection maps them.
- Extra channelsDeclared channels: an exhaust probe or a TC4's third channel, kept with each roast, drawn, used in alarms and exported to Artisan.
- Wire formatsEvery transport's messages in full: MQTT topics and payloads, WebSocket, Modbus registers, TC4 serial lines.
- Phidgets boardsA Phidgets temperature board through Phidgets' network server, the protocol spoken without their library.
- Simulated roastersThe virtual fluid bed and the simulated gas drum in the server, for trying control without a roaster.
- Modules and first runA home install shows what a home roaster uses; Enthusiast and Roastery presets switch on the rest. Weight units, traceability.
Connections
- Artisan as a screenArtisan reads Roastwarden over its Modbus slave, with a setup file to load.
- Home AssistantEach roaster as a Home Assistant device through MQTT discovery, read only.
- NotificationsAlarm and system notifications through ntfy, Gotify, webhooks and Web Push.
- Push and the installed appAlarms that reach a locked phone, and installing the dashboard as an app.
- AgentsAgents are first class: the roast CLI and an Agent Skill, scoped tokens, approvals and the audit log.
- Live data WebSocketThe dashboard's live data stream: CBOR frames, subscribe and resume.
Project
- SecurityThe owner key, sign-in, tokens, the broker's users, and how to report a vulnerability.
- Support bundleOne file to attach to a bug report, with secrets removed.
- ContributingSign-off, the licence grant and how changes are made.