Napoleonic Political Magnificence

    iobroker.squeezebox

    1.0.0 • Public • Published

    Logo

    ioBroker Logitech Squeezebox Adapter

    NPM version Downloads Travis AppVeyor Build Status GitHub issues

    Controls a Squeezebox Server a.k.a. Logitech Media Server and its players.

    Install

    Install this adapter via ioBroker Admin.

    1. Open instance config dialog
    2. Enter the IP address or host name of your Squeezebox Server
    3. Lower the time update interval value if you have enough performance in your system.
    4. Save the configuration
    5. Start the adapter

    Configuration

    Logitech Media Server Address

    This is the IP address or host name of your Squeezebox Server.

    Logitech Media Server Port

    This is the TCP port of your Squeezebox Server. Optional, default value is 9090. The server must listen to telnet commands on this port (don't confuse this with the web (HTTP) port which will always be a different one).

    Username (optional)

    This is the username of your Squeezebox Server. By default this can be left empty. It is only needed if your server has password protection turned on.

    Password (optional)

    This is the password of your Squeezebox Server. By default this can be left empty. It is only needed if your server has password protection turned on.

    Track time update interval (sec)

    Every N seconds the elapsed time of playing tracks is updated. Leave this at 5 seconds if you are not using this for visualization. If you need more precision, set it to 2 or 1 seconds.

    States

    The adapter automatically connects to the configured Squeezebox Server and creates the following states for each player connected to the Squeezebox Server.

    The names of the states are formatted like this: squeezebox.<instance>.<player>.<state>

    • <instance> is the ioBroker adapter instance index (usually "0")
    • <player> is the name you gave to the player when configuring it (spaces are replaced by underscores "_")
    • <state> is described in the following sections

    squeezebox.<instance>.<player>.power

    Boolean, read-write

    • true: player is powered on
    • false: plyer is on stand-by

    squeezebox.<instance>.<player>.state

    Enumeration, read-write

    • 0: Pause
    • 1: Play
    • 2: Stop

    squeezebox.<instance>.<player>.volume

    Integer (0...100), read-write

    Playback volume from nothing (0) to maximum (100) Be careful when setting high values (>50) as this might hurt your ears (or your loved ones')!

    squeezebox.<instance>.<player>.muting

    Boolean, read-write

    • true: player is muted (playback continues, but loudspeaker is off)
    • false: player is in regular playback mode

    squeezebox.<instance>.<player>.pathUrl

    String, read-write

    The URL of the currently playing (or paused) song or stream.

    squeezebox.<instance>.<player>.currentTitle

    String, read-only

    The name of the currently playing (or paused) song or stream. Can be empty.

    squeezebox.<instance>.<player>.currentAlbum

    String, read-only

    The name of the album of the currently playing (or paused) song or stream. Can be empty.

    squeezebox.<instance>.<player>.currentArtist

    String, read-only

    The name of the artist of the currently playing (or paused) song or stream. Can be empty.

    squeezebox.<instance>.<player>.currentArtwork

    String (URL), read-only

    The URL to an artwork for the currently playing (or paused) song or stream. Should never be empty. If a stream is played, its artwork URL is used (see CLI "songinfo" tag "K"). If there is no artwork URL available (e.g. for a regular MP3 from LMS), the generic "current player artwork" link is used. To the generic artwork link, the adapter adds a "random" number to make sure the URL changes whenever the song changes.

    squeezebox.<instance>.<player>.currentDuration

    Integer, read-only

    The total length in seconds of the current song or stream.

    squeezebox.<instance>.<player>.currentDurationText

    String, read-only

    The formatted total length of the current song or stream. (Format: "[hh:]mm:ss")

    squeezebox.<instance>.<player>.elapsedTime

    Integer, read-only

    The number of seconds the current song or stream has been played already. This value is updated every "Track time update interval" (see Configuration above)

    squeezebox.<instance>.<player>.elapsedTimeText

    String, read-only

    The formatted time the current song or stream has been played already. This value is updated every "Track time update interval" (see Configuration above)

    squeezebox.<instance>.<player>.sleep

    Integer, read-write

    The number of seconds until the player goes to sleep. Set this state to fade out and turn off the player with the given number of seconds as a duration. If this value is zero, the player is either off or not going to sleep; otherwise this player is going to sleep.

    squeezebox.<instance>.<player>.buttons.forward

    Button, write-only

    Jumps to the next track in the playlist.

    squeezebox.<instance>.<player>.buttons.rewind

    Button, write-only

    Jumps to the previous track in the playlist.

    squeezebox.<instance>.<player>.buttons.preset_<1-6>

    Button, write-only

    Switches to given preset number stored in the player.

    Changelog

    1.0.0 (2018-12-23)

    • (mrMuppet) Fixed title error in streams and artwork.
    • (mafof) Added buttons for forward/rewind and presets.
    • (mafof) Added playlist path URL and sleep states.

    0.2.1 (2017-10-08)

    • (UncleSamSwiss) Fixed issue with more than 9 players (fix in logitechmediaserver package)

    0.2.0 (2017-07-24)

    • (UncleSamSwiss) Added support for optional TCP port number (default is still 9090)
    • (UncleSamSwiss) Added support for optional login using username and password (by default still no authentication is used)

    0.1.0 (2016-01-16)

    • (UncleSamSwiss) Ready to be published to NPM (no further changes)

    0.0.2 (2016-01-10)

    • (UncleSamSwiss) Support for artwork (will use stream artwork if available, otherwise server artwork)

    0.0.1 (2015-12-07)

    • (UncleSamSwiss) Initial version

    Roadmap/Todo

    • State for playlist [Arminhh]
    • Synchronization of players [Arminhh]
    • Control LMS from ioBroker (e.g. choose a radio station from the favorites) [ak1]

    License

    Apache 2.0

    Copyright (c) 2015 UncleSamSwiss

    Install

    npm i iobroker.squeezebox

    DownloadsWeekly Downloads

    19

    Version

    1.0.0

    License

    Apache-2.0

    Unpacked Size

    95.9 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar