sonos.sh
+soco_infos() +soco_lists()
This commit is contained in:
173
sonos.sh
173
sonos.sh
@@ -53,7 +53,147 @@ inform() {
|
|||||||
printf "| %-20s | %-20s |\n" "Display version" "$display_version"
|
printf "| %-20s | %-20s |\n" "Display version" "$display_version"
|
||||||
printf "| %-20s | %-20s |\n" "Hardware version" "$hardware_version"
|
printf "| %-20s | %-20s |\n" "Hardware version" "$hardware_version"
|
||||||
printf "| %-20s | %-20s |\n" "Software version" "$software_version"
|
printf "| %-20s | %-20s |\n" "Software version" "$software_version"
|
||||||
|
echo ""
|
||||||
|
echo "< Press Enter>"
|
||||||
|
}
|
||||||
|
|
||||||
|
soco_infos() {
|
||||||
|
clear
|
||||||
|
device="$1"
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
clear
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[1m 🔊 Sonos infos $device \033[0m"
|
||||||
|
echo ""
|
||||||
|
PS3="Select an option: "
|
||||||
|
options=(
|
||||||
|
"(A)larms"
|
||||||
|
"(G)roups"
|
||||||
|
"(I)nfo"
|
||||||
|
"(S)hares"
|
||||||
|
"S(y)sinfo"
|
||||||
|
"(R)eturn"
|
||||||
|
)
|
||||||
|
select opt2 in "${options[@]}"
|
||||||
|
do
|
||||||
|
case "$REPLY" in
|
||||||
|
1|a|A)
|
||||||
|
echo -e "\n\033[1m Alarms... \033[0m"
|
||||||
|
a=$(sonos $device alarms)
|
||||||
|
echo -e "\n $a \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2|g|G)
|
||||||
|
echo -e "\n\033[1m Groups... \033[0m"
|
||||||
|
g=$(sonos $device groups)
|
||||||
|
echo -e "\n $g \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
3|i|I)
|
||||||
|
echo -e "\n\033[1m Info... \033[0m"
|
||||||
|
#sonos $device info
|
||||||
|
inform $device
|
||||||
|
read -p ""
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
4|s|S)
|
||||||
|
echo -e "\n\033[1m Shares... \033[0m"
|
||||||
|
s=$(sonos $device shares)
|
||||||
|
echo -e "\n $s \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
5|y|Y)
|
||||||
|
echo -e "\n\033[1m Sysinfo... \033[0m"
|
||||||
|
y=$(sonos $device sysinfo)
|
||||||
|
echo -e "\n $y \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
6|r|R)
|
||||||
|
exec "$0"
|
||||||
|
;;
|
||||||
|
*) echo -e "\n\033[1;31m invalid option \033[0m";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
soco_lists() {
|
||||||
|
clear
|
||||||
|
device="$1"
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
clear
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[1m 🔊 Sonos lists $device \033[0m"
|
||||||
|
echo ""
|
||||||
|
PS3="Select an option: "
|
||||||
|
options=(
|
||||||
|
"Favourite radio (s)tations"
|
||||||
|
"(F)avourites"
|
||||||
|
"(Q)ueue"
|
||||||
|
"List (a)rtists"
|
||||||
|
"List al(b)ums"
|
||||||
|
"(R)eturn"
|
||||||
|
)
|
||||||
|
select opt2 in "${options[@]}"
|
||||||
|
do
|
||||||
|
case "$REPLY" in
|
||||||
|
1|s|S)
|
||||||
|
echo -e "\n\033[1m Favourite radio stations... \033[0m"
|
||||||
|
s=$(sonos $device favourite_radio_stations)
|
||||||
|
echo -e "\n $s \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2|f|F)
|
||||||
|
echo -e "\n\033[1m Favourites... \033[0m"
|
||||||
|
f=$(sonos $device list_favs)
|
||||||
|
echo -e "\n $f \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
3|q|Q)
|
||||||
|
echo -e "\n\033[1m Queue... \033[0m"
|
||||||
|
q=$(sonos $device list_queue)
|
||||||
|
echo -e "\n $q \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
4|a|A)
|
||||||
|
echo -e "\n\033[1m List artists... \033[0m"
|
||||||
|
a=$(sonos $device list_artists | more)
|
||||||
|
echo -e "\n $a \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
5|b|B)
|
||||||
|
echo -e "\n\033[1m List albums... \033[0m"
|
||||||
|
b=$(sonos $device list_albums | more)
|
||||||
|
echo -e "\n $b \n"
|
||||||
|
read -p "< Press Enter>"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
7|p|P)
|
||||||
|
echo -e "\n\033[1m List albums... \033[0m"
|
||||||
|
read -p "Enter Album" alb
|
||||||
|
b=$(sonos $device list_albums | more)
|
||||||
|
echo -e "\n $b \n"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
6|r|R)
|
||||||
|
exec "$0"
|
||||||
|
;;
|
||||||
|
*) echo -e "\n\033[1;31m invalid option \033[0m";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
soco() {
|
soco() {
|
||||||
@@ -83,8 +223,10 @@ soco() {
|
|||||||
"-volume (13)"
|
"-volume (13)"
|
||||||
"-m(u)te OFF"
|
"-m(u)te OFF"
|
||||||
"-volume (15)"
|
"-volume (15)"
|
||||||
"-status (l)ight ON"
|
"-status light O(N)"
|
||||||
"-status light (O)FF"
|
"-status light (O)FF"
|
||||||
|
"(I)nfos"
|
||||||
|
"(L)ists"
|
||||||
"Menu Princip(a)l"
|
"Menu Princip(a)l"
|
||||||
)
|
)
|
||||||
select opt2 in "${options[@]}"
|
select opt2 in "${options[@]}"
|
||||||
@@ -92,12 +234,12 @@ soco() {
|
|||||||
case "$REPLY" in
|
case "$REPLY" in
|
||||||
1|f|F)
|
1|f|F)
|
||||||
echo -e "\n\033[1m Playing France Info... \033[0m"
|
echo -e "\n\033[1m Playing France Info... \033[0m"
|
||||||
sonos $device play_fav 'franceinfo' && sleep 2
|
sonos $loc $device play_fav 'franceinfo' && sleep 2
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
2|t|T)
|
2|t|T)
|
||||||
echo -e "\n\033[1m Playing France Inter... \033[0m"
|
echo -e "\n\033[1m Playing France Inter... \033[0m"
|
||||||
sonos $device play_fav 'france inter' && sleep 2
|
sonos $loc $device play_fav 'france inter' && sleep 2
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
3|k|K)
|
3|k|K)
|
||||||
@@ -136,7 +278,7 @@ soco() {
|
|||||||
sonos $device stop && sleep 2
|
sonos $device stop && sleep 2
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
10|i|I)
|
10)
|
||||||
echo -e "\n\033[1m Infos on $device... \033[0m"
|
echo -e "\n\033[1m Infos on $device... \033[0m"
|
||||||
inform $device
|
inform $device
|
||||||
read -p ""
|
read -p ""
|
||||||
@@ -167,7 +309,7 @@ soco() {
|
|||||||
sonos $device volume 15 && sleep 2
|
sonos $device volume 15 && sleep 2
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
16|l|L)
|
16|n|N)
|
||||||
echo -e "\n\033[1m Status light ON... \033[0m"
|
echo -e "\n\033[1m Status light ON... \033[0m"
|
||||||
sonos $device status_light on && sleep 2
|
sonos $device status_light on && sleep 2
|
||||||
break
|
break
|
||||||
@@ -177,7 +319,17 @@ soco() {
|
|||||||
sonos $device status_light off && sleep 2
|
sonos $device status_light off && sleep 2
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
18|a|A)
|
18|i|I)
|
||||||
|
echo -e "\n\033[1m Infos... \033[0m"
|
||||||
|
soco_infos $device
|
||||||
|
#break
|
||||||
|
;;
|
||||||
|
19|l|L)
|
||||||
|
echo -e "\n\033[1m Lists... \033[0m"
|
||||||
|
soco_lists $device
|
||||||
|
#break
|
||||||
|
;;
|
||||||
|
20|a|A)
|
||||||
exec "$0"
|
exec "$0"
|
||||||
;;
|
;;
|
||||||
*) echo -e "\n\033[1;31m invalid option \033[0m";;
|
*) echo -e "\n\033[1;31m invalid option \033[0m";;
|
||||||
@@ -186,6 +338,15 @@ soco() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# local or discover
|
||||||
|
# --use-local-speaker-list, -l
|
||||||
|
# Use the local speaker list instead of SoCo discovery
|
||||||
|
# --refresh-local-speaker-list, -r
|
||||||
|
# Refresh the local speaker list
|
||||||
|
|
||||||
|
loc=" -l"
|
||||||
|
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
clear
|
clear
|
||||||
|
|||||||
Reference in New Issue
Block a user