ESP RGBWW Wifi Led Controller - Firmware vbs

Begonnen von vbs, 18 April 2017, 09:26:13

Vorheriges Thema - Nächstes Thema

lewej

Hi,

soweit funktioniert momentan alles.

Aus dem Wiki, das funktioniert:
set myLed hue 80 10 q:setHueAnim
set myLed hue 120 10 :setHueAnim

Aus dem Wiki, das funktioniert nicht:

set myLed +40,, 30 r

Unknown argument +40,,30, choose one of hsv rgb state update hue sat stop val dim dimup dimdown on off toggle raw pause continue blink skip config restart fw_update

Die Meldung ist ja klar, nur welchen Parameter muss man den da setzen?

Was mir auch nicht ganz klar ist, wie ich eine Disco animation setzen kann.
Sowas zum Beispiel:
- Fade von Farbraum blau bis rot
- Blinke einmal
- Fade anderen Farbraum
- blinke zweimal
- fade wieder

Ich habe noch milights momentan verbaut und die können verschiedene Disco und FADE Modes:
https://www.youtube.com/watch?v=ksm7ajNff3I
Ich meine die Stelle 0:54min

Gruß
lewej

funclass

#16
Firmware aus dem Develop Branch habe ich nun OTA auf einem meiner Controller drauf. Das angepasste FHEM-Modul lade ich grad in meine Testinstanz und dann probiere ich mal ein Wenig. Die Befehle im WiKi sehen auf jeden Fall extrem interessant aus. Ich werde berichten...

EDIT: hab grad bemerkt, dass das "original" FHEM-Modul mit der neuen Firmware nicht mehr so richtig sprechen will. Damit muss ich erstmal wieder die stable draufspielen und für die Tests einen "unkritischen" Controller aus der letzten Lieferung verwenden. Sonst kann ich meine Beleuchtung im Schlafzimmer nicht mehr ordentlich bedienen.

vbs

Zitat von: lewej am 20 April 2017, 19:51:58
ich muss in der Küche drei Stück verbauen, dann welche im Wohnzimmer, jetzt ist unser EG sehr offen, deshalb muss ich die Controller irgendwie synchron bekommen. Man könnte jetzt zwar mit fhem mit notifys rum spielen, aber das ist zu langsam und damit schwindet der WAF :(.
Versuch doch mal die vorhandene Slave-Funktion:
https://github.com/verybadsoldier/esp_rgbww_fhemmodule/wiki#slave-sync

Klappt mMn soweit gut. Nur bei langen Fades können die Controller anfangen auseinander zu laufen.

Zitat von: lewej am 20 April 2017, 19:51:58
Am liebsten wäre mir auch noch eine Variante, wo die Controller sich ohne FHEM oder MQTT mit einander unterhalten könnten (Multicast).
Wie würdest du in dem Fall die Controller steuern? Dann ausschließlich über das Webinterface?

vbs

Zitat von: funclass am 20 April 2017, 21:10:21
EDIT: hab grad bemerkt, dass das "original" FHEM-Modul mit der neuen Firmware nicht mehr so richtig sprechen will.
Bin ich gerade unsicher, was genau klappt denn da nicht? Mag aber durchaus so sein. Ich hätte aber gedacht, dass zumindest die Grundfunktionen noch kompatibel sein sollten.

funclass

Ich teste heute Abend mal etwas intensiver.

Umgekehrt scheint es problemlos zu klappen. Hab in meiner FHEM-Testinstanz dein develop-Modul eingebunden. Das kann die Controller mit Originalfirmware gut steuern.

Wie gesagt, mit nem Versuchsaufbau weiß ich später mehr.

ComputerZOO

Moin,
habe das Ganze nun auf einem Test-Controller an einem "Neben-FHEM" hängen. Scheint zu funktionieren, ABER:
2017.04.21 09:30:20.694 3: LedController_ProcessRead: Unknown message type: color_event
2017.04.21 09:30:22.693 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":263.99,"s":61.00,"v":17.99,"ct":2700},"id":1054}
2017.04.21 09:30:22.694 3: LedController_ProcessRead: Unknown message type: color_event
2017.04.21 09:30:24.693 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":263.99,"s":61.00,"v":17.99,"ct":2700},"id":1055}
2017.04.21 09:30:24.694 3: LedController_ProcessRead: Unknown message type: color_event
2017.04.21 09:30:26.692 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":263.99,"s":61.00,"v":17.99,"ct":2700},"id":1056}
2017.04.21 09:30:26.694 3: LedController_ProcessRead: Unknown message type: color_event
2017.04.21 09:30:28.693 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":263.99,"s":61.00,"v":17.99,"ct":2700},"id":1057}
2017.04.21 09:30:28.695 3: LedController_ProcessRead: Unknown message type: color_event
2017.04.21 09:30:30.695 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":263.99,"s":61.00,"v":17.99,"ct":2700},"id":1058}
2017.04.21 09:30:30.697 3: LedController_ProcessRead: Unknown message type: color_event
2017.04.21 09:30:32.693 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":263.99,"s":61.00,"v":17.99,"ct":2700},"id":1059}
2017.04.21 09:30:32.694 3: LedController_ProcessRead: Unknown message type: color_event
2017.04.21 09:30:34.693 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":263.99,"s":61.00,"v":17.99,"ct":2700},"id":1060}
2017.04.21 09:30:34.694 3: LedController_ProcessRead: Unknown message type: color_event



Habe ich noch irgendetwas vergessen?
Internals:
   CFGFN
   DEF        192.168.0.41
   DeviceName 192.168.0.41:9090
   FD         17
   IP         192.168.0.41
   LAST_RECV  1492759962.63104
   NAME       LED_Stripe_RGB
   NR         45
   NTFY_ORDER 50-LED_Stripe_RGB
   PARTIAL
   PORT       9090
   STATE      opened
   TYPE       LedController
   Readings:
     2017-04-21 09:17:40   config-color-brightness-blue 100
     2017-04-21 09:17:40   config-color-brightness-cw 100
     2017-04-21 09:17:40   config-color-brightness-green 100
     2017-04-21 09:17:40   config-color-brightness-red 100
     2017-04-21 09:17:40   config-color-brightness-ww 100
     2017-04-21 09:17:40   config-color-colortemp-cw 6000
     2017-04-21 09:17:40   config-color-colortemp-ww 2700
     2017-04-21 09:17:40   config-color-hsv-blue 0
     2017-04-21 09:17:40   config-color-hsv-cyan 0
     2017-04-21 09:17:40   config-color-hsv-green 0
     2017-04-21 09:17:40   config-color-hsv-magenta 0
     2017-04-21 09:17:40   config-color-hsv-model 0
     2017-04-21 09:17:40   config-color-hsv-red 0
     2017-04-21 09:17:40   config-color-hsv-yellow 0
     2017-04-21 09:17:40   config-color-outputmode 2
     2017-04-21 09:17:40   config-network-ap-secured true
     2017-04-21 09:17:40   config-network-ap-ssid RGBWW390730
     2017-04-21 09:17:40   config-network-connection-dhcp false
     2017-04-21 09:17:40   config-network-connection-gateway 192.168.0.1
     2017-04-21 09:17:40   config-network-connection-ip 192.168.0.41
     2017-04-21 09:17:40   config-network-connection-netmask 255.255.255.0
     2017-04-21 09:17:40   config-network-mqtt-enabled false
     2017-04-21 09:17:40   config-network-mqtt-port 0
     2017-04-21 09:17:40   config-network-mqtt-server
     2017-04-21 09:17:40   config-network-mqtt-username
     2017-04-21 09:17:40   config-ota-url  http://patrickjahns.github.io/esp_rgbww_firmware/release/version.json
     2017-04-21 09:17:40   config-security-api_secured false
     2017-04-21 09:29:15   info-deviceid   390730
     2017-04-21 09:29:15   info-firmware   0.3.1-vbs1b
     2017-04-21 09:29:15   info-mac        a020a605f64a
     2017-04-21 09:17:40   state           opened
     2017-04-21 09:32:16   tranisitionFinished
   Helper:
     isBusy     0
     oldVal     0
     cmdQueue:
Attributes:
   room       Flur
   webCmd     rgb
   widgetOverride rgb:colorpicker,rgb


Firmware auf dem Controller:
Zitat
Firmware: 0.3.1-vbs1b  (v0.3.1-20-gd100-dirty)
Web Interface: 0.3.3
RGBWW Version: 0.8.1-vbs1b
SMING Version: 3.1.2

vbs

Zitat von: ComputerZOO am 21 April 2017, 09:36:59
Habe ich noch irgendetwas vergessen?
*knirsch* sorry, mein Fehler. Ich hab das FHEM-Modul upgedatet, aber die Firmware (auf der Update-URL) ist noch die alte. Darum kennt das FHEM-Modul die Nachricht nicht. Werde ich mal zeitnah updaten.
Also Workaround kannst du im FHEM-Modul in der Funktion "LedController_Read" die Zeilen:
    # do stuff
    if ( $obj->{method} eq "hsv_event" ) {

tauschen gegen:
    # do stuff
    if ( $obj->{method} eq "color_event" ) {


Also im Endeffekt nur "hsv_event" in "color_event" umbennen, dann sollte es wieder gehen.

ComputerZOO

Danke, schon besser.
2017.04.21 10:26:45.010 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":220.00,"s":83.97,"v":37.05,"ct":2700},"id":2890}
2017.04.21 10:26:47.010 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":220.00,"s":83.97,"v":37.05,"ct":2700},"id":2891}
2017.04.21 10:26:48.710 3: LED_Stripe_RGB: called SetHSVColor 150, 82, 37, 2700, 0, fade, single, 1, false, )
2017.04.21 10:26:48.963 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"transition_finished","params":{"name":""},"id":2892}{"jsonrpc":"2.0","method":"color_event","params":{"h":220.00,"s":83.97,"v":37.05,"ct":2700},"id":2893}{"jsonrpc":"2.0","method":"transition_finished","params":{"name":""},"id":2894}{"jsonrpc":"2.0","method":"color_event","params":{"h":220.00,"s":83.97,"v":37.05,"ct":2700},"id":2895}{"jsonrpc":"2.0","method":"transition_finished","params":{"name":""},"id":2896}
2017.04.21 10:26:49.012 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":220.00,"s":83.97,"v":37.05,"ct":2700},"id":2897}{"jsonrpc":"2.0","method":"transition_finished","params":{"name":""},"id":2898}
2017.04.21 10:26:49.934 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":220.00,"s":83.97,"v":37.05,"ct":2700},"id":2899}{"jsonrpc":"2.0","method":"color_event","params":{"h":150.03,"s":82.01,"v":37.05,"ct":2700},"id":2900}
2017.04.21 10:26:51.010 3: LedController_ProcessRead: Incoming data: {"jsonrpc":"2.0","method":"color_event","params":{"h":150.03,"s":82.01,"v":37.05,"ct":2700},"id":2901}


Liegt das an der dev-Version? Ich würde sonst einfach den verbose auf 2 setzen, dann ist ja auch Ruhe  ;)

vbs

Genau, das sind einfach Debugausgaben. Bei Bedarf entweder verbose runtersetzten oder bei der entsprechenden Zeile im Code den Level raufsetzen.

vbs

Zitat von: lewej am 20 April 2017, 21:08:01
Aus dem Wiki, das funktioniert nicht:
set myLed +40,, 30 r
Sorry ja, muss heißen:
set myLed hsv +40,, 30 r

Ist im Endeffekt ein normaler hsv-Befehl, der einerseits einen relativen Wert verwendet (+40) und andererseits den sat- und val-Kanal auslässt (darum die beiden "leeren" Kommas).

Kann man auch schreiben als:
set myLed hue +40 30 r
(ist etwas eleganter direkt "hue" zu verwenden, wenn man sowieso nur vorhat, hue zu verändern)

Zitat von: lewej am 20 April 2017, 21:08:01
Was mir auch nicht ganz klar ist, wie ich eine Disco animation setzen kann.
Sowas zum Beispiel:
- Fade von Farbraum blau bis rot
- Blinke einmal
- Fade anderen Farbraum
- blinke zweimal
- fade wieder

Blinken kann momentan nocht nicht gequeuet werden, bin ich aber dran. Dann prinzipiell so (blink wegdenken):
set myLed hue 0 120 qr
set myLed blink qr
set myLed hue 120 120 qr
set myLed blink qr
set myLed blink qr
set myLed hue 180 120 qr

Das würde also in 120 s auf rot faden, dann blinken, dann in 120 s auf 120 (?) faden, dann zweimal blinken, dann in 120 s auf 180 faden und dann das Ganze wieder von vorn.
"q" bewirkt wie gewohnt, dass die Befehle in die Queue eingereiht werden (hinten). Das "r" ist neu und bewirkt, dass die Animation nach Beendigung wieder erneut in die Queue gepackt werden und damit loopen.
https://github.com/verybadsoldier/esp_rgbww_firmware/wiki#requeue-flag

lewej

Hi,

@VBS: Könntest du wie im Original fhem Modul, die normalen Readings wieder rein bringen, dann braucht man an seiner FTUI nichts ändern und man kann immer beide testen.

Diese Readings meine ich:

Gruß
lewej

vbs

Das ist ja ein Screenshot von der neuen Version. Welche Readings fehlen denn? Sollte eigentlich identisch sein bis auf ein paar Verwaltungssachen wie Firmwareversion etc.

funclass

Test 1:
FHEM-Modul aus develop Branch <-> LED-Controller mit aktuellster Original-FW

Ich bin mir nicht sicher ob diese Kombination überhaupt funktionieren soll, da einiges nicht so richtig läuft aber ein paar Dinge laufen.

Befehle on, rgb, hsv funktionieren. Die restlichen Befehle laufen nicht, vor allem lässt sich die LED nur per rgb 000000 oder hsv x,y,0 ausschalten. Off klappt nicht und toggle schaltet nur ein.
State bleibt immer bei disconnected und die üblichen Readings (val, hue, sat, hsv, rgb etc.) aktualisieren sich nur beim Setzen via hsv. RGB steuert zwar, lässt die Readings aber nicht aktualisieren. Update klappt auch nicht.

Die Kombi ist also nicht wirklich brauchbar.

funclass

Test 2:
FHEM-Modul aus develop Branch <-> LED-Controller mit Experimental-FW

Steuern klappt soweit ganz gut. Auch die neuen Befehle wie stop etc. Außer: ausschalten per off bzw. toggle geht bei mir nicht (echt seltsam, genau umgekehrt ggü. original-FW).

State steht sauber auf opened. Die üblichen Readings (val, hue, sat, hsv, rgb etc.) aktualisieren sich für mich jedoch nicht nachvollziehbar. Manchmal ändern sich die Werte, aber nicht beim Absetzen von Steuerbefehlen. Update klappt eben so wenig. Einziges Reading was sich zuverlässig aktualisiert ist tranisitionFinished (finde ich übrigens extrem cool).

Diese Kombi ist für den produktiven Einsatz also auch noch nicht zu empfehlen.

funclass

Test 3:
aktuelles master FHEM-Modul <-> LED-Controller mit Experimental-FW

Steuern des LED-Controller klappt gar nicht :(

Kann ihn weder ein, noch ausschalten geschweige denn irgendwelche Farben setzen. Die Readings werden zwar fleißig beim senden gesetzt, den Controller beeindruckt das jedoch herzlich wenig.