Can ambient light sensor data be included in the TLM packet of new Estimote Location beacons?

Hi all. Trying to build an app that detects when packages have been opened using ambient light, so as to prompt certain events. So, it seems like the new Location beacons would be great for this, given their “Dark to Sleep” mode. Can anyone provide more specifics about how this works? Are the light thresholds for this customizable? How long does it take to wake up?

Also, it would be ideal if there were some way to tell if the packages have ever been opened, and have the beacon broadcast that state, just like it does the UUID, major/minor values. Any interesting ideas about how this could be accomplished? Can light sensor data be included in the telemetry packets? Can telemetry values be customized in some way (i.e., set based on having passed a threshold value) based on the light sensor? And reset via the management app or something? It would be ideal if this state could just be broadcast like TLM values, since it wouldn’t require an actual connection with the beacon in order to read the light sensor.

Thanks, in advance, for any thoughts!

I love the idea of using the ambient light sensor to detect that! :slight_smile:

“Dark to Sleep” will only make the beacon stop broadcasting when the light level goes below a (customizable) threshold. Which means that if somebody opens the package, beacon starts broadcasting, and your app can detect that.

Alternatively, Location Beacons broadcast the Estimote Telemetry packet by default, and the current reading from the ambient light sensor is included in there, so you can check yourself what’s the current status and take appropriate actions.

As for telling if the package has ever been opened => i.e., if the ambient light level has ever went above a certain threshold, that’s sadly not available at this time.

That’s great. Sounds like there would be a way to accomplish what we’re hoping to. Any idea when the new ones will be shipping?

The already are shipping! (:

Although we do have a backlog of existing pre-orders, so if you order now, you can expect to have them delivered in 2–4 weeks.

hi, it stops broadcasting when ‘dark to sleep’, does it mean stops any bluetooth boardcasting (undetectable by app?). If so, when there is light again, it will restart and fake a proximity action to activate the app (from any app mode like suspended, killed, background), like ‘flip to sleep’?

By the way, is this issue solved? Unable to change settings on Beacon

I have your location beacons on hand, and am trying to do the function: make an http call when the ambient light changes, even if the app is not in the foreground or background


It stops broadcasting all the “data” packets, i.e., everything except the new “Estimote Connectivity” packet, which in Firmware 4.x is a dedicated packet we use to connect to your beacon. This way, the beacon can save energy e.g. when the shop closes for the night, but you can still perform maintenance work on it.

And yes, when the light comes back again, for the app it’ll be as if the beacon came back in range, so it should trigger any events it usually triggers when you come in range of the beacon.

Note that with our brand-new Estimote Telemetry packet in Location Beacons, and with the “Uses Bluetooth accessories” background mode in iOS, your app can keep receiving telemetry data (which includes readings from the light sensor) in the background when in range of the beacon “just like that”.

Okay, so just to be clear, then: “Dark to Sleep” mode should stop the beacon from sending it’s location broadcast and be “invisible” to apps when it’s getting a light level below the threshold set, but when enough light gets to it, it’ll start broadcasting again and be visible to the app? As in, that’s how it’s supposed to work?

We’ve gotten word from your support people that there’s a bug in the SDK that prevents this from working at all so far, and that there should be a fix available by the end of the week. I’m hoping that means that it’ll work like the above scenario when this update is released?

Yes, that’s exactly how it’s supposed to work (:

And actually, I think that bug already got fixed, so you should be able to enable Dark to Sleep and set the threshold on, then simply connect to your beacon through an Estimote app to apply the changes, and then it’s good to go!

It’s definitely not fixed. When enabling dark to sleep mode in the cloud, setting the light threshold, applying the settings through the app, and then putting the beacon in a pitch black container (so that it reads 0 lux), it continues to broadcast normally, like nothing has changed.

Note that when the beacon goes to sleep, it stops broadcasting all of its packets excluding one, the “Estimote Connectivity” packet, which is used for detecting the beacon in the Estimote app, and for connecting to the beacon. We made it this way so that you can still perform maintenance work when beacon sleeps—connect to it and change its settings, update firmware, etc. It’s a great feature, but it also makes testing Dark to Sleep w/ Estimote app effectively impossible :slight_smile:

Instead, you can download any generic iBeacon scanner from App Store / Google Store (for example, Locate on iOS, nRF Master Control Panel on Android), and check if your beacon stops broadcasting its iBeacon packet when the light goes out.

A post was split to a new topic: Trigger an event when Dark to Sleep ends