devialet-phantom
v0.2.0
Published
Control Devialet Phantom Speakers (Play, Pause, Volume etc.)
Downloads
5
Readme
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.
💡 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
▶️ 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.