feat: Add system endpoints for clock/time management and network info

- Implement GET/POST /clockTime endpoints for device time management
- Implement GET/POST /clockDisplay endpoints for clock display configuration
- Implement GET /networkInfo endpoint with real API structure
- Add comprehensive models for ClockTime, ClockDisplay, and NetworkInformation
- Update NetworkInformation to match real SoundTouch API responses:
  * WiFi interfaces with SSID, frequency, signal strength, and connection state
  * Ethernet interfaces with connection state
  * Proper attribute-based XML structure matching actual device responses
- Add CLI support for all system endpoints with detailed output formatting
- Add comprehensive test coverage for all new models and client methods
- Update documentation to reflect real API structure and capabilities
- Anonymize all personal data (IP addresses, device IDs, device names)
- Add SYSTEM-ENDPOINTS.md documentation with real-world examples

Features:
- Clock time sync with current system time or specific timestamps
- Clock display configuration (enable/disable, format, brightness, auto-dim)
- Rich network interface information with WiFi signal quality and frequency bands
- Support for both WiFi and Ethernet SoundTouch devices
- Validated against real SoundTouch 10 and SoundTouch 20 device responses

All tests pass and builds successfully.
This commit is contained in:
Tobias Gesellchen
2026-01-09 10:24:32 +01:00
parent b7b856b98f
commit 46b7f3c6e7
31 changed files with 4245 additions and 156 deletions
+5 -5
View File
@@ -227,16 +227,16 @@ Retrieves balance settings (stereo devices).
### POST /balance ✅ **Implemented**
Sets balance settings.
### GET /clockTime 🔄 **Planned**
### GET /clockTime **Implemented**
Retrieves the device time.
### POST /clockTime 🔄 **Planned**
### POST /clockTime **Implemented**
Sets the device time.
### GET /clockDisplay 🔄 **Planned**
### GET /clockDisplay **Implemented**
Retrieves clock display settings.
### POST /clockDisplay 🔄 **Planned**
### POST /clockDisplay **Implemented**
Configures the clock display.
## WebSocket Connection
@@ -252,7 +252,7 @@ Establishes a persistent connection for live updates.
## Network and System
### GET /networkInfo 🔄 **Planned**
### GET /networkInfo **Implemented**
Retrieves network information.
### GET /capabilities ✅ **Implemented**