nefit-client

Crates.ionefit-client
lib.rsnefit-client
version0.3.0
created_at2025-07-07 14:12:43.631585+00
updated_at2025-07-07 14:12:43.631585+00
descriptionLibrary for communicating with Bosch/Nefit thermostat API
homepage
repositoryhttps://github.com/twistedfall/nefit-client
max_upload_size
id1741327
size67,521
(twistedfall)

documentation

https://docs.rs/nefit-client

README

nefit-client

Build Status Documentation Crates.io Maintenance

Support the project | Documentation

Usage

Run:

cargo add nefit-client

Or add to your Cargo.toml:

[dependencies]
nefit-client = "0.3.0"

Communication library for Nefit (Bosch) gas boilers

A word of warning: the last time I used this code in production was in March 2023, so it could've code-rotten since.

Not all endpoints are implemented, the focus was mostly on reading the data. I will gladly accept PRs.

Nefit API specifics

The communication method is quite peculiar because it's essentially HTTP with custom encryption over XMPP. The library connects to Bosch XMPP server and then exchanges encrypted messages which are HTTP requests and responses.

Example

let cl = nefit_client::Client::new("<SERIAL_NUMBER>", "<ACCESS_KEY>", "<PASSWORD>");
let cm = cl.connect().unwrap();
dbg!(cm.status().unwrap());
dbg!(cm.outdoor_temp().unwrap());
dbg!(cm.system_pressure().unwrap());
dbg!(cm.supply_temp().unwrap());

Useful links

License

MIT OR Apache-2.0

Commit count: 0

cargo fmt