mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-11 15:42:10 +01:00
107 lines
3.7 KiB
Markdown
107 lines
3.7 KiB
Markdown
|
# MPD Binding
|
||
|
|
||
|
[Music Player Daemon (MPD)](http://www.musicpd.org/) is a flexible, powerful, server-side application for playing music. Through plugins and libraries it can play a variety of sound files while being controlled by its network protocol.
|
||
|
|
||
|
With the openHAB MPD binding you can control Music Player Daemons.
|
||
|
|
||
|
|
||
|
## Supported Things
|
||
|
|
||
|
This binding supports one ThingType: mpd
|
||
|
|
||
|
## Discovery
|
||
|
|
||
|
If zeroconf is enabled in the Music Player Daemon, it is discovered. Each Music Player daemon requires a unique zeroconf_name for correct discovery.
|
||
|
|
||
|
|
||
|
## Thing Configuration
|
||
|
|
||
|
The ThingType mpd requires the following configuration parameters:
|
||
|
|
||
|
| Parameter Label | Parameter ID | Description | Required |
|
||
|
|-----------------|--------------|--------------------------------------------------------------------------|----------|
|
||
|
| IP Address | ipAddress | Host name or IP address of the Music Player Daemon | yes |
|
||
|
| Port | port | Port number on which the Music Player Daemon is listening. Default: 6600 | yes |
|
||
|
| Password | password | Password to access the Music Player Daemon | no |
|
||
|
|
||
|
|
||
|
## Channels
|
||
|
|
||
|
The following channels are currently available:
|
||
|
|
||
|
| Channel Type ID | Item Type | Description |
|
||
|
|-----------------|-----------|---------------------------|
|
||
|
| control | Player | Start/Pause/Next/Previous |
|
||
|
| volume | Dimmer | Volume in percent |
|
||
|
| stop | Switch | Stop playback |
|
||
|
| currentalbum | String | Current album |
|
||
|
| currentartist | String | Current artist |
|
||
|
| currentname | String | Current name |
|
||
|
| currentsong | Number | Current song |
|
||
|
| currentsongid | Number | Current song id |
|
||
|
| currenttitle | String | Current title |
|
||
|
| currenttrack | Number | Current track |
|
||
|
|
||
|
|
||
|
## Full Example
|
||
|
|
||
|
#### Thing
|
||
|
|
||
|
```
|
||
|
mpd:mpd:music [ ipAddress="192.168.1.2", port=6600 ]
|
||
|
```
|
||
|
|
||
|
#### Items
|
||
|
|
||
|
```
|
||
|
Switch morning_music "Morning music"
|
||
|
|
||
|
Player mpd_music_player "Player" { channel = "mpd:mpd:music:control" }
|
||
|
Dimmer mpd_music_volume "Volume [%d %%]" { channel = "mpd:mpd:music:volume" }
|
||
|
Switch mpd_music_stop "Stop" { channel = "mpd:mpd:music:stop" }
|
||
|
String mpd_music_album "Album [%s]" { channel = "mpd:mpd:music:currentalbum" }
|
||
|
String mpd_music_artist "Artist [%s]" { channel = "mpd:mpd:music:currentartist" }
|
||
|
String mpd_music_name "Name [%s]" { channel = "mpd:mpd:music:currentname" }
|
||
|
Number mpd_music_song "Song [%d]" { channel = "mpd:mpd:music:currentsong" }
|
||
|
Number mpd_music_song_id "Song Id [%d]" { channel = "mpd:mpd:music:currentsongid" }
|
||
|
String mpd_music_title "Title [%s]" { channel = "mpd:mpd:music:currenttitle" }
|
||
|
Number mpd_music_track "Track [%d]" { channel = "mpd:mpd:music:currenttrack" }
|
||
|
```
|
||
|
|
||
|
#### Sitemap
|
||
|
|
||
|
```
|
||
|
Frame label="Music" {
|
||
|
Default item=mpd_music_player
|
||
|
Slider item=mpd_music_volume
|
||
|
Switch item=mpd_music_stop
|
||
|
Text item=mpd_music_album
|
||
|
Text item=mpd_music_artist
|
||
|
Text item=mpd_music_name
|
||
|
Text item=mpd_music_song
|
||
|
Text item=mpd_music_song_id
|
||
|
Text item=mpd_music_title
|
||
|
Text item=mpd_music_track
|
||
|
}
|
||
|
```
|
||
|
|
||
|
#### Rule
|
||
|
|
||
|
```
|
||
|
rule "turn on morning music"
|
||
|
when
|
||
|
Item morning_music changed to ON
|
||
|
then
|
||
|
val actions = getActions("mpd","mpd:mpd:music")
|
||
|
if(actions === null) {
|
||
|
logWarn("myLog", "actions is null")
|
||
|
return
|
||
|
}
|
||
|
|
||
|
actions.sendCommand("clear")
|
||
|
actions.sendCommand("load", "MorningMusic");
|
||
|
actions.sendCommand("shuffle");
|
||
|
actions.sendCommand("play");
|
||
|
end
|
||
|
```
|