WIFI LED Controller

Begonnen von jenscz, 05 November 2013, 00:12:03

Vorheriges Thema - Nächstes Thema

Kuzl

Du hast recht, ist mir das vorhin nicht aufgefallen oder ist das wirklich schon immer so?
Wenn eine statische Farbe gesetzt ist, wird vom LW12 für den Mode "29" zurückgegeben. Wenn die benutzerdefinierte Animation gesetzt ist 21.

betateilchen

Ich kam auf meine Frage, da ich die 29 für statische Farbe schon ein paar Tage kenne - und als Kriterium nutze.

Wenn die Animation die 21 hat, ist doch schon alles geklärt :)

Eventuell müsstest Du nur dafür sorgen, dass beim Setzen einer Animation der mode=21 als Reading erstmal direkt bei der Befehlsausführung geschrieben wird, damit der Wert bis zur ersten Aktualisierung schon stimmt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuzl

Hast recht das fehlt dann noch

kann man den internal-timer eigentlich anhalten? damit mir der Statusupdate nicht bei einer Befehlsausführung reinpfuscht bzw. verlangsamt.

Ansonsten ist gestern einiges aufgeräumt worden :D so hat man jetzt auch keine Probleme mehr, wenn man die automatische aktualisierung ausschaltet. Auch heading und Doku hab ich aktualisiert somit wär dann alles fertig oder? Oder hat noch jemand Vorschläge / Ideen?

EDIT: Da fällt mir noch was ein: Das "dim" würde ich gerne mit der routine vom colorpicker machen, allerdings verstehe ich die Struktur die da verwendet wird nicht ganz.

justme1968

was meinst du mit dim möchtest du mit dem colorpicker machen?

für dim wird normalerweise ein slider verwendet. dazu müsstest du in der antwort auf das 'set ?' das dim kommando so zurück geben:dim:slider,0,1,100das bedeutet dann das für dim ein slider mit einem bereich von 0-100 und schrittweite 1 verwendet werden soll.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Bezüglich dim: Mir gefällt die jetzt bereits bestehende Lösung mit dem Slider ganz gut. Eine Kombination mit dem colorpicker halte ich nicht für sinnvoll, da sich mit dem Verändern des sliders automatisch auch der rgb-Wert ändert, was bisher korrekt funktioniert. Da sehe ich keinen Handlungsbedarf.

Zitat von: Kuzl am 10 Dezember 2014, 10:04:58
kann man den internal-timer eigentlich anhalten? damit mir der Statusupdate nicht bei einer Befehlsausführung reinpfuscht bzw. verlangsamt.

Ist doch ganz einfach:

Beim Betreten der _Set() löscht Du mit RemoveInternalTimer() den Timer und vor dem Verlassen setzt Du ihn einfach neu.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuzl

ich will das dim schon so beibehalten wie es ist, ich will nur die routine durch die im color.pm ersetzen. Hab mich falsch ausgedrückt. Andre hat schon mal versucht mir das zu erklären :D

Es wird bei set dim 20 ja der zugehörige RGB-Wert berechnet. Das würde ich gerne durch die Routine in der color.pm ersetzen.

Zitat von: betateilchen am 10 Dezember 2014, 12:13:46
Beim Betreten der _Set() löscht Du mit RemoveInternalTimer() den Timer und vor dem Verlassen setzt Du ihn einfach neu.
okay das würde gehen mach ich dann so rein :)

Pythonf

#276
Mir ist auch ein Fehler im Modul aufgefallen:
Beim Setzen der Sättigung oder der Helligkeit bzw Dimmung über
set [..] hsv 30 0 100
set [..] hsv 30 10 0
set [..] dim 0


werden die Werte für den Farbton bzw auch für die Sättigung auf 0 gesetzt. Deshalb bleibt der Farbton bei komplettem runterdimmen auf 0 nicht erhalten, ebenso verhält es sich mit der Sättigung. Die Readings werden beim Übergang von 1 auf 0 auf 0 zurück gesetzt.

---
Ist eigentlich eine Implementierung einer Zeitkomponente z.B. für set [..] dim 100 10 vorgesehen oder gibt es die schon?

Grüße
Fabian

Kuzl

Da hast du recht, da ja dann keine farbe mehr angezeigt ist sondern alles aus ist, kann auch  nicht auf eine Farbe zurückgerechnet werden. Ich werde mir da sobald ich Zeit finde mal was einfallen lassen. Zeitkomponenten sind bis jetzt noch nicht eingeplant oder gebaut dazu müsste dann wie beim wifilight modul über fhem permanent gesendet werden. Muss ich mir mal überlegen aber das würde wenn dann erst im weihnachtsurlaub kommen da hab ich bisschen zeit für sowas :D

betateilchen

Ich bin gegen die Zeitkomponente. Wer das haben will, soll seinen LW12 mit wifilight.pm betreiben. Ich bevorzuge WIFILED gerade deshalb, weil es bisher schlank, schnell und ressourcenschonend war - und auch bleiben sollte.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Pythonf

@Betateilchen - Das ist ein gutes Argument.Da Wifiled und Wifilight ja problemlos parallel betrieben werden können stimm ich dir da zu.

Kuzl

Bin ich mit euch einer Meinung dann lassen wirs weg ;)
Aber dem Problem mit dim0 nehm ich mir an, ich werd die Farbwerte wohl irgendwo zwischenspeichern müssen.

Kuzl

Hallo,

ich hab das ganze Modul jetzt mal auf die in der color.pm genutzten Struktur umgebaut. Dadurch sind die {helper} entfallen und die Brightness2Channels wird jetzt verwendet.
Wenn ich die auskommentierten Zeilen oben und unten (Timer löschen und setzen) einkommentiere, funktioniert die Aktualisierung nicht mehr. Mir ist schleierhaft warum, weiß wer rat?

Außerdem ist das mit dem dim 0 wohl doch nicht so einfach wie gedacht. Wenn mit der app ausgeschaltet wird haben wir ebenfalls keine Farben die wir speichern können. Hat da wer eine Idee wie das zu lösen wäre?

Viele Grüße
Kuzl

aroesler

Moin,

ich hoffe, nicht irgendwo einen Hinweis übersehen zu haben ... wenn doch, dann bin ich für sachdienliche Links sehr dankbar :-).

Ich habe mir zwei iwy-Lampen (http://iwy-light.de/de/led-beleuchtung) geleistet. Diese kann ich über WIFI LED an- und abschalten und im Web-Interface kann ich die korrekten RGB- und HSV-Werte ablesen. Beim Ausführen eines Set-Kommandos á la fhem.pl 7072 "set LED_lampe rgb FF0000" ändert sich zwar der Wert im Web-Interface, aber die Farbe der Lampe ändert sich nicht. Bei anderen Kommandos (z.B. animate oder run) stürzt der komplette FHEM ab.

Habt Ihr einen Tipp für mich oder kann ich Euch irgendwelche helfenden Daten liefern?

Danke vorab und viele Grüße,



Andreas

Kuzl

Mich wunderts dass überhaupt so viel geht :D Wifiled  ist für den lw12 geschrieben. Deine lampen könnten aber evtl von wifilight unterstützt werden.

aroesler

Das hatte ich auch erwartet - aber mit WifiLight geht gar nichts.