This project offers a robust Go library and CLI tool for seamless integration and control of Bose SoundTouch devices via their Web API. With features like complete API coverage, real-time event monitoring, and multiroom support, it simplifies device management across platforms, making it essential for Bose users.
The Bose SoundTouch API Client is a robust Go library and command-line interface (CLI) tool designed for efficient control and interaction with Bose SoundTouch devices through their Web API.
Key Features
- Complete API Coverage: Full implementation of all available SoundTouch Web API endpoints.
- Media Control: Manage playback functions including play, pause, stop, volume adjustments, bass, balance, and source selection.
- Multiroom Support: Build and control audio zones that connect multiple speakers seamlessly.
- Real-time Events: Utilize WebSocket connections for live monitoring of device states and updates.
- Device Discovery: Automatically identify SoundTouch devices on the network using UPnP/SSDP and mDNS protocols.
- Comprehensive CLI Tool: All functionalities accessible through a command-line interface.
- Production Ready: Rigorously tested with actual SoundTouch hardware to ensure stability and performance.
- Cross-Platform: Compatible with Windows, macOS, and Linux operating systems.
Usage Examples
Use the CLI to quickly discover devices and control playback:
# Discover SoundTouch devices on the network
soundtouch-cli discover devices
# Control a device
soundtouch-cli --host 192.168.1.100 play start
soundtouch-cli --host 192.168.1.100 volume set --level 50
For library integration, interact with the SoundTouch devices programmatically:
package main
import (
"fmt"
"log"
"github.com/gesellix/bose-soundtouch/pkg/client"
)
func main() {
c := client.NewClient(&client.Config{
Host: "192.168.1.100",
Port: 8090,
})
// Get device information
info, err := c.GetDeviceInfo()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Device: %s\n", info.Name)
// Control playback
c.Play()
}
Supported Devices
This library supports a range of Bose SoundTouch-compatible devices, including:
- SoundTouch 10, 20, and 30 series
- SoundTouch Portable
- Wave SoundTouch music system
Follow the extensive documentation for guides on various functionalities, troubleshooting, and advanced configurations. This project relies on the official Bose SoundTouch Web API documentation and is developed independently without affiliation to Bose Corporation.
No comments yet.
Sign in to be the first to comment.