# Bonaparte: reconstructing the Napoleon eFIRE Bluetooth control protocol

> Bonaparte implements a Python client for Napoleon eFIRE fireplace controllers and documents their Bluetooth LE control protocol. Its reference specifies GATT characteristics, request and response packet fields, XOR checksums, and commands for settings such as power, thermostat, and night-light level.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-07
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/kaechele/bonaparte>
- Primary source: <https://github.com/kaechele/bonaparte/blob/1760e4ab291c5b1bb86d88bee251fb9c46e5f4ec/docs/bluetooth_protocol.md>
- Catalog page: <https://awesomerea.org/resources/bonaparte-efire-case/>
- Record JSON: <https://awesomerea.org/resources/bonaparte-efire-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/bonaparte-efire-case/index.md)

## Requirements & limits

- **Prerequisites:** Python 3.13 or later, with bleak and bleak-retry-connector.
- **Prerequisites:** A Napoleon eFIRE-enabled fireplace controller.
- **License:** MIT license.

## Primary sources

1. <https://github.com/kaechele/bonaparte/blob/1760e4ab291c5b1bb86d88bee251fb9c46e5f4ec/docs/bluetooth_protocol.md>
2. <https://github.com/kaechele/bonaparte/blob/1760e4ab291c5b1bb86d88bee251fb9c46e5f4ec/README.md>
3. <https://github.com/kaechele/bonaparte/blob/1760e4ab291c5b1bb86d88bee251fb9c46e5f4ec/pyproject.toml>

## More in Protocols

- [skyrcUSB: reading skyRC chargers through a reconstructed protocol](https://awesomerea.org/resources/skyrcusb-case/index.md) · Case study
- [mqtt-energi: reconstructing myenergi device traffic](https://awesomerea.org/resources/mqtt-energi-case/index.md) · Case study
- [RedFIS: reconstructing the Audi A3 8P display protocol](https://awesomerea.org/resources/a3-8p-redfis-case/index.md) · Case study
- [GalaxyBuds-rs: implementing the Galaxy Buds Bluetooth protocol](https://awesomerea.org/resources/galaxybuds-rs-case/index.md) · Case study
- [ETEKCITY Smart Nutrition Scale: mapping the ESN00 BLE packets](https://awesomerea.org/resources/metekcity-case/index.md) · Case study
- [mi-scale-2: decoding Mi Smart Scale 2 weight messages](https://awesomerea.org/resources/mi-scale-2-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
