Blue Iris motion alerts to notification with image in Home Assistant

I’ll try to narrow this down more for others after much testing and debugging.

If I set my trigger to the following:

BI/+/alert-image-b64

Then my camera name in my scenario is set as “Driveway” since that is what my camera is named in BI.

Later on in the automation if I want to set these two parameter as such:

action:
  - service: notify.mobile_app_rotto_iphone
    data:
      message: Activity detected at {{ camera_name }}
      data:
        entity_id: camera.{{ camera_name }}_alert

Then the message becomes “Activity detected at Driveway”, BUT

The problem is that entity_ids are always lower case (I have tried many different ways to get a capital letter in there with no success-if anyone has a suggestion then I’d love to learn) SO

My entity id becomes camera.Driveway_alert BUT

The entity I created in my yaml is actually camera.driveway_alert (NOTE the lower case d)

For whatever reason on an iPhone if I hold the notification down then it still opens the picture fine, but the little tiny picture in the notification actually does not show up and is replaced with a default image.

My next test that I am going to try is to change the MQTT payload in BI to use “driveway” instead of the placeholder camera name and see if that changes it. (Which is still a pain as I could not copy all the settings from a previous camera when I setup a new one)

Looks like you’re only defining the variable in your trigger, you need to define it twice - one for trigger and one general. I think that’s all it is

Sorry I didn’t read the lowercase thing, try {{ camera_name|lower }}

2 Likes

You sir are a genius.

Thank you so much.

1 Like

It appears that you can’t use:

{{ trigger.payload_json.camera }}

in image: . Using the actual name seems to work (e.g. camera.office_alert) but any other {{ }} values don’t work in there.

has there been a chance since this post, or a different pay to pass it?

Hi guys need some help.

I get the image on my mobile. I want to add some text to the message.
Currently the message is:

        A {{ trigger.payload_json.object.split(":")[0].strip('%') }} was detected on the {{
        trigger.payload_json.name }} camera.

Which translates to

A person was detected on the Camera 7 camera.

I will like the new message to read

A person was detected with XX% confidence on the Camera 7 camera.

So I need to add the confidence but I have no idea how to strip the trigger.payload_json.object to leave only the % in there.

I’m trying to get a similar setup going. Did you have to allow the tailscale IP in BI in order to view the video? I am able to get the image but am stuck on the video.

This is amazing, just joined to say thank you for this, works so well.

1 Like

Is it possible to get a snippet of your code?

Thanks!

I wanted to start getting this setup…and I’m running into a problem well before the MQTT step.

I cannot get any motion alert from BI in HA at all. I get camera feeds just fine and I haven’t ever wanted to do more until today. Apparently, none of the sensors function for me. Anybody have any idea what is going on?