Go to file
2026-05-17 18:44:11 -07:00
credentials first 2026-05-17 18:44:11 -07:00
examples first 2026-05-17 18:44:11 -07:00
src first 2026-05-17 18:44:11 -07:00
.gitignore first 2026-05-17 18:44:11 -07:00
Cargo.toml first 2026-05-17 18:44:11 -07:00
README.md first 2026-05-17 18:44:11 -07:00

toes-matter

Tiny facade around rs-matter for the Toes RGB light flow:

#![recursion_limit = "256"]

fn main() -> toes_matter::Result<()> {
    env_logger::init_from_env(
        env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, "info"),
    );

    futures_lite::future::block_on(async {
        toes_matter::generate_credentials("./creds").await?;
        toes_matter::provision().await?;
        toes_matter::listen().await
    })
}

Runtime assumptions

  • Linux + BlueZ on system D-Bus
  • wpa_supplicant controlling the Wi-Fi interface
  • wpa_cli, ip, and a DHCP client available
  • rgbled in $PATH
  • Avahi/zeroconf for mDNS

Environment

  • TOES_MATTER_CREDS_DIR / MATTER_CREDS_DIR default: ./creds
  • TOES_MATTER_STATE_DIR / MATTER_KV_DIR default: <creds>/state
  • TOES_MATTER_WIFI_IFACE / MATTER_WIFI_IFACE default: wlan0
  • RGBLED_ORDER default: grb

Development credentials

generate_credentials() writes rs-matter's built-in development/test DAC/PAI/CD and the test PAA trust-store cert. These are for local development, not production.