Feature Request: Support for Receiving Encoded BLE Payloads in Home Assistant Mobile App and Server

Hello Home Assistant Developers and Community,

I have an idea for a new feature that would significantly enhance the functionality of the Home Assistant mobile app (both Android and iOS) by enabling it to receive encoded Bluetooth Low Energy (BLE) payloads from external devices. These payloads would be decoded by the app and then communicated with the Home Assistant server to trigger predefined actions based on the content of the payload.

Feature Overview:

The idea is to allow the Home Assistant mobile app to listen for BLE signals from devices like custom BLE buttons (for example, buttons installed in a car) and use encoded data to securely trigger specific automations.

How It Would Work:

BLE Device Communication:

  • A BLE device sends encoded payloads.
  • The mobile app decodes these using a predefined key, which could be managed server-side.
  • Both Android (Eddystone) and iOS (iBeacon) compatibility would be considered.

Home Assistant Mobile App:

  • The app listens in the background for these BLE signals.
  • It decodes and verifies the signal’s authenticity before sending an action request to the Home Assistant server.

Preventing Duplicate Actions:

  • When multiple phones receive the same BLE signal (e.g., multiple users in the same car), the server would process the signal only once to prevent duplicate actions.

Use Case Example:

A BLE button in a car sends a payload to open a gate. The app on the user’s phone decodes it and sends the request to the Home Assistant server, which then triggers the action.

My Question to the Community:

Before submitting this feature request to GitHub, I wanted to check with the community if something like this already exists. Has anyone come across something like this?

Thanks for any information and help!