@Nicolas-Bernaerts Bonjour!
Je tente à nouveau d'utiliser ta version, j'ai pu la flasher sans soucis sur mon esp32s2 pour info, et elle fonctionne apparemment au poil.
Je voulais recompiler pour ajouter le support de l'écran, mais même sans aller jusque là juste en suivant les instructions je n'arrive plus à compiler.
J'ai tenté sur les releases suivantes de Tasmota :
- v12.0.2
- v12.1.0
- v12.1.1
- v12.2.0
La version 12.0.2 me sort plein d'erreurs sur xdrv_01_9_webserver.ino :
Compiling .pio/build/teleinfo32s2/libdb5/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino: In function 'void HandleWifiConfiguration()':
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: error: 'WIFI_NOT_TESTING' was not declared in this scope
if (WIFI_NOT_TESTING == Wifi.wifiTest) {
^~~~~~~~~~~~~~~~
Compiling .pio/build/teleinfo32s2/lib90c/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: note: suggested alternative: 'WIFI_NO_SLEEP'
if (WIFI_NOT_TESTING == Wifi.wifiTest) {
^~~~~~~~~~~~~~~~
WIFI_NO_SLEEP
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:36: error: 'struct WIFI' has no member named 'wifiTest'
if (WIFI_NOT_TESTING == Wifi.wifiTest) {
^~~~~~~~
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:37: error: 'struct WIFI' has no member named 'old_wificonfig'
if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
^~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:60: error: 'struct WIFI' has no member named 'old_wificonfig'
if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
^~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1869:14: error: 'struct WIFI' has no member named 'save_data_counter'
Wifi.save_data_counter = TasmotaGlobal.save_data_counter;
^~~~~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1872:12: error: 'struct WIFI' has no member named 'wifi_test_counter'; did you mean 'config_counter'?
Wifi.wifi_test_counter = 9; // seconds to test user's proposed AP
Tasmota a visiblement évolué sur ce fichier, si j'ai bien compris, et du coup ton fichier était en double du fichier d'origine ? J'avais tenté la 12.0.2 ayant vu que c'était la version que tu avais compilé pour tes binaires de fin aout...
Toutes les versions à part la 12.0.2 me sortent moins d'erreurs mais échouent quand même :
Compiling .pio/build/teleinfo32s2/lib3b5/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoLoadConfig()':
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:662:111: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
teleinfo_config.baud_rate = TeleinfoValidateBaudRate (UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_RATE));
^
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
^~~~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:663:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
teleinfo_config.log_policy = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_LOG_POLICY);
^
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
^~~~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:664:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
teleinfo_config.msg_policy = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_POLICY);
^
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
^~~~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:665:88: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
teleinfo_config.msg_type = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_TYPE);
^
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
^~~~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:666:95: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
teleinfo_config.update_interval = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_INTERVAL);
^
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
^~~~~~~~~~~~~~~~
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:667:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
teleinfo_config.percent_adjust = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_ADJUST);
^
/home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
Là j'avoue que je sèche complètement...
J'ai bien trouvé la déclaration de la fonction par ex UfsCfgLoadKeyInt où effectivement on a 3 arguments :
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
J'ai aussi trouvé que le fichier où cette fonction était déclarée avait évolué le 16 octobre dernier, et qu'avant la déclaration était :
int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value = INT_MAX)
Donc avec une valeur par défaut en cas d'absence du 3ème argument. Je pense que mes erreurs de compilation viennent de là... Qu'en penses-tu?
Merci d'avance pour ton aide!!!
EDIT : j'ai repris l'ancien fichier avant refactoring, la compilation va effectivement bien plus loin mais échoue cette fois sur l'erreur suivante :
Retrieved `.pio/build/teleinfo32s2/lib3d8/Adafruit_seesaw_soilsensor_1.3.1/Adafruit_seesaw.cpp.o' from cache
/home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoInit()':
/home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:1334:13: error: 'struct TSettings' has no member named 'energy_kWhtotal'; did you mean 'energy_kWhtotal_ph'?
Settings->energy_kWhtotal = 0;
^~~~~~~~~~~~~~~
energy_kWhtotal_ph
Retrieved `.pio/build/teleinfo32s2/libcc1/BM8563_RTC/BM8563.cpp.o' from cache
Retrieved `.pio/build/teleinfo32s2/lib6e4/AT24C256_512/Eeprom24C128_256.cpp.o' from cache
En effet la déclaration de energy_kWhtotal n'est plus présente dans tasmota_types.h depuis la version 12.1.0 a priori. Là par contre je ne vois pas de solution à ce problème...