Blue Iris Android w/ geofencing & notifications

cinnabuns

n3wb
Oct 31, 2016
10
2
I just set up BI and installed the mobile app and have been trying to get geofencing and notifications to work properly, but to no avail.

The problem is that everything works only when I am actively using the BI Android app, but when my screen is off for a while, the app seems to no longer do anything in the background (update geofencing location or get notifications). I've emailed support but have received no response.

I have lots of other apps that do background updates and push notifications properly (Life360 is the most similar).

I'm stuck on Android 5.0.2 because my Sony Xperia Z3 isn't getting any newer updates.

Any suggestions on how I can get geofencing to work (even if phone goes into deep sleep mode)? That's really the only reason why I picked BI over other free NVR software. Or are there any other Android apps that work with BI server geofencing?
 
I don't have an answer for your problem. However, I do use the app and have some general thoughts.

My wife uses the BI mobile app on her iPhone and I use it on my android device (Note 4). Her UI seems much more intuitive. Mine seems clunky. I wish the two were the same in terms of the UI.

As far as geofencing, the BI implementation seems reasonable but has drawbacks. The app has to be active on the device and location services needs to be on. That is a big negative for me. For several reasons, battery life being one, I don't let apps continue to run after I use them and I only turn on location services when I need it which is seldom. I also am not a big google fan and them seeing everywhere I go is just too much. For these reasons, I'm not going to be using geofencing in its current implementation.

I wish there was an alternative in BI server that when a known phone(s) was connected to the local wireless network, it considered you home. If not connected, you are away.
 
I don't have a problem with location services being on. I already have it on for a host of other reasons. But if the app needs to be active for geofencing to work, that seems to make the feature pretty useless. Apps like Life360 can track GPS location constantly (or at least, often enough) in the background without being a big battery drain. I don't see why BI can't do the same.

My wife has an iphone as well but I will not be purchasing the iOS app until at least mine works properly. Geofencing is useless if it only works properly on one of our phones.
 
It does not have to be on...try reinstalling the app... make sure you are not running any battery saving apps..
 
I've re-installed. I don't run any battery saving apps, but my phone does have a built-in battery saving mode. I've already added Blue Iris to the list of exclusions previously (like how I exclude Life360 from battery saving), but for now I've just disabled it altogether. I'll report back when I change my location later tonight and see if it works.
 
So re-installing seems to have helped. Enabling/disabling one of my phone's built-in battery saving features doesn't seem to make any difference. The problem now is that I am getting a lot of phantom notifications (entering/exiting geofence) whenever I'm at home but indoors. This seems to be because when my phone goes idle it only has a coarse grained location which confuses the geofence. I tried to check this by immediately opening Google Maps when my phone gets an "Exit Geofence" notification while I'm home. I can see my location radius go from a really big coarse-grained location to an accurate one as it gets a GPS lock. Once I get a good fine-grained location then I get an "Enter Geofence" notification again.
 
you gotta increase the size of your geofence; I ended up giving up on GeoFencing for my automation needs.. keeping that GPS online all the time just nuked my batteries and I only got a fraction of the time I did w/out it.
 
I actually got a reply from the Blue Iris email support, and they stated that geofencing uses the built-in Android "geofence" feature, which doesn't use the GPS explicitly at all. I sometimes wish it would more proactively get the GPS location though just because at least on my phone, the geofencing is kinda flaky.
 
yeah the geofencing calls are all part of Android; it also can use wifi for location based services indoors as google builds up giant databases of where each wireless SSID is roughly located thanks to all the android phones and even StreetView vehicles.

the geofence around my house had to be a 1/4 mile raidus; and once one app starts using geofencing in any way it gets alot more aggressive about keeping the radios (both wifi and gps) powered up to maintain location awareness; and that.. If your the kind person whom is always using there phone its probably not noticeable; but my phone only gets used once or twice a day and the impact on the battery was very undesireable.

One thing you can look at is rfid tokens, you can put a sticker down next to your bed/front door and when you tap or place your phone on it, you can trigger automation responses.. much less resource intensive.. I have one in my car that tells my phone to open/close the garage door.
 
I will try increasing the size of the geofence. It was at 200m and the only step up is 400m. I do use my phone quite a bit so I'm not likely to notice the battery drain much from the geofencing alerts. I'm hoping I won't have to go the RFID route or any option that requires manual user input since my wife will surely not want to bother with it.
 
I'm getting fewer phantom alerts with a 400m radius, but I still get them occasionally. I caved and got the iOS app for my wife's phone. With the 2 working together geofencing is "OK" in that at least my phantom alerts are ignored when she's home with me. It's mildly irritating but I guess it works well enough for my needs.
 
I'm getting fewer phantom alerts with a 400m radius, but I still get them occasionally. I caved and got the iOS app for my wife's phone. With the 2 working together geofencing is "OK" in that at least my phantom alerts are ignored when she's home with me. It's mildly irritating but I guess it works well enough for my needs.
There is a youtube video where the poster explains how to setup BI to use your wifi access point to determine that you are home..i linked to it previously on the forum..
 
  • Like
Reactions: cinnabuns
There is a youtube video where the poster explains how to setup BI to use your wifi access point to determine that you are home..i linked to it previously on the forum..
Thanks for heads up. I found the video I think you're referring to:

It looks like it will require some tinkering to do what I want. From what I gather in the video, I would need to scrape the MAC addresses off the router or using some other means, and then use the BI JSON API to set the traffic light status instead of using the built-in BI mobile devices functionality. I guess I might give it a go when I can find some time.
 
  • Like
Reactions: fenderman
Reopening this thread for people out there with Android devices still looking for an easy way to set this up (use your wifi access point to determine that you are home)

The following method is much simpler than the above:

- Ensure your webserver is well configured (see help/forums)
- Install Android "Tasker" (Play store)
- Create a "wifi connected" profile using the desired parameters (I am using my SSID's)
- Have the profile Call an "HTTP get" Task
- Server port: http : // user : pass @ ip : port
- Path : /admin?profile=x&lock=y

(/admin?profile=x&lock=y Set the active profile to x. Use x=-1 to toggle the lock status, or set the lock=y, 0=run, 1=temp, 2=hold )

This will call whatever profile you want when you are connected to your Wifi router and either lock a profile, temp it or point to another profile once you disconnect (just use the "invert" option for disconnections)

You can in fact call any BI HTTP command line and automate most tasks between your android and BI via this method.
This is a quick summary, read the help files if needed.

Hope this will help some people, I searched web+forums and couldn't find any simple solution. This is one.

Cheers,
 
Reopening this thread for people out there with Android devices still looking for an easy way to set this up (use your wifi access point to determine that you are home)

The following method is much simpler than the above:

- Ensure your webserver is well configured (see help/forums)
- Install Android "Tasker" (Play store)
- Create a "wifi connected" profile using the desired parameters (I am using my SSID's)
- Have the profile Call an "HTTP get" Task
- Server port: http : // user : pass @ ip : port
- Path : /admin?profile=x&lock=y

(/admin?profile=x&lock=y Set the active profile to x. Use x=-1 to toggle the lock status, or set the lock=y, 0=run, 1=temp, 2=hold )

This will call whatever profile you want when you are connected to your Wifi router and either lock a profile, temp it or point to another profile once you disconnect (just use the "invert" option for disconnections)

You can in fact call any BI HTTP command line and automate most tasks between your android and BI via this method.
This is a quick summary, read the help files if needed.

Hope this will help some people, I searched web+forums and couldn't find any simple solution. This is one.

Cheers,

I just came across this,

My Geofence stopped working when I started using a VPN server to connect to BI.

Do you create the "WiFi connected" profile in BI or in Tasker? Hopefully I can figure the rest out

I am interested in trying this
 
you create the "WiFi connected" profile in Tasker;
Actually, I now use "Wifi near" instead of "wifi connected" as It offers more flexibility and can be checked regularly to trigger various profiles based on AP's proximity.
Works quite well.
Just a side note: Wifi doesn't even need to be enabled in order for tasker to ping AP's. which makes it reliable and energy efficient.
 
you create the "WiFi connected" profile in Tasker;
Actually, I now use "Wifi near" instead of "wifi connected" as It offers more flexibility and can be checked regularly to trigger various profiles based on AP's proximity.
Works quite well.
Just a side note: Wifi doesn't even need to be enabled in order for tasker to ping AP's. which makes it reliable and energy efficient.

OK my fellow Countryman :)

This sounds too good to be true lol. As soon as I get some spare time I will try this. So to make sure I am understanding this correctly you can have BI automatically switch profiles based on you being connected or disconnected from your home wifi?
 
Exactly.

FYI, here's the way I'm using it :

- If I'm within range of my living room AP, Profile 2 is triggered which stops recording/sending alerts for Indoor cameras. Front door/driveway keeps recording/sending alerts.
- If I'm within range of my backyard AP, profile 3 is triggered which stops backyard recording but keeps recording front doors and indoor cameras.
- If I'm not in range of my home APs, Profile 1 is triggered, all cameras are recording + alerts enabled.

This is just an example, you can do pretty much anything with the Tasker/BI combo. Just a learning curve to get the hold of it.

Let me know if you encounter issues,

Cheers ;)
 
Reopening this thread for people out there with Android devices still looking for an easy way to set this up (use your wifi access point to determine that you are home)

The following method is much simpler than the above:

- Ensure your webserver is well configured (see help/forums)
- Install Android "Tasker" (Play store)
- Create a "wifi connected" profile using the desired parameters (I am using my SSID's)
- Have the profile Call an "HTTP get" Task
- Server port: http : // user : pass @ ip : port
- Path : /admin?profile=x&lock=y

(/admin?profile=x&lock=y Set the active profile to x. Use x=-1 to toggle the lock status, or set the lock=y, 0=run, 1=temp, 2=hold )

This will call whatever profile you want when you are connected to your Wifi router and either lock a profile, temp it or point to another profile once you disconnect (just use the "invert" option for disconnections)

You can in fact call any BI HTTP command line and automate most tasks between your android and BI via this method.
This is a quick summary, read the help files if needed.

Hope this will help some people, I searched web+forums and couldn't find any simple solution. This is one.

Cheers,

OK so I got tasker setup but the profile is not switching. When I hit the play button for the task to test it I get a green light. The only thing I am not sure if I have done correctly is the following:

/admin?profile=3&lock=2 (I was trying to get it to switch to profile 3 and then hold it)