Hauptmenü

notify kürzen

Begonnen von wilfo, 24 Oktober 2013, 08:21:29

Vorheriges Thema - Nächstes Thema

wilfo

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

betateilchen

sowas würde ich nie in ein notify packen, sondern immer eine Funktion in 99_myUtils.pm anlegen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

wilfo

Im 99_myUtils.pm krieg ich sowas nochnicht hin

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

wilfo

also 1:1 rüber kopieren funktioniert mal nicht