2020-01-07 14:43:49 +01:00

2.8 KiB

title description logo ha_category ha_iot_class ha_release
Push Instructions how to use Push Camera within Home Assistant. camcorder.png
Camera
Local Push 0.74

The push camera platform allows you to integrate images sent over HTTP POST to Home Assistant as a camera. External applications/daemons/scripts are therefore able to "stream" images through Home Assistant.

Optionally the Push Camera can buffer a given number of images, creating an animation of the detected motion after the event has been recorded.

Images are cleared on new events, and events are separated by a soft (configurable) timeout.

Integration with motionEye

The push camera can as an example be used with motionEye a web frontend for the motion daemon. motionEye is usually configured to save/record files only when motion is detected. It provides a hook to run a command whenever an image is saved, which can be used together with cURL to send the motion detected images to the push camera, as shown in this example:

In motionEye, under File Storage -> Run A Command type in:

curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/webhoo\k/my_custom_webhook_id
# inserting a backslash in the middle of "webhook" stops Motion to move the command to a webhook

Optionally configure motionEye to save only motion triggered images by going into Still Images -> Capture Mode and setting Motion Triggered. Tune your preferences under Motion Detection.

In this setup, you can configure the push camera to continuously replay the last motion triggered event using a configuration such as:

camera:
  - platform: push
    name: MotionEye Outdoor
    buffer: 3
    timeout: 5
    webhook_id: my_custom_webhook_id

Configuration

To enable this camera in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
camera:
  - platform: push
    name: My Push Camera
    webhook_id: my_custom_webhook_id

{% configuration %} name: description: The name you would like to give to the camera. required: false type: string default: Push Camera buffer: description: Number of images to buffer per event. Be conservative, large buffers will starve your system memory. required: false type: string default: 1 timeout: description: Amount of time after which the event is considered to have finished. required: false type: time default: 5 seconds webhook_id: description: User provided string acting as camera identifier and access control, should be a large string (more then 8 chars). required: true type: string field: description: HTTP POST field containing the image file required: false type: string default: image {% endconfiguration %}