A Home Assistant custom component to control Naim audio devices (like the Naim Atom) over your local network. This integration provides full control of your Naim device including playback, volume, source selection, and real-time status updates via WebSocket connection.
- 🎵 Full playback controls (play, pause, next/previous track)
- ⏱️ Media position and duration tracking
- 🔊 Volume control with 5% increments
- 🔇 Mute functionality
- 📻 Dynamic source discovery from your device
- ✅ Choose which sources appear in Home Assistant
- ⚙️ Reconfigure sources anytime via integration options
- 🖼️ Album art display
- 🏷️ Rich metadata display:
- Track title
- Artist name
- Album name
- Duration
- Current position
- 📊 Real-time status updates via WebSocket
- 🔌 Local network control (no cloud dependency)
- Open HACS in Home Assistant
- Click on "Custom Repositories"
- Add this repository URL with category "Integration"
- Click "Install"
- Copy the
custom_components/naim_media_playerdirectory to your Home Assistant'scustom_componentsdirectory - Restart Home Assistant
This integration uses Home Assistant's UI-based configuration flow. No YAML configuration is required.
- Go to Settings → Devices & Services
- Click the + ADD INTEGRATION button
- Search for "Naim Media Player"
- Enter your device's IP address and customize settings:
- Click Submit - the integration will verify connectivity to your device
- Select which input sources you want to appear in Home Assistant:
The integration will read from your Naim device viahttp://192.168.1.127:15081/inputs
To change which sources are visible after initial setup:
- Go to Settings → Devices & Services
- Find the Naim Media Player integration
- Click Configure
- Select or deselect sources as needed
- Naim Atom
- Naim Streamers that have http api support
Please report your experience with other Naim devices to help expand this list.
The media player entity works with any Home Assistant media player card. Here's an example using the popular Mini Media Player card:
type: custom:mini-media-player
entity: media_player.naim_atom
source: full
info: short
progress_bar: true
toggle_power: false- Dynamic Source Discovery: Sources are now automatically detected from your Naim device during setup
- Source Selection: Choose which input sources appear in Home Assistant
- Options Flow: Reconfigure sources anytime without removing the integration
- Includes all v0.2.2 fixes
- Improved Offline Handling: Entity shows as "Unavailable" when device is offline instead of spamming error logs
- Reduced Log Noise: Connection failures now log at DEBUG level instead of ERROR
- HTTP Timeout: Added 5-second timeout to HTTP requests to prevent long hangs during polling
- Real-time WebSocket Updates: Live status updates without polling delays
- Improved Volume Control: Debounce mechanism prevents UI feedback loops
- Enhanced Reliability: Robust HTTP API client with better error handling
- New Sources: Added Roon and HDMI support
- UI Configuration: Full config flow support for setup via Home Assistant UI
- Documentation: Improved setup instructions
- Initial release
If you're experiencing issues, add the following to your configuration.yaml:
logger:
default: info
logs:
custom_components.naim_media_player: debug


