---
id: squeezebox
label: Squeezebox
title: Squeezebox - Actions
type: action
description: "Interact directly with your Squeezebox devices from within rules and scripts."
source: https://github.com/openhab/openhab1-addons/blob/master/bundles/action/org.openhab.action.squeezebox/README.md
since: 1x
logo: images/addons/squeezebox.png
install: manual
---

<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->

{% include base.html %}

# Squeezebox Actions

Interact directly with your Squeezebox devices from within rules and scripts.

## Prerequisites

You must install and configure the Squeezebox binding (1.x).  The `id` you specify in your configuration will be used to identify which player to perform the specified action on.  For example, in the configuration `Kitchen_Player.id=de:ad:be:ef:12:34` would be identified as `Kitchen_Player` in your rules.

## Actions

### Standard Actions

* `squeezeboxPower(String playerId, boolean power)`
* `squeezeboxMute(String playerId, boolean mute)`
* `squeezeboxVolume(String playerId, int volume)`
* `squeezeboxPlay(String playerId)`
* `squeezeboxPause(String playerId)`
* `squeezeboxStop(String playerId)`
* `squeezeboxNext(String playerId)`
* `squeezeboxPrev(String playerId)`

### Actions to play a URL on your Squeezebox devices

For example, start a radio stream when you wake up in the morning.

* `squeezeboxPlayUrl(String playerId, String url)`: Plays the URL on the specified player using the current volume
* `squeezeboxPlayUrl(String playerId, String url, int volume)`: Plays the URL on the specified player at the specified volume

### Actions to speak a message on your Squeezebox devices

* `squeezeboxSpeak(String playerId, String message)`
* `squeezeboxSpeak(String playerId, String message, int volume)`
* `squeezeboxSpeak(String playerId, String message, int volume, boolean resumePlayback)`

Note: You need to have filled in the `ttsurl` details within the Squeezebox section in the configuration. Given the changes Google have made to their TTS usage allowances, you might have better luck registering for a key at http://www.voicerss.org/api/ .

You can check you have the url and api working by pasting it into a browser with some text at the end

```
https://api.voicerss.org/?key=YOUR_KEY_GOES_HERE&f=44khz_16bit_stereo&hl=en-gb&src=This is Major Tom to Ground Control
```

Then you can use the action in your rules however you want.

## Examples

### Send an announcement to the specified player using the current volume

```java
squeezeboxSpeak("Kitchen_Player", "This is Major Tom to Ground Control")
```

### Send an announcement to the specified player at the specified volume

```java
squeezeboxSpeak("Kitchen_Player", "I'm stepping through the door", 100)
```

### Send an announcement to the specified player at the specified volume

If `resumePlayback=true` resume to actual playlist after finishing message.

You might have to tweak some settings on your Squeezebox server and player regarding what defeats what when you add a song in the middle of a playlist.

```java
squeezeboxSpeak("Kitchen_Player", "And I'm floating in a most peculiar way", 100, false)
```

### Generating dynamic strings

```java
squeezeboxSpeak("Kitchen_Player"," temperature outside is " + Weather_Temperature.state.format("%d") + " degrees celsius",75,true)
```

