Sonos.Base
0.3.0-beta.7
dotnet add package Sonos.Base --version 0.3.0-beta.7
NuGet\Install-Package Sonos.Base -Version 0.3.0-beta.7
<PackageReference Include="Sonos.Base" Version="0.3.0-beta.7" />
<PackageVersion Include="Sonos.Base" Version="0.3.0-beta.7" />
<PackageReference Include="Sonos.Base" />
paket add Sonos.Base --version 0.3.0-beta.7
#r "nuget: Sonos.Base, 0.3.0-beta.7"
#:package Sonos.Base@0.3.0-beta.7
#addin nuget:?package=Sonos.Base&version=0.3.0-beta.7&prerelease
#tool nuget:?package=Sonos.Base&version=0.3.0-beta.7&prerelease
Control sonos speakers from dotnet
Always wanted to control sonos speakers right from your dotnet application? I've created this library for you to do just that.
Warning This library is far from complete at the moment, it's just an experiment for now check features for more details.
Control sonos in other languages
Show your support
Features
Currently this library is not at version one, these are the planned features that need to be build before this can be called a version one.
- All sonos services generated from service discovery
- Event subscriptions
- Dynamic metadata generation based on these docs
- SonosManager class that keeps track of speaker groups
- Device discovery, though it hardly works
Sonos-web
As an experiment I've created (mostly generated) an api and a blazor web interface to control sonos speakers.
Endpoints:
- Scalar API documentation at
/scalar
- API endpoints at
/api
- Album proxy at
/getaa
- Blazor web interface at
/
Want to try it out? Deploy the following docker compose file:
services:
web:
image: ghcr.io/svrooij/sonos-net:0.3.0-beta
restart: unless-stopped
ports:
- "8080:8080" # Web interface
- "6329:6329" # Sonos event listener
environment:
"SONOS_EVENT_HOST": "192.168.y.y" # Change to the IP of the machine running this container, so the sonos speakers know where to send the events
"SONOS_EVENT_PORT": 6329 # Change to the port you want to listen on, make sure it's the same as the one in the ports section
"SONOS_HOST": "http://192.168.x.x:1400/" # Change to the IP of one of your sonos speakers
CodeTour available
This project uses CodeTour in Visual Studio Code to describe how stuff works. If you want to contribute to this library, I suggest you to take a look at the code tour just to get started.
Contribute
We welcome all contributions to this project, to get started be sure to checkout the CodeTour which will explain how some files get generated.
If you see a file with the .g.cs
suffix it means that it is generated. Manual changes to these files will not be accepted because they will get lost upon next generation.
This library is licensed under GPL v3 and all contributions are considered to be publishable under that same license.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Http (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
-
net9.0
- Microsoft.Extensions.Http (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sonos.Base:
Package | Downloads |
---|---|
Sonos.Base.Events.Http
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.3.0-beta.7 | 157 | 9/22/2025 |
0.3.0-beta.6 | 123 | 9/10/2025 |
0.2.0-beta0040 | 196 | 12/8/2023 |
0.2.0-beta0038 | 587 | 12/8/2023 |
0.2.0-beta0032 | 167 | 8/9/2023 |
0.2.0-beta0030 | 155 | 5/26/2023 |
0.2.0-beta0028 | 153 | 5/19/2023 |
0.2.0-beta0027 | 205 | 12/28/2022 |
0.2.0-beta0024 | 174 | 12/27/2022 |
0.2.0-beta0022 | 174 | 11/18/2022 |
0.2.0-beta0021 | 183 | 11/17/2022 |
0.2.0-beta0019 | 189 | 11/16/2022 |
0.2.0-beta0011 | 187 | 11/15/2022 |
0.2.0-beta0009 | 205 | 11/15/2022 |