Add config flow to MJPEG IP Camera (#21672)

This commit is contained in:
Franck Nijhof 2022-02-18 19:02:44 +01:00 committed by GitHub
parent 2060c2405f
commit aacc41a73d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,88 +6,52 @@ ha_category:
ha_release: pre 0.7 ha_release: pre 0.7
ha_iot_class: Local Push ha_iot_class: Local Push
ha_domain: mjpeg ha_domain: mjpeg
ha_config_flow: true
ha_platforms: ha_platforms:
- camera - camera
--- ---
The `mjpeg` camera platform allows you to integrate IP cameras which are capable The MJPEG IP Camera integration allows you to integrate IP cameras which are
to stream their video with MJPEG into Home Assistant. capable to stream their video with MJPEG (Motion JPEG) into Home Assistant.
## Configuration ## Prerequisites
To enable this camera in your installation, To use this integration, you will need to at least have the video streaming
add the following to your `configuration.yaml` file: URL for your camera. If you don't know it, you could try to look it up
in the [iSpy Camera Connection Database](https://www.ispyconnect.com/cameras).
```yaml {% include integrations/config_flow.md %}
# Example configuration.yaml entry
camera:
- platform: mjpeg
mjpeg_url: http://192.168.1.92/mjpeg
```
{% configuration %} {% configuration_basic %}
mjpeg_url: MJPEG URL:
description: The URL your camera serves the video on, e.g., `http://192.168.1.21:2112/` description: The URL your camera serves the video on, e.g., `http://192.168.1.21:2112/`
required: true Still Image URL:
type: string description: The URL for thumbnail picture (if the camera support that).
still_image_url: Username:
description: The URL for thumbnail picture if camera support that.
required: false
type: string
name:
description: This parameter allows you to override the name of your camera.
required: false
type: string
username:
description: The username for accessing your camera. description: The username for accessing your camera.
required: false Password:
type: string
password:
description: The password for accessing your camera. description: The password for accessing your camera.
required: false Verify SSL:
type: string
authentication:
description: "`basic` or `digest` auth for requests."
required: false
type: string
default: basic
verify_ssl:
description: Validate the SSL certificate for this camera. description: Validate the SSL certificate for this camera.
required: false {% endconfiguration_basic %}
type: boolean
default: true
{% endconfiguration %}
## Examples This integration support both basic and digest authentication, which one to
use is automatically detected when using a username and password.
Example of using a DCS-930L Wireless N Network Camera from D-Link: ## Examples of MJPEG and still image URLs
```yaml - Blue Iris Cameras / Blue Iris Server:
camera: - MJPEG URL: `http://IP:PORT/mjpg/CAMERASHORTNAME/video.mjpeg`
- platform: mjpeg - Still Image URL: n/a
name: Livingroom Camera
still_image_url: http://IP/image.jpg
mjpeg_url: http://IP/video/mjpg.cgi
```
Example of integrating Blue Iris Cameras from a Blue Iris server. - DCS-930L Wireless N Network Camera from D-Link:
- MJPEG URL: `http://IP/video/mjpg.cgi`
- Still Image URL: `http://IP/image.jpg`
```yaml - DCS-933L Wireless N Network Camera from D-Link:
camera: - MJPEG URL: `http://IP:PORT/video/mjpg.cgi`
- platform: mjpeg - Still Image URL: `http://IP:PORT/image/jpeg.cgi`
name: Livingroom Camera
mjpeg_url: http://IP:PORT/mjpg/CAMERASHORTNAME/video.mjpeg
username: BLUE_IRIS_USERNAME
password: BLUE_IRIS_PASSWORD
authentication: basic
```
Example of using a DCS-933L Wireless N Network Camera from D-Link: - OctoPrint (OctoPi):
- MJPEG URL: `http://IP/webcam/?action=stream`
```yaml - Still Image URL: `http://IP/webcam/?action=snapshot`
camera:
- platform: mjpeg
name: "YOUR_FRIENDLY_NAME"
still_image_url: "http://USER:PASSWORD@IP_CAM:PORT/image/jpeg.cgi"
mjpeg_url: "http://USER:PASSWORD@IP_CAM:PORT/video/mjpg.cgi"
```