MQTT

Happy Bubbles Bluetooth Presence Detectors are designed to communicate over MQTT and will send Bluetooth Low Energy advertisements to the selected MQTT server over QoS 0 type message. The payload of the messages is in JSON format.

Happy Bubbles will publish all advertisments it sees to the MQTT topic:

happy-bubbles/ble/<the-hostname>/raw/<the-bluetooth-MAC-address> with a payload like:

{
    "hostname": "living-room",
    "mac": "dd6ed85b7a80",
    "rssi": -94,
    "is_scan_response": "0",
    "type": "3",
    "data": "0201061aff4c000215e2c56db5dffb48d2b060d0f5a71096e000680068c5"
}

Eddystone beacons: if the advertisment looks to be in Eddystone format (the UID packet), it will also be published to the topic: happy-bubbles/ble/<the-hostname>/eddystone/<the-Eddystone-namespace> with a payload like:

{
    "hostname": "<the-hostname>",
    "beacon_type": "eddystone",
    "mac": "<the-hostname>",
    "rssi": -89,
    "tx_power": c8,
    "namespace": "<the-namespace>",
    "instance_id": "<the-instance-ID>"
}

iBeacons: if the advertisment looks to be in iBeacon format, it will also be published to the topic: happy-bubbles/ble/<the-hostname>/ibeacon/<the-iBeacon-UUID> with a payload like:

{
    "hostname": "living-room",
    "beacon_type": "ibeacon",
    "mac": "dd6ed85b7a80",
    "rssi": -92,
    "uuid": "e2c56db5dffb48d2b060d0f5a71096e0",
    "major": "0068",
    "minor": "0068",
    "tx_power": "c5"
}