Neues Modul zur Steuerung von WS2812b LED stripes

Begonnen von swhome, 03 März 2016, 13:27:41

Vorheriges Thema - Nächstes Thema

speddy99

Moin Moin,
und Danke für das nette Modul. Innerhalb 10 Minuten fertig..... neuer Rekord :-)

Habe soeben einen Wemos D1 mini damit befüllt und steuer nun erst mal  8 Led's.
Das packt der kleine Wemos noch, für mehr LED muss ich mir erst mal Gedanken über die Stromversorgung der LED Strip machen.
Wie habt ihr das angeklemmt?

Mit den 8 Led's werde ich mir erst mal einen kleinen Status Bilderrahmen bauen.

Anschließend möchte ich für's Heimkino länger LED Strip bauen, da kommen garantiert noch mal fragen :-)

lg Michael


Raspberry Pi Ver.3 16GB SD, HM Lan,  6* HM CC RT DN 3* HM SEC SC 2
1-Wire 5*DS18B20 direkt am Raspi
Signalduino,8*Intertechno Steckdosen,4*WS0002 Feuchtefühler
WEMOS D1 Mini mit Led´s Statusbildschirm

Elektrofreak

Hallo zusammen,

ich würde das Modul gerne zur Ansteuerung von einem Status-Display mit einem ESP8266 verwenden. Allerdings habe ich für diesen noch keine Firmware selber kompiliert.

Bis jetzt habe ich nur die ESPEasy-Firmware mit dem FHEM-Plugin verwendet. Gibt es neben der Ansteuerung der neopixel noch weitere funktionen, die ähnlich wie bei ESPEasy unterstützt werden? Wäre es ggf. möglich, den Code als ESPEasy-Plugin zu Verfügung zu stellen / um-zu-programmieren?

Ich freue mich schon auf die ersten Versuche mit den neopixel und FHEM  :)

dev0

Zitat von: Elektrofreak am 03 Januar 2017, 21:05:22
Wäre es ggf. möglich, den Code als ESPEasy-Plugin zu Verfügung zu stellen / um-zu-programmieren?

Es gibt bereits ein NeoPixel Basic Plugin, dass man recht einfach um Funktionen erweitern kann.

Elektrofreak

Hallo.

Zitat von: dev0 am 04 Januar 2017, 08:19:19
Es gibt bereits ein NeoPixel Basic Plugin, dass man recht einfach um Funktionen erweitern kann.

Ich habe gerade gesehen, dass das Plugin schon im Source-Code von der aktuellen Version R147_RC8 zu sein scheint. Ich finde es aber nirgends in der pre-compillierten Version im Web-Interface. Muss ich das selber mit der Lib kompillieren oder bin ich zu blöd, das Plugin zu finden?  :o

Danke für die Info!


Elektrofreak

#50
Zitat von: dev0 am 05 Januar 2017, 21:31:21
Ja, selbst kompilieren: https://github.com/letscontrolit/ESPEasyPluginPlayground/blob/master/_P122_NeoPixel.ino

Ok, vielen Dank. Werde ich mal ausprobieren. Trotzdem gefällt mir dein das Modul  :). Am liebsten hätte ich eine Kombination aus beiden bzw. eine Integration von deinem dem Modul in die ESPEasy-Firmware ;D

dev0

Zitat von: Elektrofreak am 06 Januar 2017, 07:34:25
Trotzdem gefällt mir dein Modul
Ich vermute, dass Du mich jetzt mit swhome verwechselst oder Du meinst tatsächslich das Lights Plugin, das mehr oder weniger nur ein PoC ist...

Elektrofreak

#52
So, ich habe jetzt ein wenig mit dem Modul und der Firmware gespielt. Funktioniert an sich ganz gut  :).

Ich habe nur ein Feature-Request:
Ich schalte den ESP und die LEDs bei Nicht-Gebrauch ab. Wenn ich nur die LEDs aber nicht den ESP abschalte, merkt er sich die Zustände der LEDs und stellt den Zustand alle LEDs beim nächsten Update von einer LEDs wieder her.

Nun wäre ein ähnliches Feature für das FHEM-Modul super, welches auch dann funktioniert, wenn ich den ESP komplett abschalte und erneut einschalte. Dazu müsste ein kleines Array intern gespeichert werden, welches den Zustand aller LEDs speichert und bei einem reconnect automatisch wiederherstellt. wäre das möglich?  ::)

BTW: Ich könnte mir gut vorstellen, dass die ESP-Firmware und das FHEM-Modul für viele Status-Display-Anhänger zum Must-Have wird  ;D

Edit:
Zitat von: dev0 am 05 Januar 2017, 21:31:21
Ja, selbst kompilieren: https://github.com/letscontrolit/ESPEasyPluginPlayground/blob/master/_P122_NeoPixel.ino

Das hat auf Anhieb leider nicht geklappt. Kompillieren und flashen funktioniert. Ich finde zwar das Plugin und kann es auch einrichten, den Befehl kann ich aber trotzdem nicht absenden (unknown command) und mir fehlt auch die einfache Integration in FHEM...  :'(

swhome

Das Feature ist eine gute Idee, mir missfällt auch dass man nach dem Ausschalten nicht wieder einfach den vorigen Zustand herstellen kann. Werde mich mal dran setzen. Würde auch gern die FHEM integrierte http Funktion mit non blocking iO einsetzen...
Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

Wilm

Hallo,

habe den Sketch erfolgreich auf meinen ESP8266 geladen und kann ihn auch per Curl und dem entsprechenden Aufruf steuern. Leider kann ich jedoch das FHEM Modul nicht laden, bekomme immer einen Fehler


2017.01.14 18:00:28 1: ledstripe
2017.01.14 18:00:29 1: PERL WARNING: Use of uninitialized value $r[0] in string eq at ./FHEM/98_update.pm line 308.
2017.01.14 18:00:29 1: PERL WARNING: Use of uninitialized value $r[0] in string ne at ./FHEM/98_update.pm line 318.
2017.01.14 18:00:29 1: nothing to do...


Was mache ich falsch?

Viele Grüße,
Wilm

Papaloewe

Hallo,

endlich bin ich am Wochenende dazu gekommen. Soweit funktioniert es auch auf Anhieb.
Dann habe ich mich mit den Playfiles befasst und wollte ein einzelnes Lauflich über 20 (2x10) LED's huschen lassen.

Soweit auch noch gut, aber wie mir scheint wird das Playfile immer Zeile für Zeile übertragen, richtig?

Sobald ich das Lauflicht etwas schneller haben möchte, wird es kritisch!
Aussetzer und mächtige Ruckler...

Lässt sich das auch vielleicht so ändern, dass das Playfile nur einmal und dann komplett zum ESP übertragen wird und dann nur noch "intern" aufgerufen wird?

Gruß Thomas


newjoist

Ich betreibe einen WS2812B LED-Strip mit einem Arduino als Controller an einem Enigma2 Receiver. Gibt es da auch Möglichkeiten "von außen" die LEDs zu steuern?

Papaloewe

#57
Zitat von: Wilm am 14 Januar 2017, 18:03:54
Hallo,

habe den Sketch erfolgreich auf meinen ESP8266 geladen und kann ihn auch per Curl und dem entsprechenden Aufruf steuern. Leider kann ich jedoch das FHEM Modul nicht laden, bekomme immer einen Fehler


2017.01.14 18:00:28 1: ledstripe
2017.01.14 18:00:29 1: PERL WARNING: Use of uninitialized value $r[0] in string eq at ./FHEM/98_update.pm line 308.
2017.01.14 18:00:29 1: PERL WARNING: Use of uninitialized value $r[0] in string ne at ./FHEM/98_update.pm line 318.
2017.01.14 18:00:29 1: nothing to do...


Was mache ich falsch?

Viele Grüße,
Wilm

Komisch, ich habe dieselbe Meldung bei diesem und einem ganz anderen Modul:
https://forum.fhem.de/index.php/topic,64610.msg562734.html#msg562734

Was haben denn die beiden gemeinsam?

Ich denke es liegt an dem Controlfile im Git.
Das DEL wird nicht (mehr) vom update unterstützt.

bjbrill

#58
Herzlichen dank für dieses tolle Modul,
das eröffnet mir hunderte neue Beleuchtungsmöglichkeiten.
Zur Zeit baue ich einen ausgehöhlten Baumstamm,
der "Jetzt" von innen beleuchtet ist, sieht mit Fire & Rainbow schon super aus.
Mal sehen was für individuelle Lichtzehnarien ich noch hin bekomme.

Großes Lob und Riesen Dank Björn

Nachtrag: Am Wochenende ein NodeMCU mit 30 NeoPixel zu einer Aquarien Nachtbeleuchtung gelötet.
(Sonnen auf und Untergang inbegriffen), super!
Ein Dimmbefehl mit Transitzeiten wäre nicht schlecht, geht aber auch ohne ;-)
Ubuntu-Server, Dect200, Jeelink, Unifi, ESP32, Alexa, Tasmota, zigbee2mqtt, OpenDTU.

ComputerZOO

Nabend,
ich bekomme das Modul in FHEM nicht geladen. Wenn ich ein reload 98_LEDStripe in der CMD-Zeile von FHEM eingebe erscheint folgende Fehlermeldung:
Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM ./FHEM/lib) at ./FHEM/98_LEDStripe.pm line 26.
BEGIN failed--compilation aborted at ./FHEM/98_LEDStripe.pm line 26.

Jemand eine Idee?