ESPEasy Plugin Lights (RGBWW)

Begonnen von dev0, 29 Dezember 2016, 09:32:09

Vorheriges Thema - Nächstes Thema

dev0

ESP8266 Controller für RGBWW gibt es beim Chinamann teilweise sehr günstig, meine H801 Module haben ca. 8 Euro gekostet. Leider haben diese Module oft nur 512kB Flash, daher habe ich ein ESPEasy Modul geschrieben, das sich darauf installieren lässt.

Ich habe das Plugin mit RGB und RGB-WW-CW LED-Streifen im Einsatz. Im ct Colormode kann man die Farbtemperatur der WW-CW Steifen einstellen und im RGB Colormode wird der Weißanteil über die weißen LEDs wiedergegeben. Tests mit nur einem Weißkanal habe ich nicht gemacht.

Leider hat ESPEasy zZ. die Einschränkung, dass nur vier numerische Werte aktiv an einen Controller gesendet werden können. Diese Rückmeldungen sind dann wünschenswert, wenn die Lampen von weiteren Systemen aus gesteuert werden, da sonst an die jeweils anderen Systeme nicht der aktuelle Status gemeldet wird. Mein diesbezüglicher Feature Request an die ESPEasy Entwickler ist leider seit ~3 Wochen unbeantwortet... Die Optionen 'Send Data' und 'Send Boot State' haben daher noch keine Funktion.

Um das Plugin mit aktuellem ESPEasy auf ein 512kB Flash schreiben zu können, muss man 1-2 unbenötigte Plugins vor dem Kompilieren aus dem ESPEasy Verzeichnis entfernen, damit es auch passt.

Das Plugin und die Command Syntax findet Ihr auf Github:
https://github.com/ddtlabs/ESPEasy-Plugin-Lights

Falls das ESPEasy Modul zur Steuerung verwendet wird, dann bitte min. die aktuelle Version 0.8 verwenden, sonst kann man die Colorpicker nicht mit dem Plugin verwenden:
https://github.com/ddtlabs/ESPEasy

Beispielkonfig für das ESPEasy Modul:

attr <esp> colorpicker HSVp
attr <esp> colorpickerCTww 2000
attr <esp> colorpickerCTcw 6000
attr <esp> devStateIcon { ESPEasy_devStateIcon($name) }
attr <esp> mapLightCmds Lights
attr <esp> parseCmdResponse Lights
attr <esp> webCmd ct:pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:toggle:on:off


Leider kann man mehrere Colorpicker in FHEMWEB (noch nicht?) untereinander darstellen. Damit die Darstellung nicht allzu breit wird, sollte man den HSVp oder RGB Colorpicker Mode wählen.

Edit: Aktualisiert auf Version 1.02

Ranseyer

#1
Also Danke erst mal für die Lösung die mir super gefällt.


Allerdings habe ich noch ein kleines Problem:
-Blau übertönt alle Farben
-Grün übertönt noch Rot
(Der Stripe ist R/G/B/KW)


=> Somit sieht der Stripe per default bei mir nur Blau-Weiss in verschiedenen Abstufungen aus.

Muss ich da noch ein anderes Farbmodell einstellen ?


ed: Anlage vergessen...

FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

dev0

Zitat von: ranseyer am 04 Januar 2017, 19:40:08
Allerdings habe ich noch ein kleines Problem:
-Blau übertönt alle Farben
-Grün übertönt noch Rot
(Der Stripe ist R/G/B/KW)

Vermutlich meinst Du den ct Colormode oder auch den rgb Colormode?

Wie dem auch sein: in diesem Proof of Concept gibt es zur Zeit keine Gammakorrektur oder Ähnliches. Wenn so etwas benötigt wird oder ich auch schlicht etwas falsch programmiert habe, dann sind Verbessungsvorschläge aka. Pull Requests gerne gesehen. Aktiv werde ich an der Stelle wahrscheinlich nicht weiterentwickeln, da die bisherige Variante mit meinem ww-cw Setup funktioniert.

RaspiLED

Hi,
Kann es sein, dass verschiedene H801 in der Welt sind? Flashspeichergröße hatten wir ja schon unterschiedlich, aber was die Pinbelegung angeht? Ansonsten könnten wir mal die Pinbelegung offenlegen und eine Anleitung für die Einstellungen im ESPEasy machen?
Danke und Gruß Arnd
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

dev0

Die Beschaltung meiner H801 sieht folgendermaßen aus, ist aber gutmöglich, dass es verschiedenste Variante gibt.


15 Output red
13 Output green
12 Output blue
14 Output white 1
4 Output white 2
1 Internal LED green / Signal
5 Internal LED red / Power

Waldmensch

Diesen Thread hatte ich gar nicht gesehen. Ich habe eine ESPEasy version angehängt, die das Plugin enthält. Achtung, die passt nur auf die 1024er mit 25Q80 Flash.

Zum flashen gibt es Besonderheiten zu beachten:
- RX und TX scheinen vertauscht zu sein. Ich mußte die Leitungen zum FTDI kreuzen, im Gegensatz zu den Sonoff Devices
- Um den H801 in den Flashmode zu bringen, muss der Jumper neben dem seriellen Port geschlossen sein, während der H801 Strom bekommt

Nun zu meinen Problemen:
Ich habe zum Testen einen alten Rest eines RGB Strip. Dieser bietet 4 Anschlüsse. R, G, B, VCC (von denen nur VCC beschriftet ist). Die Adern habe ich an der einen Seite des H801 angeschlossen und die Pins so zugewiesen, das es passt. Die Pins habe ich identifiziert, indem ich vorrübergehend einen normalen Switch angelegt habe, damit ich die GPIO 0/1 schalten kann. Waenn man also einen GPIO auf 1 setzt leuchtet die jeweilige Farbe. Danach habe ich das Switch Device wieder gelöscht.

- Nach einem Kaltstart ist der Strip kurz violett und dann blau. GPIO12 ist also 1
- Nach einem Reboot bleibt der Strip dunkel
- Nach einem Reboot steht im Log des ESP (es wurde noch kein Commando empfangen):
1148 : WIFI : Connecting... 1
5155 : WIFI : Connected!
5156 : INIT : SPI not enabled
5159 : INIT : Lights [RGB noWW noCW FADING CONSTBRI PON]
5160 : INIT : Boot OK
5161 : INIT : Normal boot
6158 : Lights: Fade up complete
35162 : WD : Uptime 0 ConnectFailures 0 FreeMem 26696
35191 : Lights: rgb: 8355711 ct: 3000 pct: 100 cm: 2


Nach dem Boot steht in dem device erstmal alles auf 0, aber nach einer Weile werden die Werte ohne zutun umgesetzt, s. Screenshot. Der RGB Wert steht dann auf 7f7f7f. Auf den Strip hat das allerdings keine Auswirkung, der bleibt blau.

Ich kann jetzt auf das Plugin mit set <device> lights rgb ff0000 RGB Werte abfeuern wie ich will, es tut sich überhaupt nichts am Strip. Der bleibt blau

folgende Befehle von FHEM abgesetzt
2017.01.22 10:22:03 3 : ESPEasy ESPEasy_sonoff_12_RGB_Schalter: set ESPEasy_sonoff_12_RGB_Schalter lights rgb ff0000
2017-01-22 10:22:03 ESPEasy ESPEasy_sonoff_12_RGB_Schalter lights rgb ff0000
2017.01.22 10:22:12 3 : ESPEasy ESPEasy_sonoff_12_RGB_Schalter: set ESPEasy_sonoff_12_RGB_Schalter lights rgb 00ff00
2017-01-22 10:22:12 ESPEasy ESPEasy_sonoff_12_RGB_Schalter lights rgb 00ff00
2017.01.22 10:22:22 3 : ESPEasy ESPEasy_sonoff_12_RGB_Schalter: set ESPEasy_sonoff_12_RGB_Schalter lights rgb 0000ff
2017-01-22 10:22:22 ESPEasy ESPEasy_sonoff_12_RGB_Schalter lights rgb 0000ff


Erzeugen im Log des ESP
456582 : Lights: rgb: 8355711 ct: 3000 pct: 100 cm: 2
485267 : WD : Uptime 8 ConnectFailures 0 FreeMem 25944
493580 : Lights: Set 1023/0/0/-200832/-200832
494582 : Lights: Fade down complete
501875 : Lights: Set 0/1023/0/-200832/-200832
502882 : Lights: Fade up complete
511989 : Lights: Set 0/0/1023/-200832/-200832
513002 : Lights: Fade up complete
515268 : WD : Uptime 8 ConnectFailures 0 FreeMem 25848
516651 : Lights: rgb: 255 ct: 3000 pct: 100 cm: 1


Es scheint aber keinerlei Auswirkungen auf die GPIO zu haben







Waldmensch

Hier noch mein Versuchsaufbau


Gesendet von iPhone mit Tapatalk

dev0

Ich habe es gerade mal ohne weiße Kanäle nachgestellt. Nach dem ich die Device Settings auf RGB only umgestellt hatte war noch ein reset nötig, damit die weißen Kanäle nicht mehr benutzt wurden. Danach konnte ich zB. mit 'set <esp> lights rgb ff0000' etc. den Controller bedienen.

dev0

Eine Vermutung habe ich noch: Dein Flash ist nicht 1024kB groß, das würde diese Effekte erklären. Teste mal ein 512kB großes Image.

Waldmensch

Also die Konfiguration die ich in der IDE eingestellt hab war 1M (64k SPIFFS). Der ESP zeigt mir als Flashgröße auch 1024 an (s. Screenshot)

Sollte ich eventuell mal ein Versuch mit mehr SPIFFS machen? Wieviel hast Du bei Deinem gegeben?

dev0

512/64. Mein Vermutung ist aber immer noch, daß Dein Flash auch nur 512kB groß ist, egal was aufgedruckt wurde.

Waldmensch

Ich dachte, das in der Sysinfo ist ein ausgelesener reeller Wert. Ich probiere erstmal mit 128 SPIFFS und dann mit 512/64 und Plugins löschen. Weniger Plugins geben nach meiner Vermutung nach auch SPIFFS frei. Melde mich mit den Ergebnissen.


Gesendet von iPhone mit Tapatalk

Waldmensch

So, ich habe jetzt beides probiert

1) 1M(128kB SPIFFS) Keine Änderung - gleiches verhalten
2) 512(64kB SPIFFS)
- folgende Plugins habe ich deaktiviert um Platz zu erhalten: OLED, LCD, IR, IRTX
Keine Änderung

Beim Kaltstart kurz Lila, dann permanent blau. RGB Commandos zeigen keine Wirkung, im Log werden sie aber abgebildet

2017.01.22 12:28:11 3 : ESPEasy ESPEasy_sonoff_12_RGB_Schalter: set ESPEasy_sonoff_12_RGB_Schalter lights rgb ff0000
2017-01-22 12:28:11 ESPEasy ESPEasy_sonoff_12_RGB_Schalter lights rgb ff0000



Log
99436 : FLASH: Settings saved
99510 : FLASH: Settings saved
99511 : INIT : Lights [RGB noWW noCW FADING CONSTBRI PON]
115751 : FLASH: Settings saved
115816 : FLASH: Settings saved
115889 : FLASH: Settings saved
115890 : INIT : Lights [RGB noWW noCW FADING CONSTBRI PON]
125188 : WD : Uptime 2 ConnectFailures 0 FreeMem 27464
155189 : WD : Uptime 2 ConnectFailures 0 FreeMem 27296
162573 : Lights: Set 1023/0/0/-204480/-204480



2017.01.22 12:35:53 3 : ESPEasy ESPEasy_sonoff_12_RGB_Schalter: set ESPEasy_sonoff_12_RGB_Schalter lights rgb 00ff00
2017-01-22 12:35:53 ESPEasy ESPEasy_sonoff_12_RGB_Schalter lights rgb 00ff00

155238 : WD : Uptime 2 ConnectFailures 0 FreeMem 27488
185238 : WD : Uptime 3 ConnectFailures 0 FreeMem 27496
215239 : WD : Uptime 3 ConnectFailures 0 FreeMem 27480
245240 : WD : Uptime 4 ConnectFailures 0 FreeMem 27464
275241 : WD : Uptime 4 ConnectFailures 0 FreeMem 27464
305242 : WD : Uptime 5 ConnectFailures 0 FreeMem 27432
335243 : WD : Uptime 5 ConnectFailures 0 FreeMem 27416
365244 : WD : Uptime 6 ConnectFailures 0 FreeMem 27416
395245 : WD : Uptime 6 ConnectFailures 0 FreeMem 27416
402013 : Lights: Set 0/1023/0/-204480/-204480


Seltsamerweise zeigt das Device nun keine values mehr an s. Screenshot

Die Flashgröße wird immer noch bei 1024 angegegeben obwohl nur 512 genutzt sind. s. Screenshot

Waldmensch

muss eventuell bei den pinmodes etwas eingestellt werden?


dev0

Ich habe die 'GPIO boot states' der benutzten Pins auf "Output Low", ob das nötig ist weiß ich nicht mehr. Die restlichen Settings Wifi Status Led, SDA, SCL, Init SPI sind deaktiviert.