Blue Iris Integration Tutorial

I am having a heck of a time getting this to work. I can go to a browser and type in the ip and port and get to a blue iris screen where I can log in and see the video stream but HA just shows image not available.

    mjpeg_url: http://192.168.1.32:81/mjpg/living_room
    name: living_room
    username: testadmin
    password: test
    authentication: basic ```

I use HA presence to switch Blue Iris profiles; I have two. One sends SMS alerts when motion is detected, one does not. We only want alerts when we are not home.

So, when HA determines that people are home, it sets BI to the non-alerting profile. When there is no one home, HA sets BI to send alerts.

I do it like this:

- id: blueiris_profile_2
  alias: Blue Iris Profile 2
  trigger:
    platform: state
    entity_id: binary_sensor.people_home
    from: 'on'
    to: 'off'
    for: 
      minutes: 4
  action:
    - service: switch.turn_on
      entity_id: switch.blue_iris

- id: blueiris_profile_1
  alias: Blue Iris Profile 1
  trigger:
    platform: state
    entity_id: binary_sensor.people_home
    from: 'off'
    to: 'on'
  action:
    - service: switch.turn_off
      entity_id: switch.blue_iris

Here’s the Blue Iris switch:

platform: command_line
switches:
  blue_iris:
    command_on: '/usr/bin/curl -X GET "http://xx.xx.xx.xx:8081/admin?profile=2&lock=2"'
    command_off: '/usr/bin/curl -X GET "http://xx.xx.xx.xx:8081/admin?profile=1&lock=1"'
    friendly_name: Blue Iris

You could easily create a profile with no motion detection and switch to it as needed. Check Bluie Iris’s webserver help page for details on configuration.

2 Likes

would me using duckdns be part of the issue you think?

Try adding the HASS ip to the list of clients that BI will accept without a user/password, and then remove the authentication part in your config. Worked like a charm for me.

2 Likes

Tnx for the tip, but I’ve already solved it in the exact same way (2-3 post up) :slight_smile:

Hi @jcuccia, I published a custom component few months ago for BI, you can check it in the following link:

I moved the repo to GitHub:

Basically it provides you an integration to the BI to all camera, creates binary sensors for each camera for connectivity and motion (via MQTT) and arm / disarm based on profiles without the need to add command line / scripts

9 Likes

Ha! That’s what I get for posting before reading the whole thread.

1 Like

Will this integration allow me to setup automation such as camera ir and brightness control?

Thanks for the write up @TaperCrimp.

Does anyone know if it is possible to trigger a different MQTT message for each different motion zone? e.g., so as to have a binary sensor for the porch, another for the driveway, and so on.

Yes, since you configure each camera’s alerts separately. Using your driveway as an example, have BI send something like this:

When triggered:   
   MQTT topic: blueiris/driveway/motion
   Post/payload: on
Check Alert again when trigger is reset
   MQTT topic: blueiris/driveway/motion
   Post/payload: off

then in HASS:

binary_sensor:
  - platform: mqtt
    name: "Motion Driveway"
    state_topic: "blueiris/driveway/motion"
    payload_on: "on"
    payload_off: "off"
1 Like

Thanks, but I was looking to configure alerts separately for each unique zone. e.g., single camera, but 7 different alert (MQTT) configs for the 7 different zones. Since my posting I’d read that technically you can achieve this by duplicating your single camera 6 additional times (and hiding them), but it would be nice if a future Blue Iris release enhances the customization ability here. I should be able to change the MQTT payload to match the specific triggering zone involved (or they should at least add a @ZONE type GV that you can pass into the MQTT payload)

Thank you for this,

I followed your instructions and have all 4 of my cameras setup on a Camera Tab on Lovelace as picture entities. When you click on the Camera tab my PC that runs Blue Iris constantly makes the sound when someone logs in to a camera on BI. The camera images are updating every few seconds. Is it possible to adjust the time between the refreshes to stop this?

Don’t know the answer to that. Sorry.

In Blue Iris: Settings → Users → Your Account → Edit → Uncheck “On login play sound”.

Perfect !

Thank you. I couldn’t get the cameras to work using the username & password in the config file so I used the option above that allows only the IP Address of my HA box to log in. The Admin account is being used so I unchecked the “On login play sound” on that account

Is there a way to push a screenshot of the latest triggered camera? For instance I have Hassio in Kiosk mode on my tablet, is there a way to have a screenshot popup automatically when I specific camera is triggered?

You could do something similar to my other thread. Instead you’d just use a Call Service node like this:

The Data section has this:
{"filename":"/config/www/tensorflow/mailbox_fyc.jpg"}

I then use that to send it via a Pushover alert. The flow sends a snapshot of my front yard cam if anyone opens the mailbox.

You see anything wrong? I cant get either camera working…

image

image

That looks correct to me. What does it say in the logs for Home Assistant and Blue Iris?

Not sure what version of Blue Iris you are runnning, but the help file in mine says you need the /video.mjpg at the end of the url like:
http://192.168.1.100:81/mjpg/Cam1/video.mjpg

This works for me, but sadly only when on my home network…the streaming falls waaaaay behind when I switch to my cell connection outside of the house.
Pretty sure that is just my ISP though.