Raspberry Pi Camera

The rpi_camera integration allows you to integrate the Raspberry Pi camera into Home Assistant. This integration uses the application raspistill to store the image from camera.

This integration is only available on Home Assistant Core installation types. Unfortunately, it cannot be used with Home Assistant OS, Supervised or Container.


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

# Example configuration.yaml entry

The whole set of configuration variables is documented here Raspberry Pi Camera Module - Raspberry Pi Documentation. They are not all wrapped by this rpi_camera platform.

Configuration Variables

image_width integer (Optional, default: 640)

Set the image width.

name string (Optional, default: Raspberry Pi Camera)

Name of the camera.

image_height integer (Optional, default: 480)

Set the image height.

image_quality integer (Optional, default: 7)

Set the image quality (from 0 to 100).

image_rotation integer (Optional, default: 0)

Set image rotation (0-359).

horizontal_flip integer (Optional, default: 0)

Set horizontal flip (0 to disable, 1 to enable).

vertical_flip integer (Optional, default: 0)

Set vertical flip (0 to disable, 1 to enable).

timelapse integer (Optional, default: 1000)

Takes a picture every this many milliseconds (thousands of a second) - the default means one picture a second.

overlay_metadata integer (Optional, default: none)

Adds some text and/or metadata onto the picture. Check the --annotate section.

overlay_timestamp string (Optional, default: none)

Helper to add date/time onto the picture. Format as used by strftime.

file_path string (Optional)

Save the picture in a custom file path.


A temporary file is used.

The given file_path must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be whitelisted.