mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
0e68936663
Signed-off-by: Jerome Luckenbach <github@luckenba.ch> |
||
---|---|---|
.. | ||
src/main | ||
NOTICE | ||
pom.xml | ||
README.md |
MPD Binding
Music Player Daemon (MPD) 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