Contribute
Open Firenet is a community project. You do not need to write code to help: the most useful contributions so far were reports and tests from people with a stove we do not have.
Tell us what works on your stove
We can only test on the stoves we own. If the bridge works on yours, a two-minute report adds your stove model, its firmware version and your board to the lists, and helps the next person decide.
Open an "It works on my stove" report
Reports are most wanted for:
- stoves on firmware 2.28 (it works on a LIVO; a SONO does not link yet) and on 2.25 or older, which nobody has tested;
- models that are not in the compatibility list;
- boards that are not in the hardware list.
Report a problem
A good report saves several round trips: the stove model and firmware version, the bridge version, the log and the output of /api/state. The issue form asks for each of them, and Troubleshooting tells where to find them.
If you are willing to try a test build on your stove when we look for a fix, say so in the issue: that is how firmware 2.26, 2.27 and 2.28 got supported.
Translate
The bridge's web page, the Home Assistant integration and the installer are in English, French, German and Italian. Adding a language needs no programming: you copy the English texts, translate them, and a check tells you what is missing.
Improve the documentation
This website lives in its own repository, openfirenet.github.io. The pages are plain HTML files in src/; its README explains how to rebuild them. A correction, a clearer explanation or a missing step is welcome as a pull request, or simply as an issue describing what confused you.
Contribute code
The project has three repositories:
| Repository | What it is | Written in |
|---|---|---|
| open-firenet | The firmware of the bridge, with its web page and API | C++ (Arduino, ESP32-S3), HTML / JavaScript |
| open-firenet-ha | The Home Assistant integration | Python |
| open-firenet-installer | The desktop installer | Rust (Tauri), JavaScript |
How we work:
- Open an issue first, or comment on an existing one, to agree on what to do before you spend time on it.
- One branch per change, named after the issue:
fix/42-short-descriptionorfeat/42-short-description. - Run the tests. In the firmware repository,
./test/build_and_test.shruns them all on your computer, without any hardware: the protocol, a simulated stove, the API description and the translations. - Add a line to
CHANGELOG.mdunder "Non publié", in English, written for users: what changes for them, not how it is coded. - Open a pull request whose description starts with
Fixes #42(orRefs #42for a partial change). The checks run by themselves.
Commit messages start with feat:, fix:, docs: or chore:: the release script reads them to choose the next version number.
About the stove protocol: it was reverse-engineered, and a wrong message can make a stove refuse the bridge. A change in the dialogue with the stove needs a test on a real stove, ideally on each firmware family, before it is merged. Say in your pull request what you could test and what you could not.
Questions
Not sure where to start, or whether an idea fits? Open an issue and ask: there is no wrong question.