FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: gitarero am 16 November 2016, 09:45:22

Titel: TabletUI-WifiLight-Helligkeitsregler-Ein Dummy für alle Wifilight devices
Beitrag von: gitarero am 16 November 2016, 09:45:22
Hallo und guten Morgen zusammen.
Ich zerbreche mir gerade ein wenig den Kopf. Und zwar folgendes:

Ich habe zwei Wifilight Devices welche ich über TabletUI steuern möchte bzw. schon steuere.
Dazu - um es in FHEM übersichtlich zu halten - habe ich einen Dummy "LED-Brightness" angelegt, welcher als Reading die Devices enthält:
list LED-Brightness:
Internals:
   CFGFN
   NAME       LED_Brightness
   NR         89155
   STATE      ???
   TYPE       dummy
   Readings:
     2016-11-16 07:56:27   LED_Rueckseite  0
     2016-11-16 09:20:13   LED_WZ          100
Attributes:
   group      LED_Help
   room       Helfer


Mit TabletUI setze ich dann über ein Volume-Widget die Readings. Dazu gibt es dann natürlich ein Notify, welches dann auf die entsprechenden LEDs überträgt.
das DEF des Notifys sieht wie folgt aus:

LED_Brightness:.* {
#welches reading, also Gerät wurde geändert und gleich den Doppelpunkt entfernen
my $LED = (split(":",$EVTPART0))[0];
#die entsprechende Leuchte setzen
  fhem("set $LED dim $EVTPART1");
}


Damit nun die Anzeige im TabletUI auch mitbekommt, wenn sich die LED durch etwas Anderes geändert hat, gibt es noch ein Notify dessen DEF so aussieht:

.*:brightness:.* {
#alle Änderungen eines brightness Wertes abfangen.
my $bright = ReadingsVal("LED_Brightness",$NAME,0);
if ($bright != $EVTPART1) {
  fhem ("setreading LED_Brightness $NAME $EVTPART1");
}
}


Hier höre ich auf alle Änderungen eines Brightness-Wertes. Und wenn dieser anders als im Dummy ist, wird er im Dummy gesetzt. Soweit so gut. Mit direkten Änderungen funktioniert das auch so wie gewollt.

Das Schwierige sind Dimmvoränge über eine Zeit. Da werden natürlich mehrere Events losgelassen und somit verschluckt sich mein letztes Notify.

Hat jemand eine Idee, wie ich das elegant lösen könnte?
Irgendwie müsste ich vermutlich den Zeitwert für den Dimmvorgang abfangen und dann irgendwie sperren, aber mir will wie gesagt keine Lösung einfallen.

Ich hoffe auf eure Hilfe.

Viele Grüße,
Ingo
Titel: Antw:TabletUI-WifiLight-Helligkeitsregler-Ein Dummy für alle Wifilight devices
Beitrag von: gitarero am 16 November 2016, 12:14:05
OK...
ich hab nochmal nachgedacht.
Für die Helligkeit brauche ich das tatsächlich nicht, da ich den brightness Wert direkt aus dem Device lesen und per dim setzen kann.

Mit der Farbe geht das tendenziell über die Klasse "rgb" in TabletUI auch. Allerdings funktioniert das nicht ganz, wenn ich noch einen Zeit Parameter mit übergeben möchte, damit ich einen sanften Farbübergang habe.
Da muss ich nochmal nachdenken, ob ich das wirklich brauche...

Grüße,
Ingo
Titel: Antw:TabletUI-WifiLight-Helligkeitsregler-Ein Dummy für alle Wifilight devices
Beitrag von: gitarero am 17 November 2016, 15:53:03
Kurze Rückmeldung.
Mit cmdalias habe ich mir jetzt was für das direkte setzen eines hue wertes gebastelt.

Grüße,
Ingo
Titel: Antw:TabletUI-WifiLight-Helligkeitsregler-Ein Dummy für alle Wifilight devices
Beitrag von: Oldsurfer am 08 Februar 2017, 10:54:08
Hallo gitarero
kannst du mir deinen code für die Sterung einmal geben?

Gruß
Ingo (kein Scherz)