[Project] NeopixelBusFX - WS2812 Effekt-Plugin für ESPEasy

Begonnen von djcysmic, 05 Juli 2017, 21:19:46

Vorheriges Thema - Nächstes Thema

djcysmic

Zitat von: Rittel am 25 März 2018, 13:29:59

Kann ich es  auswählen  im NeopixelbuxFX  und start klicke  passiert überhaupt nichts.
Sry das so auf Schlauch steht :D Danke für schnelle Antwort.

Sorry, auf dem Screenshot erkenne ich gar nichts...
Die Device-Bezeichnung (Attribut Device) passt?

Funktionieren denn die Effekte, wenn du sie manuell startest?

Schlimbo

Hallo zusammen,
habe mal eine Frage zu den Readings:
Es gibt bei mir einige Readings doppelt, einmal alles klein geschrieben und einmal mit Großem Anfangsbuchstaben:
READINGS:
     2018-04-01 10:27:14   Fadedelay       0
     2018-04-01 10:27:14   Fadetime        2000
     2018-04-01 10:27:14   Lastmode        1
     2018-04-01 10:27:14   Mode            0
     2018-03-31 23:18:23   bgcolor         ff0000
     2018-04-01 06:10:39   dim             255
     2018-04-01 06:10:39   fadedelay       0
     2018-04-01 06:10:39   fadetime        2000
     2018-04-01 06:10:39   lastmode        on
     2018-04-01 06:10:39   mode            fade
     2018-04-01 06:10:39   pixelcount      116
     2018-04-01 10:25:50   presence        present
     2018-04-01 06:10:39   rgb             120901
     2018-04-01 00:21:05   state           opened

Hat das einen bestimmten Grund? Was ist der unterschied zwischen "Fadetime" und "fadetime"?

Dann habe ich noch bemerkt, das "mode" nie den Zustand "off" bekommt, das Reading bleibt nach dem ausschalten der LEDs immer auf "fade" stehen. Ist das so gewollt?

Gruß Schlimbo

djcysmic

Zitat von: Schlimbo am 01 April 2018, 10:36:19
Hallo zusammen,
habe mal eine Frage zu den Readings:
Es gibt bei mir einige Readings doppelt, einmal alles klein geschrieben und einmal mit Großem Anfangsbuchstaben:
READINGS:
     2018-04-01 10:27:14   Fadedelay       0
     2018-04-01 10:27:14   Fadetime        2000
     2018-04-01 10:27:14   Lastmode        1
     2018-04-01 10:27:14   Mode            0
     2018-03-31 23:18:23   bgcolor         ff0000
     2018-04-01 06:10:39   dim             255
     2018-04-01 06:10:39   fadedelay       0
     2018-04-01 06:10:39   fadetime        2000
     2018-04-01 06:10:39   lastmode        on
     2018-04-01 06:10:39   mode            fade
     2018-04-01 06:10:39   pixelcount      116
     2018-04-01 10:25:50   presence        present
     2018-04-01 06:10:39   rgb             120901
     2018-04-01 00:21:05   state           opened

Hat das einen bestimmten Grund? Was ist der unterschied zwischen "Fadetime" und "fadetime"?

Die großgeschriebenen Readings sind die Device-Values aus ESPEasy, welche du bekommst, wenn du ein Delay > 0 eingestellt hast. Da diese auf reine Integerwerte beschränkt sind, ist das Plugin so ausgelegt, dass es bei jeder Aktion eine JSON-Antwort gibt (kleingeschriebene Readings).

Zitat von: Schlimbo am 01 April 2018, 10:36:19
Dann habe ich noch bemerkt, das "mode" nie den Zustand "off" bekommt, das Reading bleibt nach dem ausschalten der LEDs immer auf "fade" stehen. Ist das so gewollt?

Das hängt leider damit zusammen, dass FHEM nur eine JSON-Antwort erwartet, wenn vorher eine Aktion ausgelöst wird. Daher habe ich den Befehl

nfx statusrequest

eingebaut. Damit kann der aktuelle Zustand abgefragt werden. Das ganze in Verbindung mit einem DOIF


defmod allg.nfx.status.doif DOIF ([esp.eg.tr.st.licht:mode] eq "fade")\
  (set esp.eg.tr.st.licht nfx statusrequest)
attr allg.nfx.status.doif do always
attr allg.nfx.status.doif selftrigger wait
attr allg.nfx.status.doif wait 2


ergibt den gewünschten Erfolg - somit sollte das Reading Mode stets aktuell sein ;)

Schlimbo

Vielen dank für die Erklärung.
Wenn ich das DOIF jetzt richtig verstanden habe, führt es einfach alle 2 Sekunden ein statusrequest aus, solange mode auf "fade" steht. Ist das so korrekt?

djcysmic

Zitat von: Schlimbo am 01 April 2018, 22:10:34
Vielen dank für die Erklärung.
Wenn ich das DOIF jetzt richtig verstanden habe, führt es einfach alle 2 Sekunden ein statusrequest aus, solange mode auf "fade" steht. Ist das so korrekt?

Sehr gerne. Genauso funktionierts - die 2 Sekunden kannst du deinen Bedürfnissen entsprechend anpassen ;)

Rittel

Zitat von: djcysmic am 25 März 2018, 17:22:33
Sorry, auf dem Screenshot erkenne ich gar nichts...
Die Device-Bezeichnung (Attribut Device) passt?

Funktionieren denn die Effekte, wenn du sie manuell startest?


Ja wenn set Easy ESP Lampe  Rainbow auswählen klappten es.

nur über diese   NeopixelBusFX  pannel nicht :D

djcysmic

Zitat von: Rittel am 06 April 2018, 20:50:00

Ja wenn set Easy ESP Lampe  Rainbow auswählen klappten es.

nur über diese   NeopixelBusFX  pannel nicht :D

Das Komma hinter ESPEasy_RGB_Lampe, ist zuviel und bei den Attributen fehlt ein do always

Das richtige Device hast du ausgewählt? Ansonsten kannst du mal bitte nur ein Device in der SetList probieren?

ritter_runkel

#217
Hallo Gemeinde,
ich stelle meine Frage mal hier, auch wenn sie etwas am Thema vorbei geht:

Ich habe mir folgenden LED-Streifen gekauft:
https://www.amazon.de/gp/product/B0784B9D24/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1

Es sollte ein 12V Streifen sein, damit ich mit einem kleinen Hutschienen-Netzteil arbeiten kann (wegen des Stroms).

Der EASYESP mit dem PlugIn läuft und auch die Verbindung mit FHEM (DOIF) scheint zu gehen. Das kann ich nicht wirklich testen.....
Der LED-Streifen leuchtet beim Einschalten mit allen LEDs. Der WEMOS ist über einen Spannungsregler direkt mit den 12V verbunden. Der GPIO-2 (D4) ist direkt mit dem LED-Streifen-DATA verbunden.

Jetzt meine Fragen:
- Sobald ich den WEMOS (auch eine NODEMCU) mit dem DATA-PIN verbinde und neu starte - bootet dieser nicht mehr
     --> Hat jemand ne Ahnung woran das liegen kann?
- Hat jemand einen 12V 5m langen "wasserdichten" LED Strip, der mit dem PlugIn getestet funktioniert?

Herzlichen Dank Euch!

Grüße
Erik
FHEM auf Raspberry Pi 2B
2x eService 1WireHu, 7x DS1820, 2x Multisensoren Wiregate AMS 2.11 für Temperatur DS1820, relativer Luftfeuchte HIH4031, zwei IO-Ports DS2438, Analog-Eingang 0-10 V (bzw. 0-20 mA) DS2413
FritzDECT; HUE; 5xFibaro RollerShutter, Rauchmelder

djcysmic

Zitat von: ritter_runkel am 22 April 2018, 19:17:41
Jetzt meine Fragen:
- Sobald ich den WEMOS (auch eine NODEMCU) mit dem DATA-PIN verbinde und neu starte - bootet dieser nicht mehr
     --> Hat jemand ne Ahnung woran das liegen kann?
- Hat jemand einen 12V 5m langen "wasserdichten" LED Strip, der mit dem PlugIn getestet funktioniert?


Hallo Erik,

mit den 12V-Stripes (nicht wasserdicht) habe ich für eine Treppenstufenbeleuchtung auch schon einen langen Leidensweg hinter mir - dabei gibt es einiges zu beachten:

1. Die 3.3V-Datenausgang vom ESP reichen nicht aus, um die LEDs sauber zu betreiben. Bei mir hat sich das bei den Effekten in buntem Blitzen und Flackern  geäußert.
    Das Datasheet des WS2811 verlangt mindestens 0.7VDD - das kannst du über Levelshifter regeln. Allerdings solltest du darauf achten, dass diese schnell genug sind (ggf. Widerstandswerte anpassen)

2. Es sind immer jeweils 3 LEDs zusammengeschaltet, welche in der gleichen Farbe leuchten und im Plugin als eine LED zählen.

3. Bei meinem Stripe hatte ich unter anderem auch Probleme mit defekten WS2811-Treibern - vielleicht versuchst du mal, die Datenleitung irgendwo zwischen den LEDs anzuschließen.

Vielleicht hilft dir das ja schon weiter ;)

Viele Grüße.

RaspiLED

Hi,
Meine Vermutung:
Wemos D4-Gpio2-high on boot -> flash mode

Reicht es den beim booten auf Ground zu ziehen? Irgendein größer Widerstand zwischen 5k und 10M Ohm zwischen Gnd und D4 als Test!?
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

ritter_runkel

#220
[GELÖST]
Herzlichen Dank für den Denkanstoss!!!!
Offenbar war der erste WS2812 kaputt - hab die Datenleitung des LED-Stripe mal an der anderen Seite angeschlossen.
Schon blitzt und blinkert es.

Grüße aus Leipzig
Erik
FHEM auf Raspberry Pi 2B
2x eService 1WireHu, 7x DS1820, 2x Multisensoren Wiregate AMS 2.11 für Temperatur DS1820, relativer Luftfeuchte HIH4031, zwei IO-Ports DS2438, Analog-Eingang 0-10 V (bzw. 0-20 mA) DS2413
FritzDECT; HUE; 5xFibaro RollerShutter, Rauchmelder

djcysmic

Zitat von: ritter_runkel am 22 April 2018, 20:36:49
[GELÖST]
Herzlichen Dank für den Denkanstoss!!!!
Offenbar war der erste WS2812 kaputt - hab die Datenleitung des LED-Stripe mal an der anderen Seite angeschlossen.
Schon blitzt und blinkert es.

Super, das freut mich  ;)

dev0

#222
@djcysmic:

Ich bin dabei das ESPEasy Modul intern so umzubauen, dass Anwender eingene ESPEasy Befehle per "userDefinedSetCmds" Attribut nachzurüsten können, wenn diese vom Modul noch nicht berücksichtigt werden. Dazu habe ich die internen Definitionen der bekannten ESPEasy Commands ändern müssen. Außerdem soll es mit dem Update auch einfacher werden neue Plugins, auf einfache Art und Weise, besser ins Modul und in FHEM (attr mapLightCmds) integrieren können ohne zig zusätzliche if, elseif, else Abfragen...

Um diese Änderungen umzusetzen war es nötig, mit der neuen Modulversion den Wert des Attributs mapLightCmds von "Lights" auf "nfx" umzustellen, wenn Dein Plugin verwendet wird.

Wenn ich diese Änderungen einchecke, dann schreibe ich neben dem changelog Eintrag natürlich noch eine Ankündigung, da es ja alle Anweder betrifft, die das nfx Plugin nutzen.

Edit:
Im Anhang findet sich eine Version, die ich schon rudimentär getestet habe. Magst Du (und vielleicht auch Anwender) diese Version testen?
Die aktuelle Testversion findest sich hier: https://forum.fhem.de/index.php?topic=88552

djcysmic

Zitat von: dev0 am 28 Mai 2018, 11:09:45
@djcysmic:

Ich bin dabei das ESPEasy Modul intern so umzubauen, dass Anwender eingene ESPEasy Befehle per "userDefinedSetCmds" Attribut nachzurüsten können, wenn diese vom Modul noch nicht berücksichtigt werden. Dazu habe ich die internen Definitionen der bekannten ESPEasy Commands ändern müssen. Außerdem soll es mit dem Update auch einfacher werden neue Plugins, auf einfache Art und Weise, besser ins Modul und in FHEM (attr mapLightCmds) integrieren können ohne zig zusätzliche if, elseif, else Abfragen...

Um diese Änderungen umzusetzen war es nötig, mit der neuen Modulversion den Wert des Attributs mapLightCmds von "Lights" auf "nfx" umzustellen, wenn Dein Plugin verwendet wird.

Wenn ich diese Änderungen einchecke, dann schreibe ich neben dem changelog Eintrag natürlich noch eine Ankündigung, da es ja alle Anweder betrifft, die das nfx Plugin nutzen.

Im Anhang findet sich eine Version, die ich schon rudimentär getestet habe. Magst Du (und vielleicht auch Anwender) diese Version testen?

Das hört sich doch sehr gut an.

Bei meinen ersten Versuchen hat auch alles soweit out-of-the-box funktioniert.
Wenn ich noch irgendwelchen Bugs finde, melde ich mich ;)

riker1

Hi
hätte jemand mal ne espeasy firmware mit dem Plugin für mich.
Ich bekomme espeasy nicht kompiliert.

Danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox