Skip to content

Button

Asset Tag S18-3, Card Tag CT18-3 and Bracelet Tag BT18-3 are equipped with a button, which has various use-cases.

Note

If you're not seeing the same LED behaviour as described below, please make sure your beacons have the latest firmware installed.

Powering on and off

Holding the button for more than 5 seconds will turn a tag on or off, depending on its current state. The actual event can be recognized thanks to different LED behaviour (if available on a given beacon):

  • Powering on: Few short and rapid flashes lasting a second
  • Powering off: Single, 1 second long blink

It's possible to disable this behaviour by setting the value of buttonFeatures field in device config to LONG_PRESS_OFF.

Single click

When a beacon is operating, pressing the button once will make the LED blink rapidly for 5 seconds, indicating that a click has happened. More importantly, this button press will be reflected in packets broadcasted by the tag.

iBeacon Button packet

When a button is pressed once, Asset Tag S18-3 and Card Tag CT18-3 will start broadcasting a secondary iBeacon packet with the same Major and Minor values as the standard packet, but with the Proximity UUID value incremented by one, e.g.

Standard iBeacon packet Proximity UUID:

CDCA0D93-8D39-454A-8816-E603A1484723

iBeacon Button packet Proximity UUID:

CDCA0D93-8D39-454A-8816-E603A1484724

Please keep in mind that the Proximity UUID is a hexadecimal value. If it ends on F it will go back to 0.

The iBeacon Button packet is broadcasted for 10 seconds together with the standard iBeacon packet.

Pressing a button will always result in an iBeacon packet, even if this type of packets is disabled for normal operation. There is no Eddystone equivalent.

If a button is pressed for the second time during the 10 seconds window of broadcasting the iBeacon Button packet, it will be ignored and the broadcasting time for iBeacon Button packet won't be prolonged.

It's possible to disable this behaviour by setting the value of buttonFeatures field in device config to CLICK_OFF. Similarly, adjusting the duration of the additional iBeacon packet broadcast is possible thanks to the panicDuration field in device config that takes a number of seconds as a new value.

Telemetry packet

A button press also affects the Kontakt.io Telemetry packet, if it's enabled. After it's pressed, Telemetry packets will report a number of seconds since the last button click.

Monitoring button events

Location Engine

If you have Gateways that monitor your beacons, they can relay information about button events to Location Engine. From there your apps can get a live WebSocket Data Stream with realtime information about button clicks. Your tags have to have the Kontakt.io Telemetry packet enabled in order to make this work.

Mobile SDKs

Since the algorithm that generates values for iBeacon Button packet identifiers, the simplest way to handle button clicks in a mobile app is to set up a secondary region for monitoring based on iBeacon Button Proximity UUID.

Support for reading the number of seconds since the last click from the Kontakt.io Telemetry packet is coming to Kontakt.io Mobile SDKs soon.

Enabling connectable mode

Button-equipped beacons have the possibility to turn off Kontakt.io Secure Profile frame broadcast. On any other beacons that would make them impossible to connect to and change settings in the future, but when this packet is disabled on a tag with a button, pressing that button will start a one minute broadcast of the Kontakt.io Secure Profile frame, giving user a possibility to connect to a beacon and change some settings if necessary.