Overview

You can implement your own additional customized frame processing through the plugins framework.

A plugin adds the support of features or formats that are specifics to a manufacturer. It is of one of the following three kinds.

Processor

The plugin is fully in charge of the frame analysis. Its role is similar to the built-in iBeacon and Eddystone processors, but for the support of a private or manufacturer specific frame format. For that reason, a listener instance is expected by the constructor of the abstract default implementation in order to dispatch the device lifecycle events: onDiscovered, onUpdated, and onLost.

BlueUpProcessorPlugin, MinewProcessorPlugin, MokoProcessorPlugin and InvirtusProcessorPlugin are built-in plugins of this category.

Explorer

Some manufacturers implement only the Advertising data frame, not a Scan Response data frame that can be the support to publish extra information, such as the battery level, in the same transaction. Still, these extra information may be published, but in an additional Advertising data frame. This kind of plugin is in charge to spot these frames, to track the extra information, and to deliver these extra fields when requested by the engine to enrich the main beacon processing.

The plugin is able to link the auxiliary information frame with the main frame by the matching of the MAC addresses.

BlueUpExplorerPlugin, MinewExplorerPlugin, KkmExplorerPlugin and MokoExplorerPlugin are built-in plugins of this category.

Parser

In an advertisement data payload, which can be up to 31 bytes, the iBeacon protocol specifies the use of 30 bytes for its data structures, so it leaves one byte unallocated. Some manufacturers may use this available space to transport a custom bit of information, like a battery level. Of course, this behaviour is out of any standardization. Some other manufacturers make use of the Manufacturer Specific Data structure to provide any piece of information of their own, and so encoded in their specific format. It is the work of the plugin to parse the payload submitted by the engine and to return these extra fields if found.

AccSysParserPlugin, ElaParserPlugin, MeeblueParserPlugin and TeltonikaParserPlugin are built-in plugins of this category.

BlueUp Processor Plugin

Tags from BlueUp having a sensor can broadcast a custom frame, named Sensors Packet. The deprecated format Sensor-Legacy is not worth to be implemented by the plugin, only the recent Sensor-Advanced format is supported. See also the BlueUp Explorer Plugin for details in common.

Some models of the manufacturer:

  • Temperature & Humidity and 3-Axis Accelerometer: TagX SHT
  • Temperature & Humidity, Pressure and CO2 Concentration: Ultra Deluxe

The plugin parses the frame and feeds the interesting and matching properties of a Device object, according to this table:

PropertySensor Capability
Temperature
& Humidity
PressureCO2
Concentration
Accelerometer
temperatureX
humidityX
pressureX
co2X
xX
yX
zX

Whatever the kind of sensor, these properties are also available:

  • model: the model number. Values are: 1=Mini, 2=Maxi, 3=USB, 4=Forte, 5=Tag, 6=Board, etc.
  • serial: the serial number of the beacon (up to 6 digits).
  • batteryVoltage: the battery voltage in mV.

Examples of logcat traces:

Temperature (in °C) & Humidity (in %RH), Pressure (in kPa), CO2 (in ppm)

11:41:40.518  2534-2534  DaemonConfig          D  onDiscovered: BlueUp [ad=FF:EE:DD:A1:B2:C3, rs=-86, m=1, s=123456, bv=3110, t=21.51, h=39.51, p=102.69, c=350]
11:41:44.536  2534-2534  DaemonConfig          D  onUpdated: BlueUp [ad=FF:EE:DD:A1:B2:C3, rs=-85, m=1, s=123456, bv=3110, t=21.51, h=39.51, p=102.69, c=350]
11:42:36.588  2534-2534  DaemonConfig          D  onLost: BlueUp [ad=FF:EE:DD:A1:B2:C3, rs=-103, m=1, s=123456, bv=3110, t=21.51, h=39.51, p=102.69, c=350]

Temperature (in °C) & Humidity (in %RH), 3-Axis Accelerometer (in g)

11:56:12.919  3663-3663  DaemonConfig          D  onDiscovered: BlueUp [ad=FF:EE:DD:A1:B2:C3, rs=-82, m=1, s=123456, bv=3110, t=21.51, h=39.51, x=0.0195, y=-0.0078, z=0.9883]
11:56:16.899  3663-3663  DaemonConfig          D  onUpdated: BlueUp [ad=FF:EE:DD:A1:B2:C3, rs=-79, m=1, s=123456, bv=3110, t=21.51, h=39.51, x=0.0195, y=-0.0078, z=0.9883]
11:56:53.587  3663-3663  DaemonConfig          D  onLost: BlueUp [ad=FF:EE:DD:A1:B2:C3, rs=-105, m=1, s=123456, bv=3110, t=21.51, h=39.51, x=0.0195, y=-0.0078, z=0.9883]

Feasycom Processor Plugin

Tags from Feasycom having a sensor can broadcast a custom frame, named Sensor Data Frame. See also the Feasycom Explorer Plugin for details in common.

Some models of the manufacturer:

  • Temperature & Humidity: BP120, BP121

The plugin parses the frame and feeds the interesting and matching properties of a Device object, according to this table:

PropertySensor Capability
Temperature
& Humidity
temperatureX
humidityX

Examples of logcat traces:

Temperature (in °C) & Humidity (in %RH)

14:28:27.476  9857-9857  DaemonConfig          D  onDiscovered: Feasycom [ad=FF:EE:DD:A1:B2:C3, rs=-89, t=21.96, h=39.96]
14:28:28.467  9857-9857  DaemonConfig          D  onUpdated: Feasycom [ad=FF:EE:DD:A1:B2:C3, rs=-80, t=21.96, h=39.96]
14:28:56.579  9857-9857  DaemonConfig          D  onLost: Feasycom [ad=FF:EE:DD:A1:B2:C3, rs=-80, t=21.96, h=39.96]

Ingics Processor Plugin

Tags from Ingics Technology having a sensor can broadcast a custom frame, related to the kind of measurement, to advertise measured values. See also the Ingics Parser Plugin for details in common.

Some models of the manufacturer:

  • Temperature & Humidity: iBS01T, iBS03T
  • Temperature: iBS03TP, iBS05T
  • 3-Axis Accelerometer: iBS03RG, iBS05G
  • Magnetic: iBS03, iBS05H
  • Illuminance: iBS07, iBS08TL
  • CO2 Concentration: iBS05CO2, iBS08IAQ
  • Distance: iBS03R, iBS09R
  • Passive InfraRed: iBS02PIR2, iBS09PIR

The plugin parses the frame and feeds the matching properties of a Device object, according to this table:

PropertySensor Capability
TemperatureHumidityAccelerometerDistanceCO2
Concentration
Photo
Sensitive
Analog
Input
temperature
temperatureProbe (option)
temperatureObject (option)
X
humidityX
x1,y1,z1 only or with:
x2,y2,z2,x3,y3,z3
X
rangeX
co2X
illuminanceX
voltage or amperageX

Whatever the kind of sensor, these properties are also available:

  • model: the model name. For example: iBS02M2, iBS03F, iBS06.
  • batteryVoltage: the battery voltage in mV.

If applicable to the model, these values are also available:

  • counter: the count of event detections (infrared, digital input, presence).
  • user: the user configurable content.

If applicable to the model, these true/false properties are also available:

  • hasPressed: the button is pressed.
  • hasMotion: the beacon is moving.
  • hasMagnet: the hall sensor is detecting the presence of a magnet.
  • hasFall: a fall pattern is detected.
  • hasPIR: the passive infrared sensor is detecting a presence.
  • hasIR: the infrared sensor is detecting a space occupation.
  • hasDigitalInput: a high/low or open/close contact state.
  • hasFlood: a flood or leak detection, for iBS03F only.
  • hasLiquid: a liquid level detection, for iBS03Q and iBS03QY only.
  • hasDigitalInput2: an auxiliary digital input, for iBS03QY only.
  • hasDetect: a human presence detection, for iBS08 and iBS09PS only.

Examples of logcat traces:

Temperature (in °C) & Humidity (in %RH), with button

18:49:46.069 20674-20674 DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-75, m=iBS01T, bv=2970, t=21.75, h=85, b=1, u=258]
18:49:47.067 20674-20674 DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-73, m=iBS01T, bv=2970, t=21.75, h=85, b=1, u=258]
18:50:15.927 20674-20674 DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-73, m=iBS01T, bv=2970, t=21.75, h=85, b=1, u=258]

12:18:24.977  8112-8112  DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-80, m=iBS03T_RH, bv=2970, t=21.75, h=85, b=1, u=258]
12:18:25.992  8112-8112  DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-71, m=iBS03T_RH, bv=2970, t=21.75, h=85, b=1, u=258]
12:18:54.578  8112-8112  DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-71, m=iBS03T_RH, bv=2970, t=21.75, h=85, b=1, u=258]

3-Axis Accelerometer (in 0.004 g), with button and motion

20:50:08.444 25254-25254 DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-77, m=iBS01RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]
20:50:09.406 25254-25254 DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS01RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]
20:50:37.927 25254-25254 DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS01RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]

11:54:02.757  6795-6795  DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-75, m=iBS03RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]
11:54:03.686  6795-6795  DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-74, m=iBS03RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]
11:54:32.577  6795-6795  DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-74, m=iBS03RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]

14:36:32.331 16309-16309 DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-73, m=iBS05RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]
14:36:33.291 16309-16309 DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS05RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]
14:37:01.578 16309-16309 DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS05RG, bv=2970, x1=1, y1=2, z1=-2, b=1, m=1]

Infrared Detection (boolean and counter)

12:05:58.567  7552-7552  DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-82, m=iBS02IR2, bv=2970, c=75, ir=1, u=258]
12:05:59.526  7552-7552  DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-72, m=iBS02IR2, bv=2970, c=75, ir=1, u=258]
12:06:27.577  7552-7552  DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-72, m=iBS02IR2, bv=2970, c=75, ir=1, u=258]

Digital Input (boolean and counter)

12:36:38.826  8842-8842  DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-79, m=iBS03AD-D, bv=2970, c=75, d=1, u=258]
12:36:39.846  8842-8842  DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS03AD-D, bv=2970, c=75, d=1, u=258]
12:37:08.580  8842-8842  DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS03AD-D, bv=2970, c=75, d=1, u=258]

Alarm Button

12:42:50.753  9377-9377  DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-78, m=iBS04, bv=2970, b=1, u=258]
12:42:51.771  9377-9377  DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS04, bv=2970, b=1, u=258]
12:43:20.577  9377-9377  DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS04, bv=2970, b=1, u=258]

CO2 (in ppm), with button

14:42:26.718 17147-17147 DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-82, m=iBS05CO2, bv=2970, co=64, b=1, u=258]
14:42:27.711 17147-17147 DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS05CO2, bv=2970, co=64, b=1, u=258]
14:42:56.579 17147-17147 DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS05CO2, bv=2970, co=64, b=1, u=258]

Temperature (in °C), Humidity (in %RH), Illuminance (in Lux), 3-Axis Accelerometer (in 0.004 g), with button

14:52:32.065 17660-17660 DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS07, bv=2970, x1=1, y1=2, z1=-2, t=21.75, h=85.0, i=515, b=1]
14:52:33.044 17660-17660 DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-70, m=iBS07, bv=2970, x1=1, y1=2, z1=-2, t=21.75, h=85.0, i=515, b=1]
14:53:01.578 17660-17660 DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-70, m=iBS07, bv=2970, x1=1, y1=2, z1=-2, t=21.75, h=85.0, i=515, b=1]

Temperature (in °C), Humidity (in %RH), Illuminance (in Lux), with button

15:33:19.020 19234-19234 DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-76, m=iBS08TL, bv=2970, t=21.75, h=8.5, i=515, b=1]
15:33:20.032 19234-19234 DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS08TL, bv=2970, t=21.75, h=8.5, i=515, b=1]
15:33:48.578 19234-19234 DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS08TL, bv=2970, t=21.75, h=8.5, i=515, b=1]

Human Presence Detection (boolean and counter)

15:42:10.877 20142-20142 DaemonConfig          D  onDiscovered: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-78, m=iBS09PS, bv=2970, c=75, d=1]
15:42:11.865 20142-20142 DaemonConfig          D  onUpdated: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS09PS, bv=2970, c=75, d=1]
15:42:40.580 20142-20142 DaemonConfig          D  onLost: Ingics [ad=FF:EE:DD:A1:B2:C3, rs=-69, m=iBS09PS, bv=2970, c=75, d=1]

Minew Processor Plugin

Tags from Minew Technologies Co. having a sensor can broadcast custom frames, related to the kind of measurement. See also the Minew Explorer Plugin for details in common.

Some models of the manufacturer:

  • Temperature & Humidity: S1 BLE Temperature and Humidity Sensor
  • 3-Axis Accelerometer: E8S Accelerometer Sensor Tag
  • Light detection: S2 Light Sensor Tag, E6 Light Sensor Beacon
  • Passive InfraRed and PhotoSensitive: MSP01 Bluetooth® PIR Sensor
  • Vibration detection: MSV01 Vibration Sensor
  • Anti-tamper: MBT01 Anti-tamper Asset Tag
  • Leak: MSL01 Wireless Water-Leak Sensor

The plugin parses the frame and feeds the matching properties of a Device object, according to this table:

temperature
PropertySensor Capability
Temperature
& Humidity
Acceler.Photo
Sensitive
LightPassive
InfraRed
VibrationAnti-
Tamper
Water-
Leak
X
humidityX
xX
yX
zX
illuminanceX
hasLightX
hasMotionXX
hasBreakageX
hasLeakageX
batteryPercentageXXXXXXXX

Examples of logcat traces:

Temperature (in °C) & Humidity (in %RH)

19:18:42.001 21228-21228 DaemonConfig          D  onDiscovered: MinewTH [ad=AC:23:3F:A1:B2:C3, rs=-67, t=22.86, h=39.99, %=100]
19:18:46.946 21228-21228 DaemonConfig          D  onUpdated: MinewTH [ad=AC:23:3F:A1:B2:C3, rs=-65, t=22.86, h=39.99, %=100]
19:19:14.852 21228-21228 DaemonConfig          D  onLost: MinewTH [ad=AC:23:3F:A1:B2:C3, rs=-69, t=22.86, h=39.99, %=100]

3-Axis Accelerometer (in g)

19:13:56.930 20403-20403 DaemonConfig          D  onDiscovered: MinewAcc [ad=AC:23:3F:A1:B2:C3, rs=-70, x=-0.3984, y=-0.207, z=-0.8477, %=100]
19:14:01.933 20403-20403 DaemonConfig          D  onUpdated: MinewAcc [ad=AC:23:3F:A1:B2:C3, rs=-81, x=-0.3086, y=-0.957, z=0.1289, %=100]
19:14:06.930 20403-20403 DaemonConfig          D  onUpdated: MinewAcc [ad=AC:23:3F:A1:B2:C3, rs=-84, x=-0.1172, y=-0.7578, z=-0.8789, %=100]
19:14:16.931 20403-20403 DaemonConfig          D  onUpdated: MinewAcc [ad=AC:23:3F:A1:B2:C3, rs=-81, x=0.5273, y=-0.3672, z=-1.6992, %=100]
19:14:21.912 20403-20403 DaemonConfig          D  onUpdated: MinewAcc [ad=AC:23:3F:A1:B2:C3, rs=-100, x=-0.5781, y=-0.8672, z=-0.1563, %=100]
19:14:26.921 20403-20403 DaemonConfig          D  onUpdated: MinewAcc [ad=AC:23:3F:A1:B2:C3, rs=-66, x=-0.7383, y=0.0, z=-0.6172, %=100]

PhotoSensitive (in lux)

21:02:57.639 26504-26504 DaemonConfig          D  onDiscovered: MinewPs [ad=AC:23:3F:A1:B2:C3, rs=-76, i=257, %=100]
21:03:02.645 26504-26504 DaemonConfig          D  onUpdated: MinewPs [ad=AC:23:3F:A1:B2:C3, rs=-75, i=257, %=100]
21:03:07.655 26504-26504 DaemonConfig          D  onUpdated: MinewPs [ad=AC:23:3F:A1:B2:C3, rs=-80, i=257, %=100]

Light Detection (boolean)

19:27:21.999 21980-21980 DaemonConfig          D  onDiscovered: MinewLight [ad=AC:23:3F:A1:B2:C3, rs=-67, l=true, %=100]
19:27:27.017 21980-21980 DaemonConfig          D  onUpdated: MinewLight [ad=AC:23:3F:A1:B2:C3, rs=-66, l=true, %=100]
19:27:32.036 21980-21980 DaemonConfig          D  onUpdated: MinewLight [ad=AC:23:3F:A1:B2:C3, rs=-67, l=true, %=100]

Motion Detection, by Infrared (boolean)

20:40:42.513 24961-24961 DaemonConfig          D  onDiscovered: MinewPir [ad=AC:23:3F:A1:B2:C3, rs=-83, m=true, %=100]
20:40:47.497 24961-24961 DaemonConfig          D  onUpdated: MinewPir [ad=AC:23:3F:A1:B2:C3, rs=-79, m=true, %=100]
20:40:52.503 24961-24961 DaemonConfig          D  onUpdated: MinewPir [ad=AC:23:3F:A1:B2:C3, rs=-77, m=true, %=100]
20:40:57.492 24961-24961 DaemonConfig          D  onUpdated: MinewPir [ad=AC:23:3F:A1:B2:C3, rs=-77, m=true, %=100]

Motion Detection, by Vibration (boolean)

22:05:58.077 28534-28534 DaemonConfig          D  onDiscovered: MinewVibr [ad=AC:23:3F:A1:B2:C3, rs=-77, m=true, %=100]
22:06:03.073 28534-28534 DaemonConfig          D  onUpdated: MinewVibr [ad=AC:23:3F:A1:B2:C3, rs=-82, m=true, %=100]
22:06:08.055 28534-28534 DaemonConfig          D  onUpdated: MinewVibr [ad=AC:23:3F:A1:B2:C3, rs=-79, m=true, %=100]

Anti-Tamper Detection / Breakage (boolean)

23:34:53.643 31912-31912 DaemonConfig          D  onDiscovered: MinewBrk [ad=AC:23:3F:A1:B2:C3, rs=-78, b=true, %=100]
23:34:58.654 31912-31912 DaemonConfig          D  onUpdated: MinewBrk [ad=AC:23:3F:A1:B2:C3, rs=-76, b=true, %=100]

Water-Leak Detection (boolean)

23:37:13.691 32190-32190 DaemonConfig          D  onDiscovered: MinewLeak [ad=AC:23:3F:A1:B2:C3, rs=-76, l=true, %=100]
23:37:18.674 32190-32190 DaemonConfig          D  onUpdated: MinewLeak [ad=AC:23:3F:A1:B2:C3, rs=-81, l=true, %=100]
23:37:23.668 32190-32190 DaemonConfig          D  onUpdated: MinewLeak [ad=AC:23:3F:A1:B2:C3, rs=-78, l=true, %=100]

Moko Processor Plugin

Tags from Moko Smart having a sensor can broadcast custom frames, related to the kind of measurement, to advertise measured values and configuration settings. See also the Moko Explorer Plugin for details in common.

Some models of the manufacturer:

  • Temperature & Humidity: H4 Temperature & Humidity Sensor Beacon, M4 Sensor Tag
  • 3-Axis Accelerometer: M2 Asset Traking Beacon, M3 mini Asset Tracking Tag

The broadcasted fields are:

in T&H Frame

  • «Advertisement interval», in 100ms units, as set in the configuration interface
  • «Ranging data», in dBm, as set in the configuration interface
  • «Transmission power level», in dBm, as set in the configuration interface
  • «Temperature», in 0.1 °C units
  • «Humidity», in 0.1 %RH units
  • «Battery voltage», in mV

in Accelerometer Frame

  • «Advertisement interval», in 100ms units, as set in the slot configuration interface
  • «Ranging data», in dBm, as set in the slot configuration interface
  • «Transmission power level», in dBm, as set in the slot configuration interface
  • «Full-scale», a detection range chosen in these values: ±2g/±4g/±8g/±16g, as set in the accelerometer configuration interface
  • «Sampling rate», a rate chosen in these values: 1Hz/10Hz/25Hz/50Hz/100Hz, as set in the accelerometer configuration interface
  • «Motion threshold», the threshold to detect a motion, as set in the accelerometer configuration interface
  • «X-axis» accelerometer value, in mg units
  • «Y-axis» accelerometer value, in mg units
  • «Z-axis» accelerometer value, in mg units
  • «Battery voltage», in mV

The plugin parses the frame and feeds the interesting and matching properties of a Device object, according to this table:

PropertySensor Capability
Temperature
& Humidity
Accelerometer
temperatureX
humidityX
xX
yX
zX
batteryVoltageXX

Examples of logcat traces:

Temperature (in °C) & Humidity (in %RH)

15:18:49.127 16242-16242 DaemonConfig          D  onDiscovered: MokoTH [ad=FF:EE:DD:A1:B2:C3, rs=-77, t=20.0, h=31.1, bv=3115]
15:18:53.100 16242-16242 DaemonConfig          D  onUpdated: MokoTH [ad=FF:EE:DD:A1:B2:C3, rs=-73, t=20.0, h=31.1, bv=3115]
15:19:57.589 16242-16242 DaemonConfig          D  onLost: MokoTH [ad=FF:EE:DD:A1:B2:C3, rs=-70, t=20.0, h=31.1, bv=3115]

3-Axis Accelerometer (in mg)

20:15:20.728 26611-26611 DaemonConfig          D  onDiscovered: MokoAcc [ad=FF:EE:DD:A1:B2:C3, rs=-80, x=-20, y=-20, z=-964, bv=3115]
20:15:24.684 26611-26611 DaemonConfig          D  onUpdated: MokoAcc [ad=FF:EE:DD:A1:B2:C3, rs=-78, x=-20, y=-20, z=-964, bv=3115]
20:15:57.594 26611-26611 DaemonConfig          D  onLost: MokoAcc [ad=FF:EE:DD:A1:B2:C3, rs=-74, x=-20, y=-20, z=-964, bv=3115]

Invirtus Processor Plugin

InVirtus Technologies is a French company providing products and services for geolocation.

The ivBeacon Lite tag is a beacon emitting a custom frame containing:

  • The firmware version
  • The battery percentage
  • A service UUID

The only way to distinguish the beacons from each other is based on the MAC address. The first two fields are considered by the plugin.

Example of a logcat trace:

19:35:20.866  8890-8890  DaemonConfig          D  onDiscovered: Invirtus [ad=F2:18:FF:A1:B2:C3, rs=-86, fw=21, %=89]

BlueUp Explorer Plugin

Tags from BlueUp can broadcast a custom frame type, named Advertising Packet, to advertise some information about the device:

  • «Complete Local Name» of the beacon, in the format 'BlueUp-nn-ssssss', with 'nn' as the model number and 'ssssss' as the serial number
  • «Battery value», as a percentage

The plugin looks for these fields and makes them available in the extras property of a Device object, under these keys:

  • bp, as battery percentage, in %.
  • n, as name.

The BlueBeacon Manager App Android app gives access to the configuration of the beacon.

Some models of the manufacturer: Keyfob Tag, Card, Badge-Holder, Slim Tag, TagX, Forte+, Brick, Mini, Maxi, Ultra Zero

Example of a logcat trace:

12:14:25.705 22163-22163 DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-74, 1m=-59, d=5, Mm=12.13, n=null],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}
12:14:26.571 22163-22213 SDK-AExplorerPlugin   V  Discovered: BlueUp [ad=FF:EE:DD:A1:B2:C3, rs=-78, %=100, n=BlueUp-01-123456]
12:14:28.707 22163-22163 DaemonConfig          D  onUpdated: [iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-73, 1m=-59, d=5, Mm=12.13, n=null,
 ex={bp=100, n=BlueUp-01-123456}]],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}
12:15:00.589 22163-22163 DaemonConfig          D  onLost: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-76, 1m=-59, d=5, Mm=12.13, n=null,
 ex={bp=100, n=BlueUp-01-123456}],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}

Feasycom Explorer Plugin

Tags from Feasycom can broadcast a custom frame type, named General Advertising Frame, to advertise some information about the device:

  • The model code of the beacon, as a number
  • The firmware version
  • The supported features: LED, buzzer, button, accelerometer
  • The battery level, as a percentage

The plugin looks for these fields and makes them available in the extras property of a Device object, under these keys:

  • bp, as battery percentage, in %.
  • m, as model, for the model name: "BPnnnx" (or, if unrecognized, the model code). For example: BP108B.

The FeasyBeacon Android app gives access to the configuration of the beacon.

Some models of the manufacturer: BP103B, BP104D, BP105N, BP106, BP108N

Example of a logcat trace:

14:47:11.618 11015-11055 SDK-AExplorerPlugin   V  Discovered: Feasycom [ad=FF:EE:DD:A1:B2:C3, rs=-89, fw=2.5, m=BP103, %=100]
14:47:12.127 11015-11015 DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-85, 1m=-59, d=15, Mm=12.13, n=FSC-BP103-A1B2C3,
 ex={bp=100, m=BP103}],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}
14:47:18.144 11015-11015 DaemonConfig          D  onUpdated: [iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-74, 1m=-59, d=9, Mm=12.13, n=FSC-BP103-A1B2C3,
 ex={bp=100, m=BP103}]],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}
14:47:46.581 11015-11015 DaemonConfig          D  onLost: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-74, 1m=-59, d=9, Mm=12.13, n=FSC-BP103-A1B2C3,
 ex={bp=100, m=BP103}],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}

Minew Explorer Plugin

Tags of Minew Technologies Co., have many slots of transmission, so that they can simultaneously broadcast multiples frames with different formats. In addition to the iBeacon format and three Eddystone formats, there is a format named DeviceInfo dedicated to emit a frame containing some information fields, of which one is of interest: a battery percentage. The other fields are ignored: the MAC address (already available from the BluetoothDevice object) and an immutable factory-set name ("Plus").
In that case, the battery percentage is made available in the extras property of a Device object. The key of the entry is bp (as battery percentage).

The BeaconSET+ Android app gives access to the configuration of the beacon.

Some models of the manufacturer: E8 Asset Tracking Tag

Example of a logcat trace:

19:35:19.485  8890-8912  SDK-AExplorerPlugin   V  Discovered: Minew [ad=AC:23:3F:A1:B2:C3, rs=-87, %=89]
19:35:20.866  8890-8890  DaemonConfig          D  onDiscovered: iBeacon [ad=AC:23:3F:A1:B2:C3, rs=-86, 1m=-58, d=19, Mm=12.13, n=null,
 ex={bp=89}],
 region: {Minew, e2c56db5-dffb-48d2-b060-d0f5a71096e0, ANY_MAJOR, ANY_MINOR}

KKM Explorer Plugin

Tags from KKM can broadcast these frame formats:

  • iBeacon
  • Eddystone UID, URL, TLM
  • KSensor, a proprietary format for sensor data, like accelerometer, humidity, temperature
  • System, a proprietary format

The custom frame format, named System, contains some information fields: model reference, battery percentage, firmware version.
If found, the battery percentage is made available in the extras property of a Device object. The key of the entry is bp (as battery percentage).

The KBeaconPro Android app gives access to the configuration of the beacon.

Some models from the original manufacturer: K5 Asset Tracking Beacon, K4 Waterproof Beacon, K11 Keychain Portable, B2 SOS/Panic Button, K6 Sensor Beacon, U1 USB Beacon

References from resellers or distributors:

Example of a logcat trace:

11:05:38.465  8109-8216  SDK-AExplorerPlugin   V  Discovered: Kkm [ad=DD:88:11:A1:B2:C3, rs=-75, fw=6.49, %=89]
11:05:41.830  8109-8109  DaemonConfig          D  onDiscovered: iBeacon [ad=DD:88:11:A1:B2:C3, rs=-74, 1m=-59, d=5, Mm=12.13, n=KBPro_123456,
 ex={bp=89}],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}

Moko Explorer Plugin

Tags from Moko Smart can broadcast a custom frame type, named Device Info, to advertise state information about the device:

  • «Local Name» of the beacon, as set in the configuration interface
  • «Advertisement interval», in 100ms units, as set in the configuration interface
  • «Ranging data», in dBm, as set in the configuration interface
  • «Transmission power level», in dBm, as set in the configuration interface
  • «Battery voltage», in mV
  • «Password verification status», enabled or disabled ; «Ambient light sensor», present or not
  • «Connectable status», enabled or disabled ; «Ambient light state», detected or not
  • «Firmware type» and «Firmware version»

The plugin looks for some fields and, if present, makes them available in the extras property of a Device object, under these keys:

  • bv, as battery voltage, in mV.
  • n, as name.

The BeaconX Pro APP Android app gives access to the configuration of the beacon.

Some models of the manufacturer: M1 Coin Beacon, M2 Asset Tracking Beacon, H2 Indoor Navigation Beacon, M3 Industrial Beacon, L03 Navigation Anchor

Example of a logcat trace:

12:57:35.280 10784-11143 SDK-AExplorerPlugin   V  Discovered: Moko [ad=FF:EE:DD:A1:B2:C3, rs=-72, bv=3149, n=MOKO]
12:57:42.743 10784-10784 DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-78, 1m=-59, d=6, Mm=12.13, n=null,
 ex={bv=3149, n=MOKO}],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}

Accent Systems Parser Plugin

Tags from Accent Systems use the free byte available at the end of the frame, unused by the iBeacon protocol, to provide a battery level indicator.
The plugin parses this piece of information and makes it available in the extras property of a Device object. The key of the entry is bp (as battery percentage).

The iBKS Config Tool Android app gives access to the configuration of the beacon.

Models from the original manufacturer: iBKS Plus, iBKS 105, iBKS USB

References from resellers or distributors:

Example of a logcat trace:

19:35:20.866  8890-8890  DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-86, 1m=-58, d=19, Mm=12.13, n=iBKSPlus,
 ex={bp=89}],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}

ELA Innovation Parser Plugin

Tags from the French company ELA Innovation use a Manufacturer Specific Data field in a Scan Response frame to publish custom data associated with the Bluetooth Advertising packet. This information is related to the battery and can be one of two forms, depending on the configuration of the beacon: either a percentage of the remaining capacity, published only when it falls below 15%, either a voltage, published without condition.

The plugin only focuses on the percentage variant. It parses the field, if present, and makes it available in the extras property of a Device object. The key of the entry is bp (as battery percentage).

Models of the manufacturer: Blue LITE, Blue SLIM, Blue PUCK, Blue COIN, Blue WATCH

Example of a logcat trace:

19:35:20.866  8890-8890  DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-86, 1m=-58, d=19, Mm=12.13, n=L ID 003D4F,
 ex={bp=14}],
 region: {MyApp, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}

Ingics Parser Plugin

Some tags from Ingics Technology, publishing the iBeacon frame, may also broadcast additional information at the same time.

The plugin looks for the various optional fields and, if present, makes them available in the extras property of a Device object, under these keys:

  • bv, as battery voltage, in mV.
  • b, as button. Values are "1" or "0", meaning respectively that the button, if present, is pressed or not.
  • m, as model, for the model name: "iBS0ni" with n=4,5,6 (or, if unrecognized, the model code).
  • u, as user configurable content, as a 16-bit signed number.

The iBS01 Tag Utility Android app gives access to the configuration of the beacon.

Models of the manufacturer: iBS04i, iBS05i, iBS06i

Example of a logcat trace:

15:43:29.048 13537-13537 DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-80, 1m=-53, d=22, Mm=12.13, n=iBS04_123456,
 ex={u=258, b=1, m=iBS04i, bv=2970}],
 region: {Ingics, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}

Meeblue Parser Plugin

Tags from Meeblue (also distributed under the Ankhmaway brand) are able to publish additional custom data associated with the Bluetooth Advertising packet. An usual interesting piece of metadata to report is the battery health, to anticipate a need for replacement.

The first step is the activation of the option: the beacon must be configured with the Low Power Broadcast property set to Disabled. It allows, without condition, the publishing of the TX Power Level (non essential) and the Local Name.

The second step is the setting of the Advertise Battery property. It has to be either ID+Batt, either Only Batt. The last option is highly advised because:
1. The ID is the MAC address of the device, that is already available to processors from the BluetoothDevice object.
2. The space left to the Local Name field is up to 16 positions, which is better than 10 positions if the ID is present.

The plugin supports the two variants. It looks for the field and, if present, makes it available in the extras property of a Device object. The key of the entry is bv (as battery voltage).

The CheckBlue Android app gives access to the configuration of the beacon.

Models from the original manufacturer: M52-SA, M52-PA, M52-PIR, Ultra-Thin Beacon U1, Ultra-Thin Beacon Light Sensor UL1, Mini USB Beacon S1

References from resellers or distributors:

Example of a logcat trace:

19:35:20.866  8890-8890  DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-93, 1m=-53, d=29, Mm=45.50, n=MblueUltraThinU1,
 ex={bv=3025}],
 region: {Meeblue, d35b76e2-e01c-9fac-ba8d-7ce20bdba0c6, ANY_MAJOR, ANY_MINOR}

Teltonika Parser Plugin

Tags from Teltonika Telematics can publish an EYE Sensors packet in addition to the iBeacon/Eddystone Advertising packet, if in the Basic settings tab of the app, the Packet settings choice is set to one of the options mentioning: ...and EYE Sensors. It will broadcast information about the battery (for all models) and, for EYE SENSOR models, measures of the sensors.

The plugin looks for the various optional fields and, if present, makes them available in the extras property of a Device object, under these keys:

  • bl, as battery low indicator. If present (the only value is "1"), it means that the level is lower than 15%.
  • bv, as battery voltage, in mV.
  • tc, as temperature in degrees Celsius.
  • hp, as humidity percentage.
  • gs, as magnetic - state. Values are "1" or "0", meaning respectively that a magnetic field is detected or not.
  • ms, as movement - state. Values are "1" or "0", meaning respectively that the device is moving or not.
  • mc, as movement - count.
  • ap, as angle pitch, in degrees.
  • ar, as angle roll, in degrees.

The EYE App Android app gives access to the configuration of the beacon.

Models of the manufacturer: EYE BEACON, EYE SENSOR

Example of a logcat trace:

19:35:20.866  8890-8890  DaemonConfig          D  onDiscovered: iBeacon [ad=FF:EE:DD:A1:B2:C3, rs=-73, 1m=-53, d=12, Mm=12.13, n=MP1_1234567,
 ex={bl=1, ap=11, tc=22.28, ar=-57, mc=3275, ms=0, bv=2510, gs=0, hp=18}],
 region: {Eye, 01020304-0506-0708-090a-0b0c0d0e0f10, ANY_MAJOR, ANY_MINOR}