WIFI LED Controller

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

Vorheriges Thema - Nächstes Thema

Kuzl

#210
Okay ja da geb ich dir recht. Allerdings würde ich die internals für die einzelnen farben zur internen verarbeitung gern behalten. Gibts da ne möglichkeit das ganze "unsichtbar" zu machen?
Der sache mit der verschwundenen animation gehe ich auf den grund ;)

EDIT: müsste der mode 0 sein

betateilchen

Das mit dem Mode 0 stimmt. Aber in der magic color app ist das der mode 1 - vielleicht sollte man das noch synchronisieren. Die Modes sind alle um 1 verschoben.

Warum Du die RGB Werte in den Internals brauchst, wo sie doch in den readings stehen, verstehe ich zwar nicht, aber Du könntest das z.B. so lösen:


    $hash->{helper}{RED}   = 255;
    $hash->{helper}{GREEN} = 255;
    $hash->{helper}{BLUE}  = 255;
    $hash->{helper}{MODE}   = 0;
    $hash->{helper}{SPEED}   = 128;


und dann immer auch so verarbeiten (also immer mit {helper} davor) Auf diese Art und Weise sollten die Werte nicht mehr in Internals auftauchen.

Verwirrend finde ich übrigens die "umgekehrte Logik" beim speed-Wert: je höher der Wert, desto langsamer der Farbwechsel...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuzl

Genau danach hab ich gesucht danke :)
Ja die modes beginnen in der app bei 1 und hier im modul bei 0. Das kann ich ebenfalls korrigieren.

betateilchen

Zitat von: Kuzl am 26 November 2014, 20:05:48
Ja die modes beginnen in der app bei 1 und hier im modul bei 0. Das kann ich ebenfalls korrigieren.

Das würde ich begrüßen :)

Fragen aus Neugier:

Wie werden eigentlich die benutzerdefinierten Modi angesprochen?
Einfach weiterzählen?
Woher weiß das Modul wieviele Modi es insgesamt gibt?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuzl

Die benutzerdefinierten hab ich mir noch nicht angesehen. Da muss ich mal schauen wie die von der app angesprochen werden... und auch das ganze erst mal sniffen.
aber wär natürlich der hammer wenn ich das noch einbauen könnte

betateilchen

Zitat von: Kuzl am 26 November 2014, 20:21:43
Die benutzerdefinierten hab ich mir noch nicht angesehen.

Es scheint tatsächlich so einfach zu sein - einfach weiterzählen. Wenn ich mode=19 (in der app=20) setze, komme ich in den ersten selbst definierten Modus.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ChrisD

Hallo,

Ich habe die Informationen von der Seite
http://blog.stedmeister.co.uk/2014/05/controlling-the-wifi370/
verwendet um die benutzerdefinierten Modi des LW12 von FHEM aus zu definieren. Vielleicht erspart dir dies einiges an Sniffen.

Grüße,

ChrisD

betateilchen

super :) danke für die Info.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kuzl

warum hab ich diese seite nicht gefunden  :-[  :'(

Danke dir für die Seite die erspart mir durchaus einiges denke ich :D aber eins nach dem andern :)

Kuzl

#219
So hab mal alles was dir aufgefallen ist korrigiert und noch zusätzlich den Befehl "speed" hinzugefügt mit dem man die Geschwindigkeit ändern kann ohne den mode zu beeinflussen.

Ich würde noch gerne die Zählrichtung des Speeds umkehren, reicht es da wenn ich den Speed bitweise invertiere? bin mir da irgendwie nicht sicher  :-\

EDIT: ich idiot ich muss nur 255-speed nehmen :D bau ich noch kurz ein
EDIT2: So Version im Anhang hat nun den speed "richtig rum"

betateilchen

ähm... zum Thema speed... bist Du Dir sicher, dass es so einfach ist?

-----------------------
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 denke dass es so passt, ja. Aber teste es bitte lieber nochmal :D Version oben - kann sein dass du es nicht mehr gelesen hast hab sie erst ca. 30 sec vor deinem Post hochgeladen.

betateilchen

Es passt nicht.

bisher (vor Deiner heutigen Änderung) war die Zuordnung von "fhem speed" -> "app speed" folgende:


0 -> 32
10 -> 22
20 -> 12
30 -> 2
32 -> 0
40 -> -8
50 -> -18
60 -> -28
70 -> -38
80 -> -48
90 -> -58
100 -> -68
110 -> -78
120 -> -88
128 -> -96
130 -> -98


die Formel war: app = -1 * (fhem-32)

Jetzt ist die Zuordnung folgende:


0 -> -223
10 -> -213
50 -> -173
usw.


In der App gibt es nur Werte von 1-31, je höher der Wert, umso schneller der Farbwechsel
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

app = 1  -> fhem =224
app = 15 -> fhem = 238
app = 31 -> fhem = 254


Also wenn Du von Deinem aktuellen Reading noch 223 abziehst, passt das Ergebnis. Aufgefallen ist mir, dass das speed-Reading erst nach zweimaligem get updateStatus aktualisiert wird.

Achja: Wieso hat das reading "mode" eigentlich keinen Timestamp? Arbeitest Du nicht mit den readings*Update() Funktionen?


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

Kuzl

der grund ist, dass es (zuminderst glaub ich das) mehr als diese 32 Helligkeitsstufen nimmt. die App nimmt sich nur die schnellsten 32 raus. (bin mir allerdings nicht sicher, ob der controller auch 255 geschwindigkeiten unterstützt aber mir scheint es schon so)

doch ich arbeite mit readings*Update(), update allerdings nur, wenn sich das reading auch ändern würde. daher ist warscheinlich der timestamp so "alt".... OK mir ist grad aufgefallen bei der definition oben hab ich da was übersehen ich aktualisiere die Version oben um diesen kleinen fix