PrintDeck
Collects your printer data
Send printer status and print events to your own local broker. Build dashboards, notifications and automations with the tools you choose.
PrintDeck sends normalized printer data to a local broker such as Mosquitto. Your apps subscribe to updates instead of repeatedly requesting them through the REST API. HTTP and MQTT can run independently or together.
Collects your printer data
Delivers updates to subscribers
MosquittoDashboards, lights, notifications
Node-RED · Home AssistantStart with one printer and one subscription. Home Assistant is optional.
Use a local MQTT broker such as Mosquitto. PrintDeck and your app are clients of this broker; PrintDeck does not host one. Create broker credentials and allow PrintDeck to publish and your app to read its topics.
In Web Config, open Device Settings > Unified API. Turn MQTT on, enter the broker address, port and credentials, then save and check the connection. Match the broker’s TLS settings. Keep Home Assistant Discovery off for your own app.
Connect your MQTT client to the same broker. Copy MQTT topic root from Web Config and append /printers/+/status. The + matches every saved printer. Select an online printer on PrintDeck and wait about five seconds for fresh data.
The topic root is printdeck/<printdeck_id>/v1. Copy your actual root from Web Config. Add one of these suffixes; use a printer ID from the printers catalog or + for every printer.
Read the complete API guide/printersThe saved printer catalog, including IDs. Retained by the broker.
/printers/+/statusCurrent job state, progress, temperatures and the recent event journal. Live messages, about every five seconds.
/printers/+/eventsIndividual observed events, such as started, completed or milestone. Use event_type to choose an action and event_id to identify the announcement.
/availabilityRetained online or offline status for PrintDeck’s broker connection. Each printer has its own status.connection.state in its status message.

Choose one path for each PrintDeck to keep a single set of entities.
Read-only data, shared across connections
MQTT uses the same normalized printer fields as REST, with additional delivery metadata. Status updates arrive about every five seconds; inactive printers still follow Printer List Refresh. Live telemetry and events are not retained.
Check status.connection.state, status.connection.stale and status.connection.detail_level before using a reading. Unknown values are null. Match _mqtt_generation in catalog and status messages; clear old readings when it changes.
Events describe observed changes; brief transitions can be missed. Individual events use QoS 0, with no retention or replay. The status journal keeps eight recent observations. Track stream_id and sequence to avoid repeated actions, and start from a quiet baseline after reconnecting. The API guide explains the full event contract.
Check the broker address, port, TLS and topic permissions. Use the exact topic root from Web Config. Live status is not retained, so wait for the next update. Broker credentials are separate from the REST bearer token.
When TLS is enabled, PrintDeck verifies the broker certificate and hostname. Add your own CA certificate when required. Saved secrets stay on PrintDeck. After a broker restart, PrintDeck reconnects and publishes fresh data.
Before changing brokers or switching to HACS MQTT, disable Discovery while the old broker is reachable and allow cleanup to finish. If that broker cannot be reached, its retained Discovery entries may need manual removal. Renaming a printer keeps its identity; deleting a profile removes its Discovery configuration.
Get the full topic reference, payload fields and delivery rules in the API guide.