diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown index 33fb1da55a8..73eaa686e04 100644 --- a/source/_integrations/octoprint.markdown +++ b/source/_integrations/octoprint.markdown @@ -1,13 +1,17 @@ --- title: OctoPrint -description: Instructions on how to setup the OctoPrint in Home Assistant. +description: Integration between OctoPrint and Home Assistant. ha_category: - - Hub - Binary Sensor - Sensor +ha_config_flow: true ha_release: 0.19 +ha_codeowners: + - '@rfleming71' ha_iot_class: Local Polling ha_domain: octoprint +ha_zeroconf: true +ha_ssdp: true ha_platforms: - binary_sensor - sensor @@ -15,119 +19,30 @@ ha_platforms: [OctoPrint](https://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors. -There is currently support for the following device types within Home Assistant: +{% include integrations/config_flow.md %} -- [Binary Sensor](#binary-sensor) -- [Sensor](#sensor) +### API Key -## Configuration +The Octoprint integration will attempt to register itself via the [application keys plugin](https://docs.octoprint.org/en/master/bundledplugins/appkeys.html). After submitting the configuration UI in Home Assistant, open the Octoprint UI and click allow on the prompt. -To get started with the OctoPrint API, please follow the directions on their [site](https://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`. +## Binary Sensor -```yaml -octoprint: - host: YOUR_OCTOPRINT_HOST - api_key: YOUR_API_KEY -``` +The OctoPrint integration provides the following binary sensors: -{% configuration %} -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 -path: - description: The URL path of the Octoprint instance. - required: false - type: string - default: / -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: 0 -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, e.g., `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 %} +- Printing +- Print Error -