mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-23 01:06:52 +00:00
Octoprint Config Flow and sensors (#19854)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
parent
54bf52e7cd
commit
d16418622e
@ -1,13 +1,17 @@
|
|||||||
---
|
---
|
||||||
title: OctoPrint
|
title: OctoPrint
|
||||||
description: Instructions on how to setup the OctoPrint in Home Assistant.
|
description: Integration between OctoPrint and Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Hub
|
|
||||||
- Binary Sensor
|
- Binary Sensor
|
||||||
- Sensor
|
- Sensor
|
||||||
|
ha_config_flow: true
|
||||||
ha_release: 0.19
|
ha_release: 0.19
|
||||||
|
ha_codeowners:
|
||||||
|
- '@rfleming71'
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_domain: octoprint
|
ha_domain: octoprint
|
||||||
|
ha_zeroconf: true
|
||||||
|
ha_ssdp: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
- 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.
|
[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)
|
### API Key
|
||||||
- [Sensor](#sensor)
|
|
||||||
|
|
||||||
## 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
|
The OctoPrint integration provides the following binary sensors:
|
||||||
octoprint:
|
|
||||||
host: YOUR_OCTOPRINT_HOST
|
|
||||||
api_key: YOUR_API_KEY
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
- Printing
|
||||||
host:
|
- Print Error
|
||||||
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 %}
|
|
||||||
|
|
||||||
<div class='note'>
|
## Sensor
|
||||||
|
|
||||||
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.
|
The OctoPrint integration lets you monitor various states of your 3D printer and its print jobs.
|
||||||
|
Supported sensors:
|
||||||
|
|
||||||
</div>
|
- Current Printer State
|
||||||
|
- Job Completed Percentage
|
||||||
|
- Estimated Finish Time
|
||||||
|
- Estimated Start Time
|
||||||
|
|
||||||
Example with multiple printers:
|
## Camera
|
||||||
|
|
||||||
```yaml
|
|
||||||
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.
|
If the OctoPrint host is equipped with a web camera it is possible to add this as well.
|
||||||
|
|
||||||
@ -138,38 +53,3 @@ camera:
|
|||||||
still_image_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=snapshot
|
still_image_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=snapshot
|
||||||
mjpeg_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=stream
|
mjpeg_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=stream
|
||||||
```
|
```
|
||||||
|
|
||||||
## Binary Sensor
|
|
||||||
|
|
||||||
The `octoprint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.
|
|
||||||
|
|
||||||
To set it up, add the following information to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
binary_sensor:
|
|
||||||
- platform: octoprint
|
|
||||||
monitored_conditions:
|
|
||||||
- Printing
|
|
||||||
- Printing Error
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
monitored_conditions:
|
|
||||||
description: States to monitor.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
printing:
|
|
||||||
description: State of the printer.
|
|
||||||
printing error:
|
|
||||||
description: Error while printing.
|
|
||||||
name:
|
|
||||||
description: The name of the sensor.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: OctoPrint
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Sensor
|
|
||||||
|
|
||||||
The `octoprint` sensor platform let you monitor various states of your 3D printer and its print jobs.
|
|
||||||
|
@ -37,6 +37,7 @@ The following integrations are automatically discovered by the SSDP integration:
|
|||||||
- [Keenetic NDMS2 Router](/integrations/keenetic_ndms2/)
|
- [Keenetic NDMS2 Router](/integrations/keenetic_ndms2/)
|
||||||
- [Konnected.io](/integrations/konnected/)
|
- [Konnected.io](/integrations/konnected/)
|
||||||
- [Logitech Harmony](/integrations/harmony/)
|
- [Logitech Harmony](/integrations/harmony/)
|
||||||
|
- [OctoPrint](/integrations/octoprint/)
|
||||||
- [Philips Hue](/integrations/hue/)
|
- [Philips Hue](/integrations/hue/)
|
||||||
- [Roku](/integrations/roku/)
|
- [Roku](/integrations/roku/)
|
||||||
- [Samsung SyncThru Printer](/integrations/syncthru/)
|
- [Samsung SyncThru Printer](/integrations/syncthru/)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user