Hallo,
ich versuche mit einem DOIF die RGB Werte von einer Hue Leuchte in ein LEDWIFI-Device zu schreiben.
Beim Auslesen von RGB bei HUE befinden sich in diesem Wert Kleinbuchstaben welche WIFILED nicht aktzeptiert.
Deswegen versuche ich den Wert auszulesen, Uppercase in eine Variable zu schreiben und diese dann in die RGB der anderen Lampe zu setzen.
Leider Bekomme ich die Variable nicht zum laufen. Ideen?
DOIF
{
my $rgb = {uc{ReadingsVal[HUEDevice3:rgb"]}};
if ([HUEDevice3:state] ne "disconnected" and [HUEDevice3:state] ne "off") {fhem("set LEDWIFI_WZ_TV RGB $rgb")}}
Du nutzt ReadingsVal als Perl Funktion zusammen mit [HUEDevice3:rgb], welches ja schon den Wert des Readings beinhaltet. Und ein alleinstehendes " hast du auch noch da stehen.
Das " Hatte ich schon entdeckt. Der andere Tipp hat geholfen.
Zu kompliziert gedacht, es kann so einfach sein, vielen Dank! :) :)
DOIF
{
my $rgb = uc [HUEDevice3:rgb];
if ([HUEDevice3:state] ne "disconnected" and [HUEDevice3:state] ne "off") {fhem("set LEDWIFI_WZ_TV RGB $rgb")}
}
Reicht vielleicht schon:
DOIF {fhem_set("LEDWIFI_WZ_TV RGB ".uc([HUEDevice3:rgb]))}
rgb als Trigger kann eigentlich nur kommen, wenn das Modul nicht off ist und nicht disconnected.