devialet

TotalClaw 作者 totalclaw

通过 HTTP API 控制 Devial​​​​et Phantom 扬声器。用于:播放/暂停、音量控制、静音/取消静音、源选择和扬声器状态。需要 DOS 2.14+ 固件。适用于 Phantom I、Phantom II、Phantom Reactor 和 Dialog。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~jgm2025-devialet
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~jgm2025-devialet/file -o jgm2025-devialet.md
## 概述(中文)

通过 HTTP API 控制 Devial​​​​et Phantom 扬声器。用于:播放/暂停、音量控制、静音/取消静音、源选择和扬声器状态。需要 DOS 2.14+ 固件。适用于 Phantom I、Phantom II、Phantom Reactor 和 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

```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

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

```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.