Domochip / WPalaControl

D1Mini to replace Palazzetti, Jotul, TurboFonte, Godin stove ConnectionBox
42 stars 9 forks source link

Any chance update code for ESP32 ? #16

Closed Flobul closed 1 month ago

Flobul commented 1 year ago

Hi.

Sorry to bother, but is there any chance you update this repo for another hardware plateform? (espressif32 instead of espressif8266) Or maybe a way to use the lib with another system (tasmota, espeasy...)

Domochip commented 1 year ago

Hi,

mm, regading other systems, it is difficult to respect right timing and listen on UDP + TCP + Web like official box.

For ESP32, I tried a few years ago to port it but Ticker class was missing. It seems to exists now and this option seems possible. ESP32 Mini are still larger than D1Mini and cost a little more so the right question is Why? Do you see a particular improvement?

Flobul commented 1 year ago

Thanks for your answer.

I tried too, but classes seems not to be exactly the same for esp8266 and esp32. Some code to adapt.

When I send all requests in a row (GET+ALLS, GET+CHRD, GET+CNTR...) and even on a single cmd (CMD+OFF, CMD+ON...), sometimes I got the error "cURL error : Connection timed out after 6001 milliseconds".

Look like this guy port it to ESP32 with his own pala lib : https://github.com/loiz/Poele

Domochip commented 1 month ago

Hello,

code has been adapted to ESP32 on test-esp32 branch

Domochip commented 1 month ago

And tested successfully on my side

Flobul commented 1 month ago

Thank you! Nice job.

I made it work but got some compiling errors in ESP8266:

Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/WiFiServerSecureAxTLS.cpp.o
Indexing .pio/build/d1_mini/lib64f/libPubSubClient.a
In file included from src/base/Application.cpp:1:0:
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:165:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:173:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
Compiling .pio/build/d1_mini/FrameworkArduino/core_esp8266_waveform_pwm.cpp.o
src/WirelessPalaControl.cpp: In member function 'bool WebPalaControl::executePalaCmd(const String&, String&, bool)':
src/WirelessPalaControl.cpp:933:28: error: 'class ESP8266WiFiClass' has no member named 'getHostname'
       data["LABEL"] = WiFi.getHostname();
                            ^
Compiling .pio/build/d1_mini/FrameworkArduino/core_esp8266_wiring.cpp.o
src/WirelessPalaControl.cpp:951:28: error: 'class ESP8266WiFiClass' has no member named 'broadcastIP'
       data["WBCST"] = WiFi.broadcastIP().toString();
src/WirelessPalaControl.cpp: In member function 'bool WebPalaControl::executePalaCmd(const String&, String&, bool)':
src/WirelessPalaControl.cpp:933:28: error: 'class ESP8266WiFiClass' has no member named 'getHostname'
       data["LABEL"] = WiFi.getHostname();
                            ^
src/WirelessPalaControl.cpp:951:28: error: 'class ESP8266WiFiClass' has no member named 'broadcastIP'
       data["WBCST"] = WiFi.broadcastIP().toString();
                            ^

Here are the changes I made to "fix" it: https://github.com/Flobul/WirelessPalaControl/pull/3/files

Domochip commented 1 month ago

everything has been merged on WPalaControl master branch and I'm able to compile ESP32 version by just switching to the esp32 env: image

Do you have a different result?

Flobul commented 1 month ago

Visual Studio Code 1.85.2 (Universal) on MacOS PIO Core 6.1.15·Home 3.4.4

esp8266 (KO):

 *  Exécution de la tâche : platformio run 

Processing d1_mini (framework: arduino; board: d1_mini; platform: espressif8266)
-------------------------------------------------------------------------------------------------------------------------------------------------------
Library Manager: Installing domochip/Palazzetti#v2.7.3
Unpacking  [####################################]  100%
Library Manager: Palazzetti@2.7.3 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
---- Copying base files ----
----------------------------
--- Converting web files ---
----------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html
PLATFORM: Espressif 8266 (2023.4.0) > WeMos D1 R2 and mini
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES: 
 - framework-arduinoespressif8266 @ 2.7.4+9 
 - tool-esptoolpy @ 1.40501.0 (4.5.1) 
 - toolchain-xtensa @ 2.40802.200502 (4.8.2)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Library Manager: Installing domochip/Palazzetti#v2.7.3
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80%
Library Manager: Palazzetti@2.7.3 has been installed!
Found 32 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 7.2.0
|-- PubSubClient @ 2.8.0
|-- EEPROM @ 1.0
|-- ESP8266WebServer @ 1.0
|-- ESP8266WiFi @ 1.0
|-- LittleFS(esp8266) @ 0.1.0
|-- Palazzetti @ 2.7.3
|-- Ticker @ 1.0
|-- ESP8266mDNS @ 1.2
Building in release mode
Compiling .pio/build/d1_mini/src/WirelessPalaControl.cpp.o
Compiling .pio/build/d1_mini/src/base/Application.cpp.o
Compiling .pio/build/d1_mini/src/base/Core.cpp.o
Compiling .pio/build/d1_mini/src/base/MQTTMan.cpp.o
Compiling .pio/build/d1_mini/src/base/Main.cpp.o
Compiling .pio/build/d1_mini/src/base/Utils.cpp.o
Compiling .pio/build/d1_mini/src/base/WifiMan.cpp.o
Generating LD script .pio/build/d1_mini/ld/local.eagle.app.v6.common.ld
Compiling .pio/build/d1_mini/lib075/PubSubClient/PubSubClient.cpp.o
Compiling .pio/build/d1_mini/lib248/EEPROM/EEPROM.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/BearSSLHelpers.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/CertStoreBearSSL.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFi.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFiAP.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFiMulti.cpp.o
.pio/libdeps/d1_mini/PubSubClient/src/PubSubClient.cpp: In member function 'boolean PubSubClient::publish_P(const char*, const uint8_t*, unsigned int, boolean)':
.pio/libdeps/d1_mini/PubSubClient/src/PubSubClient.cpp:523:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     return (rc == expectedLength);
                   ^
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o
Archiving .pio/build/d1_mini/lib248/libEEPROM.a
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFiSTA.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/ESP8266WiFiScan.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/WiFiClient.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/WiFiClientSecureAxTLS.cpp.o
In file included from src/base/Application.cpp:1:0:
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:165:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:173:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:181:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:189:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:197:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:205:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Application.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:221:7: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
       SERVER_KEEPALIVE_FALSE()
       ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Application.cpp:226:7: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
       SERVER_KEEPALIVE_FALSE()
       ^
In file included from src/base/Core.h:5:0,
                 from src/base/Core.cpp:1:
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:84:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
Archiving .pio/build/d1_mini/lib075/libPubSubClient.a
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:103:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:118:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:129:7: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
       SERVER_KEEPALIVE_FALSE()
       ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:180:7: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
       SERVER_KEEPALIVE_FALSE()
       ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:239:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:246:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:257:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:264:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:271:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/base/Core.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/Core.cpp:279:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o
src/WirelessPalaControl.cpp: In member function 'bool WebPalaControl::publishHassDiscoveryToMqtt()':
src/WirelessPalaControl.cpp:248:26: error: 'class ESP8266WiFiClass' has no member named 'getHostname'
   jsonDoc["name"] = WiFi.getHostname();
                          ^
Indexing .pio/build/d1_mini/lib248/libEEPROM.a
Indexing .pio/build/d1_mini/lib075/libPubSubClient.a
In file included from src/base/WifiMan.h:5:0,
                 from src/base/WifiMan.cpp:1:
src/base/WifiMan.cpp: In member function 'virtual bool WifiMan::parseConfigWebRequest(ESP8266WebServer&)':
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/WifiMan.cpp:127:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/WirelessPalaControl.cpp: In member function 'bool WebPalaControl::executePalaCmd(const String&, String&, bool)':
src/WirelessPalaControl.cpp:933:28: error: 'class ESP8266WiFiClass' has no member named 'getHostname'
       data["LABEL"] = WiFi.getHostname();
                            ^
src/base/WifiMan.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/WifiMan.cpp:431:7: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
       SERVER_KEEPALIVE_FALSE()
       ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/WifiMan.cpp:438:7: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
       SERVER_KEEPALIVE_FALSE()
       ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/base/WifiMan.cpp:453:7: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
       SERVER_KEEPALIVE_FALSE()
       ^
src/WirelessPalaControl.cpp:951:28: error: 'class ESP8266WiFiClass' has no member named 'broadcastIP'
       data["WBCST"] = WiFi.broadcastIP().toString();
                            ^
src/WirelessPalaControl.cpp:1011:26: error: 'class ESP8266WiFiClass' has no member named 'getHostname'
     data["LABEL"] = WiFi.getHostname();
                          ^
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/WiFiServer.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/WiFiServerSecureAxTLS.cpp.o
Compiling .pio/build/d1_mini/lib359/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o
*** [.pio/build/d1_mini/src/base/Application.cpp.o] Error 1
*** [.pio/build/d1_mini/src/base/Core.cpp.o] Error 1
In file included from src/WirelessPalaControl.h:8:0,
                 from src/WirelessPalaControl.cpp:1:
src/WirelessPalaControl.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2400:9: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
         SERVER_KEEPALIVE_FALSE()
         ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2420:11: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
           SERVER_KEEPALIVE_FALSE()
           ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2435:11: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
           SERVER_KEEPALIVE_FALSE()
           ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2444:9: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
         SERVER_KEEPALIVE_FALSE()
         ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2466:9: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
         SERVER_KEEPALIVE_FALSE()
         ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2485:11: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
           SERVER_KEEPALIVE_FALSE()
           ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2500:11: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
           SERVER_KEEPALIVE_FALSE()
           ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2510:9: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
         SERVER_KEEPALIVE_FALSE()
         ^
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2520:5: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
     SERVER_KEEPALIVE_FALSE()
     ^
src/WirelessPalaControl.cpp: In lambda function:
src/base/Application.h:9:41: error: 'using ESP8266WebServer = class esp8266webserver::ESP8266WebServerTemplate<WiFiServer>' has no member named 'keepAlive'
 #define SERVER_KEEPALIVE_FALSE() server.keepAlive(false);
                                         ^
src/WirelessPalaControl.cpp:2540:9: note: in expansion of macro 'SERVER_KEEPALIVE_FALSE'
         SERVER_KEEPALIVE_FALSE()
         ^
*** [.pio/build/d1_mini/src/base/WifiMan.cpp.o] Error 1
*** [.pio/build/d1_mini/src/WirelessPalaControl.cpp.o] Error 1
============================================================= [FAILED] Took 5.56 seconds =============================================================

Environment    Status    Duration
-------------  --------  ------------
d1_mini        FAILED    00:00:05.558
======================================================== 1 failed, 0 succeeded in 00:00:05.558 ========================================================

 *  Arrêt du processus de terminal "platformio 'run'". Code de sortie : 1. 
 *  Le terminal sera réutilisé par les tâches, appuyez sur une touche pour le fermer. 

esp32 (OK):

 *  Exécution de la tâche : platformio run --environment mhetesp32minikit 

Processing mhetesp32minikit (platform: espressif32; board: mhetesp32minikit; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------
Library Manager: Installing domochip/Palazzetti#v2.7.3
Unpacking  [####################################]  100%
Library Manager: Palazzetti@2.7.3 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
---- Copying base files ----
----------------------------
--- Converting web files ---
----------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/mhetesp32minikit.html
PLATFORM: Espressif 32 (2023.10.4) > MH ET LIVE ESP32MiniKit
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 2.0.14 
 - tool-esptoolpy @ 1.40700.0+dev (4.7.0) 
 - tool-mklittlefs @ 3.2.0 
 - tool-mkspiffs @ 2.230.0 (2.30) 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Library Manager: Installing domochip/Palazzetti#v2.7.3
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80%
Library Manager: Palazzetti@2.7.3 has been installed!
Found 28 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 7.2.0
|-- PubSubClient @ 2.8.0
|-- EEPROM @ 2.0.0
|-- FS @ 2.0.0
|-- LittleFS @ 2.0.0
|-- WebServer @ 2.0.0
|-- WiFi @ 2.0.0
|-- Palazzetti @ 2.7.3
|-- Ticker @ 2.0.0
|-- Update @ 2.0.0
|-- ESPmDNS @ 2.0.0
Building in release mode
Compiling .pio/build/mhetesp32minikit/src/WirelessPalaControl.cpp.o
Compiling .pio/build/mhetesp32minikit/src/base/Application.cpp.o
Compiling .pio/build/mhetesp32minikit/src/base/Core.cpp.o
Compiling .pio/build/mhetesp32minikit/src/base/MQTTMan.cpp.o
Compiling .pio/build/mhetesp32minikit/src/base/Main.cpp.o
Compiling .pio/build/mhetesp32minikit/src/base/Utils.cpp.o
Compiling .pio/build/mhetesp32minikit/src/base/WifiMan.cpp.o
Building .pio/build/mhetesp32minikit/bootloader.bin
Generating partitions .pio/build/mhetesp32minikit/partitions.bin
Compiling .pio/build/mhetesp32minikit/libe69/PubSubClient/PubSubClient.cpp.o
esptool.py v4.7-dev
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Compiling .pio/build/mhetesp32minikit/liba67/EEPROM/EEPROM.cpp.o
Compiling .pio/build/mhetesp32minikit/lib7e5/FS/FS.cpp.o
Compiling .pio/build/mhetesp32minikit/lib7e5/FS/vfs_api.cpp.o
Compiling .pio/build/mhetesp32minikit/libe70/LittleFS/LittleFS.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFi.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiAP.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiClient.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiGeneric.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiMulti.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiSTA.cpp.o
Archiving .pio/build/mhetesp32minikit/libe69/libPubSubClient.a
Archiving .pio/build/mhetesp32minikit/liba67/libEEPROM.a
Indexing .pio/build/mhetesp32minikit/liba67/libEEPROM.a
Indexing .pio/build/mhetesp32minikit/libe69/libPubSubClient.a
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiScan.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiServer.cpp.o
Compiling .pio/build/mhetesp32minikit/libf14/WiFi/WiFiUdp.cpp.o
Archiving .pio/build/mhetesp32minikit/libe70/libLittleFS.a
Indexing .pio/build/mhetesp32minikit/libe70/libLittleFS.a
Compiling .pio/build/mhetesp32minikit/lib6c9/WebServer/Parsing.cpp.o
Archiving .pio/build/mhetesp32minikit/lib7e5/libFS.a
Compiling .pio/build/mhetesp32minikit/lib6c9/WebServer/WebServer.cpp.o
Indexing .pio/build/mhetesp32minikit/lib7e5/libFS.a
Compiling .pio/build/mhetesp32minikit/lib6c9/WebServer/detail/mimetable.cpp.o
Compiling .pio/build/mhetesp32minikit/lib215/Palazzetti/Palazzetti.cpp.o
Compiling .pio/build/mhetesp32minikit/lib8dc/Ticker/Ticker.cpp.o
Compiling .pio/build/mhetesp32minikit/libb58/Update/HttpsOTAUpdate.cpp.o
Compiling .pio/build/mhetesp32minikit/libb58/Update/Updater.cpp.o
Archiving .pio/build/mhetesp32minikit/lib8dc/libTicker.a
Indexing .pio/build/mhetesp32minikit/lib8dc/libTicker.a
Compiling .pio/build/mhetesp32minikit/lib659/ESPmDNS/ESPmDNS.cpp.o
Archiving .pio/build/mhetesp32minikit/libf14/libWiFi.a
Indexing .pio/build/mhetesp32minikit/libf14/libWiFi.a
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/Esp.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/HWCDC.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/IPv6Address.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/Print.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/StreamString.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/USB.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/USBCDC.cpp.o
Archiving .pio/build/mhetesp32minikit/libb58/libUpdate.a
Indexing .pio/build/mhetesp32minikit/libb58/libUpdate.a
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/USBMSC.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/WMath.cpp.o
Archiving .pio/build/mhetesp32minikit/lib6c9/libWebServer.a
Indexing .pio/build/mhetesp32minikit/lib6c9/libWebServer.a
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/WString.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/base64.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/cbuf.cpp.o
Archiving .pio/build/mhetesp32minikit/lib659/libESPmDNS.a
Indexing .pio/build/mhetesp32minikit/lib659/libESPmDNS.a
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-cpu.c.o
Archiving .pio/build/mhetesp32minikit/lib215/libPalazzetti.a
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-dac.c.o
Indexing .pio/build/mhetesp32minikit/lib215/libPalazzetti.a
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/main.cpp.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/mhetesp32minikit/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/mhetesp32minikit/libFrameworkArduino.a
Indexing .pio/build/mhetesp32minikit/libFrameworkArduino.a
Linking .pio/build/mhetesp32minikit/WirelessPalaControl.32.elf
Retrieving maximum program size .pio/build/mhetesp32minikit/WirelessPalaControl.32.elf
Checking size .pio/build/mhetesp32minikit/WirelessPalaControl.32.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]  12.7% (used 41488 bytes from 327680 bytes)
Flash: [======    ]  55.4% (used 725809 bytes from 1310720 bytes)
Building .pio/build/mhetesp32minikit/WirelessPalaControl.32.bin
esptool.py v4.7-dev
Creating esp32 image...
Merged 26 ELF sections
Successfully created esp32 image.
====================================================== [SUCCESS] Took 15.54 seconds ======================================================

Environment       Status    Duration
----------------  --------  ------------
mhetesp32minikit  SUCCESS   00:00:15.543
======================================================= 1 succeeded in 00:00:15.543 =======================================================
 *  Le terminal sera réutilisé par les tâches, appuyez sur une touche pour le fermer. 
Domochip commented 1 month ago

It seems I'm using a newer platform and framework for esp8266 than yours: image

Could you give it a try first.

Flobul commented 1 month ago

Done and fixed. framework-arduinoespressif8266 is in platform Espressif 8266. I had many version of Espressif 8266 installed. I removed oldest to keep 4.1.0 and 4.2.0 versions, and got it fixed. Thanks.

PACKAGES: 
 - framework-arduinoespressif8266 @ 3.30102.0 (3.1.2) 
 - tool-esptool @ 1.413.0 (4.13) 
 - tool-esptoolpy @ 1.30000.201119 (3.0.0) 
 - toolchain-xtensa @ 2.100300.220621 (10.3.0)