NaimCo (NaimController) is package to control Naim Mu-so sound systems.
The main purpose of this package integration with Home Assistant.
Nothing much to see for the moment but you can turn on the radio to preset #2:
$ naim_control 192.168.1.183 --preset 2 --volume 10
usage: naim_control.py [-h] [-i {IRADIO,DIGITAL1,SPOTIFY,USB,UPNP,TIDAL,FRONT} | -p PRESET | -o] [-v VOLUME] address
Turn on Radio on naim Mu-so
positional arguments:
address ip address of Mu-so
options:
-h, --help show this help message and exit
-i {IRADIO,DIGITAL1,SPOTIFY,USB,UPNP,TIDAL,FRONT}, --input {IRADIO,DIGITAL1,SPOTIFY,USB,UPNP,TIDAL,FRONT}
Select input
-p PRESET, --preset PRESET
Preset [1-40]
-o, --off Turn receiver off
-v VOLUME, --volume VOLUME
Volume [0-100]
Motivation
Naim Mu-so implements DLNA to some extent and it is possible to control it in home automation systems. Basic stuff like volume up down and play some media works.
But there are functions that as far as I can tell can’t be controlled with upnp/DLNA such as:
On/Off ( Standby off or standby on í Naim terms )
- Input selection
iRadio
Digital
Analog
Naim does not publish an API for the Mu-so, but there is an App. So after 5 years of waiting for someone else to figure it out I decided to have a look at how it communicates with my Mu-so.
Communication
Some information found here: Sniffing
Metadata
Release files for naimco 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| naimco-0.4.1.tar.gz | 15.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| naimco-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.2 kB
Release files / naimco-0.4.1.tar.gz
| Download URL | naimco-0.4.1.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4af57d637d32154b4d076df406bd36abdfc5694f44d2917f99fca403a9cd362f
|
|
BLAKE2b-256 checksum How to use checksums |
cbf946e88ea80d704ad6e58a57c674bd570e36a2b757bd9af2e8b6ebbf2c2f91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 31, 2026.
Transparency logRelease files / naimco-0.4.1-py3-none-any.whl
| Download URL | naimco-0.4.1-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
02707e9ac28e95ea9089289268ef7917c777ae8a3574203ce5359cc2372df818
|
|
BLAKE2b-256 checksum How to use checksums |
7462a0e7f46694c4b659a614f860ba09755375b6b0433f4ee80d9641d4bc9379
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 31, 2026.
Transparency log