LW12-Controller über welches Modul ansteuern

Begonnen von error500, 23 April 2015, 15:11:53

Vorheriges Thema - Nächstes Thema

error500

Hallo zusammen,

ich betriebe nun seit knapp zwei Monaten FHEM auf einem Raspberry. Neben verschiedenen Funktsteckdosen habe ich drei LW12- Controller im Einsatz.

Die drei LW12 habe ich bisher mit dem WifiLight-Modul angesteuert, lief alles wunderbar. Was ich dabei vermisst habe war die Möglichkeit einen controllereigenen Modus zu aktiviern. Das geht, wie ich dann rausgefunden habe, wenn man das Gerät direkt als LW12 und nicht über WifiLight definiert. Allerdings kann ich damit den Controller nicht zum dimmen auf Zeit bewegen.

Was muss ich nun einrichten um den LW12-Controller mit
- dimmen auf Zeit (setze Farbe auf XXXXXX in X Sekunden)
- controllereigene Programme (starte Modus 1, Lauflicht)
zu verwenden?

Wenn ihr noch Informationen zum System oder zur aktuellen Konfiguration benötigt liefere ich diese gerne nach.

Leider habe ich über die Suchfunktion nichts in der Richtung gefunden, was mir weiterhilft. Kann aber auch sein, dass ich nicht die richtigen Suchbegriffe verwendet habe.


Viele Grüße in die Runde vom Neuen
- Mark -

Hans Franz

Hallo,

Du kannst WifiLight und LW12 nebeneinander betreiben.
- dimmen auf Zeit: mit beiden Modulen und z.B. einem at
- controllereigene Programme: mit LW12 : set LW12LED mode x

Stelle weitere Fragen aber besser im Beleuchtungssektor um schneller Antworten zu erhalten.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

error500

#2
Hallo
und vielen Dank schon mal für die Antwort. Das mit dem nebeneinander betreiben war schon mal ein guter Tipp.

Leider klappt es nicht so wie ich es mir vorgestellt habe, lag aber auch daran, dass ich mich etwas missverständlich ausgedrückt habe.

Was ich mit dimmen auf Zeit meinte ist, wenn ich gerade die Farbe rot habe diese mit einem Farbverlauf in z.B. 10 Sekunden auf blau dimme. Das konnte ich mit dem WifiLight Modul wenn ich "set LEDD_SZ RGB 0000FF 10" eingegeben habe erreichen.

Ich habe jetzt beide Module für den gleichen Controller eingerichtet. Und so verhält es sich:

  • set LEDD_SZ RGB 0000FF - über WifiLight auf blau (ohne Zeitangabe)
  • set LED_SZ rgb FF0000 - über LW12 auf rot (ohne Zeitangabe)
  • set LEDD_SZ RGB 00FF00 10 - über WifiLight auf grün (mit Zeit, 10 Sekunden)

In Schritt 1 wird blau direkt gesetzt und mit Schritt 2 wird es direkt rot. Wenn ich aber jetzt Schritt 3 starte, dann springt die Farbe erst auf blau und verläuft dann in den 10 Sekunden nach grün. Was ich erwarte ist, dass von rot nach grün übergeblendet wird.

Irgendeine Idee was hier passiert?

Zum Beitrag an sich: Soll ich diesen nochmal im Bereich Beleuchtung einstellen oder kann der verschoben werden?


Viele Grüße
Mark

Hans Franz

Hallo,
Hast du wirklich denselben Namen für beide defines?
Ich bin nicht mehr ganz in dem Thema. Deswegen solltest du vlt. im speziellen Thread fragen(oder erstmal durchlesen). In WifiLight kannst du mit q am Ende eine Queue starten, wahrscheinlich musst du erst eine Startfarbe setzen. Aber, wie gesagt, ich habe mich schon länger nicht mehr damit beschäftigt. Sollte ich mal wieder.  ;)

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

error500

Ich habe natürlich nicht für beide den selben Namen. Beim zweiten ist ein "D" zuviel. Kopierfehler  ;D

Wollte erst mal rausfinden, ob das was ich vorhabe mit den bestehenden Modulen direkt möglich ist. Habe an sich schon eine Idee für eine perl-Funktion. Zumindest wenn das ganze so funktioniert, wie ich es mir vorstelle. Wie sagt man so schön: Probieren geht über studieren.

Viele Grüße
Mark

Puschel74

Zitat von: error500 am 23 April 2015, 17:05:32
Zum Beitrag an sich: Soll ich diesen nochmal im Bereich Beleuchtung einstellen oder kann der verschoben werden?
Viele Grüße
Mark
Kannst du selbst machen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

herrmannj

Zitat von: error500 am 23 April 2015, 17:05:32

  • set LEDD_SZ RGB 0000FF - über WifiLight auf blau (ohne Zeitangabe)
  • set LED_SZ rgb FF0000 - über LW12 auf rot (ohne Zeitangabe)
  • set LEDD_SZ RGB 00FF00 10 - über WifiLight auf grün (mit Zeit, 10 Sekunden)

In Schritt 1 wird blau direkt gesetzt und mit Schritt 2 wird es direkt rot. Wenn ich aber jetzt Schritt 3 starte, dann springt die Farbe erst auf blau und verläuft dann in den 10 Sekunden nach grün. Was ich erwarte ist, dass von rot nach grün übergeblendet wird.

Irgendeine Idee was hier passiert?
Hi Mark,

klar. Kann nicht gehen, das ist ja gerade DER :) Unterschied zwischen den beiden modulen, LW12 triggert HW Animationen und Wifilight erstellt SW Animationen. Woher sollte Wifilight wissen das der LW12 rotes Licht macht wenn es das nicht SELBST beim Controller in Auftrag gegeben hat :).

Verständlich ?

vg
jörg

Kuzl

Hallo Mark,

zum lösen des Problems könntest du z.b. ein notify machen, was immer, wenn das LW12 Modul eine Farbe setzt, die gleiche Farbe auch im Wifilight Modul setzt - oder einfach Zeitgesteuert jede Minute. Andersrum Holt sich das LW12-Modul die aktuell eingestellte Farbe im einstellbaren Intervall vom LW12.

für gezielte Animationen von einer Farbe zur anderen ist WifiLight das Mittel der Wahl. für Dauerschleifen, ob die Hardware-Animationen oder Selbst konfigurierte, ist LW12 gedacht.

Gruß,
Kuzl

error500

Hallo zusammen,

ich habe mir jetzt mit euren Informationen eine Funktion in einer eigenen Utils.pm gebaut. Diese aktualisiert erst die LW12-Modul Statuswerte und startet dann je nach Gerätezustand den Farbverlauf. Der Funktion übergebe ich das Kürzel des Device (z.B. SZ für Schlafzimmer). Das LW12-Modul Device beginnt mit LED_ und das WifiLight mit LEDD_, das Kürzel wird dann angehangen.

sub dim_lw12($$$)
{
  my $device = shift;
  my $value = shift;
  my $time = shift;
 
  # Aktuelle Laufzeitwerte aus dem LW12-Device laden
  fhem("get LED_". $device ." updateStatus");
 
  # Prüfen ob das LW12-Device off ist, wenn ja -> einschalten vorbereiten
  # ansonsten das WifiLight-Device auf die aktuelle Farbe des LW12-Device setzen
  if(ReadingsVal("LED_". $device,"state","off") eq "off"){
    fhem("set LEDD_". $device ." RGB 000000");
    fhem("set LED_". $device ." on"); }
  else {
    fhem("set LEDD_". $device ." RGB ". ReadingsVal("LED_". $device,"rgb","000000") ."");
  }
 
  # Farbverlauf starten
  fhem("set LEDD_". $device ." RGB ". $value ." ". $time);
 
  # LW12-Device Statuswerte aktualisieren
  fhem("sleep ". ($time+0.5) ."; get LED_". $device ." updateStatus;");
}


Mit den Notifies kenne ich mich noch nicht richtig aus. Habt ihr dazu vllt. einen Ansatz für mich? Oder gibt es eine Möglichkeit die Funktion aus dem Device heraus aufzurufen?

Viele Grüße und Danke für die bisherigen Ansätze
Mark