OctoPrint is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors.


To add the OctoPrint integration to your Home Assistant instance, use this My button:

OctoPrint can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.


Username for the server.


Address of the server, e.g.,


Port of the server.


URL path of the server


Whether to use SSL or not when communicating.

verify ssl

Should the SSL certificate be validated.

API key

For the integration to work, please check that in Octoprint, the Discovery Plugin is enabled and in the Settings -> Printer Notifications menu that Enable popups is checked. The Octoprint integration will attempt to register itself via the Application Keys Plugin. After submitting the configuration UI in Home Assistant, log in to Octoprint as the user whose credentials you just entered in Home Assistant, and select Allow on the prompt.

NOTE: You must be logged into Octoprint as the user which you are adding to Home Assistant. If you log in to Octoprint as any other user, you will not see the prompt to allow access.

Binary sensor

The OctoPrint integration provides the following binary sensors:

  • Printing
  • Print Error


The OctoPrint integration lets you monitor various states of your 3D printer and its print jobs.

Supported sensors:

  • Current Printer State
  • Job Completed Percentage
  • Estimated Finish Time
  • Estimated Start Time


The OctoPrint integration provides a camera feed if one is configured in OctoPrint.


The OctoPrint integration provides the following buttons:

  • Pause Job
  • Resume Job
  • Stop Job
  • Shutdown System
  • Reboot System
  • Restart Octoprint


Device is already configured for a second instance

This is typically caused by copying/backup/restoring part of the config files between OctoPrint instances.

  1. SSH into the OctoPrint instance that is being added.
  2. Edit the config.yaml for the instance (Typically /home/pi/.octoprint)
  3. Under plugins/discovery, change the value of upnpUuid to have a different uuid.
  4. Restart the OctoPrint service
  5. Attempt to add the instance once again.