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

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

Vorheriges Thema - Nächstes Thema

dev0

Das mapLightCmds Attribut steuert nur die Ausgabe von "set <device> ?". Ist mMn eher eine Frage für den FHEMWEB / fhemweb_colorpicker.js Maintainer.

djcysmic

Zitat von: majorshark am 24 August 2017, 08:36:56
Hallo,

mein Colorpicker HSV/HSVp bockt wenn ich die Schieberegler bediene.

fhemweb_colorpicker.js line 85:
Uncaught TypeError: cmd is not a function


Müssen noch Attribute gesetzt werden oder liegt es am mapLightCmds Attribut? Zur Zeit sieht mein Device so aus.
Die nfx Befehle via "set" ausführen funktioniert.
defmod ESPEasy_NeoPixel ESPEasy 192.168.3.200 80 ESP_Bridge NeoPixel
attr ESPEasy_NeoPixel IODev ESP_Bridge
attr ESPEasy_NeoPixel Interval 300
attr ESPEasy_NeoPixel colorpicker HSVp
attr ESPEasy_NeoPixel colorpickerCTcw 6000
attr ESPEasy_NeoPixel colorpickerCTww 2000
attr ESPEasy_NeoPixel group ESPEasy Device
attr ESPEasy_NeoPixel mapLightCmds Lights
attr ESPEasy_NeoPixel presenceCheck 1
attr ESPEasy_NeoPixel readingSwitchText 1
attr ESPEasy_NeoPixel room ESPEasy
attr ESPEasy_NeoPixel setState 0


Hallo,

für das NeopixelFX-Plugin hast du das mapLightCmds falsch gesetzt. Probier mal bitte
attr ESPEasy_NeoPixel mapLightCmds nfx
und für die JSON-Rückmeldung
attr ESPEasy_NeoPixel parseCmdResponse nfx

Es wundert mich, dass in deiner Konfiguration die Set-Befehle für das NeoPixel-Plugin funktionieren. Du hast nämlich auf das Lights-Plugin gemappt...?!

majorshark

Ah ok, Danke. Jetzt habe ich das mit dem mapLightCmds Attribut auch verstanden.

Leider geht es immer noch nicht mit dem Colorpicker. Ich wähle bspw. colorfade aus und versuche HSV einzustellen. Gleicher Fehler.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

djcysmic

Die Fehlermeldung bekomme ich auch und dev0 hat vermutlich Recht, dass es an dem Colorpicker liegt.
Mir ist es noch nicht aufgefallen, weil ich die RGB-Variante verwende - die läuft soweit problemlos.

majorshark

Zitat... RGB-Variante verwende - die läuft soweit problemlos.

Ist bei mir auch so.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

DOM_jaCOBB

Hallo zusammen,

das Plugin klingt sehr interessant und könnte mir beim Umsetzen eines Uniprojektes sehr behilflich sein.
Ich würde da gerne einen Lichtwecker mit Sonnenauf- und evtl. auch -untergangsfunktion erstellen, der ca. eine halbe Std. bevor man wach werden muss, langsam die Helligkeit hochzuschrauben und das "Aktivieren" des Nutzers mithilfe von passenden Farbtönen und -temperaturen zu unterstützen.
Wäre es evtl. auch möglich das in dieses Plugin einzubauen?

Grüße,
Jakob

djcysmic

Hallo Jakob,
das lässt sich doch mit den vorhandenen Funktionen  (mehrere Fade-Aufrufe von der aktuellen Farbe zu der entsprechenden Zielfarbe) und den FHEM-Bordmitteln schon umsetzen, wenn du die Fadetime entsprechend lang wählst.
Oder was hast du für spezielle Vorstellungen, die noch nicht von den vorhandenen Effekten abgedeckt werden?

Papaloewe

BTW als Weckermodul schau dir mal "alarmclock" an.
Das finde ist sehr genial. Dort kann man dann auch einen Sonnenaufgang mit starten.

DOM_jaCOBB

Ah ok, vielen Dank, dann werde ich mir das mal genauer anschauen ;)
Nur interessehalber, könnte man mit diesem Plugin z.B. auch RGBW-NeoPixel von Adafruit ansteuern?
Grüße,
Jakob

djcysmic

Grundsätzlich sollte es gehen - zumindest wird es von der NeopixelBus-Library unterstützt. Die Ansteuerung des W-Kanals ist allerdings nicht im Plugin implementiert, weil ich keine RGBW-Pixelstripes habe, an denen ich das testen könnte.

Nähere Informationen dazu findest du hier:

https://github.com/Makuna/NeoPixelBus/wiki/NeoPixelBus-object#neorgbwfeature

Im Sourcecode findest du das aktuell in Zeile 92:

#define FEATURE NeoGrbFeature //Color order

majorshark

Ich bekomme das mit ESPEasy Mega und dem Plugin nicht mehr kompiliert. Nach allen möglichen Reparaturversuchen der IDE V1.6.13 bleibt letztlich nur diese Fehlermeldung.

collect2.exe: error: ld returned 1 exit status

Hier noch einmal ausführlich.

Arduino: 1.6.13 (Windows 7), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

WARNUNG: Kategorie 'LED' in der Bibliothek CHT16K33 LED Matrix Library ist ungültig und wird auf 'Uncategorized' festgelegt
WARNUNG: Kategorie 'Input' in der Bibliothek MechInputs ist ungültig und wird auf 'Uncategorized' festgelegt
WARNUNG: Kategorie 'Input' in der Bibliothek SerialSensors ist ungültig und wird auf 'Uncategorized' festgelegt
In file included from D:\ESP\ESPEasy-mega NeopixelBusFX\ESPEasy\_P124_NeoPixelBusFX.ino:86:0:

C:\Users\FrankSchuetz\Documents\Arduino\libraries\FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.003

#    pragma message "FastLED version 3.001.003"

                     ^

In file included from C:\Users\FrankSchuetz\Documents\Arduino\libraries\FastLED/FastLED.h:65:0,

                 from D:\ESP\ESPEasy-mega NeopixelBusFX\ESPEasy\_P124_NeoPixelBusFX.ino:86:

C:\Users\FrankSchuetz\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output

#      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"

                       ^

c:/users/frankschuetz/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\FRANKS~1\AppData\Local\Temp\arduino_build_43502/ESPEasy.ino.elf section `.text' will not fit in region `iram1_0_seg'

collect2.exe: error: ld returned 1 exit status

Mehrere Bibliotheken wurden für "Servo.h" gefunden
Benutzt: C:\Users\FrankSchuetz\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\Servo
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\Servo
Mehrere Bibliotheken wurden für "SD.h" gefunden
Benutzt: C:\Users\FrankSchuetz\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\SD
exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


Was soll mir diese Fehlermeldung sagen. Kann jemand weiterhelfen. Danke
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

djcysmic

Aktualisier mal bitte deine Arduino IDE auf die aktuelle 1.8er Version und teste nochmal...
Oder gibt es einen speziellen Grund, dass du noch 1.6 nutzt?

majorshark

#87
Nein eigentlich nicht. Werde ich ausprobieren.

Edit :
Jetzt geht's. Ich habe alles 1.8.4 inkl. Mega und Plugin noch einmal neu geladen und installiert.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Leguna

Hallo und Guten Abend.

IUch versuche nun schon den ganzen Abend die Arduino und den Megabranch + die Plugins zum laufen bekommen.

Verschieden Sachen schon probiert.
Leider bekomme ich diese Fehlermeldung.

Daten: Win10 64bits ,  Arduino 1.8.4 portable, ESPEasy Mega branch, NeopixelBusFX, NeoPixelBus, ESPEasy-Plugin-Lights

Laut 1.ten Post sachen in die Libs respektive in den Source Ordner.

Arduino: 1.8.4 (Windows 10), Board: "NodeMCU 0.9 (ESP-12 Module), 80 MHz, 115200, 4M (3M SPIFFS)"

WARNUNG: Kategorie 'LED' in der Bibliothek CHT16K33 LED Matrix Library ist ungültig und wird auf 'Uncategorized' festgelegt
WARNUNG: Kategorie 'Input' in der Bibliothek MechInputs ist ungültig und wird auf 'Uncategorized' festgelegt
WARNUNG: Kategorie 'Input' in der Bibliothek SerialSensors ist ungültig und wird auf 'Uncategorized' festgelegt
Build-Optionen wurden verändert, alles wird neu kompiliert
_P016_IR:9: error: 'IRrecv' does not name a type

IRrecv *irReceiver;

^

_P016_IR:10: error: 'decode_results' does not name a type

decode_results results;

^

F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\Portable\sketchbook\ESPEasy\_P016_IR.ino: In function 'boolean Plugin_016(byte, EventStruct*, String&)':

_P016_IR:54: error: 'irReceiver' was not declared in this scope

         if (irReceiver == 0 && irPin != -1)

             ^

_P016_IR:57: error: expected type-specifier before 'IRrecv'

           irReceiver= new IRrecv(irPin);

                           ^

_P016_IR:57: error: expected ';' before 'IRrecv'

_P016_IR:60: error: 'irReceiver' was not declared in this scope

         if (irReceiver != 0 && irPin == -1)

             ^

_P016_IR:64: error: type '<type error>' argument given to 'delete', expected pointer

           delete irReceiver;

                  ^

_P016_IR:73: error: 'irReceiver' was not declared in this scope

         if (irReceiver->decode(&results))

             ^

_P016_IR:73: error: 'results' was not declared in this scope

         if (irReceiver->decode(&results))

                                 ^

F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\Portable\sketchbook\ESPEasy\_P035_IRTX.ino: At global scope:

_P035_IRTX:7: error: 'IRsend' does not name a type

IRsend *Plugin_035_irSender;

^

F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\Portable\sketchbook\ESPEasy\_P035_IRTX.ino: In function 'boolean Plugin_035(byte, EventStruct*, String&)':

_P035_IRTX:41: error: 'Plugin_035_irSender' was not declared in this scope

         if (Plugin_035_irSender == 0 && irPin != -1)

             ^

_P035_IRTX:44: error: expected type-specifier before 'IRsend'

           Plugin_035_irSender = new IRsend(irPin);

                                     ^

_P035_IRTX:44: error: expected ';' before 'IRsend'

_P035_IRTX:47: error: 'Plugin_035_irSender' was not declared in this scope

         if (Plugin_035_irSender != 0 && irPin == -1)

             ^

_P035_IRTX:50: error: type '<type error>' argument given to 'delete', expected pointer

           delete Plugin_035_irSender;

                  ^

_P035_IRTX:74: error: 'Plugin_035_irSender' was not declared in this scope

         if (cmdCode.equalsIgnoreCase("IRSEND") && Plugin_035_irSender != 0)

                                                   ^

_P035_IRTX:78: error: 'irReceiver' was not declared in this scope

           if (irReceiver != 0) irReceiver->disableIRIn(); // Stop the receiver

               ^

_P035_IRTX:220: error: 'irReceiver' was not declared in this scope

           if (irReceiver != 0) irReceiver->enableIRIn(); // Start the receiver

               ^

F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\Portable\sketchbook\ESPEasy\_P123_LIGHTS.ino: In function 'boolean Plugin_123(byte, EventStruct*, String&)':

_P123_LIGHTS:243: error: invalid conversion from 'boolean* {aka unsigned char*}' to 'boolean {aka unsigned char}' [-fpermissive]

         Plugin_123_options.sendData_enabled = Settings.TaskDeviceSendData[event->TaskIndex];

                                                                                           ^

In file included from F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\Portable\sketchbook\ESPEasy\_P124_NeoPixelBusFX.ino:86:0:

F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\portable\sketchbook\libraries\FastLED/FastLED.h: At global scope:

F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\portable\sketchbook\libraries\FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.006

#    pragma message "FastLED version 3.001.006"

                     ^

In file included from F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\portable\sketchbook\libraries\FastLED/FastLED.h:68:0,

                 from F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\Portable\sketchbook\ESPEasy\_P124_NeoPixelBusFX.ino:86:

F:\zwischenspeicher\ESPEasy - WS2812\arduino-1.8.4\portable\sketchbook\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output

#      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"

                       ^

exit status 1
'IRrecv' does not name a type

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


Den IR Teil, könnte man Ignorieren, wird nicht unbedingt benötigt.
Hat einer ne Idee, den ich seh den Wald vor lauter Bäumen nicht mehr.

Vieleicht könnte ja einer seine Arduino IDE komplett Hochladen :)

Vielen Dank schon mal für die Hilfe

Grüße Legu

djcysmic

Hallo,

das ist auf jeden Fall kein Fehler, der mit NeoPixelBusFX zu tun hat - die Warnung, die da auftaucht (#pragma message), kommt bei jeder Kompilierung und kann ignoriert werden.

Ich würde mal bei der IRremoteESP8266-Library anfangen zu suchen (evtl. zu alt?)
Welche ESP Easy-Version versuchst du zu kompilieren? Die aktuellste?
Alternativ kannst du auch die beiden IR-Module zum testen erstmal löschen...