/install devialet
Devialet Speaker Control
Control Devialet speakers (Phantom, Mania) over your local network with Spotify integration.
Natural Language Commands
When the user says things like:
- "Play Nines - Lick Shots on my speaker" → Search and play via Spotify
- "Set speaker volume to 40" → Adjust volume
- "Pause the music" → Pause playback
- "What's playing?" → Check current track and status
Setup
- Find your speaker's IP address (check router or Devialet app)
- Set the
DEVIALET_IPenvironment variable, or add toTOOLS.md:## Devialet Speaker - IP: 192.168.x.x - For Spotify integration: install Spotify desktop app, playerctl, and xdotool
Quick Usage
# Set your speaker IP
export DEVIALET_IP="192.168.x.x"
# Play a song (search and play)
./scripts/play-on-devialet.sh "Drake - God's Plan"
# Play by Spotify URI
./scripts/play-on-devialet.sh spotify:track:4YZNJOA9d8wiO5ELNY5WxC
# Pause / Resume
./scripts/play-on-devialet.sh pause
./scripts/play-on-devialet.sh resume
# Volume
./scripts/play-on-devialet.sh volume 50
# Status
./scripts/play-on-devialet.sh status
Requirements
- Devialet speaker with DOS 2.14+ or SDOS 1.3+ firmware
- Spotify integration (optional):
- Spotify desktop app running and logged in
playerctlandxdotoolinstalled (sudo apt install playerctl xdotool)- Speaker set as Spotify Connect device (select once in Spotify app)
How It Works
- Searches for track via Spotify desktop app (D-Bus/MPRIS)
- Opens track URI in Spotify
- Spotify Connect streams to Devialet
- Devialet API controls playback/volume
Direct Devialet API
For non-Spotify control (replace $DEVIALET_IP with your speaker's IP):
# Volume (0-100)
curl -X POST -H "Content-Type: application/json" \
-d '{"volume": 50}' \
"http://$DEVIALET_IP/ipcontrol/v1/systems/current/sources/current/soundControl/volume"
# Play/Pause
curl -X POST "http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/play"
curl -X POST "http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/pause"
# Mute/Unmute
curl -X POST "http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/mute"
curl -X POST "http://$DEVIALET_IP/ipcontrol/v1/groups/current/sources/current/playback/unmute"
# Get status
curl -s "http://$DEVIALET_IP/ipcontrol/v1/devices/current" | jq .
Supported Models
- Phantom I, Phantom II, Phantom Reactor (DOS 2.14+)
- Dialog
- Mania (SDOS 1.3+)
API Reference
See references/api.md for complete endpoint documentation.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install devialet - After installation, invoke the skill by name or use
/devialet - Provide required inputs per the skill's parameter spec and get structured output
What is Devialet Speaker Control?
Control Devialet Phantom speakers via HTTP API. Use for: play/pause, volume control, mute/unmute, source selection, and speaker status. Requires DOS 2.14+ firmware. Works with Phantom I, Phantom II, Phantom Reactor, and Dialog. It is an AI Agent Skill for Claude Code / OpenClaw, with 1915 downloads so far.
How do I install Devialet Speaker Control?
Run "/install devialet" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Devialet Speaker Control free?
Yes, Devialet Speaker Control is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Devialet Speaker Control support?
Devialet Speaker Control is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Devialet Speaker Control?
It is built and maintained by JGM2025 (@jgm2025); the current version is v1.0.0.