openhab-addons/bundles/org.openhab.binding.mpd
Wouter Born 07a1976c81
Add default translations for binding add-ons (#11760)
* Add default translations for binding add-ons

This makes the texts used by these add-ons translatable with Crowdin.

To keep the PR simple, it only adds default translations for add-ons which do not yet have any default translations properties file.
We can do follow up PRs for adding missing key/values to add-ons that already have these files or to remove duplications.

There are several add-ons in this PR that do have non-English translation files, so I'll upload those to Crowdin when the PR is merged.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-15 18:40:21 +01:00
..
src/main Add default translations for binding add-ons (#11760) 2021-12-15 18:40:21 +01:00
NOTICE added migrated 2.x add-ons 2020-09-21 03:37:19 +02:00
pom.xml applied spotless 2021-06-27 23:25:35 +02:00
README.md Fix http -> https where applyable. (#10573) 2021-04-24 20:39:51 +02:00

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