src.nth.io/

summaryrefslogtreecommitdiff
path: root/Cargo.toml
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2026-07-28 16:58:20 -0500
committerLuke Hoersten <[email protected]>2026-07-28 16:58:20 -0500
commit07d4713f554b2ae2ccf4871f6be0590c129342b0 (patch)
treee9675e5e8a7cfce544927339c8f93ee7f412a71b /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.toml34
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"