mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 16:46:17 +00:00
Volume Control Implementation: • Complete GET/POST /volume endpoint implementation with XML models • Volume model with validation, clamping, and safety features • Client methods: GetVolume(), SetVolume(), IncreaseVolume(), DecreaseVolume() • CLI commands: -volume, -set-volume, -inc-volume, -dec-volume with safety limits • Comprehensive volume level categorization and helper methods Key Controls Enhancement: • Fix press+release pattern: SendKey() now sends both press and release states • Follows API documentation requirement for proper key simulation • Add SendKeyPressOnly() and SendKeyReleaseOnly() for advanced usage • Update documentation to reflect press+release behavior • Add test for press+release pattern validation Safety Features: • Volume warnings for levels >30 with 2-second delay • Increment/decrement limits (10 up, 20 down per command) • Automatic volume clamping to 0-100 range • Clear volume level descriptions (Mute, Quiet, Medium, High, Loud) Testing & Documentation: • Comprehensive volume control tests (30+ test cases) • Complete documentation in docs/VOLUME-CONTROLS.md • Updated key controls documentation for press+release pattern • Real device testing with both SoundTouch 10 and 20 • All tests pass, no diagnostics errors Real Device Integration: • Fixed volume key press issues through proper press+release cycle • Tested volume API endpoints with actual devices • Safe volume levels maintained during testing Breaking Changes: None Backward Compatibility: Fully maintained Production Ready: ✅ Volume control endpoints (GET/POST /volume) ✅ Enhanced key controls with proper press+release pattern ✅ Comprehensive safety features for volume management ✅ Real device validation and testing