+ information sur le sonos
This commit is contained in:
2020-12-14 18:09:10 +01:00
parent 474e815118
commit 2108a54086

112
sonos.sh
View File

@@ -1,17 +1,56 @@
#!/bin/bash #!/bin/bash
clear clear
about() {
echo ""
echo -e "\033[1mAbout:\033[0m"
echo ""
}
help() {
echo ""
echo -e "\033[1mHelp:\033[0m"
echo ""
}
inform() {
device="$1"
info=$(sonos $device info)
model_name=$(echo "$info" | grep "model_name" | awk -F"=" '{print $2}')
model_number=$(echo "$info" | grep "model_number" | awk -F"=" '{print $2}')
player_name=$(echo "$info" | grep "player_name" | awk -F"=" '{print $2}')
zone_name=$(echo "$info" | grep "zone_name" | awk -F"=" '{print $2}')
mac_address=$(echo "$info" | grep "mac_address" | awk -F"=" '{print $2}')
ip_address=$(echo "$info" | grep "ip_address" | awk -F"=" '{print $2}')
display_version=$(echo "$info" | grep "display_version" | awk -F"=" '{print $2}')
hardware_version=$(echo "$info" | grep "hardware_version" | awk -F"=" '{print $2}')
software_version=$(echo "$info" | grep "software_version" | awk -F"=" '{print $2}')
echo ""
printf "\e[1m| %-20s | %-20s |\e[0m\n" "$model_name" "$player_name"
printf "| %-20s | %-20s |\n" "Model name" "$model_name"
printf "| %-20s | %-20s |\n" "Model number" "$model_number"
printf "| %-20s | %-20s |\n" "Player name" "$player_name"
printf "| %-20s | %-20s |\n" "Zone name" "$zone_name"
printf "| %-20s | %-20s |\n" "mac adress" "$mac_address"
printf "| %-20s | %-20s |\n" "IP address" "$ip_address"
printf "| %-20s | %-20s |\n" "Display version" "$display_version"
printf "| %-20s | %-20s |\n" "Hardware version" "$hardware_version"
printf "| %-20s | %-20s |\n" "Software version" "$software_version"
}
soco() { soco() {
device="$1" device="$1"
while true while true
do do
clear clear
echo "###############" #echo "###############"
echo " Sonos $device " echo -e "\033[1m 🔊 Sonos $device \033[0m"
echo "###############" #echo "###############"
echo "" echo ""
PS3='Select an option: ' PS3="Select an option: "
options=( options=(
"France Info" "France Info"
"France Inter" "France Inter"
@@ -29,123 +68,130 @@ soco() {
"-mute OFF" "-mute OFF"
"-status light ON" "-status light ON"
"-status light OFF" "-status light OFF"
"-infos on $device"
"Menu Principal" "Menu Principal"
) )
select opt2 in "${options[@]}" select opt2 in "${options[@]}"
do do
case $opt2 in case $opt2 in
"France Info") "France Info")
echo "Playing France Info" echo -e "\033[1m Playing France Info... \033[0m"
sonos $device play_fav 'franceinfo' && sleep 2 sonos $device play_fav 'franceinfo' && sleep 2
break break
;; ;;
"France Inter") "France Inter")
echo "Playing France Inter" echo -e "\033[1m Playing France Inter... \033[0m"
sonos $device play_fav 'france inter' && sleep 2 sonos $device play_fav 'france inter' && sleep 2
break break
;; ;;
"K6 FM") "K6 FM")
echo "Playing K6 FM" echo -e "\033[1m Playing K6 FM... \033[0m"
sonos $device play_fav 'K6 FM' && sleep 2 sonos $device play_fav 'K6 FM' && sleep 2
break break
;; ;;
"Rires et Chansons") "Rires et Chansons")
echo "Playing Rires et Chansons" echo -e "\033[1m Playing Rires et Chansons... \033[0m"
sonos $device play_fav 'Rire et Chansons' && sleep 2 sonos $device play_fav 'Rire et Chansons' && sleep 2
break break
;; ;;
"RTL") "RTL")
echo "Playing RTL" echo -e "\033[1m Playing RTL... \033[0m"
sonos $device play_fav 'RTL' && sleep 2 sonos $device play_fav 'RTL' && sleep 2
break break
;; ;;
"Deezer Flow") "Deezer Flow")
echo "Playing Deezer Flow" echo -e "\033[1m Playing Deezer Flow... \033[0m"
sonos $device play_fav 'Flow' sonos $device play_fav 'Flow'
break break
;; ;;
"Playlist list_favs") "Playlist list_favs")
echo "Display playlist list_favs" echo -e "\033[1m Display playlist list_favs... \033[0m"
sonos $device list_favs sonos $device list_favs
read -p "" read -p ""
break break
;; ;;
"-start $device") "-start $device")
echo "Start $device" echo -e "\033[1m Start $device... \033[0m"
sonos $device start && sleep 2 sonos $device start && sleep 2
break break
;; ;;
"-stop $device") "-stop $device")
echo "Stop $device" echo -e "\033[1m Stop $device... \033[0m"
sonos $device stop && sleep 2 sonos $device stop && sleep 2
break break
;; ;;
"-volume 11") "-volume 11")
echo "Set volume to level 11" echo -e "\033[1m Set volume to level 11... \033[0m"
sonos $device volume 11 && sleep 2 sonos $device volume 11 && sleep 2
break break
;; ;;
"-volume 13") "-volume 13")
echo "Set volume to level 13" echo -e "\033[1m Set volume to level 13... \033[0m"
sonos $device volume 13 && sleep 2 sonos $device volume 13 && sleep 2
break break
;; ;;
"-volume 15") "-volume 15")
echo "Set volume to level 15" echo -e "\033[1m Set volume to level 15... \033[0m"
sonos $device volume 15 && sleep 2 sonos $device volume 15 && sleep 2
break break
;; ;;
"-mute ON") "-mute ON")
echo "Mute ON" echo -e "\033[1m Mute ON... \033[0m"
sonos $device mute on && sleep 2 sonos $device mute on && sleep 2
break break
;; ;;
"-mute OFF") "-mute OFF")
echo "Mute OFF" echo -e "\033[1m Mute OFF... \033[0m"
sonos $device mute off && sleep 2 sonos $device mute off && sleep 2
break break
;; ;;
"-status light ON") "-status light ON")
echo "Status light ON" echo -e "\033[1m Status light ON... \033[0m"
sonos $device status_light on && sleep 2 sonos $device status_light on && sleep 2
break break
;; ;;
"-status light OFF") "-status light OFF")
echo "Status light OFF" echo -e "\033[1m Status light OFF... \033[0m"
sonos $device status_light off && sleep 2 sonos $device status_light off && sleep 2
break break
;; ;;
"Menu Principal") "-infos on $device")
echo -e "\033[1m Infos on $device... \033[0m"
inform $device
read -p ""
break
;;
"Menu Principal")
exec "$0" exec "$0"
;; ;;
*) echo "invalid option";; *) echo -e "\033[1;31m invalid option \033[0m";;
esac esac
done done
done done
} }
while true while true
do do
clear clear
echo "######" echo -e "\033[1m 🔈 SoCo-Cli GUI\033[0m"
echo " SoCo-Cli GUI" echo -e ""
echo "######"
echo ""
PS3='Select an option: ' PS3='Select an option: '
options=("Option1" "Option2" "Chambre" "Salon" "Exit") options=("About" "Help" "Chambre" "Salon" "Exit")
select opt in "${options[@]}" select opt in "${options[@]}"
do do
case $opt in case $opt in
"Option1") "About")
echo Option1 #echo "About"
about
read -p "" read -p ""
break break
;; ;;
"Option2") "Help")
echo Option2 #echo "Help"
help
read -p "" read -p ""
break break
;; ;;