devialet-phantom

0.2.0 • Public • Published

NAC-depend-none NODEJS NPM GitHub version NAC-license

Devialet

Devialet phantom-remote-control

HTTP Adapter to remote control Devialet Phantom Speakers

This code allows you to control your devialet phantom using a very simple API, or even from your web browser. It automatically detects your Devialet Phantom speakers on your local network.

Devialet Phantom

💡 Features

Control the musical playback of your Devialet speakers

Devialet 🔊 Phantom Dialog 🔉 Phantom Premier 🔈 Phantom Reactor
Play Mp3 file ✔️ ✔️ ✔️
Pause and Resume ✔️ ✔️ ✔️
Stop ✔️ ✔️ ✔️
Change volume ✔️ ✔️ ✔️
Get current volume ✔️ ✔️ ✔️
Increase or decrease volume ✔️ ✔️ ✔️
Recover the playback position ✔️ ✔️ ✔️
Recover the playback duration ✔️ ✔️ ✔️
Move playback to a specific time of the music ✔️ ✔️ ✔️
Control several speakers at the same time ✔️ ✔️

🔧 Installation

npm install phantom-remote-control
node index.js

You need NodeJS and NPM

▶️ Usage

URL Description
?play=http://site.com/music.mp3 Play Mp3 file
?setVolume=30 Set volume to a specific value
?setVolume=Up Increase volume
?setVolume=Down Decrease volume
?pause=1 Pause
?play=1 Resume
?stop=1 Stop
?getPosition=1 Get current position
?getDuration=1 Get music duration
?seek=30 Move playback to a specific time of the music

🔗 Example:

http://127.0.0.1:8090/?setVolume=Up

⏩ These requests can be made by web browser or used as an API to serve as a keyboard shortcut for example.

🧰 Configuration

No configuration is needed, it works out of the box, however, you can edit config.json if you need to.

{
"http_local_port":                  8090,
"devialet_ipaddress":               "autodetect",
"devialet_port":                    "autodetect",
"devialet_device_description_xml":  "autodetect",
"ssdp_detection_interval":          10000,
"volume_step":                      10,
"debug":                            false
}

Each variable in the config can have these options:

  • http_local_port: Local port to use to listen HTTP request.
  • devialet_ipaddress and devialet_port: Can be used together to force this program to use a specific or undetected sound system.
  • devialet_device_description_xml: Can be used to force a specific device.
  • ssdp_detection_interval: Interval to make SSDP request to find a device.
  • volume_step: Up and Down volume step to use.
  • debug: Let you use a .env file to specify environnement variable.

✏️ Contributing

  • Add new control features
  • Add a control panel to use in the browser

🎓 Copyright and license

Code released under the GNU General Public License v3.0.

Readme

Keywords

none

Package Sidebar

Install

npm i devialet-phantom

Weekly Downloads

3

Version

0.2.0

License

GNU

Unpacked Size

52.8 kB

Total Files

5

Last publish

Collaborators

  • wandrille