
* 🔥 Removes octopress.js * 🔥 Removes use of root_url var * 🔥 Removes Octopress generator reference from feed * 🔥 Removes delicious support * 🔥 Removes support for Pinboard * 🔥 Removes support for Disqus * 🔥 Removes support for Google Plus * ↩️ Migrate custom after_footer to default template * ↩️ Migrate custom footer to default template * ↩️ Migrate custom header to default template * 🔥 Removes unused template files * 🚀 Places time to read directly in post template * 🚀 Removes unneeded capture from archive_post.html template * 🔥 🚀 Removes unused, but heaving sorting call in component page * 🚀 Merged javascripts into a single file * 🔥 Removes more uses of root_url * 🚀 Removal of unneeded captures from head * 🔥 🚀 Removal of expensive liquid HTML compressor * 🔥 Removes unneeded templates * 🚀 Replaces kramdown with GitHub's CommonMark 🚀 * 💄 Adds Prism code syntax highlighting * ✨ Adds support for redirect in Netlify * ↩️ 🔥 Let Netlify handle all developer doc redirects * ✏️ Fixes typo in redirects file: Netify -> Netlify * 🔥 Removes unused .themes folder * 🔥 Removes unused aside.html template * 🔥 Removes Disqus config leftover * 🔥 Removes rouge highlighter config * 🔥 Removes Octopress 🎉 * 💄 Adjust code block font size and adds soft wraps * 💄 Adds styling for inline code blocks * 💄 Improve styling of note/warning/info boxes + div support * 🔨 Rewrites all note/warning/info boxes
3.7 KiB
title | description | logo | ha_category | ha_release | ha_iot_class | redirect_from | ||
---|---|---|---|---|---|---|---|---|
Logitech Squeezebox | Instructions on how to integrate a Logitech Squeezebox player into Home Assistant. | squeezebox.png |
|
pre 0.7 | Local Polling |
|
The squeezebox
platform allows you to control a Logitech Squeezebox music player from Home Assistant. This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like SoftSqueeze, SqueezePlayer and SqueezeSlave.
To add your Squeezebox player to your installation, add the following to your configuration.yaml
file:
# Example configuration.yaml entry
media_player:
- platform: squeezebox
host: IP_ADDRESS
{% configuration %} host: description: The host name or address of the Logitech Media Server, e.g., 192.168.1.21. required: true type: string port: description: The web interface port to Logitech Media Server. required: false default: 9000 type: integer username: description: The username, if password protection is enabled. required: false type: string password: description: The password, if password protection is enabled. required: false type: string {% endconfiguration %}
The Logitech Transporter which have two digital inputs can be activated using a script. The following example turns on the Transporter and activates the toslink input interface:
# Turn on Transporter and activate toslink interface
transporter_toslink:
sequence:
- service: homeassistant.turn_on
entity_id: media_player.transporter
- service: media_player.play_media
data:
entity_id: media_player.transporter
media_content_id: "source:toslink"
media_content_type: "music"
Service squeezebox_call_method
Call a custom Squeezebox JSONRPC API.
See documentation for this interface on http://HOST:PORT/html/docs/cli-api.html?player= where HOST and PORT are the host name and port for your Logitech Media Server.
Service data attribute | Optional | Description |
---|---|---|
entity_id |
no | Name(s) of the Squeezebox entities where to run the API method. |
command |
no | Command to pass to Logitech Media Server (p0 in the CLI documentation). |
parameters |
yes | Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation). |
This service can be used to integrate any Squeezebox action to an automation.
It can also be used to target a Squeezebox from IFTT (or DialogFlow, Alexa...).
For example, to play an album from your collection, create an IFTT applet like this:
- Trigger: Google assistant, with sentence:
I want to listen to album $
- Action: JSON post query with such JSON body:
{ "entity_id": "media_player.squeezebox_radio", "command": "playlist", "parameters": ["loadtracks", "album.titlesearch={{TextField}}"] }
This can work with title search and basically any thing. The same wouldn't have worked by calling directly Squeezebox server as IFTT cannot escape the text field.