🧪 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
❤️ 0
⬇️ 1.6k
👁 1
Share

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

  1. Find your speaker's IP address (check router or Devialet app)
  2. Set the DEVIALET_IP environment variable, or add to TOOLS.md:
    ## Devialet Speaker
    - IP: 192.168.x.x
    
  3. 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
    • playerctl and xdotool installed (sudo apt install playerctl xdotool)
    • Speaker set as Spotify Connect device (select once in Spotify app)

How It Works

  1. Searches for track via Spotify desktop app (D-Bus/MPRIS)
  2. Opens track URI in Spotify
  3. Spotify Connect streams to Devialet
  4. 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)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs