Local Bluetooth Low Energy (BLE) integration for Camp Chef–family pellet grills (Camp Chef, Cabela’s, Kingsford) in Home Assistant, powered by the pycampchef library.
This integration provides cloud-free monitoring and control directly from Home Assistant.
- Local BLE control (no cloud dependency)
- Config flow with Bluetooth discovery
- Automatic grill capability detection
- Hybrid push (notifications) + polling update model
- Grill chamber temperature (current & target)
- Grill mode
- Pellet level
- Probe temperatures
- Wi-Fi RSSI
- Wi-Fi SSID
- OTA update state
- OTA update progress
- Fault status
- Transitioning state
- Fan status
- Wi-Fi connectivity
Diagnostic and high-churn entities are disabled by default and can be enabled individually from the entity registry.
This integration targets pellet grills that implement the Camp Chef BLE protocol, including compatible models sold under:
- Camp Chef
- Cabela’s
- Kingsford
Exact feature availability depends on the grill’s firmware and reported capabilities.
- Add this repository as a custom repository in HACS.
- Install Camp Chef from HACS.
- Restart Home Assistant.
-
Copy the contents of this repository to:
config/custom_components/camp_chef/ -
Restart Home Assistant.
- Go to Settings → Devices & Services
- Click Add Integration
- Select Camp Chef
- Choose a discovered Bluetooth device
Bluetooth discovery will automatically prompt setup when supported grills are detected.
- Uses Home Assistant’s built-in Bluetooth stack
- No custom pairing UI is provided
- Grills require bonding before encrypted BLE traffic will succeed. On some bluetooth stacks such as esphome bluetooth proxy this will just work.
If pairing is required:
- Pair the grill once at the OS level (e.g. via
bluetoothctlon HAOS) - The stored bond is reused automatically by Home Assistant
When using the ESPHome Bluetooth Proxy, some grill models may not support BLE notification subscriptions through the proxy.
In this case, the integration will automatically operate in polling mode to retrieve state updates. No user configuration is required.
- When BLE notifications are available, state updates are pushed in near-real-time
- A periodic polling backstop ensures state recovery if notifications stop
- The integration avoids excessive polling to reduce BLE load
This project is not affiliated with or endorsed by Camp Chef, Cabela’s, Kingsford, or related brands.
This project is licensed under the Apache License, Version 2.0.
Apache-2.0 is compatible with inclusion in the Home Assistant Core repository and allows redistribution, modification, and contribution under the same terms.
See the LICENSE file for full license text.