Smart Home & IoTDocumentedScanned

devialet

Control Devialet Phantom speakers via HTTP API.

Share:

Installation

npx clawhub@latest install devialet

View the full skill documentation and source below.

Documentation

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:

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

    # Volume (0-100)
    curl -X POST -H "Content-Type: application/json" \
      -d '{"volume": 50}' \
      ""
    
    # Play/Pause
    curl -X POST ""
    curl -X POST ""
    
    # Mute/Unmute
    curl -X POST ""
    curl -X POST ""
    
    # Get status
    curl -s "" | 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.