toes-matter/README.md

39 lines
1.1 KiB
Markdown

# toes-matter
Tiny facade around `rs-matter` for the Toes RGB light flow:
```rust
#![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 plus setup QR/manual-code metadata. These are for local development, not production.