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

@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.

Thank you JMZ for creating this app and taking the time to answer my questions so thoroughly. I was able to get the profile changing working late last night with no problems. I haven’t tried the triggered recording because I don’t currently have any sensors to try. I’m in the infant stage of my home automation project and the Blue Iris profile changing is one of the more important features of my plan. Thanks again.

1 Like

Is there a way to trigger a camera when a switch is shut off? I thought I saw that was coming in the notes at one point. I’m trying to create an outdoor motion sensor with a microswitch but the switch is configured in a way that it’s usually ON. Then, when the motion detector triggers it turns the micro switch off. That’s the point I’d like it to send a record command. Thanks

Not yet, but now that I think about it, shouldn’t be too involved. I’ll take a look this week.

UPDATE - Done! Added Contact Sensors Opening as well. Easy update! Let me know how it works out for you.

1 Like

It’s working perfect and really expands the capabilities of the app. Thank you for the hard work!

Excuse me, Sorry I didnt have the time to read through all the posts but I had a basic question about this smart app. Does this allow for me to view the cameras Live via st or is the primary purpose of this app to integration sensors from smart things into blue iris, and vice versa

Nope, it does not do live view.

JMZ- Since I’m still setting up my system, there are many times when my Blue Iris server is powered off. I’ve noticed that, even though my server is off, I will get SmartThings notifications that my Blue Iris profile has changed. It seems like it should be impossible to actually change the profile when the server is not powered up. I also remembered your comment below:

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)

I was just wondering why it’s not possible to get feedback from Blue Iris. I was browsing through the Blue Iris JSON help file. It seems to contain language that would indicate that you can ask Blue Iris for the current profile and get a response.

image

If I’m reading correctly, it seems like it should be possible to tell Blue Iris to change profiles, wait a few seconds, ask Blue Iris for the current profile, compare desired state vs current state, then send a successful or unsuccessful notification depending on whether or not the current state matches the desired state. Let me know if I am misreading or misunderstanding something. Thank You.

The WAN option uses JSON commands and goes through several send/receive iterations in one session with the Blue Iris server, but it’s from the cloud side. It does get feedback correctly.

The problem with the LAN option is that unless something changed, there is no way for the SmartThings hubAction http commands to receive. The app just sends an HTTP command to Blue Iris and assumes it made it. The help section you quoted references the commands both LAN and WAN use, it’s just not possible to do on the LAN because of SmartThings hub functionality.

If I remember correctly it still posts messages in your app saying it was changed, but it really is just saying that it sent the message and should be changed unless the command wasn’t received. That’s why you’re seeing them even when your system is off. It’s on my to do list to fix, but last time I looked into it I found the above information (that it can’t establish JSON sessions and cannot receive commands). If that has changed, I’d be more than happy to figure it out and add the capability. I could be that all the info I found was referring to JSON sessions, but we’d still be limited in that we’d have to figure out how to have Blue Iris send it’s profile to the hub (because the hub can’t ask for it). An alert in BI when profile changes are made could work.

The real solution that I’m working on is a Blue Iris device type handler so you’d have a “Blue Iris Server” virtual device, and virtual devices for each camera. Then we wouldn’t need work around solutions for using the cameras as motion sensors, nor would we need this app at all (you could just implement profile changes in the other Smartapps). For your question, the device would just reflect the actual BI server status and you could make alerts if the profile didn’t match your SmartThings mode.

Bottom line: I hope to have this worked out, it’s just going to take a while!

Update - well, pretty sure it is possible now that I look at it all again. So I’ll get working on it!

Thanks again JMZ. I hate to keep bugging you. So, if at any time I become a nuisance, let me know. I’m just trying to learn and this real world example is perfect for me. I have a couple of follow up questions/comments to your last post.

This would be awesome. If you start a thread about your Blue Iris device type handler or, in your research, run across anyone doing the same thing, can you link to it here? I think that most people interested in the Blue Iris Fusion smart app would be interested in the device type handler as well.

After looking again, what did you discover that is possible…SmartThings Hub LAN “receive” functionality, “An alert in BI when profile changes are made”, or an easier than initially expected “Device Type Handler”?

The first two, we’ll see about the third :wink:
I’ll certainly link to it here!

@cheers4beer
Update: I’m about 95% to version 1.0!! One thing left to code out, I need to get notifications to work better, and there are a handful of visual aesthetic issues I’d like to solve prior to posting.

This new DTH will only support local connections (hub has to be on the same network as Blue Iris or have access through a VPN, etc). There is a chance I’ll abandon WAN inclusion altogether going forward, but if I get enough feedback wanting it I should be able to add it. It will just make the app bigger and take longer to update each time. But please PM me if you need WAN access so I can understand the need (I think it largely exists because the old hub didn’t let us make local connections so WAN was the only option…)

Camera devices and triggering will have to wait til v2.0, but I have a plan in place.

v1.0 can be standalone for profile integration, but will be better used alongside BI Fusion. It will mostly serve as the feedback loop to know BI is set to what you want. v2.0 will be a new BI Fusion app along with this new device type, working together to give the full functionality but with more capability. I hope to include some more mature app functions as well, like creating the devices out of the app itself so setup to a simpler, potentially reducing the number of apps to install and maintain in the IDE, and app update notifications.

Once it’s ready I’ll start a new thread and link to it here so anyone following can find it.

1 Like

Blue Iris Device Type v1.0 is here!!!

1 Like

hey JMZ you may have seen this site before but if you haven’t, its about sending BI sending motion detected to smartthings

Not sure if this helps

Yup, thanks, it’s the one I’ve linked to a bunch of times when people have asked about it. I tried that out long ago but really don’t like the token operation. If you visit the settings it generates new tokens for each camera, and because it’s on your app, you have to either read it and type it into BI or copy it to an email and email yourself, then copy/paste in BI. For every camera and every time you adjust settings.

That’s why I use the maker channel on IFTTT. You just have one code for each camera that persists, and you set it up on your computer, so copy and paste is simple. I’m hoping to go away from that method entirely with the next device type version. Those tokens/IDs are so they can talk to the SmartThings smart app, but since the server and hub are on the same LAN, we should be able to handle it differently.

My goal is to subscribe the ST hub to the BI server, and then in BI you’ll just have to set up alerts for each camera to the hub, no token, letting the device type handler parse the messages and react accordingly. I need to do some testing though, I don’t know what those messages look like, and I’ll be away from my BI server for a little while so motion will have to wait a bit. I hope to have the device and service manager out before that though, and add motion as a new feature.

1 Like

It’s here! Ended up going with OAuth for motion sensing to get this out now instead of continued late-nights trying to get the method I want to work. But I got some good info recently so I’m hopeful.

I’m going to change this thread to “Deprecated” since so much has changed. But rest assured, the install is almost perfectly clean overtop your existing BI Fusion install. You just need to double check your Trigger Notifications settings. I updated them to be much more useful and clear.

no matter what i try I cannot get this smartapp to trigger blue iris. seems to setup fine, have settings in blue iris set as described here, and get no errors during install/setup on phone but no matter what i try it just wont trigger. completely uninstalled fusion from the smartapps on phone and started over and still doesnt work. only notifications i get from it are that updates are available. any suggestions?

Are you using 3x? Are you saying that if you arm SHM that it doesn’t change the profile in BI? Or camera triggers? Anything in the ide logs?

1 Like

JMZ Thanks for all the hard work! I love the app! I don’t know much about SmartThings video integration so this may be a dumb question but is there a way or will there be a way to view the video from my cameras when I am not on my local LAN?

Check out the new thread, but short answer is not yet. It only works on your LAN, but if I might try make it work outside of that. There are mostly security concerns opening it up, you really would want to use either stunnel for HTTPS or a VPN. Plus there are some complications in the app that open up. I’d recommend using the blue iris app for that, and let BI Fusion be the ST<>BI integration piece only.