✓ Verified 💻 Development ✓ Enhanced Data

Devialet

Control Devialet Phantom speakers via HTTP API.

Rating
4 (100 reviews)
Downloads
17,619 downloads
Version
1.0.0

Overview

Control Devialet Phantom speakers via HTTP API.

Complete Documentation

View Source →

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_IP environment variable, or add to TOOLS.md:
text
## Devialet Speaker
   - IP: 192.168.x.x
  • For Spotify integration: install Spotify desktop app, playerctl, and xdotool

Quick Usage

bash
# 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

  • 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):

bash
# 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.

Installation

Terminal bash

openclaw install devialet
    
Copied!

💻Code Examples

./scripts/play-on-devialet.sh status

scriptsplay-on-devialetsh-status.txt
## 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):
example.sh
# 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
example.sh
# 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 .

Tags

#smart_home-and-iot #api

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author jgm2025
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install devialet