[DEPRECATED] [RELEASE] Blue Iris Fusion - Integrate SmartThings and Blue Iris!

You can hook into SHM and get status changes.
I’m doing it in BigTalker.

subscribe(location, "alarmSystemStatus", onSHMEvent)
def onSHMEvent(evt){
   if (evt.value == "away") {Do stuff}
   if (evt.value == "stay") {Do stuff}
   if (evt.value == "off") {Do stuff}

EDIT: I went back and read the post from who you replied to @automaton82. It seems they are wanting BlueIris motion to trigger an SHM alarm. One way to do this might be install a simulated motion sensor (from the IDE), then add that motion to your desired SHM alarm group (away, stay), then a BlueIris SmartApp would need to allow selection of the simulated motion to trigger on actual camera motion and finally call thesimulatedmotion.active() function which would cause SHM to activate an alarm condition. Sometime later the SmartApp would need to call thesimulatedmotion.inactive() to reset the state of the simulated motion back to inactive. (pseudo code, I’ve not tried any of this)

1 Like

@JMZ Question for you, does you app have the ability to change profiles separate from ST modes? Meaning is there a way to change the profile without tying it to a mode? If not can it be built in?

What would you want to use as a condition or trigger to change the profile?

Well I’m not sure what is requested now :slightly_smiling_face:, I thought @automaton82 wanted to have SHM alarm status (intrusion detected) to trigger BI cameras to record, which prompted me to write:

I actually was using your Big Talker app (awesome btw!) as an example until I realized it was just using the off/stay/away SMH modes and not alarm/intrusion triggers.

If you right about @automaton82’s request though, and I’m with you now, I have a similar set up to what you describe running on all my cameras:

I use a virtual motion/switch device type in SmartThings for each camera:

In IFTTT I use a maker channel, and the Alerts function in Blue Iris sends GET commands ("Alerts - Website) to the IFTTT applets. So I have an applet for motion on and a separate for motion off, which turn the simulated switch/motion device on and off. SHM monitors the motion of the devices. It’s been solid for 1.5 years. You do have to really tighten the motion detection settings in BI to not get a ton of false alarms.

The only way I know to get the actual camera motion trigger from Blue Iris is through the Alerts - Website GET/PUSH commands I use for my IFTTT Maker channel. I didn’t go with something like you described in the BI Fusion app because it added a lot of complexity (open up the smartapp to receive GET commands from BI, need OAuth, etc.) and a virtual motion device in ST tied to a camera’s motion detection is a device type handler problem, not a smartapp function. There are a couple smart apps and webcore pistons that do this so you don’t have to stick IFTTT in the middle. It makes more sense to me to keep the Camera “Devices” in Smartthings to run separately from the app designed to change BI modes and trigger recording. This way you have each camera as a motion sensor that can be used for anything in Smartthings and not require continual growth of one app.

A switch would be perfect

It can be done without IFTTT, look at Blue Iris camera trigger from smart things

Sorry, I’m in a hurry, the link above he made it so smartthings would trigger BI to record a particular camera, I edited it so a motion detection in smartthings would allow me to set a particular PTZ preset for a camera.
To make a camera in BI work as a smartthings motion detector, look at Blue Iris motion detection to activate smart app or [WITHDRAWN] Camera HTTP Motion Endpoint . So, if your system was already in an armed mode, a motion detection would indeed alert you and could also be told to turn on a light, all depends on what you want for your circumstance. Maybe I’m not following your needs?

Thanks @blazenmp! Those were the posts I’ve been trying to find. I’ve been PM’ing @jasonrwise77 to come up with a solution for him. I’ll post what we come up with.

First of all big thanks to jmz and to rayzurbock
I am still new to all this, i have be working on this all of yesterday on how to connect BI to smartthings and made a very quick write up to save the next person alot of time reading all the comments. Its really pour English but here it is.

1)log in to smartthings
2)go to My Smartapp
3)add new smartapp
4)choose from code
go to Parent App:
copy and paste
save then publish
then add another smartapp (child app)

5)Next go into BlueIris software and click on the opitons (gear on the top left)
BlueIris > Settings > User click Add button make sure to put a user and password you will need it for the next step and check the admin box
6)Next BlueIris > Settings > Web server click Advanced button
change the Require From: down Menu from all connections to Non-LAN only and then uncheck “Use secure session keys and login page”
also copy down the Local, internal (LAN) access ip address and server port you will need it in the next step
7)then go into your smartapp on your phone
market place => my apps
click on blue iris fusion
Click Local connections
Enter in the ip form BI web server tab without http:// (eg.
enter port number (eg.81)
enter the User and password Casse sensitive
click receive profile change notifications? to yes or no
click done
8)Click Automation tab => Blue Iris => add camera trigger
Camera name is Casse sensitive and is the short name found by right clicking on the camera => settings => General
then select an action and name it and you should be good to go

i could have mist something because i have been going back and forth so hope this helps

1 Like

also i think you have to use OAuth when settiong up the parent app but not 100% sure

Can this work the other way? When the camera detects motion trigger a light to turn on?

Nope, it only transmits to BI, it doesn’t receive. You have some good options though:

  • Check out Post #139 above for how I do it (virtual motion sensor for each camera, linked via IFTTT maker channel).

Or: Use a purpose-built smart app that “listens” for BI motion alerts:

I ultimately used the IFTTT option because every time you open the settings on one of those smartapps the web address regenerates, forcing you to retype it into Blue Iris, which was awful. I think if you did it via webcore it’d be a lot simpler, especially because you can just copy and paste from the browser to Blue Iris, and because you may be able to modify the webcore piston without it changing the address. I’ve seen posts in these threads about having webcore handle it (it could even do what Fusion does just fine), but haven’t tried it myself.


If you use the first link posted by JMZ that’s the one I did. I was using iOS and couldn’t copy and paste and the code changes every time you touch the link. So I created the http endpoint then went into the automation tab clicked on the http motion endpoint => next tab and it shows the code that has been set and you don’t have to rush.

so I have just downloaded BI and I can see my cameras on my screen (laptop for now). I can access them using my local LAN IP and port number. I can see that BI is detecting motion b/c it is recording clips, but ST isn’t sending me the notifications or doing anything.

I followed the steps outlined here but still nothing.

Any ideas? Thank you!

I had the same problem until I went in to the advances tab and changed to Non LAN. Because BI is asking for a password when ST is sending a command. Let me know if this helps. Also when if you watch live view in the smartthings IDE it will send a command that has your IP address of BI fallows by a user pass all in one line. If u take that and past it in to a web browser it should send the command to BI but if it pops up with a user password then BI is blocking smartthings. Hope this helps

Sean’s iPhone

To be clear, the BI Fusion app does not receive motion alerts from Blue Iris, it is for changing the Blue Iris profile and for triggering cameras to record when SmartThings motion/contact/etc activates.

If you are trying to get notifications from BI, then use one of the methods in this post #151 above:

I am new to home automation, SmartThings, video surveillance, and Blue Iris. The only programming experience I have is Fortran about 15 years ago. I am also NOT very knowledgeable about SSL, HTTP, HTTPS, WAN, LAN, password encryption, network security, etc. So, I will probably butcher much of the terminology and concepts in attempting to ask my questions. I have read all of the posts in this thread and feel like I will be able to get the remote profile switching and recording triggers working through either WAN or LAN. However, I need help understanding the difference between WAN and LAN as it refers to this setup. I am guessing that both connection methods, WAN and LAN, will allow remote profile changes from the SmartThings app on my phone even if my phone is not connected to my local network? Which method, WAN or LAN, is the safest from a network security standpoint? What is the advantage of one over the other? How does a SSL certificate and HTTPS relate to both of these methods? Thank you in advance for your help.

Sorry I was never good in English class even though it’s the only language I know LOL!! I am no master at this just a beginner so I will try my best here. What you want is to have st tell BI to record eg. Motion sensor on zigbee is activated tell front door cam to start. If this is correct then what smartthings dose is send an http request to BI but if Blue IRS is asking for a password instead of listening for this request it will never hear smartthings. That’s why you need to change the settings in Blue spray so it will listen without password. But if you want to have BI to send a request to smartthings to say motion in drive way then you will have to go with the other post and install the motion sensors apps.

Cheers I don’t no much about it. But I do know that the LAN is defined as Local AreaNetwork means your house ip. Wan in this case means going off to the cloud which takes longer if you have slow internet like mine. With the LAN I didn’t have to punch holes in my fire wall smartthings tAlks directly to my BI server. Your still technically talking to the cloud from your phone to smartthings but that can’t be helped. I could be wrong but it seams safer to use LAN and I have noticed it to be faster and more reliable. Hope this answers some of your questions.

Thanks Buzzshot. I had a feeling that the LAN method would be both safer and easier to implement for someone with my limited knowledge. It doesn’t seem like SSL, Stunnel, HTTPS, opening ports, etc would be applicable to the LAN method. If this is the case, it is good for me since I don’t fully understand these terms or why it would be beneficial to use the WAN method over the LAN method. I am planning try to get this working over the next few days. I’m sure that I will have more questions.

@cheers4beer, I see you got an answer already, but I’ll chime in to add a little more:

LAN = Local area network, WAN = Wide area network. For BI Fusion setup, LAN specifically means all traffic will stay on your home network, nothing out to the cloud (the SmartThings hub sends commands directly to the computer running Blue Iris. The WAN setup differs by having the SmartThings cloud send the commands to your Blue Iris computer.

The only functional differences are that the WAN option provides feedback if Blue Iris didn’t actually receive the command (no way to make this happen within this app alone when using LAN), and the WAN setup requires opening a port so the cloud can reach your Blue Iris computer.

LAN is definitely simpler, and is more secure in that it doesn’t expose your network to the outside. That’s not to say the WAN method is not secure, it just requires careful setup outside of this smartapp.

Yes, it doesn’t matter where your phone is, the only difference is that it’s either the hub or the cloud sending commands to Blue Iris. You can control via your phone either way because it is simply talking to the cloud which then commands the hub.

This only matters if you’re using the WAN method, and relates to you how you can secure the connection from the cloud to Blue Iris. You can get an SSL certificate, which is what enables you to use HTTPS, or you could use a VPN, or both, or many other things. Sounds like you’re leaning towards LAN, and I would too. So you can disregard the SSL/HTTPS stuff.

The LAN/WAN difference was a bigger deal in the evolution of the smartapp. The work I used as a starting point included a well-built but WAN only app and a sparse LAN app. I wanted to combine the features of both and add some more, so leaving the option for both was logical. I can think of few situations that WAN would be a better fit, primarily if you have your SmartThings hub on a different network than your Blue Iris computer. I would imagine most people would use LAN.