Complete preset management implementation

- Add comprehensive preset reading functionality with helper methods
- Implement GetNextAvailablePresetSlot() and IsCurrentContentPresetable()
- Add CLI support for viewing presets with -presets flag
- Fix Preset XML tag to use lowercase 'preset' for API compliance
- Update documentation to reflect official API design:
  * GET /presets: fully implemented with rich analysis
  * POST /presets: officially 'N/A' per Bose documentation (not supported by design)
- Add detailed PRESET-MANAGEMENT.md documentation
- Update API endpoints overview and project status
- All tests passing with real device validation

Preset management is now 100% complete according to official API specification.
Read operations provide comprehensive preset analysis, while creation
is intentionally handled by official app/hardware controls per API design.
This commit is contained in:
Tobias Gesellchen
2026-01-09 11:11:10 +01:00
parent 46b7f3c6e7
commit 609cc04c16
6 changed files with 404 additions and 20 deletions
+7 -9
View File
@@ -201,17 +201,15 @@ Retrieves the configured presets.
</presets>
```
### POST /presets 🔄 **Planned**
### POST /presets **Not Supported**
Creates or updates a preset.
**Request XML:**
```xml
<preset id="1">
<ContentItem source="..." sourceAccount="..." location="...">
<itemName>Preset Name</itemName>
</ContentItem>
</preset>
```
**Status**: According to the official Bose SoundTouch API documentation, POST operations on `/presets` are marked as "N/A" - this endpoint officially does not support preset creation or modification via API.
**Alternative Methods**:
- Use the official Bose SoundTouch mobile app
- Use physical preset buttons on the device (long-press while content is playing)
- Changes made via these methods will be visible through the GET endpoint
## Advanced Features