-
Notifications
You must be signed in to change notification settings - Fork 2
Using sdsctl
Start with First connection. The interfaces below share the same scanner and daemon contracts, but they are intended for different jobs.
Use the command line for discovery, one operation, scripting, or diagnostics:
sdsctl discover
sdsctl info
sdsctl monitor
sdsctl capabilities
sdsctl healthAdd --host SCANNER_IP, --port DEVICE, or --profile NAME before the action
to select a connection. Run sdsctl --help and sdsctl ACTION --help for the
complete current option list.
Install and launch the full-screen Textual interface:
python -m pip install "sds200[tui]"
sdsctl tuiPress ? for the keyboard reference and Q to quit. Add the playback extra
for live and saved audio on a workstation:
python -m pip install "sds200[tui,playback]"The Textual TUI guide covers layouts, controls, themes, logging, daemon-client mode, audio, and recordings.
After an observe-only Raspberry Pi remote TUI works interactively, follow the
managed Pi display workflow to give /dev/tty1 a
boot-resilient, least-privilege systemd service. Do not use that service for a
control-capable identity or browser kiosk.
The web dashboard is a client of one foreground daemon. Start the daemon in one terminal and the loopback web service in another:
python -m pip install "sds200[web]"
sdsctl --host SCANNER_IP daemon
sdsctl webOpen http://127.0.0.1:8000/ on the same computer. The default listener is
loopback-only. Do not publish it to a LAN by changing the bind address; use the
documented authenticated native-TLS mode when remote LAN access is required.
See Web Dashboard for the visual workspace and the canonical web guide for its security and deployment contracts.
Use the foreground daemon when one process should own scanner control, PSI, audio, recordings, and local clients:
python -m pip install "sds200[mqtt,web]"
sdsctl --host SCANNER_IP daemon
sdsctl daemon-client status
sdsctl daemon-client snapshot
sdsctl tui --daemon-clientThe daemon remains in the foreground for a service manager. Stop it with
Ctrl+C during an interactive test. Read the
daemon deployment guide,
daemon API guide,
and MQTT guide
before enabling a persistent service or commands.
Prefer typed or semantic controls over raw protocol commands. Representative standalone commands include:
sdsctl hold SYS 100
sdsctl next DEPT 200 100 --count 2
sdsctl previous TGID 300Indexes are scanner protocol values reported by GSI or GLT. Verify control behavior on the intended scanner before depending on it operationally.
Built-in web, Home Assistant, and TUI themes are packaged independently. Managed third-party packages can be validated before installation:
sdsctl themes validate /absolute/path/to/themes/web/my-theme
sdsctl themes install /absolute/path/to/themes/web/my-theme
sdsctl themes listHome Assistant theme packages contain browser JavaScript and require an additional explicit trust option. Read the theme package guide before installing third-party code.
Activate completion for the current shell:
eval "$(sdsctl completion bash)"For Zsh:
eval "$(sdsctl completion zsh)"