diff options
| author | Luke Hoersten <[email protected]> | 2026-07-28 16:58:20 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2026-07-28 16:58:20 -0500 |
| commit | 07d4713f554b2ae2ccf4871f6be0590c129342b0 (patch) | |
| tree | e9675e5e8a7cfce544927339c8f93ee7f412a71b /Cargo.toml | |
Implement mattertimesync: one-shot Matter time synchronization CLI
A standalone CLI Matter controller that joins Matter devices as a
secondary administrator (multi-admin) and sets their clocks via the
standard Time Synchronization cluster. Built on rs-matter 0.2.0, the
official CSA Rust Matter stack: its PASE/CASE initiators, Commissioner
flow, builtin mDNS, and generated cluster clients. One-shot runs from a
systemd timer; there is no daemon.
Hardware-validated end to end (commission, inspect, sync, decommission)
against an IKEA ALPSTUGA air quality monitor over Thread, commissioned
alongside Apple Home. Design and operation are documented in the
README. 34 unit tests, clippy clean.
Diffstat (limited to 'Cargo.toml')
| -rw-r--r-- | Cargo.toml | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..df47edf --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "mattertimesync" +version = "0.1.0" +edition = "2024" +description = "CLI Matter controller that synchronizes the clocks of Matter devices via the standard Time Synchronization cluster" +license = "MIT" + +[dependencies] +anyhow = "1.0.104" +async-io = "2.6.0" +clap = { version = "4.6.4", features = ["derive"] } +embassy-futures = "0.1.2" +embassy-time = { version = "0.5.1", features = ["std"] } +embassy-time-queue-utils = { version = "0.3.2", features = ["generic-queue-64"] } +env_logger = "0.11.11" +futures-lite = "2.6.1" +if-addrs = "0.15.0" +jiff = { version = "0.2.35", features = ["serde"] } +libc = "0.2.189" +log = "0.4.33" +rand = { version = "0.8", features = ["std", "std_rng"] } +rs-matter = "0.2.0" +serde = { version = "1.0.229", features = ["derive"] } +serde_json = "1.0.151" +socket2 = { version = "0.6.5", features = ["all"] } +static_cell = "2.1.1" +thiserror = "2.0.19" +verhoeff = "1.0.0" + +[profile.release] +# One Pi-sized binary; favor size and honest backtraces over compile time. +lto = true +codegen-units = 1 +strip = "debuginfo" |
