NimmLor / esp8266-fastled-iot-webserver

A universal software for all my LED projects, with many awesome features
https://www.thingiverse.com/surrbradl08/designs
GNU General Public License v3.0
366 stars 94 forks source link

Compiling Issues and cant connect to the webui (platform.io) #118

Open m50008 opened 3 years ago

m50008 commented 3 years ago

Hi, i have two main issues. The first one, I can not compile the file if the Espalexa lib is not installed, even if the #define ENABLE_ALEXA_SUPPORT is commented out. If the Espalexa lib is installed and #define ENABLE_ALEXA_SUPPORT is commented out, I get the following error: So when defining AlexaSupport it compiles. But this leades to the secound issue. When uploading, the connecting with the esp workes and i am able to edit my wifi credentials and the esp connects to my wifi. But when I try to connect to the ESP via the Browser, it just loades a page with "Not found". What should i do now? Thanks in advance!

I build the code for the 3D-Printed Desk Lamp, so apart from changing the DEVICE_TYPE to 3 and enabling #define ENABLE_ALEXA_SUPPORT to compile the sketch i did not change anything to the code.

Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini_lite.html
PLATFORM: Espressif 8266 (2.6.2) > WeMos D1 mini Lite
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
PACKAGES:
 - framework-arduinoespressif8266 3.20704.0 (2.7.4)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.20800.0 (2.8.0)
 - tool-mklittlefs 1.203.200522 (2.3)
 - tool-mkspiffs 1.200.0 (2.0) 
 - toolchain-xtensa 2.40802.200502 (4.8.2)
Converting esp8266-fastled-iot-webserver.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 32 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <FastLED> 3.4.0
|   |-- <SPI> 1.0
|   |-- <EspSoftwareSerial> 6.8.5
|-- <WiFiManager> 2.0.4-beta
|   |-- <DNSServer> 1.1.1
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266mDNS> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266WebServer> 1.0
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <Espalexa> 0.0.0-alpha+sha.09981160b5
|   |-- <ESP8266WebServer> 1.0
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <ArduinoOTA> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266mDNS> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|-- <EEPROM> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WebServer> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
Building in release mode
Compiling .pio\build\d1_mini_lite\src\esp8266-fastled-iot-webserver.ino.cpp.o
In file included from C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:473:0:
src\TwinkleFOX.h:96:1: warning: multi-line comment [-Wcomment]
 //     / \
 ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:4376:8: warning: extra tokens at end of #endif 
directive [enabled by default]
                     leds[pos - 1 + RING_LENGTH] = CHSV(145, 255, b);
        ^
In file included from C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:20:0:
.pio\libdeps\d1_mini_lite\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000
 #    pragma message "FastLED version 3.004.000"
                     ^
In file included from .pio\libdeps\d1_mini_lite\FastLED\src/FastLED.h:65:0,
                 from C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:20:
.pio\libdeps\d1_mini_lite\FastLED\src/fastspi.h:135: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"
                       ^
In file included from C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:30:0:
src\Field.h:38:1: warning: 'typedef' was ignored in this declaration [enabled by default]
 };
 ^
In file included from C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:374:0:
src\config.h: In function 'void resetConfig()':
src\config.h:51:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i = 0 ; i < sizeof(cfg) ; i++) {
                                        ^
src\config.h: In function 'void setHostname(String)':
src\config.h:66:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < new_hostname.length() && i < sizeof(cfg.hostname); i++) {
                                             ^
src\config.h:66:73: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < new_hostname.length() && i < sizeof(cfg.hostname); i++) {
                                                                         ^
In file included from C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:378:0:
src\FSBrowser.h: In function 'bool handleFileRead(String)':
src\FSBrowser.h:39:6: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
   if(SPIFFS.exists(pathWithGz) || SPIFFS.exists(path)){
      ^
src\FSBrowser.h:39:35: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
   if(SPIFFS.exists(pathWithGz) || SPIFFS.exists(path)){
                                   ^
src\FSBrowser.h:40:8: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
     if(SPIFFS.exists(pathWithGz))
        ^
src\FSBrowser.h:42:17: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
     File file = SPIFFS.open(path, "r");
                 ^
src\FSBrowser.h:43:12: warning: unused variable 'sent' [-Wunused-variable]
     size_t sent = webServer.streamFile(file, contentType);
            ^
src\FSBrowser.h: In function 'void handleFileUpload()':
src\FSBrowser.h:57:20: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
     fsUploadFile = SPIFFS.open(filename, "w");
                    ^
src\FSBrowser.h: In function 'void handleFileDelete()':
src\FSBrowser.h:76:7: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
   if(!SPIFFS.exists(path))
       ^
src\FSBrowser.h:78:3: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
   SPIFFS.remove(path);
   ^
src\FSBrowser.h: In function 'void handleFileCreate()':
src\FSBrowser.h:90:6: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
   if(SPIFFS.exists(path))
      ^
src\FSBrowser.h:92:15: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
   File file = SPIFFS.open(path, "w");
               ^
src\FSBrowser.h: In function 'void handleFileList()':
src\FSBrowser.h:106:13: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
   Dir dir = SPIFFS.openDir(path);
             ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: At global scope:
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:594:21: error: variable or field 'mainAlexaEvent' declared void
 #endif
                     ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:594:21: error: 'EspalexaDevice' was not declared in this scope
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:594:37: error: 'd' was not declared in this scope
 #endif
                                     ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:595:23: error: variable or field 'AlexaStrobeEvent' declared void

                       ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:595:23: error: 'EspalexaDevice' was not declared in this scope
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:595:39: error: 'd' was not declared in this scope

                                       ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:596:25: error: variable or field 'AlexaAutoplayEvent' declared void
     { showSolidColor,               "Solid Color",        false, false, true,  false, false}
                         ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:596:25: error: 'EspalexaDevice' was not declared in this scope
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:596:41: error: 'd' was not declared in this scope
     { showSolidColor,               "Solid Color",        false, false, true,  false, false}
                                         ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:597:26: error: variable or field 'AlexaSpecificEventA' declared void
 };
                          ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:597:26: error: 'EspalexaDevice' was not declared in this scope
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:597:42: error: 'd' was not declared in this scope
 };
                                          ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:598:26: error: variable or field 'AlexaSpecificEventB' declared void

                          ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:598:26: error: 'EspalexaDevice' was not declared in this scope
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:598:42: error: 'd' was not declared in this scope

                                          ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:599:26: error: variable or field 'AlexaSpecificEventC' declared void

                          ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:599:26: error: 'EspalexaDevice' was not declared in this scope
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:599:42: error: 'd' was not declared in this scope

                                          ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:600:22: error: variable or field 'AlexaAudioEvent' declared void
 const uint8_t patternCount = ARRAY_SIZE(patterns);
                      ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:600:22: error: 'EspalexaDevice' was not declared in this scope
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:600:38: error: 'd' was not declared in this scope
 const uint8_t patternCount = ARRAY_SIZE(patterns);
                                      ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'void setWiFiConf(String, String)':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:698:37: warning: comparison between signed and 
unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < ssid.length() && i < sizeof(conf.ssid); i++)
                                     ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:698:62: warning: comparison between signed and 
unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < ssid.length() && i < sizeof(conf.ssid); i++)
                                                              ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:702:41: warning: comparison between signed and 
unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < password.length() && i < sizeof(conf.password); i++)
                                         ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:702:70: warning: comparison between signed and 
unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < password.length() && i < sizeof(conf.password); i++)
                                                                      ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'void setup()':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:778:5: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
     SPIFFS.begin();
     ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:782:19: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
         Dir dir = SPIFFS.openDir("/");
                   ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:1223:32: warning: 'SPIFFS' is deprecated (declared at C:\Users\Alex\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/FS.h:269): SPIFFS has been deprecated. Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]
     webServer.serveStatic("/", SPIFFS, "/", "max-age=86400");
                                ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'void rainbow_strobe()':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:1711:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (millis() - lm > (128 - (speed / 2)))
                                           ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'void strobe()':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:1732:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (millis() - lm > (128 - (speed / 2)))
                                           ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'int getVolume(uint8_t*, int, int, double)':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:2877:9: warning: unused variable 'cnt' [-Wunused-variable]
     }
         ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'void peakVisualizer(CHSV, bool)':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:3127:17: warning: statement has no effect [-Wunused-value]
     int v = 3;
                 ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'void ambilight()':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:3969:13: warning: unused variable 'ledCount' [-Wunused-variable]
     static bool is_initialized = false;
             ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:4001:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         is_initialized = true;
                                    ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:3962:56: warning: unused variable 'i' [-Wunused-variable]
         }
                                                        ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'int getCounterHue(int)':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:3417:1: warning: control reaches end of non-void function [-Wreturn-type]
     if (hSwitch >= grpsz) {
 ^
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino: In function 'int getPairHue(int)':
C:/Users/Alex/Documents/PlatformIO/Projects/210111-195515-d1_mini_lite/src/esp8266-fastled-iot-webserver.ino:3422:1: warning: control reaches end of non-void function [-Wreturn-type]
     lastVals[i_pos] = currentVolume;
 ^
*** [.pio\build\d1_mini_lite\src\esp8266-fastled-iot-webserver.ino.cpp.o] Error 1
WarDrake commented 3 years ago

The alexa code looks properly setup to me, are you using the latest version of the master branch? as for the ui, you didn't mention uploading the data to the esp, so I assume you're missing that step.

bb-Ricardo commented 3 years ago

Hi,

  1. can you provide me your platform io ini? Then I can try to get rid of the compile errors.

  2. In the installation instructions it is described how to upload the webinterface files to the ESP. But this involves the Ardione IDE. There are other possibilities to do that but they are currently not implemented. Same here, I would try to fix that.

Platform IO support would be great. 😀

tommyseus commented 3 years ago

Thanks for the hint with the alexa constant. I have also compiling issues when alexa is not enabled.

My platformio.ini with the data_dir configuration. Data_dir points to the data folder with the assets.

; platformio.ini
[platformio]
data_dir = src/data

[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
lib_deps = 
    fastled/FastLED@^3.4.0
    tzapu/WiFiManager@^2.0.4-beta
    aircoookie/Espalexa@0.0.0-alpha+sha.09981160b5
monitor_speed = 115200

To upload the files to the filesystem you must run the task.

Main Menu --> Terminal --> Run Task --> Platformio: Upload Filesystem Image (d1_mini)
bb-Ricardo commented 3 years ago

Thank you for the input. I will test the setup tomorrow.

bb-Ricardo commented 3 years ago

I imported the project into platform.io. Renamed src/esp8266-fastled-iot-webserver.ino to src/esp8266-fastled-iot-webserver.cpp

Then added following file to source: src/esp8266-fastled-iot-webserver.h

void sendInt(int);
void broadcastInt(String, int);
void ShiftLeds(int);
void SendLeds(CHSV, int);
void ShiftLedsCenter(int);
void SendLedsCenter(CHSV);
void pride();
void colorWaves();
void rainbow();
void rainbowSolid();
void confetti();
void sinelon();
void bpm();
void juggle();
void fire();
void water();
void strobe();
void rainbow_strobe();
void smooth_rainbow_strobe();
void rainbowRoll();
void rainbowBeat();
void randomPaletteFades();
void rainbowChase();
void randomDots();
void randomFades();
void policeLights();
void glitter();
void snowFlakes();
void lightning();
void vuMeterSolid();
void vuMeterStaticRainbow();
void vuMeterRainbow();
void vuMeterTriColor();
void RefreshingVisualizer();
void CentralVisualizer();
void SolidColorDualTone();
void SolidColorComplementary();
void BluePurpleBullets();
void BulletVisualizer();
void RainbowBassRings();
void RainbowKickRings();
void RainbowBandVisualizer();
void SingleColorBandVisualizer();
void showSolidColor();

void setPattern(int);
void broadcastString(String, String);
void loadConfig();
void setPower(int);
void setSpeed(int);
void sendString(String);
void setPatternName(String);
void setPalette(int);
void setPaletteName(String);
void setBrightness(int);
void setAutoplay(int);
void setAutoplayDuration(int);
void adjustPattern(int);
bool isValidHostname(char*, long);
void addGlitter(int);
void heatMap(CRGBPalette16, int);
void colorwaves(CRGB*, uint16_t, CRGBPalette16&);
bool FadeUp(CRGB, int, int, int, int, int);
CHSV getVisualizerBulletValue(double);
void SendTrailingLeds(CHSV, int);
void kickRingVisualizer(CHSV, int);
void bassRingVisualizer(CHSV, int);
void paintRing(CHSV, int, int, int);
CHSV getFadedColor(CHSV, int, int);

then included it to src/esp8266-fastled-iot-webserver.cpp after #include "Field.h"

#include "esp8266-fastled-iot-webserver.h"

Used following platformio.ini

[platformio]
data_dir = src/data

[env:d1]
platform = espressif8266
board = d1
framework = arduino
lib_extra_dirs = ~/Documents/Arduino/libraries
lib_deps = 
    fastled/FastLED@^3.4.0
    tzapu/WiFiManager@^2.0.4-beta
monitor_speed = 115200
upload_speed = 460800

build_flags =
  -Wno-switch
  -Wno-deprecated-declarations
  -Wno-write-strings
  -Wno-unused-variable
  -Wno-unused-value
  -Wno-sign-compare
  -Wno-unused-but-set-variable
  -Wno-return-type
  -Wno-sequence-point
  -Wno-narrowing

It seems to compile without any problems but the linker "ld" has issues to link everything together.

/Users/user/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/d1/src/esp8266-fastled-iot-webserver.cpp.o:(.text._Z5waterv+0x8): undefined reference to `heatMap(CRGBPalette16, int)'
/Users/user/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/d1/src/esp8266-fastled-iot-webserver.cpp.o: in function `water()':
esp8266-fastled-iot-webserver.cpp:(.text._Z5waterv+0x22): undefined reference to `heatMap(CRGBPalette16, int)'
/Users/user/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/d1/src/esp8266-fastled-iot-webserver.cpp.o: in function `fire()':
esp8266-fastled-iot-webserver.cpp:(.text._Z4firev+0x18): undefined reference to `heatMap(CRGBPalette16, int)'
/Users/user/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/d1/src/esp8266-fastled-iot-webserver.cpp.o:(.text._Z13setSolidColorhhhb+0x4): undefined reference to `setPattern(int)'
/Users/user/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pio/build/d1/src/esp8266-fastled-iot-webserver.cpp.o:(.text._Z13setSolidColorhhhb+0x4f): undefined reference to `setPattern(int)'

I'm a bit lost here, can someone help?