Plugin ‚mpd‘ Konfiguration

plugin logo

Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin mpd konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann. [1]

Es handelt sich bei diesem Plugin um ein gateway Plugin.

Beschreibung

Music Player Daemon (MPD) Unterstützung

Anforderungen

  • Minimum SmartHomeNG Version: 1.8.2a

  • Minimum Python Version: 3.6

Konfiguration

Im folgenden ist beschrieben, wie das Plugin mpd konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann.

Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/plugin.yaml konfiguriert werden:

cycle

Gibt an nach wie vielen Sekunden die Statusitems aktualisiert werden

  • Datentyp: int

  • Standardwert: 2

host

IP oder Hostname des MPD

  • Datentyp: ip

port

Der Port auf dem MPD lauscht.

  • Datentyp: int

  • Standardwert: 6600

Item Attribute

Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items verwendet werden:

mpd_command

Implementiert Anweisungen die genutzt werden um das Abspielen von Musikstücken zu kontrollieren

  • Datentyp: str

  • Mögliche Werte:

    • playpause   -   bool, 0 oder 1, 1 um Musik abzuspielen, auch genutzt als mpd_status

    • mute   -   bool, 0 oder 1, 1 um die Lautstärke auf 0% zu setzen, auch genutzt als mpd_status

    • volume   -   num, 0-100 um die Lautstärke zu setzen, auch genutzt als mpd_status

    • repeat   -   bool, 0 oder 1, auch genutzt als mpd_status

    • random   -   bool, 0 oder 1, auch genutzt als mpd_status

    • single   -   bool, Schaltet Einzelwiedergabe um. Wenn Einzelwiedergabe eingeschaltet ist, stoppt der MPD nach dem aktuellen Titel oder das Musikstück wird wiederholt, wenn der ‚repeat‘ Modus eingeschaltet ist. Auch genutzt als mpd_status

    • consume   -   bool, Setzt den consume state to STATE, STATE sollte 0 oder 1 sein. Wenn consume aktiviert ist, wird jedes abgespielte Musikstück von der Playliste entfernt, auch genutzt als mpd_status

    • next   -   bool, Spielt das nächste Musikstück aus der Playliste

    • pause   -   bool, Schaltet den Pausenstatus um, PAUSE ist 0 oder 1

    • play   -   num, Beginnt die Playliste bei Musikstück Nummer <value> abzuspielen

    • playid   -   num, Beginnt die Playliste bei Musikstück <value> abzuspielen

    • previous   -   bool, Spielt das vorhergehende Musikstück aus der Playliste ab

    • seek   -   str, Springt zur Zeit TIME (in Sekunden, float) des Eintrags SONGPOS in der Playliste, format: „SONGPOS TIME“

    • seekid   -   str, Springt zur Zeit TIME (in Sekunden, float) des Eintrags SONGID in der Playliste, format: „SONGID TIME“

    • seekcur   -   str, Springt zur Zeit TIME (in Sekunden, float) innerhalb des aktuellen Musikstücks. Wenn ein Prefix ‚+‘ oder ‚-‘ angegebene ist, wird die gegebene Zeit relativ zur aktuellen Position berechnet

    • stop   -   bool, Stoppt das Abspielen

    • crossfade   -   num, Setzt Überblendung zwischen Musikstücken

    • mixrampdb   -   num, Setzt den Bereich der Überblendung zwischen zwei Musikstücken. Wie überblenden, aber die Laustärken werden nicht angepaßt sondern nur eine Überlappung zwischen den Musikstücken erreicht

    • mixrampdelay   -   num, Zusätzlich abgezogene Zeit von der Überlappung die mit mixrampdb berechnet wurde

    • setvol   -   num, Setzt die Laustärke auf VOL, der Bereich der Lautstärke ist zwischen 0 und 100

    • replay_gain_mode   -   str, Setzt den replay gain Modus. Entweder ‚off‘, ‚track‘, ‚album‘ oder ‚auto‘

mpd_database

Implementiert Anweisungen die zur Kontrolle der Datenbank genutzt werden können

  • Datentyp: str

  • Mögliche Werte:

    • update   -   Aktualisiert die Musikdatenbank, neue Dateien suchen, gelöschte entfernen, geänderte aktualisieren.

    • rescan   -   Aktualisiert die Musikdatenbank, neue Dateien suchen, gelöschte entfernen, alle Dateien aktualisieren.

mpd_localplaylist

Sucht eine lokale Playlist mit einem gegebenen Namen und spielt sie ab wenn sie gefunden wurde

  • Datentyp: str

mpd_rawcommand

Sendet den angegebenen Wert direkt an MPD

  • Datentyp: str

mpd_songinfo

Implementiert Kommandos und Informationen über das aktuell gespielte Musikstück zu erhalten

  • Datentyp: str

  • Mögliche Werte:

    • file   -   str, Pfad der aktuell spielenden Datei

    • Last-Modified   -   str, Datum der letzten Änderung des Musikstückes

    • Artist   -   str, Artist des aktuell spielenden Musikstückes

    • Album   -   str, Album des aktuell spielenden Musikstückes

    • Title   -   str, Title des aktuell spielenden Musikstückes

    • Track   -   str, Track# des aktuell spielenden Musikstückes

    • Time   -   str, Länge des aktuell spielenden Musikstückes

    • Pos   -   str, Position des Musikstückes in der Playlist

    • Id   -   str, Id des Musikstückes

mpd_statistic

Implementiert Anweisungen die zur Statistikabfrage des MPD genutzt werden

  • Datentyp: str

  • Mögliche Werte:

    • artists   -   num, Anzahl der Künstler

    • albums   -   num, Anzahl der Alben

    • songs   -   num, Anzahl der Musikstücke

    • uptime   -   num, bisherige Laufzeit des Daemons in Sekunden

    • db_playtime   -   num, Summe der Dauer aller Musikstücke in der Datenbank

    • db_update   -   num, Letztes Datenbankupdate in UNIX time

    • playtime   -   num, Länge der gespielten Musik

mpd_status

Implementiert Anweisungen um den MPD Status abzufragen

  • Datentyp: str

  • Mögliche Werte:

    • playpause   -   bool, 0 or 1, 1 während Musik abgespielt wird, auch als mpd_command genutzt

    • mute   -   bool, 0 or 1, 1 wenn Laustärke auf 0% gesetzt ist, auch als mpd_command genutzt

    • volume   -   num, 0-100 oder -1 wenn die Lautsärke nicht ermittelt werden kann, auch als mpd_command genutzt

    • repeat   -   bool, 0 or 1, auch als mpd_command genutzt

    • random   -   bool, 0 or 1, auch als mpd_command genutzt

    • single   -   bool, 0 or 1, auch als mpd_command genutzt

    • consume   -   bool, 0 or 1, auch als mpd_command genutzt

    • playlist   -   num, 31-bit unsigned integer, Versionsnummer der Playlist

    • playlistlength   -   num, integer, die Länge der Playlist

    • mixrampdb   -   num, mixramp threshold in dB

    • state   -   str, Play, Stop, oder Pause

    • song   -   num, Playlist Musikstücknummer des aktuellen Musikstückes

    • songid   -   num, Playlist Musikstück ID des aktuellen Musikstückes

    • time   -   str, Gesamte abgelaufene Zeit des aktuell abgespielten/pausierten Musikstückes

    • elapsed   -   str, Gesamte abgelaufene Zeit des aktuell abgespielten/pausierten Musikstückes, aber mit höherer Auflösung

    • bitrate   -   num, Aktuelle Bitrate in kbps

    • audio   -   str, Das Format das vom Decoder beim Apielen gemeldet wurde. format: „samplerate:bits:channels“

    • nextsong   -   num, Playlist Nummer des nächsten abzuspielenden Musikstückes

    • nextsongid   -   num, Playlist ID des nächsten abzuspielenden Musikstückes

    • duration   -   num, Dauer des aktuellen Musikstückes in Sekunden

    • xfade   -   num, crossfade in Sekunden

    • mixrampdelay   -   num, mixrampdelay in Sekunden

    • updating_db   -   str, job id

    • error   -   str, Fehlermeldung des MPD

mpd_url

Untersucht die gegebene URL und versucht den Stream abzuspielen

  • Datentyp: str

Logik Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/logic.yaml konfiguriert werden:

Keine Logik Parameter in den Metadaten beschrieben - Bitte in der README nachsehen (siehe Fußnote)

Plugin Functions

Das Plugin verfügt über folgende öffentliche Funktionen, die z.B. in Logiken aufgerufen werden können.

Keine