| numberPlaylistTracks | Number | Number of playlist tracks |
| playFavorite | String | ID of Favorite to play (channel's state options contains available favorites) |
| rate | Switch | "Like" or "unlike" the currently playing song (if supported by the streaming service) |
+| sleep | Number | Power off the player in the specified number of minutes. Sending 0 cancels the timer |
## Example .Items File
public static final String CHANNEL_MODEL = "model";
public static final String CHANNEL_FAVORITES_PLAY = "playFavorite";
public static final String CHANNEL_RATE = "rate";
+ public static final String CHANNEL_SLEEP = "sleep";
}
import java.net.URI;
import java.net.URISyntaxException;
+import java.time.Duration;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
squeezeBoxServerHandler.rate(mac, unlikeCommand);
}
break;
+ case CHANNEL_SLEEP:
+ if (command instanceof DecimalType) {
+ Duration sleepDuration = Duration.ofMinutes(((DecimalType) command).longValue());
+ if (sleepDuration.isNegative() || sleepDuration.compareTo(Duration.ofDays(1)) > 0) {
+ logger.debug("Sleep timer of {} minutes must be >= 0 and <= 1 day", sleepDuration.toMinutes());
+ return;
+ }
+ squeezeBoxServerHandler.sleep(mac, sleepDuration);
+ }
+ break;
default:
break;
}
}
}
+ public void sleep(String mac, Duration sleepDuration) {
+ sendCommand(mac + " sleep " + String.valueOf(sleepDuration.toSeconds()));
+ }
+
/**
* Send a generic command to a given player
*
<channel id="numberPlaylistTracks" typeId="numberPlaylistTracks"/>
<channel id="playFavorite" typeId="playFavorite"/>
<channel id="rate" typeId="rate"/>
+ <channel id="sleep" typeId="sleep"/>
</channels>
<properties>
<label>Like or Unlike Song</label>
<description>Likes or unlikes the current song (if the service supports it)</description>
</channel-type>
+ <channel-type id="sleep">
+ <item-type>Number</item-type>
+ <label>Sleep</label>
+ <description>Power off player in specified number of minutes</description>
+ <state pattern="%d"></state>
+ </channel-type>
</thing:thing-descriptions>