home-assistant.io/source/_components/octoprint.markdown
2018-10-20 13:03:36 +02:00

4.0 KiB

layout title description date sidebar comments sharing footer logo ha_category featured ha_release ha_iot_class
page OctoPrint Instructions on how to setup the OctoPrint in Home Assistant. 2015-01-20 22:36 true false true true octoprint.png Hub false 0.19 Local Polling

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

{% linkable_title Configuration %}

To get started with the OctoPrint API, please follow the directions on their site. Once OctoPrint is configured you will need to add your API key and host to your configuration.yaml.

octoprint:
  host: YOUR_OCTOPRINT_HOST
  api_key: YOUR_API_KEY

{% configuration %} octoprint: type: list required: true keys: host: description: IP address or hostname of Octoprint host. required: true type: string api_key: description: The retrieved API key. required: true type: string name: description: The name for this printer, must be unique if multiple printers are defined. required: false type: string default: OctoPrint port: description: The port of the Octoprint server. required: false type: integer default: 80 ssl: description: Enable or disable SSL/TLS. required: false type: boolean default: false bed: description: If the printer has a heated bed. required: false type: boolean default: false number_of_tools: description: Number of temperature adjustable tools, e.g., nozzle. required: false type: integer default: 1 sensors: description: Configuration for the sensors. required: false type: map keys: monitored_conditions: description: The sensors to activate. type: list default: all (Current State, Temperatures, Job Percentage, Time Elapsed, Time Remaining) keys: "Current State": description: Text of current state. "Temperatures": description: Temperatures of all available tools, eg. print, head, print bed, etc. These will be displayed as tool0, tool1, or toolN please refer to your OctoPrint frontend to associate the tool number with an actual device. "Job Percentage": description: Percentage of the job. "Time Elapsed": description: Time elapsed on current print job, in seconds. "Time Remaining": description: Time remaining on current print job, in seconds. binary_sensors: description: Configuration for the binary sensors. required: false type: map keys: monitored_conditions: description: The sensors to activate. type: list default: all (Printing, Printing Error) keys: "Printing": description: State of the printer. "Printing Error": description: Error while printing. {% endconfiguration %}

If you are tracking temperature it is recommended to set `bed` and/or `number_of_tools` in your octoprint configuration. This will allow the octoprint sensors to load if the printer is offline during Home Assistant startup.

Example with multiple printers:

octoprint:
  - host: YOUR_OCTOPRINT_HOST
    api_key: YOUR_API_KEY
    name: PRINTER_NAME_1
    number_of_tools: 2
    sensors:
      monitored_conditions:
        - 'Current State'
        - 'Job Percentage'
  - host: YOUR_OCTOPRINT_HOST
    api_key: YOUR_API_KEY
    name: PRINTER_NAME_2
    number_of_tools: 1

If the OctoPrint host is equipped with a web camera it is possible to add this as well.

camera:
  - platform: mjpeg
    name: OctoPrint
    still_image_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=snapshot
    mjpeg_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=stream