Push
The push
camera integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] 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 motionEyepush
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/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
Configuration
To enable this camera in your installation, add the following to your configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file.
After changing the configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file, restart Home Assistant to apply the changes. The integration is now shown on the integrations page under Settings > Devices & services. Its entities are listed on the integration card itself and on the Entities tab.
# Example configuration.yaml entry
camera:
- platform: push
name: My Push Camera
webhook_id: my_custom_webhook_id
Configuration Variables
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).