Plugin ‚lms‘ Konfiguration

plugin logo

Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin lms 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 interface Plugin.

ACHTUNG: Dieses Plugin ist als develop gekennzeichnet. Es kann daher sein, dass es noch nicht sämtliche Funktionen unterstützt oder noch fehlerhaft ist.

Beschreibung

Anforderungen

  • Minimum SmartHomeNG Version: 1.9.5

  • Minimum Python Version: 3.7

Konfiguration

Im folgenden ist beschrieben, wie das Plugin lms 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:

autoconnect

  • Datentyp: bool

autoreconnect

  • Datentyp: bool

  • Standardwert: True

connect_cycle

  • Datentyp: num

  • Standardwert: 3

connect_retries

  • Datentyp: num

  • Standardwert: 5

delay_initial_read

  • Datentyp: num

  • Standardwert: 0

host

  • Datentyp: str

port

  • Datentyp: int

  • Standardwert: 9090

recursive_custom

  • Datentyp: bool

  • Standardwert: True

resume_initial_read

  • Datentyp: bool

retry_cycle

  • Datentyp: num

  • Standardwert: 30

retry_suspend

  • Datentyp: num

  • Standardwert: 3

send_retries

  • Datentyp: num

  • Standardwert: 0

send_retries_cycle

  • Datentyp: num

  • Standardwert: 1

  • Minimalwert: 1

suspend_item

  • Datentyp: str

terminator

  • Datentyp: str

  • Standardwert: r

timeout

  • Datentyp: num

  • Standardwert: 3

web_host

  • Datentyp: str

web_port

  • Datentyp: int

  • Standardwert: 9000

Item Attribute

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

lms_command

  • Datentyp: str

lms_custom1

  • Datentyp: str

lms_lookup

  • Datentyp: str

lms_read

  • Datentyp: bool

lms_read_cycle

  • Datentyp: num

lms_read_group

  • Datentyp: list(str)

lms_read_group_trigger

  • Datentyp: str

lms_read_initial

  • Datentyp: bool

lms_valid_list

  • Datentyp: str

lms_write

  • Datentyp: bool

Item-Structs

Das Plugin stellt die folgenden Item-Structs zur Verfügung. Diese Informationen sind aus der plugin.yaml entnommen und möglicherweise nicht vollständig.

ALL

  • ALL (foo, —)
    • read (bool, —)

    • server (foo, —)
      • read (bool, —)

      • version (str, —)

      • restart (bool, —)

      • listenmode (bool, —)

      • playercount (num, —)

      • favoritescount (num, —)

      • syncgroups (foo, —)
        • read (bool, —)

        • members (list, —)

        • names (list, —)

      • newclient (str, —)

      • forgetclient (str, —)

      • players (dict, —)
        • lu_names (dict, —)
          • lookup (list, —)

      • playlists (foo, —)
        • read (bool, —)

        • available (dict, —)
          • lu_ids (dict, —)
            • lookup (list, —)

          • lu_urls (dict, —)
            • lookup (list, —)

        • rename (str, „needed value:<playlist_id> <newname> with a space inbetween“)

        • delete (str, —)
          • lookup (list, —)

    • database (foo, —)
      • read (bool, —)

      • rescan (foo, —)
        • read (bool, —)

        • start (str, „playlists|onlinelibrary|external|full|full file://some/path“)

        • running (bool, —)

        • progress (str, —)
          • poll (bool, —)

          • starttime (str, —)

          • info (str, —)

          • step (num, —)

          • totalsteps (num, —)

        • runningtime (str, —)

        • fail (str, —)

        • abortscan (bool, —)

        • wipecache (bool, Be aware - this starts a complete library rescan)

      • totalgenres (num, —)

      • totalduration (num, —)
        • duration_format (str, —)

      • totalartists (num, —)

      • totalalbums (num, —)

      • totalsongs (num, —)

      • totalplaylists (num, —)

    • server_plugins (foo, —)
      • read (bool, —)

      • trackstat (foo, —)
        • read (bool, —)

        • get_rating (str, —)

        • set_rating (str, —)

    • player_plugins (foo, —)
      • read (bool, —)

      • customskip (foo, —)
        • read (bool, —)

        • active_filter (str, —)

        • remove_filter (bool, —)

    • player (foo, —)
      • read (bool, —)

      • control (foo, —)
        • read (bool, —)

        • power (bool, —)

        • playmode (str, —)

        • playpause (bool, —)

        • stop (bool, —)

        • mute (bool, —)

        • volume (num, —)

        • volume_fading (num, —)
          • goal (num, —)

        • volume_low (num, —)

        • volume_high (num, —)

        • volumeup (num, —)

        • volumedown (num, —)

        • set_alarm (str, —)

        • alarms (dict, —)
          • query (bool, —)

        • sync (str, This can be either a name or MAC address of a connected player. Make sure to include the server struct to fill the lookup table correctly.)

        • sync_status (list, —)

        • unsync (bool, —)

        • display (str, —)

        • connect (str, ip|www.mysqueezebox.com|www.test.mysqueezebox.com)

        • disconnect (str, ip|www.mysqueezebox.com|www.test.mysqueezebox.com)

        • time (num, —)
          • poll (bool, —)

        • forward (num, —)

        • rewind (num, —)

        • playitem (str, provide specified song URL, playlist or directory. Gets player right away.)

        • sleep (num, —)

      • playlist (foo, —)
        • read (bool, —)

        • rename_current (str, —)

        • delete_current (bool, Be careful, instantly deletes the current playlist!)

        • repeat (str, 0 = Off, 1 = Song, 2 = Playlist)
          • lookup (list, —)

        • shuffle (str, 0 = Off, 1 = Song, 2 = Album)
          • lookup (list, —)

        • index (str, —)

        • current_name (str, —)

        • current_url (str, —)

        • current_id (num, —)

        • save (str, —)

        • load (str, —)

        • loadalbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

        • loadtracks (str, loads and plays all songs matching the specified searchparam criteria directly)

        • additem (str, provide specified song URL, playlist or directory)

        • addalbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

        • addtracks (str, appends all songs matching the specified searchparam criteria onto the end of the playlist)

        • insertalbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

        • insertitem (str, provide specified song URL, playlist or directory)

        • deletesong (num, provide songindex that should be deleted)

        • deletealbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

        • deleteitem (str, provide specified song URL, playlist or directory)

        • tracks (num, —)

        • clear (bool, Might go berserk, use with care!)

        • preview (str, —)

        • next (num, —)

        • previous (num, —)

        • modified (bool, —)

      • info (foo, —)
        • read (bool, —)

        • player (foo, OrderedDict([(‚type‘, ‚str‘), (‚lms_command@instance‘, ‚player.info.player.name‘), (‚lms_read@instance‘, True), (‚lms_write@instance‘, True), (‚lms_read_group@instance‘, [‚ALL‘, ‚ALL.player‘, ‚ALL.player.info‘, ‚ALL.player.info.player‘])]))
          • read (bool, —)

          • status_subscribe (bool, —)

          • status (str, —)

          • connected (bool, —)

          • ip (str, —)

          • modelname (str, —)

          • firmware (str, —)

          • name (str, —)

          • signalstrength (num, —)

          • albumarturl (str, This item gets automatically defined and overwritten based on ‚web_host‘/‘host‘ and ‚web_port‘)

        • currentsong (foo, —)
          • read (bool, —)

          • genre (str, —)

          • artist (str, —)

          • album (str, —)

          • title (str, —)

          • file_path (str, —)

          • duration (num, —)
            • duration_format (str, —)

database

  • database (foo, —)
    • read (bool, —)

    • rescan (foo, —)
      • read (bool, —)

      • start (str, „playlists|onlinelibrary|external|full|full file://some/path“)

      • running (bool, —)

      • progress (str, —)
        • poll (bool, —)

        • starttime (str, —)

        • info (str, —)

        • step (num, —)

        • totalsteps (num, —)

      • runningtime (str, —)

      • fail (str, —)

      • abortscan (bool, —)

      • wipecache (bool, Be aware - this starts a complete library rescan)

    • totalgenres (num, —)

    • totalduration (num, —)
      • duration_format (str, —)

    • totalartists (num, —)

    • totalalbums (num, —)

    • totalsongs (num, —)

    • totalplaylists (num, —)

player

  • player (foo, —)
    • read (bool, —)

    • control (foo, —)
      • read (bool, —)

      • power (bool, —)

      • playmode (str, —)

      • playpause (bool, —)

      • stop (bool, —)

      • mute (bool, —)

      • volume (num, —)

      • volume_fading (num, —)
        • goal (num, —)

      • volume_low (num, —)

      • volume_high (num, —)

      • volumeup (num, —)

      • volumedown (num, —)

      • set_alarm (str, —)

      • alarms (dict, —)
        • query (bool, —)

      • sync (str, This can be either a name or MAC address of a connected player. Make sure to include the server struct to fill the lookup table correctly.)

      • sync_status (list, —)

      • unsync (bool, —)

      • display (str, —)

      • connect (str, ip|www.mysqueezebox.com|www.test.mysqueezebox.com)

      • disconnect (str, ip|www.mysqueezebox.com|www.test.mysqueezebox.com)

      • time (num, —)
        • poll (bool, —)

      • forward (num, —)

      • rewind (num, —)

      • playitem (str, provide specified song URL, playlist or directory. Gets player right away.)

      • sleep (num, —)

    • playlist (foo, —)
      • read (bool, —)

      • rename_current (str, —)

      • delete_current (bool, Be careful, instantly deletes the current playlist!)

      • repeat (str, 0 = Off, 1 = Song, 2 = Playlist)
        • lookup (list, —)

      • shuffle (str, 0 = Off, 1 = Song, 2 = Album)
        • lookup (list, —)

      • index (str, —)

      • current_name (str, —)

      • current_url (str, —)

      • current_id (num, —)

      • save (str, —)

      • load (str, —)

      • loadalbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

      • loadtracks (str, loads and plays all songs matching the specified searchparam criteria directly)

      • additem (str, provide specified song URL, playlist or directory)

      • addalbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

      • addtracks (str, appends all songs matching the specified searchparam criteria onto the end of the playlist)

      • insertalbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

      • insertitem (str, provide specified song URL, playlist or directory)

      • deletesong (num, provide songindex that should be deleted)

      • deletealbum (str, <Genre> <Artist> <Album>. You can use * for any of the entries. Spaces need to be replaced by %20)

      • deleteitem (str, provide specified song URL, playlist or directory)

      • tracks (num, —)

      • clear (bool, Might go berserk, use with care!)

      • preview (str, —)

      • next (num, —)

      • previous (num, —)

      • modified (bool, —)

    • info (foo, —)
      • read (bool, —)

      • player (foo, OrderedDict([(‚type‘, ‚str‘), (‚lms_command@instance‘, ‚player.info.player.name‘), (‚lms_read@instance‘, True), (‚lms_write@instance‘, True), (‚lms_read_group@instance‘, [‚player‘, ‚player.info‘, ‚player.info.player‘])]))
        • read (bool, —)

        • status_subscribe (bool, —)

        • status (str, —)

        • connected (bool, —)

        • ip (str, —)

        • modelname (str, —)

        • firmware (str, —)

        • name (str, —)

        • signalstrength (num, —)

        • albumarturl (str, This item gets automatically defined and overwritten based on ‚web_host‘/‘host‘ and ‚web_port‘)

      • currentsong (foo, —)
        • read (bool, —)

        • genre (str, —)

        • artist (str, —)

        • album (str, —)

        • title (str, —)

        • file_path (str, —)

        • duration (num, —)
          • duration_format (str, —)

player_plugins

  • player_plugins (foo, —)
    • read (bool, —)

    • customskip (foo, —)
      • read (bool, —)

      • active_filter (str, —)

      • remove_filter (bool, —)

server

  • server (foo, —)
    • read (bool, —)

    • version (str, —)

    • restart (bool, —)

    • listenmode (bool, —)

    • playercount (num, —)

    • favoritescount (num, —)

    • syncgroups (foo, —)
      • read (bool, —)

      • members (list, —)

      • names (list, —)

    • newclient (str, —)

    • forgetclient (str, —)

    • players (dict, —)
      • lu_names (dict, —)
        • lookup (list, —)

    • playlists (foo, —)
      • read (bool, —)

      • available (dict, —)
        • lu_ids (dict, —)
          • lookup (list, —)

        • lu_urls (dict, —)
          • lookup (list, —)

      • rename (str, „needed value:<playlist_id> <newname> with a space inbetween“)

      • delete (str, —)
        • lookup (list, —)

server_plugins

  • server_plugins (foo, —)
    • read (bool, —)

    • trackstat (foo, —)
      • read (bool, —)

      • get_rating (str, —)

      • set_rating (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