ebus-mqtt 0.1.1

MQTT vocabulary for eBus: messages and commands, topic filters and their ownership.
Documentation
  • Coverage
  • 100%
    73 out of 73 items documented1 out of 21 items with examples
  • Size
  • Source code size: 64.2 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 745.5 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 2s Average build duration of successful builds.
  • all releases: 2s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • electrification-bus/rust-sdk
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • dcj github:electrification-bus:core-contributors

ebus-mqtt

crates.io docs.rs MSRV 1.85

MQTT vocabulary for eBus: the messages and commands the Homie state machines exchange with an MQTT client, topic filter matching, the ledger of which subscriptions the client holds and who may remove them, and Pair, which runs two roles on one connection. It performs no I/O and reads no clock, and builds without std.

Usage

use ebus_mqtt::filter;

assert!(filter::matches("ebus/5/+/$state", "ebus/5/meter-1/$state"));
assert!(filter::matches("ebus/5/meter-1/#", "ebus/5/meter-1/power/watts"));
// A leading wildcard does not match a topic that starts with `$`.
assert!(!filter::matches("+/5/meter-1/$state", "$SYS/5/meter-1/$state"));

Features

Feature Default Enables
std yes Links std; implies alloc
alloc via std Command, LastWill, FilterLedger, Role and Pair

The eBus crates

ebus-mqtt is one of six crates in rust-sdk, the Rust SDK for Electrification Bus (eBus), which builds on the Homie 5 MQTT convention:

Crate Role
ebus-mqtt MQTT vocabulary: messages, commands, topic filters and subscription ownership (no_std)
ebus-homie Homie 5 protocol core: identifiers, topics, datatypes, $description, and the controller and device state machines (no_std)
ebus-discovery eBus DNS-SD contract: service types, TXT records, the advertisement model and broker selection (no_std)
ebus-homie-tokio Runs the controller and the device on tokio over an MQTT connection the host owns
ebus-discovery-tokio Finds the site's broker over mDNS and advertises the host's services, on tokio
ebus-rumqttc The controller, the device, or both, with their own rumqttc 0.25 connection

Minimum Rust version

1.85.

License

MIT; see LICENSE.