Guten Morgen
Ich hab hier 3 notify welche 2 Variablen haben die in jeder vorkommt
Ist es denn möglich diese nur einmal vorzugen, zb. global
oder kann man hier überhaupt mehr kürzen?
mir kommt das ein bisschen lang vor dafür das ichs in 3 rollover geteilt hab
define Squeezebox dummy
attr Squeezebox group Squeezeboxserver
attr Squeezebox setList state:Ein/Play,Aus,Pause,Skip,Back
attr Squeezebox webCmd state
define Squeezebox_ntfy notify Squeezebox:.* {\
my $v=Value("Squeezebox");;\
my $server='http://192.168.0.99:9000';;\
my $player="&player=192.168.0.9";;\
my $bef1="/status.html?p0=play";;\
my $bef2="/status.html?p0=stop";;\
my $bef3="/status.html?p0=pause";;\
my $bef5="/status.html?p0=playlist&p1=jump&p2=+1";;\
my $bef6="/status.html?p0=playlist&p1=jump&p2=-1";;\
if ($v eq "Ein/Play") {GetFileFromURL "$server$bef1$player"};;\
if ($v eq "Aus") {GetFileFromURL "$server$bef2$player"};;\
if ($v eq "Pause") {GetFileFromURL "$server$bef3$player"};;\
if ($v eq "Skip") {GetFileFromURL "$server$bef5$player"};;\
if ($v eq "Back") {GetFileFromURL "$server$bef6$player"};;\
}
define Playlist dummy
attr Playlist group Squeezeboxserver
attr Playlist setList state:Radio,MLW
attr Playlist webCmd state
define Playlist_ntfy notify Playlist:.* {\
my $v=Value("Playlist");;\
my $server='http://192.168.0.99:9000';;\
my $player="&player=192.168.0.9";;\
my $bef4="/status.html?p0=playlist&p1=play&p2=http://mp3-live.swr3.de/swr3_m.m3u";;\
my $befd="/status.html?p0=playlist&p1=play&p2=MLW";;\
if ($v eq "Radio") {GetFileFromURL "$server$bef4$player"};;\
if ($v eq "MLW") {GetFileFromURL "$server$befd$player"};;\
}
define Vol dummy
attr Vol group Squeezeboxserver
attr Vol setList state:Mute,Vol10,Vol30,Vol40,Vol50,Vol60
attr Vol webCmd state
define Vol_ntfy notify Vol:.* {\
my $v=Value("Vol");;\
my $server='http://192.168.0.99:9000';;\
my $player="&player=192.168.0.9";;\
my $bef7="/status.html?p0=mixer&p1=volume&p2=0";;\
my $bef8="/status.html?p0=mixer&p1=volume&p2=10";;\
my $bef9="/status.html?p0=mixer&p1=volume&p2=30";;\
my $befa="/status.html?p0=mixer&p1=volume&p2=40";;\
my $befb="/status.html?p0=mixer&p1=volume&p2=50";;\
my $befc="/status.html?p0=mixer&p1=volume&p2=60";;\
if ($v eq "Mute") {GetFileFromURL "$server$bef7$player"};;\
if ($v eq "Vol10") {GetFileFromURL "$server$bef8$player"};;\
if ($v eq "Vol30") {GetFileFromURL "$server$bef9$player"};;\
if ($v eq "Vol40") {GetFileFromURL "$server$befa$player"};;\
if ($v eq "Vol50") {GetFileFromURL "$server$befb$player"};;\
if ($v eq "Vol60") {GetFileFromURL "$server$befc$player"};;\
}
LG Wilfo
sowas würde ich nie in ein notify packen, sondern immer eine Funktion in 99_myUtils.pm anlegen.
Im 99_myUtils.pm krieg ich sowas nochnicht hin
Das ist prinzipiell genau der gleiche Text ( = perl Coding), den Du dort hinschreiben musst, nur finde ich es dort viel übersichtlicher und dadurch leichter überschaubar.
also 1:1 rüber kopieren funktioniert mal nicht