WIFI LED Controller

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

Vorheriges Thema - Nächstes Thema

justme1968

#195
bei den hue wird der update timeout im set mit angehängt. und wenn wärend eines laufenden update timers ein neues set kommt der timer neu gestartet. so kann man dein timer zum ausschalten auf 0 setzen wenn man einen kontinuierlichen effekt steuert oder etwas höher wenn man per taster und notify interaktiv alle lampen dimt damit das update nicht zwischen rein funkt.

du brauchst ein reading und ein set. beide müssen gleich heißen. wenn es nicht RGB ist brauchst du zusätzlich noch ein event RGB damit die longpoll updates des colorpicker gegen. die kannst du bekommen indem du im modul ComnandTrigger zusätzlich zum ReadingsUpdate verwendest.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Kuzl

#196
Jetzt glaub ich hab ich es verstanden. Du setzt z.b. bei dimup und dimdown den timer höher. Ansonsten ist es der im Reading.
Ok aber wie löst du das problem, wenn jemand einfach ganz schnell hintereinander befehle schickt, wenn er auf sofortigen update gestellt hat?
Das war mein eigentlicher Beweggrund dafür. Wenn jemand z.b. farbübergänge in einem notify drin hat würde das ja alles sehr verzögern wenn auf sofortigen update gestellt ist. Man könnte es natürlich per optionalen parameter ausschalten...

@pythonf: also das HSV in einzlne readings aufzutrennen halte ich nicht für nötig, kann jeder selber in den notifys machen wenn er es braucht ist ja mit rgb das gleiche.
Das mit dem Dropdownmenü ist mir auch schon aufgefallen, keine ahnung wie man das herbekommt wenn der colorpicker verwendet wird.
HSV-Reading ist mitlerweile gefixt

Pythonf

Stimme  ich dir zu, ich werd mich mal i  Forum umschaun, wie ich es mit fhem hinbekomme, dass ich ein Reading in 3 variablen aufteile:)

betateilchen

Wie sieht denn so ein Reading aus und wie möchtest Du es gerne geteilt haben?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Pythonf

Das Reading aktuell schaut so aus:

HSV: H-Wert " " S-Wert " " V-Wert.
für meine Anwendung bräuchte ich die Werte allerdings einzeln.

Grüße
Fabian

betateilchen

Du hast meine Frage nicht verstanden.

Gib mir doch mal bitte einen KONKRETEN reading-Inhalt (also echte Werte) und nicht irgendwas symbolisches.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#201
alles muss man sich hier selbst zusammansuchen...


my $hsv = ReadingsVal('blaDevice','hsv','');
my ($h,$s,$v) = split(/ /,$hsv);


Und ausserdem interessieren mich Fußballmannschaften nicht die Bohne.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Ich hätte da noch eine Anregung:

Im _Define sollte die erste Aktualisierung nicht erst nach 60 Sekunden stattfinden, damit nach einem "shutdown restart" oder einem "rereadcfg" die aktuellen Werte sofort zur Verfügung stehen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Sind diese vielen get wirklich noch notwendig?


2014.11.25 19:09:04.285 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:09:50.169 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:10:02.817 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:10:35.867 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:11:21.793 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:12:07.505 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:12:53.034 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:13:38.981 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:14:24.687 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:15:02.570 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:15:13.555 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:15:59.727 3: get Licht_Balkon rgb : 7F4200
2014.11.25 19:16:45.690 3: get Licht_Balkon rgb : 7F4200
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuzl

Alles klar mach ich so :)
In der aktuellen version werden die readings nur noch aktualisiert, wenn sich der wert ändert. Kann sein, dass das logging noch an der falschen stelle sitzt.

betateilchen

#205
Zitat von: Kuzl am 25 November 2014, 20:18:13
Kann sein, dass das logging noch an der falschen stelle sitzt.

Nein, sorry. War mein Fehler aus der "alten" Version.

Deine Änderungen sind übrigens nicht abwärtskompatibel  8) Früher konnte man mit "get <device> rgb" einfach den rgb Wert auslesen - das gibt jetzt jede Menge Fehler im Log.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Pythonf

Vielen Dank für die Erklärung :D - funktioniert genau so, wie ich es brauche und erspart sogar noch Schreibarbeit:)

Grüße
Fabian

Kuzl

Stimmt das gwht jetzt nicht mehr jetzt muss man sich das aus dem reading holen. Soll ich das noch einbauen?

betateilchen

Nein, brauchst Du nicht. Da das Modul noch nie "offiziell" war, ist das kein Problem ;)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Ich glaube, da müssen noch ein paar Aufräumarbeiten gemacht werden, so ganz tut das alles noch nicht so wie geplant.


  • in den Internals sollten die Werte für R G B speed und mode entfernt werden
  • nach dem Setzen eines mode sollte ein entsprechendes Reading aktualisiert werden, bisher gibt es dafür gar kein Reading
  • beim setzen eines mode sollte der zweite Parameter optional sein

Mein Controller hatte irgendeinen Mode mit einem langsamen Farbwechsel durch das gesamte Farbspektrum. Irgendwie finde ich diesen Mode nicht nicht mehr :(
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!