Danke - das funktioniert und kann ich entsprechend adaptieren.
{ return ".*:it_radio\@green" if (ReadingsVal($name,"presence","") eq "appeared" && ReadingsVal($name,"LastActionResult","") eq "Play: Success!");
return ".*:it_radio\@gray" if (ReadingsVal($name,"presence","") eq "appeared" && ReadingsVal($name,"LastActionResult","") eq "Pause: Success!");
return ".*:it_radio\@red" if (ReadingsVal($name,"presence","") eq "disappeared");
}
was ich irgendwie noch nicht hin bekomme ist Wildcards einzubauen - statt eq "Play: Success!"
etwas in der Richtung eq 'Play.*'
Irgendwie klappt es weder mit einfchen Hochkomma noch mit doppelten Hochkomma und auch nicht komplett ohne.
Zwischenzeitlich habe ich das hier ausgetüftelt, was auch funktioniert.
{if(ReadingsVal($name,"presence","0") eq "appeared") {'Play.*Success.*:it_radio@green:stop Stop.*Success.*:it_radio@grey:play Pause.*Success.*:it_radio@blue:play .*Proxy.*Success.*:it_radio@orange .*Error.*:it_radio@orange .*Volume.*:it_radio@orange'}
elsif (ReadingsVal($name,"presence","0") eq "disappeared") {'.*:it_radio@red'}
}
Hier funktionieren auch die Wildcards.
Was mich etwas stört, dass es da doch recht viele verschiedene Status geben kann, die ich alle berücksichtigen muss (deshalb Wildcards), weil da sonst Text erscheint.
Hat noch jemand eine Idee wie man es erreichen kann, dass bei bestimmten Statuswerten das "alte" (also das bis dahin verwendete) Icon beibehalten wird.
Wenn ich beispielsweise die Lautstärke verändere möchte ich natürlich weder Text noch ein anderes Icon haben.
Es sollte das Icon angezeigt bleoiben, das vorher ausgewählt war.
Danke im Voraus für jeden Tipp.