Hallo liebes Forum,
ich habe mich in meinem Code irgendwie total verrannt und bin am verzweifeln :-[
Ich möchte mit einem Icon auf dem Floorplan die Radiosender meines Sonos-Lautsprechers durchschalten. Mit jedem Tastendruck auf den Dummy d_Radiosender soll in einer Schleife zwischen drei Sendern durchgeschaltet werden.
Dummy:
define d_Radiosender dummy
attr d_Radiosender devStateIcon 0:radio_890rtlinthemix 1:radio_antennebayern 2:radio_mdrjump
attr d_Radiosender eventMap on off
attr d_Radiosender fp_SteuerungLicht 500,150,0
attr d_Radiosender setList state:0,1,2
attr d_Radiosender webCmd state
Notify
define n_Radiosender notify d_Radiosender.* {my $Wert=ReadingsVal("d_Radiosender","counter",0);; {$Wert = $Wert+1;;fhem("setreading d_Radiosender state $Wert")};;
if ($Wert==0) { fhem("set Sonos_Lounge PlayURI http://c22033-l.i.core.cdn.streamfarm.net/22004mdrjump/live/3087mdr_jump/live_de_128.mp3");;fhem("setreading d_Radiosender counter $Wert") };;
if ($Wert==1) { fhem("set Sonos_Lounge PlayURI http://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3");;fhem("setreading d_Radiosender counter $Wert") };;
if ($Wert==2) { fhem("set Sonos_Lounge PlayURI http://streams.ffh.de/ffhchannels/mp3/hqtop40.m3u");;fhem("setreading d_Radiosender counter $Wert") };;
if ($Wert>2) { my $Wert=0;;fhem("setreading d_Radiosender counter $Wert") };; }
Wenn ich die Readings counter und state vom Dummy d_Radiosender beobachte, sieht es folgendermassen aus:
1. Tastendruck: counter = 1 / state = 1 / Radiosender wird gewechselt, passendes ICON wird angezeigt
2. Tastendruck: counter = 2 / state = 2 / Radiosender wird gewechselt, passendes ICON wird angezeigt
3. Tastendruck: counter = 0 / state = 3 / Radiosender wird NICHT gewechselt, falsches ICON!
4. Tastendruck: counter = 1 / state = 1 / Radiosender wird gewechselt, passendes ICON wird angezeigt
usw...
Warum erscheint beim 3. Tastendruck state = 3? Ich habe doch mit setList state:0,1,2 die Werte vorgegeben. Außerdem wird nicht auf den dritten Sender umgeschaltet.
Mien Code ist wahrscheinlich durch mein verzweifeltes rumprobieren etwas wirr... Wäre schön, wenn Ihr mir auf die Sprünge helfen könntet ;)
Vielleicht hilft das hier (https://forum.fhem.de/index.php/topic,45493.msg372800.html#msg372800)?
Gruß
Frank