mattertimectl, or "Matter Time Controller", is a CLI command that joins an existing Matter fabric as an additional controller/administrator ("multi-admin") and pushes the correct time via the standard "Time Synchronization" cluster. No daemon: each run connects, syncs, and exits. Intended to be run from a systemd timer or cron job.
--json output designed to pipe straight into jq.Source: src.nth.io/luke/mattertimectl (GitHub mirror).
mattertimectl [-c <config>] <command> [-n <node>] [-j] status controller + per-device state (local, no device contact)
inspect connect to each device; dump identity and time-sync capabilities commission <code> join a device as an additional Matter admin (pairing code used once)
sync set each device's clock: UTC time, time zone, DST offsets
decommission drop this controller's fabric from each device (primary ecosystem untouched)-c, --config <path> config file [default: /etc/mattertimectl/config.json]
-n, --node <id> target one device (sync/decommission default to all commissioned)
-t, --time <hh:mm> sync only: set this wall-clock time today instead of now (e.g. 16:35, 4:35pm)
-j, --json machine-readable JSON on stdout; logs stay on stderr
-h, --help print help
-V, --version print version
Exit codes: 0 success, 1 runtime failure (the timer retries), 2 usage or config error.
/etc/mattertimectl/config.json:
{
"storagePath": "/var/lib/mattertimectl",
"timezone": "America/Chicago",
"logLevel": "info",
"fabricLabel": "Matter Time Controller"
}
storagePath holds the controller's fabric identity and private keys. timezone is an IANA name; fabricLabel is
displayed to the other ecosystems for this controller.
Commission each device once inside a pairing window opened in the primary ecosystem (e.g. Apple Home, Google):
sudo -u mattertimectl mattertimectl commission 12345678901
Enable the timer:
sudo systemctl enable --now mattertimectl.timer
The .service is a oneshot that runs mattertimectl … sync; the .timer drives it. The host clock must be
NTP-synchronized or sync refuses to push time.