mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-19 00:56:16 +00:00
Add `soundtouch-cli setup` subcommand group covering the full reset →
re-provision → pair lifecycle as a scriptable alternative to the web UI:
inspect, verify, plan, factory-reset, wait-ap, wifi-push, wait-online,
ssh-check, install-ca, migrate, reboot, pair (bare | full state machine)
Supporting library code lives in pkg/service/setup: factory_reset.go,
wifi_provision.go, inspect.go, init_plan.go, setup_session.go.
Confirmed against ST10 firmware 27.0.6 that bare setMargeAccount over
WebSocket — no SETUP_START/SETUP_ENTER/SETUP_LEAVE bracket — is
sufficient to pair a factory-reset speaker; the firmware materializes
SystemConfigurationDB.xml and Sources.xml itself and the pairing
survives reboot. Result and field-by-field SystemConfigurationDB
comparison documented in docs/analysis/SETUP-WEBSOCKET-EXPERIMENT.md.
Captures the device's pre-reset DELETE-to-marge plus its LAN peer
notification flow in docs/analysis/FACTORY-RESET-PROTOCOL.md.
Perf: batch GetMigrationSummary's SSH probes into one Run() call via
ssh_probe.go / ssh_probe_apply.go — was ~8 sequential dials at
500-1000 ms each on FW 27 crypto, now one round-trip. Same data shape,
same MigrationSummary fields populated.
Fixes /clockTime and /clockDisplay wire formats — firmware 27 rejects
the legacy flat XML ("Error parsing request"). ClockTimeRequest now
uses utcTime attribute; ClockDisplayRequest emits the nested
<clockConfig> envelope with timezoneInfo/timeFormat/brightnessLevel.
Removes cmd/example-init-speaker (superseded by setup pair).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.9 KiB
4.9 KiB
Table of Contents
User Guides
- Cloud Shutdown Survival Guide
- Self-Hosting AfterTouch
- Connecting Music Services
- Migration & Safety Guide
- CLI Reference
- Backup Tool
- Getting Started
- SoundTouch Service
- Initial Device Setup
- Capture Device Pairing Traffic
- Capture Migration Traffic
- Device Setup Flow
- MAC Address Mapping
- HTTPS Setup
- Deployment
- Raspberry Pi Guide
- Troubleshooting
- IoT Implementation Guide
- Migration Guide
- MQTT Integration Design
- Useful Links
Useful Links
Technical Reference
- API Cookbook
- API Endpoints
- Spotify Account Addition
- Cloud API Emulation
- System Endpoints
- Speaker Endpoint
- WebSocket Events
- Device Pairing Flow
- Discovery
- Zone Management
- Preset Management
- Source Selection
- Volume Controls
- RadioBrowser
- Bass Controls
- Key Controls
- Feature Mapping
Concepts
Analysis & Research
- API Coverage Analysis
- Supported URLs
- Upstream URLs
- Anonymization Summary
- Device Redirect Methods
- Telnet (Port 17000) Migration Method
- Telnet Command Reference
- Setup WebSocket Experiment
- Factory Reset Protocol
- Wiki API Comparison
- IoT Config Summary
- IoT Configuration Analysis
- Bose Lab Runbook
- Missing Routes Spotify
- Bose App ADB Emulator
- Community Tools
Parity Analysis
Appendix (Other Documents)
- External Services Abstraction
- API Navigation Reference
- Claude Instructions
- Content Selection Implementation
- Device Customization Setup
- Device Logging
- Feature History
- Host/Port Parsing
- Manual Network Discovery
- Navigation Guide
- Official API Verification
- Preset Quickstart
- Project Patterns
- Service Availability Implementation
- SoundTouch Service Announcement
- Undocumented Community Features
- Unimplemented Endpoints
- Preset Store
- SCMUDC Enrichment Implementation
- Device Lifecycle and Power On Enhancement
- Device Lifecycle Summary
- Power On Implementation Guide
- SCMUDC Events Analysis
- Parity Improvements
- Parity SoundCork