Documentation for controlling and preserving Bose SoundTouch devices
This document serves as the entry point for understanding the comprehensive plan to enhance the SoundTouch service with advanced state management capabilities, preparing for the eventual shutdown of Bose’s upstream services while providing a superior local management experience.
Create a robust, local replacement for Bose’s upstream services that can seamlessly handle the transition from cloud-dependent to fully autonomous operation while maintaining and improving upon the existing functionality.
The existing SoundTouch service provides:
The enhanced system will add:
data/
├── accounts/{account-id}/
│ ├── account.json # Account metadata and settings
│ ├── account-events.log # High-level account behavior tracking
│ ├── devices/{device-id}/
│ │ ├── lifecycle.json # Device state and history
│ │ ├── info.xml # Device information (existing)
│ │ ├── presets.xml # Device presets (existing)
│ │ ├── recents.xml # Recent plays (existing)
│ │ ├── sources.xml # Configured sources (existing)
│ │ └── events.log # Device event history
│ └── sessions/ # Recorded interaction sessions (existing)
└── system/
├── discovery.log # Device discovery events
└── migration.log # Migration activities
golangci-lint run --fix + go test ./...)golangci-lint run --fixgo test ./...This concept is detailed across several documents:
This enhanced state management system represents a significant evolution of the SoundTouch service, transforming it from a basic cloud replacement into a comprehensive, future-proof device management platform that can serve users well beyond the Bose service shutdown timeline.