Hilfe bei Variablen & Übertrag von Werten benötigt

Begonnen von nycalx, 22 März 2019, 15:34:15

Vorheriges Thema - Nächstes Thema

nycalx

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")}}

Per

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.

nycalx

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")}
}

Damian

#3
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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF