Image Processing


Image processing enables Home Assistant to process images from cameras. Only camera entities are supported as sources.

Building block integration

The image processing integration cannot be directly used. You cannot create your own image processing entities using this integration. This integration is a building block for other integrations to use, enabling them to create image processing entities for you.

ALPR

ALPR entities have a vehicle counter attribute vehicles and all found plates are stored in the plates attribute.

The found_plate event is triggered after OpenALPR has found a new license plate.

# Example configuration.yaml automation entry
automation:
- alias: "Open garage door"
  trigger:
    platform: event
    event_type: image_processing.found_plate
    event_data:
      entity_id: openalpr.camera_garage_1
      plate: BE2183423
...

The following event attributes will be present (platform-dependent): entity_id, plate, confidence

Face

Face entities have a face counter attribute total_faces and all face data is stored in the faces attribute.

The detect_face event is triggered after a Face entity has found a face.

# Example configuration.yaml automation entry
automation:
- alias: "Known person in front of my door"
  trigger:
    platform: event
    event_type: image_processing.detect_face
    event_data:
      entity_id: image_processing.door
      name: "Hans Maier"
...

The following event attributes will be present (platform-dependent): entity_id, name, confidence, age, gender, motion, glasses

scan_interval and optimizing Resources

Image processing integrations process the image from a camera at a fixed period given by the scan_interval. This leads to excessive processing if the image on the camera hasn’t changed, as the default scan_interval is 10 seconds. You can override this by adding to your configuration scan_interval: 10000 (setting the interval to 10,000 seconds), and then call the image_processing.scan service when you actually want to perform processing.

# Example configuration.yaml
sensor:
- platform: _AN_IMAGE_PROCESSING_PLATFORM_
  scan_interval: 10000
...
automation:
- alias: "Scan for faces when motion detected"
  trigger:
    - platform: state
      entity_id: sensor.door_motion_sensor
      to: "on"
  action:
    - service: image_processing.scan
      target:
        entity_id: image_processing.door
...