🌐 Tuya BLE Local — Offline Smart Control, Reinvented
Tuya BLE Local is a fully offline Home Assistant integration that enables encrypted control of Tuya Bluetooth Low Energy devices—without the Tuya app, cloud pairing, or developer account.
This is a next-gen rewrite of ha_tuya_ble, rebuilt from the ground up to support:
🔐 AES-encrypted DPS decoding
💡 BLE service data parsing
📡 Multi-adapter and ESPHome BLE proxy support
📱 BLE fingerprinting by mac_address, product_id, and local_key
No Tuya tokens. No account. No internet. Just rock-solid local control.
✅ 100% offline BLE pairing and communication
🔒 Encrypted AES key handshake using your device’s local_key
🧬 Decodes DPS payloads for sensor, switch, climate, lock, and Fingerbot devices
📶 Native BLE signal strength and passive polling
🛰️ Multi-adapter + ESPHome BLE proxy compatibility
🧠 Flexible fallback logic for unknown product types
💥 BLE event support (fingerbot_button_pressed)
📊 Local-only sensors with auto-created device entities
🎨 Polished device names, icons, and translation strings
📁 HACS-friendly branding, docs, and config
Option 1: HACS (Recommended)
-
Open Home Assistant → HACS → Integrations
-
Click “+” and select Custom repositories
-
Select category Integration, click Add
-
Install Tuya BLE Local, then restart Home Assistant
Option 2: Manual
Place the tuya_ble_local folder inside your custom_components/ directory:
config/ └── custom_components/ └── tuya_ble_local/
Then restart Home Assistant.
-
Open Settings → Devices & Services
-
Click Add Integration → Tuya BLE Local
-
If your device is broadcasting, Bluetooth discovery will pre-fill:
-
mac_address
-
product_id
-
device name
If not, you can enter the details manually:
| Name (optional) | Friendly name for the device | --------------------------------------------------------------------------=
Click Submit to complete encrypted local pairing.
📌 Need help retrieving your local key? See the Local Key Guide
This integration supports dozens of BLE-powered Tuya devices, including:
🤖 Fingerbots (Standard, Plus, CubeTouch)
🌱 Soil moisture and temperature sensors
🧊 CO₂ monitors and air quality sensors
🔒 Smart locks (BLE-only or dual-mode)
🌡️ Radiator valves and climate controllers
🚿 Irrigation systems and faucet valves
💧 Water bottles (yes, really)
See the full list in devices.py
This integration builds on the incredible reverse engineering work of:
@PlusPlus-ua — original BLE parser and DPS decoder
@redphx — Fingerbot command mapping and security handshake details
🔧 Refactored and locally re-architected by @cooley420 to support secure, scalable BLE integrations without a single cloud call.
We welcome pull requests! You can contribute by:
Adding new device product_id mappings
Enhancing encrypted packet decoding
Improving fallback detection logic
Submitting branding, banners, or localization
Expanding the Local Key Guide
Together, we’re building a better, cloudless smart home.