Integrating Blue Iris, Pushover, Node-RED, and Amazon Rekognition

Got it working :). I’ll try to post it tomorrow. You can set the confidence and it shows the percentage in the alert.

That’s awesome. I look forward to test it out! :slight_smile:

I’m getting on error on the Rekognition node:

OK got it to work, I added an extra space in the data field which caused an error, then I erased it and it started working…oh well… :slight_smile:

I have 3 cameras using the Amazon Rekognition (your Node-Red config). Is there a way to send out to Pushover the amount of people it detected (basically send the number in the entities state) and also send the name of the camera since we know the camera that was triggered.

Yep. I’ll update the instructions in the next day or two.

Also make it pushover only if a person is detected not just because the camera was triggered. I guess you’ll have to reset the image_processing to zero and once camera is triggered to check if it’s not zero then pushover. I need to learn how to code on nodered…

I can’t figure out how to change an entities state via NodeRed.

And how an if else works in NodeRed. For example I want to do something like this in your Payload Node:

var camera_name
var person_num = image_processing.state
If msg.data.base_id == "hmt"
   camera_name = "Basement"
else if msg.data.base_id == "bac"
   camera_name = "Backyard"
else if msg.data.base_id == "drv"
   camera_name = "driveaway"
end if

msg.payload = "Sensor: " + msg.data.new_state.attributes.friendly_name;
msg.topic = "There was/were " + person_num + " detected in the " + camera_name
msg.device = "Ron_S8";
msg.priority = 1;
msg.image = "/config/www/camera_snapshot/snapshot_" + msg.data.base_id + ".jpg"
return msg;

Updated the flow to include a confidence check, i.e. only send the alert if Rekognition is >= 90% confidence. I’ve also included the number in the Pushover alert.

1 Like

Whats the easiest way to reset all binary_sensors to OFF once triggered? Like wait 1 sec and turn them OFF. I’m guessing an automation of some sort that is triggered on state change. I want to do so because I noticed sometimes the binary_sensor is stuck at ON if several cameras are triggered at once hence creating an MQTT conflict for some reason…

You shouldn’t have to if Blue Iris is configured correctly. It’ll send ON when it’s detected and OFF when it resets. Are you setting a unique topic for each camera in Blue Iris? For example:

blue_iris/binary_sensor/fdc_motion/state
blue_iris/binary_sensor/fyc_motion/state
blue_iris/binary_sensor/bdc_motion/state
blue_iris/binary_sensor/byc_motion/state

…with all of them having “ON” for triggered and “OFF” for the reset.

Yes i did but i noticed that it sometimes stays stuck at ON for some reason and i have to manually set it OFF via entity page in hassio. Need to monitor this and see why…

Thank you so much for updating this! Just made the changes. Now I want people to come to my door :slight_smile:

Now that I have confidence levels, I’ll see how it works out. I’d like to have it alert my google home speakers in my bedroom at night between 11pm-5am if it detects a person on my front porch area. Hopefully it doesn’t flag a bunch of false positives (was doing it for rain drops right in front of the lens the other night)

I had to set mine to 94% because it was pushing random triggers.

Not a problem. It took me a few tries before I figured out how to include the AWS output without overwriting the payload. You could actually expand out the confidence filters to include other objects if needed.

So, before these new changes, I feel like I was alerted more frequently. However, I had someone today walk right in front of 2 outside cameras, and neither one picked up a person being there. Even yesterday, my family and I were outside doing things, and it only alerted me a couple times when I feel like it should’ve been a lot more. Is it only sending movement to Amazon every so often? If a car pulls onto my driveway, and BI records it for 10 seconds unless any other movement is detected, then the person gets out of the car and walks inside - so the whole clip is say, 60 seconds long - will amazon only send the first snapshot of when the car pulled into the driveway and alerted motion for the first time? If so, any suggestions on how to fix this?

Yeah noticed it wasn’t perfect either. We were all day in the backyard and not a single notification. Then a squirrel gets noticed by blueiris and i get a notification of 96% from the driveway cam.

You can always remove the confidence check. It’s dependent on the accuracy of Amazon Rekognition. The snapshot takes place whenever the motion is triggered by BI, e.g. 1-2 seconds after BI triggers. That’s the snapshot it’ll be submitting for analysis. Either way it’s dependent on BI generating the initial motion alert. You can always make BI more sensitive to trigger more frequently.

Yeah I figured it was more of tweaking BI to get this just right. I figured it triggered the BI alert when it saw the car, and never issued another alert because I have settings to stop the trigger if no motion for 10 seconds. If this person parked, got out of her car and walked to the front door, then it never alerted again. I’ll have to mess with zones.

Actually, what would be cool is if there was a way to look at the history of pictures/triggers that DIDNT get pushed, and see what confidence % amazon thought it was. I’m definitely getting way less triggers than all the false positives I did with just BI alerts - but just don’t want to clearly miss someone walking up to my house (even though its still recording in BI).

You could add a second output for the “Confidence Node” that is less than whatever threshold you set, e.g. success is >= 90 and failure is < 90. Then route the second output to another alert.

How do you run Blue Iris? Im running hassio on ubuntu, same as you.
Do you run it on a separate Windows machine that is on 24/7?