Image Processing


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

If you are running Home Assistant over SSL or from within a container, you will have to setup a base URL (base_url) inside the http component.

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 Optimising Resources

Image processing components 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 config 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
      data:
        entity_id: image_processing.door
...