Star on GitHubStar2.4k stars

Case study

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.

Targets
Protocol
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Evidence class
C2 code & docs, no demo or download
Stars
9
Last commit
2026-11-09
Language
Python
License (GitHub)
MIT

GitHub data as of 2026-11-10

Copy as MarkdownView JSONCite

Evidence

Observed
Code, documentation and a download method observed; no demo found.
Checked
2026-11-09

How evidence classes are assigned

Requirements & limits

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

Cite

BibTeX

@misc{bonaparte-efire-case,
  title = {{Bonaparte: reconstructing the Napoleon eFIRE Bluetooth control protocol}},
  howpublished = {\url{https://github.com/kaechele/bonaparte}},
  url = {https://github.com/kaechele/bonaparte},
  urldate = {2026-11-07},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/bonaparte-efire-case/}}
}

Plain text

Bonaparte: reconstructing the Napoleon eFIRE Bluetooth control protocol. https://github.com/kaechele/bonaparte (accessed 2026-11-07). Awesome REA entry: https://awesomerea.org/resources/bonaparte-efire-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. docs/bluetooth_protocol.md GitHub · kaechele/bonaparte · Revision 1760e4a
  2. README.md GitHub · kaechele/bonaparte · Revision 1760e4a
  3. pyproject.toml GitHub · kaechele/bonaparte · Revision 1760e4a

More in Protocols

All 720 entries in ProtocolsProtocols case studies (645)

↑↓ move↵ open⌘↵ new tab