🧪 Skills
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, P
v1.0.0
Description
name: devialet description: "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."
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.
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!