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
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 "[email protected]%f" http://my.hass.server.com:8123/api/webhook/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
To enable this camera in your installation, add the following to your
# Example configuration.yaml entry camera: - platform: push name: My Push Camera webhook_id: my_custom_webhook_id
Number of images to buffer per event. Be conservative, large buffers will starve your system memory.
Amount of time after which the event is considered to have finished.
User provided string acting as camera identifier and access control, should be a large string (more then 8 chars).