BTHome

Reads BTHome sensors and buttons over Bluetooth - an open standard for broadcasting sensor data over BLE, used by Shelly BLU devices and many custom-firmware Xiaomi/Mijia sensors. Structurally the same passive-listening approach as Ruuvi: nothing to connect to, Athena just listens.

What's exposed

  • Sensors - battery, temperature, humidity, pressure, illuminance, voltage, CO2.
  • Binary sensors - motion, door, opening, moisture, power/occupancy.
  • Button and dimmer presses - a momentary event (press, double press, long press, and so on for buttons; rotate left/right with step count for dimmers) rather than a value you'd poll - each press fires its own automation trigger, even two identical presses in a row.

Encrypted payloads

Both unencrypted and encrypted BTHome payloads are supported. Most DIY/custom-firmware sensors broadcast unencrypted; official hardware like Shelly BLU ships encrypted by default with a per-device 16-byte "bind key" printed on the device or its box - enter it like a password when adding the sensor.

Adding a sensor

No pairing wizard, no reachability check - add by name and MAC address, plus the bind key if the device broadcasts encrypted. The Add-sensor screen shows a live "Nearby sensors" scan, flagging whether a candidate is broadcasting encrypted or not. Works with Dashboard cards and Automations exactly like every other integration.

A device reporting more than one instance of the same reading type in a single advertisement (BTHome's own spec allows this, for multi-button devices) isn't modeled yet - every reading type is currently assumed to appear at most once per payload.