BeaconThings - Beacons and SmartThings

You hadn’t thought about it? More than a year’s worth of messages on here from users begging you to keep the promise you made two years ago for a functional version, then subsequently pulling it from the App Store in the last couple of months while Smart Rules continues to get monthly updates? Your website still advertises it as though it’s a brand new and available innovation. “Finally! Beacons for SmartThings! Until you scroll aaaall the way down to the bottom (just like your other broken Obycode promises).
But you haven’t thought about it. There’s another app … it’s called Calendar/Reminder. Think about that perhaps. Another thought, just plain old honesty works wonders too.

Jerry, I am not trying to be dishonest here. I simply left the site as it was, because I figured it was not worth the effort to change it… people would simply realize that they could not download the app, no harm, no foul. Apps take time and money to build. If you recall, BeaconThings was free before I removed it, and the only reason it was removed, rather than left as-is with that initial version was due to the changes that SmartThings made to their authentication process which broke the existing app. I don’t think I’ve made any promises about when I would re-release it. I do still hope to do so, but I still cannot make any promises.

2 Likes

@obycode Any chance you would be willing to open-source the app?
Plenty of people would be willing to work on fixing it, you would do a big favor to the smartthings community.

My apologies @SteveWhite, it appears you do have affinity towards BLE beacons <3 As they say in Friends, “Sisters?”

I think the best opportunity for BLE to work with SmartThings, solely and completely because ST has determined BLE to be unworthy of their holy matrimony, is to go about this in an alternate route, as some have already attempted here. I think it prudent to state that such a path might not be possible unless someone can create a mobile app to do said integration for them, in which case, through a smartapp, it may be possible to link BLE devices as things as well as your phone, etc.

This seems like it would require several things in order to work.

  • A throw-away phone. Several of us have these, old unused phones, meh. This would be used to have the beacon app running on it at all times which would integrate with the beacons and smartthings.

  • A beacon specific mobile app. There are tons of BLE becaons out there, and they’ve all got their own code. Unless the community as a whole can decide on a single beacon they’d like to use, then there’s absolutely no hope for this ever to work. There are just far too many systems out there for a single app to work with (although, it’s possible, but is also just as likely to be extremely messy and might not even work at all, given it’s complexity).

  • A developer willing to code this. I for one use Estimote beacons, and the beacon app for android that did work with this stopped working years ago and was never replaced. Given the amount of work a project like this would require, I’m not sure a developer would do this for free, and if so, they’re a frickin hero.

  • All apps must be able to work in the background so as not to interfere with normal day to day operations, unless you have a dedicated throw-away phone to run the app on.

Hey everyone. I just started playing with beacons and have come into a few items that might help the new guys. It seems many of the beacon apps that were used at one point or another are even gone, expensive or only kind of work. If you are on iOS BTrigger is a pretty solid app that is free and will help you associate a beacon with a trigger. Pair BTrigger with IFTTT web hooks to make Smartthings dance… however delayed it might be…

Onto app development. I am thinking of taking on this project but I am at the disadvantage of not really getting to see how SmartThings interacted with beaconthings. Can anyone help with giving me a sort of workflow for how things interacted? For example did you have to install a smart app in SmartThings and then pair an app in order for beacon things to work? It seems to me that going through IFTTT just further delays things so I am more interested in directly integrating the application directly. I really just want to make sure an in app integration wasn’t their methodology.

Any thoughts on things people think should be built in or other options that are required to make this useful. Proximity is a big one for me, and I was thinking of trying to use multiple beacons to indicate direction. I recognize that is rather optimistic but I do believe I have a way to use three beacons yo indicate location. It’s a fun idea anyway.

Cheers!

1 Like

That sounds awesome Brad. I don’t think BeaconThings is going to be coming back any time soon, so I’d love to help. I’ll try to put together some thoughts that I have, and clean up and open source the SmartApps / device types this weekend.

A quick summary is that the BeaconThings app used an OAuth authentication to install a SmartApp, so no extra efforts on the users side other than logging into SmartThings within the BeaconThings app. That SmartApp then created child devices to represent any beacons that are registered with the app.

1 Like

That sounds great! I appreciate your time!

I actually just recently downloaded SmartRules and saw that interaction and have already started looking at a few of the APIs I didn’t know about. So thank you for that as well.

Sounds great, I’m sure there are many people that would appreciate new iBeacon integration options that don’t require them to code. :sunglasses:

Thanks for the tip on BTrigger–I did just want to note that it hasn’t been updated for a couple of years, it’s just that it was so simple to begin with that it’s still working with much newer operating system versions. But it doesn’t look like the developer is still working on it, so just be aware that it might get out of date.

For people who do their own coding, if you buy either estimote ibeacons or radius Network Ibeacons each has their own SDK that you’ll be able to do lots of stuff with. I think that’s the main reason that there are so few IBeacon apps now.

As far as microlocation, estimote has an excellent location system which has done most of the heavy lifting for you, but you do need to have four (not 3) of their beacons for each region that you are trying to define. But it works really well and they have a step-by-step tutorial to walk you through it, with a lot of pre-built options as well. It’s used by museums, shopping centers, sports arenas – – it’s just as it gets expensive for low-cost home automation. But it’s worth looking at just for the concepts anyway.

http://developer.estimote.com/indoor/map-your-location/

Of course if you just want to use an IBeacon as a presence sensor, you only need one. :sunglasses:

Good luck, definitely let us know how the project is going. As I’ve mentioned before, I do use Ibeacons in my own home for both small zone presence and touchless switches, and I’ve been really happy with them. But I also have an iOS tablet on each side of the house to act as a base station. So I’m probably spending more than many people will want to.

I just want to use micro location to have my lights follow me like in Robert Daly’s apartment in the Black Mirror episode USS Callister. Can we make that happen with ibeacons?

1 Like

Start a new thread for this under projects or smart app ideas and we can discuss the possibilities. It’s going to make a big difference if you want it to be able to distinguish between two people in the same home, in particular there’s the issue of will it turn off the lights because person A left the room even though person B is still in the room.

Anyway, there are ways to do it, but it’s going to be a fairly complex discussion and really needs its own thread.

I didn’t forget this weekend… I’m still working on getting the code together. I’ll post a link to a github repo with the groovy code and a readme with the plans I had for future enhancements.

2 Likes

@JDRoberts thanks for the direction, I do love when something has already been created! A square is smart because your practically doubling the size with one more beacon… should have thought of that however my idea would have only worked with a triangle due to the algorithm.

I am all about as fast to market as possible. I haven’t started yet but I will most likely build this in angular 2 with ionic to get both android and iOS support at the same time. I will let you know when I get started. I have two kids so time is a commodity I am short on. I’ll keep you guys updated!

2 Likes

@bsaverino - You can find the repo here - https://github.com/obycode/BeaconThings

You’ll see that it’s pretty simple. Unfortunately I can’t share the iOS app code, because it shares a lot of code with my other apps which will not be open sourced, but I can explain it here.

The app performs the OAuth authentication with SmartThings, then detects nearby beacons using iOS beacon region monitoring. The user can select which UUID to search for, then use the major and minor to identify places and areas within those places, respectively. When a new beacon is detected, the user can register it, which creates a new beacon device in SmartThings, then sends the appropriate messages to SmartThings when it goes in and out of range. Let me know if you have any questions.

Any progress on recreating BeaconThings? Brice, any chance you could release the non-shared portions of the iOS app, as a good starting point?

Update: I am waiting on the new app before I keep going with things on my side. My understanding based on a few conversations I have had about the app is communications within the app are going to change as soon as the new app launches. I will try to jump back on here occasionally to update. Sorry for the long pause!

Thank you for open sourcing those pieces!

2 Likes

Just curious if the BeaconThings app will ever be updated?

Can not you let Android use beacon things?

I have to add in here, it’d be really nice if there were an android app here. I’ve got these old Estimote beacons I’ve had for years. I just don’t have any programming experience to actually utilize them and there’s no apps or platforms that I can use with them either.

IBeacons just don’t work as well with android because generally the phone app needs to be in the foreground all the time. But that’s why Google created Eddystone.

(Kontakt.io Went a different direction and created a piece of hardware, their “gateway,” which can detect their beacons and has a WiFi connection and can use webhooks including to IFTTT. It’s popular for warehouse use for object tracking, but I don’t know if they sell individual ones. It cost $89 when it was first introduced, but again, I don’t know if they sell individual units or not. They primarily aimed at the commercial market.)

Estimote IBeacons, and indeed most of the top brands, and can now be configured do use either the Eddystone standard or the original Ibeacon standard or both, but I don’t know if that’s true for the original generation. You would need to contact them to see if yours can be reconfigured.

Once you have Eddystone beacons, You should just be able to use the Beacon manufacturers SDK, which is why there are so few third-party apps, but if you don’t want to do that, there are a few apps in the playstore you can try. Just search on Eddystone, not iBeacon.

All of that said, it’s important to note that after a generation or two of android working with the Eddystone beacons, google decided that background scanning for them used to much battery life on phones, and they restricted how much scanning can be done. This is usually where are you will see reviews that say that an app doesn’t work with newer phones. The following is a good overview article:

All of that said, Eddystone beacons do have one interesting feature which will only work on android phones. When you get close enough to one, they can send you a notification without you having any app installed it all and that notification can be a link to any website you want. Choose the IFTTT maker channel as that website, and you end up with a one tap IOT proximity action. That is, you get close to your house, the notification comes up on your phone, you tap that, and your porch light comes on. But again, this will not work with iPhones because of apple’s security concerns. ( also, it gets trickier if you want to limit this to only some phones.)

I’m not sure, but I think there might be away with Tasker to grab that notification and make the whole process completely automatic without the tap required, but I leave that to the android experts. @joshua_lyon might know.

And for anyone who is a programmer and wants to write their own Eddystone app, here’s a good example of the process from a hackaday project report:

The Short Answer for Android

So the short answer is it’s way harder to write a practical Ibeacon app for Android unless you intend the app to always be in the foreground of the receiving station device. That might be useful for some IOT or accessibility use cases, but you’d have to be willing to commit at least one stationary android phone to being always on and running nothing but the beacon app.

If you switch to Eddystone instead of apple’s iBeacon protocol it will work better with android, but still not as well as an iBeacon/iOS setup, especially with newer versions of android where google crippled the background scanning feature to save phone battery life.

1 Like

Unfortunately an SDK is of little use to me. That’s the same wall I hit with Estimote. I’m not a developer so… shrug. Are eddystones compatible with tasker?