Wifilight.pm

Begonnen von herrmannj, 18 Januar 2014, 04:10:07

Vorheriges Thema - Nächstes Thema

herrmannj

Zitat von: Sidey am 20 Februar 2015, 22:36:55
Hi,

ich habe nun endlich eine  Bridge v4 und zwei LED Lampen (RGBW und White)

Ich habe die 1. Lampe über die App mit der Bridge verbunden und in FHEM dann ein Gerät definiert. Das funktioniert auch:
define licht2 Wifilight RGBW2 bridge-V3:10.y.x.y


Dann habe ich die White über die App mit der Bridge verbunden und in FHEM ein Gerät angelegt:
define licht2 Wifilight White bridge-V3:10.y.x.y

Über die App kann ich da was steuern, aber nicht über FHEM. Habe auch schon versucht mit dem Attribut Group die korrekte Gruppe zuzuordnen, aber das klappt nicht.
Was mache ich hier falsch?


Grüße Sidey

Hi Sidey,

keeene Ahnung was Du falsch machst - generell sollte es gehen.

Tip:
die Gruppen werden vom modul automatisch in der Reihenfolge der definition erstellt. Sprich: Die erste white die in fhem definiert wird muss auch group 1 in der app sein.

white benötigt ein sync weil altes Protokoll. Einmal ausführen.

Wenn Du ggarnicht weiterkommst müsstest Du mal ein list posten.

vg
jörg

Sidey

Hallo Jörg,

danke für deine Antwort.

Ich fasse noch mal eben beim Setup zusammen, da hatte sich in meinem Post doch ein Fehler eingeschlichen.

1. licht1 als RGBW2 über die Bridge -> in der App Gruppe 1 -> funktioniert über app und FHEM..
1. licht2 als White über die Bridge -> in der App Gruppe 2 -> funktioniert über app aber nicht via FHEM.

Zitat von: herrmannj am 20 Februar 2015, 23:26:46
die Gruppen werden vom modul automatisch in der Reihenfolge der definition erstellt. Sprich: Die erste white die in fhem definiert wird muss auch group 1 in der app sein.
Ich habe als 1. eine RGBW2 definiert. Die liegt in der App auf Gruppe 1. Müssen White immer auf Gruppe1 liegen? Wäre ja irgendwie unlogisch, denn via APP gehts ja auch auf Gruppe 2.

Zitat von: herrmannj am 20 Februar 2015, 23:26:46
white benötigt ein sync weil altes Protokoll. Einmal ausführen.

Wie genau läuft die Prozedur ab? Ich habe Sync mal ausgeführt, aber keine Veränderung festgestellt.


2015.02.21 12:34:51 3: licht2, White at bridge-V3, slot 1: sync
2015.02.21 12:34:32 3: licht2 set HSV 0, 0, 0 with ramp: 0, flags:
2015.02.21 12:34:32 3: licht2 RGBW2 slot 1 dim 0 0
2015.02.21 12:34:32 3: licht2 white slot 1 set off 0
2015.02.21 12:34:29 3: licht2 set HSV 0, 0, 100 with ramp: 0, flags:
2015.02.21 12:34:29 3: licht2 white slot 1 set on 0
2015.02.21 12:34:26 3: licht2, White at bridge-V3, slot 1: sync
2015.02.21 12:34:23 3: licht2, White at bridge-V3, slot 1: pair 0
2015.02.21 12:34:19 3: licht2 set HSV 0, 0, 0 with ramp: 0, flags:
2015.02.21 12:34:19 3: licht2 RGBW2 slot 1 dim 0 0
2015.02.21 12:34:19 3: licht2 white slot 1 set off 0
2015.02.21 12:34:16 3: licht2 set HSV 0, 0, 100 with ramp: 0, flags:
2015.02.21 12:34:16 3: licht2 white slot 1 set on 0
2015.02.21 12:34:01 3: licht2, White at bridge-V3, slot 1: sync


Zitat von: herrmannj am 20 Februar 2015, 23:26:46
Wenn Du ggarnicht weiterkommst müsstest Du mal ein list posten.
Ja, würde ich machen. Ich weiss nur gerade nicht wie das geht. :(

Sorry wenn ich jetzt blöd frage, aber sind die Attribute irgendwo dokumentiert?

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

herrmannj

Hi,

welche attribute ?

definiere mal eine zweite white bitte und schau mal ob das dann mit der geht

vg
jörg

Sidey

Zitat von: herrmannj am 21 Februar 2015, 12:59:34
welche attribute ?
Ich meine z.B. Group, Whitepoint,... oder was auch immer ich da scheinbar konfiguriere kann.


Zitat von: herrmannj link=topic=18958.msg264716#msg264716
definiere mal eine zweite white bitte und schau mal ob das dann mit der geht
/quote]

Prima funktioniert. Habe es als licht3 definiert. Ging sofort, ohne Sync.
Habe dann licht2 gelöscht. Geht immer noch.

Danke dir.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

herrmannj

attribute: ja im wiki und die fhem eigenen in der cmdref (group ist fhemweb, nicht die group an der bridge)

licht3: Nach einem Neustart geht es nicht mehr. Die Gruppen werden für white und RGBW getrennt verwaltet.

Die white musst Du nochmal umlernen. In der App muss es einen Möglichkeit geben die white als erste white zu definieren. Denk an den fhem Neustart

vg
jörg

8PABenny

Ich hatte heute mal ein Update der Wifilight.pm gemacht mit

update force https://raw.githubusercontent.com/herrmannj/wifilight/master/controls_wifilight.txt

Habe den Colorpicker aktiviert,  der in der WEB-Instanz auch da ist,  aber in der WEBphone-Instanz fehlt. Bekommt man den dort auch wieder aktiviert?

Mfg
Benny
Raspberry Pi, Homematic, Wifilight mit LW 12, Milightbridge mit 3 Milights,

darkmission

Hallo Jörg,

Vorgeschichte:
Ich habe mir, wie auch in der Doku beschrieben, eine LW12 Controller von Amaz** bestellt. Angeschlossen, App installiert, das Netz FC_XXX gefunden,
umgestellt auf internes WLAN, mit der App getestet. Funktioniert. FC_XXX? Gibt es nicht bei WifiLight, Hoffnung stirbt zuletzt .. ;)

WifiLight im FHEM konfiguriert, getestet, geht nicht, weder mit LW12 noch mit LW12HX.  Wireshark angeworfen, App gestartet, an/aus,Ergebnis war Protokoll UDP, Port 5000. Passt zu keiner Verbindungskonfiguration in dem WifiLight Modul.

Adminseite des Controllers aufgerufen, admin:nimda eingegeben, geht nicht. Mit admin:admin konnte ich die Adminseite aufrufen, Ports umgestellt, Protokoll umgestellt. Mit Portscanner getestet, keine Verbindung. Andere Ports scheinen auf dem Controller geblockt zu werden. Alles wieder zurück.

Testweise im WifiLight Modul alle LW12HX Einträge auf LW12FC kopiert, Verbindungsparameter angepasst, mit Wireshark beobachtet. Verbindung funktioniert.
An/Aus geht nicht. Scheint auch anderer Befehlssatz zu sein. Original App sendet bei LED an: 7e:04:04:01:ff:ff:ff:00:ef, bei aus 7e:04:04:00:ff:ff:ff:00:ef.
Also kopierte WifiLight_RGBLW12HX_setHSV/WifiLight_RGBLW12FC_setHSV angepasst,
von my @sendData = (0x9D, 0x62, 0x00, 0x01, 0x01, $on, $dim, $rr, $rg, $rb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
nach my @sendData = (0x7e, 0x04, 0x04, $on, $rr, $rg, $rb, 0x00, 0xef);

An/aus funktioniert.
An
7e:04:04:01:ff:ff:ff:00:ef
Aus
7e:04:04:00:ff:ff:ff:00:ef

Weitere Tests:
Farbänderungen Model:
Rot
7e:05:03:80:03:ff:ff:00:ef
Blau
7e:05:03:81:03:ff:ff:00:ef
Grün
7e:05:03:82:03:ff:ff:00:ef
...

Farbänderungen Ring:
7e:07:05:03:ff:1c:18:00:ef
7e:07:05:03:ff:1c:18:00:ef
...


Helligkeit Model:
0%
7e:05:03:80:01:ff:ff:00:ef
10%
7e:05:03:81:01:ff:ff:00:ef
20%
7e:05:03:82:01:ff:ff:00:ef
...

Helligkeit Ring:
7e:05:05:01:5e:ff:ff:08:ef
7e:05:05:01:30:ff:ff:08:ef
7e:05:05:01:04:ff:ff:08:ef

Nun zu meinem eigentlichen Problem. Die ersten beiden Stellen sind immer gleich, 7e, aber 2-3, 4-5 usw. sind je nach Funktion, an/aus, Farbänderungen direkt, über Ring immer unterscheidlich. Dazu sind, bis auf h,s,v,ramp in dem Modul/ in den subs aber keine Parameter vorgesehen, die ich übergeben könnte. Mir fehlt es nun an Eingebung, wie ich das in Dein Modul integrieren könnte.
Ich wollte Dir eigentlich die Arbeit abnehmen und die Unterstützung für einen neuen Controller einbauen und Dir dann zukommen lassen. Nun muss ich Dir doch zur Last fallen. Kannst Du mich hierbei eventuell unterstützen?

Danke und Gruß
Frank
Raspberry 2x PiB, 2x Pi2, 2x Pi3, 2xPi0, CUL, HM-LC-DIM1T-FM, LW12FC, Intertechno Funksteckdosen, OSMC, Viessmann Heizungssteuerung, eigene Photovoltaik Anbindung ( Effekta ), eigener "Powermeter" (3 x LED, 1 x Ferraris), AVR Steuerung, IR, Harmony Hub, SIGNALduino433/868, Dooya Rolladensteuerung...

herrmannj

so, so erster post und gleich mit 'nem sniff  :) sehr gut.

Herzlich Willkommen !

Die L-typen haben normalerweise im Protokoll die Möglichkeit absolute Werte auf die drei Kanäle RGB zu setzen.

Goog news: das Protokoll (Dein sniff) sieht recht straight forward aus - keine checksum, kein großes byte, nibble oder bit-geschubse.
Bad news: ich verstehe es nicht :) sofort.

Das hängt damit zusammen das mir jetzt der Unterschhied zwischen "model" und "ring" nicht klar ist.

Könntest Du außerdem nochmal folgendes sniffen: 0%,50% und 100% jeweils auf R,G und B ?

An / Aus ist klar.

Dim / Helligkeit wird von einigen controllern als extra Funktion ins Protokoll gebunden. Das ist aber eigentlich redundant zu der direkten Steuerung der channels. Ansonsten; ich denke den bekommen wir fix rein.

Danke und Grüße
Jörg

darkmission

Erstmal vielen Dank dass Du dir die Zeit nimmst und sory für den langen Post. Die App heißt Fancy Home, Ring = Color-/Brightnesspicker, Model = Konstanten. Habe mal Screenshots angehängt, ein Bild sagt mehr als tausend Worte ;-)

Folgende Funktionen gibt es jeweils als "Ring" und "Model":

Auswahl der Farbe
Model/Konstanten
Static red   7e:05:03:80:03:ff:ff:00:ef
Static blue  7e:05:03:81:03:ff:ff:00:ef
Static green 7e:05:03:82:03:ff:ff:00:ef
Static white 7e:05:03:86:03:ff:ff:00:ef

Ring/Colorpicker (so ungefähr R/G/B)
R 7e:07:05:03:ff:07:2c:00:ef
G 7e:07:05:03:57:ff:44:00:ef
B 7e:07:05:03:31:2f:ff:00:ef

Ring/Buttons
R 7e:07:05:03:ff:00:00:00:ef
G 7e:07:05:03:00:ff:00:00:ef
B 7e:07:05:03:00:00:ff:00:ef


Zusätzlich "Speed" für ein Licht-Programm, z.B. "Tricolor Gradient", und "Brightness" über Schieberegler.
Speed lass ich mal weg.

Brightness(Helligkeit) über Schieberegler:
1%   7e:04:01:01:ff:ff:ff:00:ef
51%  7e:04:01:51:ff:ff:ff:00:ef
100% 7e:04:01:64:ff:ff:ff:00:ef


Auswahl der Helligkeit
Model/Konstanten
0%   7e:05:03:80:01:ff:ff:00:ef
50%  7e:05:03:85:01:ff:ff:00:ef
100% 7e:05:03:8a:01:ff:ff:00:ef

Ring lass ich mal weg.

Auswahl der "Wärme"
Model/Konstanten
0%/100% 7e:05:03:80:02:ff:ff:00:ef
50%/50% 7e:05:03:85:02:ff:ff:00:ef
100%/0% 7e:05:03:8a:02:ff:ff:00:ef
Brightness über Schieberegler gleiche wie bei Farbe

Ring lass ich mal weg.

Deine Anforderung:
Static red
0%   7e:05:03:80:01:ff:ff:00:ef
50%  7e:05:03:85:01:ff:ff:00:ef
100% 7e:05:03:8a:01:ff:ff:00:ef

Static green
0%   7e:05:03:80:01:ff:ff:00:ef
50%  7e:05:03:85:01:ff:ff:00:ef
100% 7e:05:03:8a:01:ff:ff:00:ef

Static blue
Spar ich mir mal, wie du oben siehst immer gleich. Wenn ich Dich richtig verstanden habe, wolltest Du sowas wie: Rot 50% = 50:FF:00:00 und Grün 80% 80:00:FF:00 haben. Scheint aber alles einzeln gesteuert zu werden, also Kombi Helligkeit und Farbe geht anscheinend nicht in einem Paket.

Ich Hoffe habe jetzt alles erwischt, was Du benötigts. Wenn nicht, bitte anfordern ;-)
Raspberry 2x PiB, 2x Pi2, 2x Pi3, 2xPi0, CUL, HM-LC-DIM1T-FM, LW12FC, Intertechno Funksteckdosen, OSMC, Viessmann Heizungssteuerung, eigene Photovoltaik Anbindung ( Effekta ), eigener "Powermeter" (3 x LED, 1 x Ferraris), AVR Steuerung, IR, Harmony Hub, SIGNALduino433/868, Dooya Rolladensteuerung...

herrmannj

Hi Frank,

des passt schoo ...  :)

Die L.. haben auch Programme, ich vermute mal das "model" jetzt eher für die Programme steht (?). Static red kann ja durchaus auch als Programm existieren, im Gegensatz zu static red als Farbe gewählt (wheel). Könnte ich da richtig liegen ?

btw, die Programme unterstützt Wifilight per se nicht, weil: es werden möglichst viele controller unterstützt und damit passen die controller spezifischen Funktion halt nicht mehr.

Wenn die Annahmen über das Protokoll stimmen wäre das wohl der spannende Bereich:
RGB:      7e:07:05:03:RED:GREEN:BLUE:00:ef
An:        7e:04:04:01:ff:ff:ff:00:ef
Aus:      7e:04:04:00:ff:ff:ff:00:ef

Siehst Du das auch so ?

vg
jörg

darkmission

Das sehe ich ganz genauso.
Mein Problem ist jetzt, wie am Anfang auch beschrieben, aus 7e:04:04:01... 7e:07:05:03.. zu machen. $on, $h,$s,$v,$ramp reichen hier halt nicht.

Entweder für Farbe wechseln neue Sub anlegen, was eigentlich bischen oversized ist, nur um ein paar Zahlen auszutauschen, oder man müßte herausbekommen, welcher set Befehl, AN , AUS oder Farbwechsel, gerade von FHEM gesendet wurde. An das $cmd komme ich in der sub ja nicht mehr ran, oder? Dann könnte man ganz elegant Variablen setzen. Wenn on dann 04:04:01, wenn off dann 04:04:00, wenn Farbwechsel dann 07:05:03 und die HSV Parameter.

Oder die Parameter schon irgenwo vorher setzen. Widerspricht aber Deinem Gesamtkonstrukt.
Was meinst Du?

Soll ich die geänderte WifiLight.pm hier anhängen? Zusenden per PN geht ja nicht, es sei denn als Nachricht im Text.
Raspberry 2x PiB, 2x Pi2, 2x Pi3, 2xPi0, CUL, HM-LC-DIM1T-FM, LW12FC, Intertechno Funksteckdosen, OSMC, Viessmann Heizungssteuerung, eigene Photovoltaik Anbindung ( Effekta ), eigener "Powermeter" (3 x LED, 1 x Ferraris), AVR Steuerung, IR, Harmony Hub, SIGNALduino433/868, Dooya Rolladensteuerung...

herrmannj

Du -  brauchste nich: ich bau das ein.

Was mir auch ganz lieb ist, ich kenn mich ja mit dem modul aus  ;) (sprich, ich kann das schneller einabauen als fremden code zu kontrollieren, zumal es die eine oder andere Ecke gibt wo man dran denken muss).

Das system im groben: es wird alles auf transitions abgebildet. "Harte" Umschaltungen sind eben tranitions mit der Dauer 0. Die transition arbeitet asynchron, sonst würde fhem blockiert werden.

Aus der transition purzelt dann HSV (und device) zum richtigen Zeitpunkt raus -

In sub <device>_setHSV wird die (zb line 1104 beim lw12) wird dann, nach Farbkorrektur und Weiß-Balance, das device cmd erstellt und (ebenfalls asynchron) weitergegeben. Asynchron weil es auch device gibt bei denen ein einzelner Farbwechsel über mehrere byte sequenzen mit definiertem timing erfolgen muss.

Ich bau Dir das ein :) Bleiben wir bei UPD , 5000 ? Wäre mir ganz lieb, dann laufen die controller out-of-the box. Name LW12FX ?

vg
jörg

darkmission

Du bist schneller als ich dir ne PN senden kann ;D
Hatte an FC gedacht, da die SSID mit FC anfängt und die APP FancyHome heißt.
UDP/5000 passt.

Danke!
Raspberry 2x PiB, 2x Pi2, 2x Pi3, 2xPi0, CUL, HM-LC-DIM1T-FM, LW12FC, Intertechno Funksteckdosen, OSMC, Viessmann Heizungssteuerung, eigene Photovoltaik Anbindung ( Effekta ), eigener "Powermeter" (3 x LED, 1 x Ferraris), AVR Steuerung, IR, Harmony Hub, SIGNALduino433/868, Dooya Rolladensteuerung...

herrmannj


Kuzl

Seit wann läuft denn der LW12 mit UDP? ich mein ich kann meinen zwar auch auf UDP umstellen aber standardmäßig ist er TCP. Ist das auch von Version zu Version anders?