Camera Motion Detection Screenshot

Hi, using a Hyper-V haos_ova-18.2.vhdx instance to test with. I created an automation to take a person/motion detection from my cameras and send my phone an alert with a screenshot attached. I then migrated to a physical mini PC and grabbed the latest release image for this. The detection works but has changed the method and no longer supports a screen capture or attachment. Is there a fix for this coming or a way to use it on the latest release?
Thanks,
Rob

I’m running HAOS (the latest and createst..) on bare metal for a long time now, and I don’t have any issues with receiving snapshots on my (i)phone :thinking:

Show us the automation your are using (in formatted yaml), and maybe we can be of assistance :wink:

Hi, this is the original one I was using on the VM:

alias: "Cameras - Person or Vehicle Alert"
description: "Notifies only on person/vehicle detection from either camera, ignores generic motion"
trigger:
  - platform: state
    entity_id:
      - binary_sensor.front_door_person
      - binary_sensor.front_door_vehicle
      - binary_sensor.back_door_person
      - binary_sensor.back_door_vehicle
    to: "on"
action:
  - service: camera.snapshot
    target:
      entity_id: camera.front_door_fluent
    data:
      filename: /config/www/snapshots/latest_alert.jpg
  - service: notify.mobile_app_my_phone
    data:
      message: "{{ trigger.to_state.attributes.friendly_name }} detected"
      title: Motion Detection Alert
      data:
        image: /local/snapshots/latest_alert.jpg
mode: queued

This is the one I’m using now, as I just kept getting errors with the above and had to switch to this:

alias: Cameras - Person or Vehicle Alert
description: >-
  Notifies only on person/vehicle detection from either camera, ignores generic
  motion
triggers:
  - entity_id:
      - binary_sensor.front_door_vehicle
      - binary_sensor.front_door_person
      - binary_sensor.back_door_person
    to: 'on'
    trigger: state
actions:
  - choose:
      - conditions:
          - condition: template
            value_template: '{{ trigger.entity_id.startswith(''binary_sensor.front_door'') }}'
        sequence:
          - action: camera.snapshot
            target:
              entity_id: camera.front_door_fluent
            data:
              filename: /config/www/snapshots/front_latest_alert.jpg
      - conditions:
          - condition: template
            value_template: '{{ trigger.entity_id.startswith(''binary_sensor.back_door'') }}'
        sequence:
          - action: camera.snapshot
            target:
              entity_id: camera.back_door_fluent
            data:
              filename: /config/www/snapshots/back_latest_alert.jpg
  - action: notify.send_message
    data:
      message: '{{ trigger.to_state.attributes.friendly_name }} detected'
      title: Motion Detection Alert
    target:
      entity_id: notify.my_phone
mode: queued

What errors?

And are you using IOS or Android (as they use a different filepath :wink: )

I’m using IOS.

Here are the errors I hit, in the order I encountered them, while trying to get the image attachment working on notify.send_message:

1.

'dict object' has no attribute 'to_state'

This one turned out to be my own testing mistake — I was using the automation editor’s manual “Run” button rather than a real trigger, so trigger.to_state wasn’t populated. Not a bug, just flagging it for completeness.

2.

required key not provided @ data['message']

After switching the notify action to notify.send_message, the visual editor stripped my message/title/image content down to an empty data: {}.

3.

extra keys not allowed @ data['data']

Tried adding the image back using the old nested structure that worked with the legacy notify.mobile_app_X service:

data:
  message: "..."
  title: "..."
  data:
    image: /local/snapshots/latest_alert.jpg

Rejected — that nested data.data.image shape isn’t valid for send_message.

4.

extra keys not allowed @ data['image']

Tried flattening it one level instead:

data:
  message: "..."
  title: "..."
  image: /local/snapshots/latest_alert.jpg

Also rejected at that point — send_message had no accepted field for an image at all on my version (Core 2026.8.3).

Happy to test again on a current build if there’s now a supported field/structure for attaching an image — let me know what the correct syntax should look like.

Are most of the times an indentation error; yaml is very particular regarding indentation..

Can anyone share their yaml for this for me to look at/compare please?

One of my oldest automations, circa 2019. Note that there are two data: keys.

      - service: notify.family
        data:
          title: "⚠️ Security"
          message: "Motion detected!"
          data:
            group: "security-camera-snapshots"
            url: homeassistant://navigate/lovelace-main/security
            attachment:
              # url: https://geoexpressinternational.com/wp-content/plugins/webp-express/test/test-pattern-tv.jpg
              url: !secret security_camera_last_snapshot_url
              # content-type: jpg
              hide-thumbnail: false
              lazy: false
            actions:
              - action: "ENABLE_GUEST_MODE"
                title: "Enable guest mode"

Thanks Pieter, new to this so learning every day. I’ll give this a try.

Mine is too complex to share; it uses multiple cameras to multiple phones..

But i used to use this blueprint as base a long time ago., and i think it should still work

Ok claude dropped the ball on this one. It just switched to a new notify.send_message away from notify.mobile_app and then kept insisting the latest release had switched to this and it didn’t yet support images!!! Anyway I’m back on my old yaml which works fine. Thanks all for the pointers.