Page 1 sur 1

Aide pour compiler espeasy + plugin

Publié : 10 juin 2018, 21:56
par djksage
Bonjour à tous,

j'ai acquis un airco et je voulais le contrôler depuis Domoticz avec un nodemcu et son plugin _P115.

j'ai suivit plusieurs tutos dont ceux-la
https://projetsdiy.fr/esp-easy-installa ... layground/
https://www.letscontrolit.com/wiki/inde ... platformio

mais je bloque à l'étape de la compilation, j'ai toujours de multiple erreurs :( même si je ne touche à rien (juste décompréser l'archive et la compiler)

Code : Tout sélectionner

Arduino : 1.8.5 (Windows 10), Carte : "NodeMCU 0.9 (ESP-12 Module), 80 MHz, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
ATTENTION : La catégorie 'LED' dans la bibliothèque CHT16K33 LED Matrix Library n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Input' dans la bibliothèque MechInputs n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Input' dans la bibliothèque SerialSensors n'est pas valide. Définition sur : 'Uncategorized'
C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Numbers/../Polyfills/ctype.hpp:10:21: error: expected unqualified-id before 'char'
 inline bool isdigit(char c) {
                     ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\Misc.ino:3008:21: note: in definition of macro 'isdigit'
 #define isdigit(n) (n >= '0' && n <= '9')
                     ^
C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Numbers/../Polyfills/ctype.hpp:10:21: error: expected ')' before 'char'
 inline bool isdigit(char c) {
                     ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\Misc.ino:3008:21: note: in definition of macro 'isdigit'
 #define isdigit(n) (n >= '0' && n <= '9')
                     ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C002.ino: In function 'boolean CPlugin_002(byte, EventStruct*, String&)':
_C002:51: error: 'StaticJsonBuffer' was not declared in this scope
           StaticJsonBuffer<512> jsonBuffer;
           ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C002.ino:51:11: note: suggested alternative:
In file included from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/StaticJsonDocument.hpp:8:0,
                 from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:15,
                 from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,
                 from C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C002.ino:10:
C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/StaticJsonBuffer.hpp:110:7: note:   'ArduinoJson::Internals::StaticJsonBuffer'
 class StaticJsonBuffer : public Internals::StaticJsonBufferBase {
       ^
_C002:51: error: 'jsonBuffer' was not declared in this scope
           StaticJsonBuffer<512> jsonBuffer;
                                 ^
_C002:145: error: 'StaticJsonBuffer' was not declared in this scope
           StaticJsonBuffer<200> jsonBuffer;
           ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C002.ino:145:11: note: suggested alternative:
In file included from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/StaticJsonDocument.hpp:8:0,
                 from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:15,
                 from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,
                 from C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C002.ino:10:
C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/StaticJsonBuffer.hpp:110:7: note:   'ArduinoJson::Internals::StaticJsonBuffer'
 class StaticJsonBuffer : public Internals::StaticJsonBufferBase {
       ^
_C002:145: error: 'jsonBuffer' was not declared in this scope
           StaticJsonBuffer<200> jsonBuffer;
                                 ^
_C002:187: error: 'class ArduinoJson::JsonObject' has no member named 'printTo'
           root.printTo(json);
                ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C009.ino: In function 'boolean CPlugin_009(byte, EventStruct*, String&)':
_C009:71: error: 'DynamicJsonBuffer' was not declared in this scope
         DynamicJsonBuffer jsonBuffer;
         ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C009.ino:71:9: note: suggested alternative:
In file included from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,
                 from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,
                 from C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,
                 from C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_C002.ino:10:
C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note:   'ArduinoJson::Internals::DynamicJsonBuffer'
     DynamicJsonBuffer;
     ^
_C009:71: error: expected ';' before 'jsonBuffer'
         DynamicJsonBuffer jsonBuffer;
                           ^
_C009:72: error: 'jsonBuffer' was not declared in this scope
         JsonObject& root = jsonBuffer.createObject();
                            ^
_C009:113: error: 'class ArduinoJson::JsonObject' has no member named 'printTo'
         root.printTo(jsonString);
              ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_P016_IR.ino: At global scope:
_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;
 ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\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))
                                 ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_P035_IRTX.ino: At global scope:
_P035_IRTX:7: error: 'IRsend' does not name a type
 IRsend *Plugin_035_irSender;
 ^
C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\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(F("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:226: error: 'irReceiver' was not declared in this scope
           if (irReceiver != 0) irReceiver->enableIRIn(); // Start the receiver
               ^
In file included from C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_P115_HeatpumpIR.ino:40:0:
C:\Program Files (x86)\Arduino\libraries\Heatpumpir/SamsungHeatpumpIR.h: At global scope:
C:\Program Files (x86)\Arduino\libraries\Heatpumpir/SamsungHeatpumpIR.h:54:5: error: 'SamsungHeatpumpIR::SamsungHeatpumpIR()' is protected
     SamsungHeatpumpIR();
     ^
_P115_HeatpumpIR:55: error: within this context
                             new SamsungHeatpumpIR(), new SharpHeatpumpIR(), new DaikinHeatpumpIR(),
                                                   ^
In file included from C:\Users\DJK\Desktop\esp\ESPEasy-mega-20180606\ESPEasy\_P115_HeatpumpIR.ino:46:0:
C:\Program Files (x86)\Arduino\libraries\Heatpumpir/GreeHeatpumpIR.h:66:5: error: 'GreeHeatpumpIR::GreeHeatpumpIR()' is protected
     GreeHeatpumpIR();
     ^
_P115_HeatpumpIR:57: error: within this context
                             new HyundaiHeatpumpIR(), new HisenseHeatpumpIR(), new GreeHeatpumpIR(),
                                                                                                  ^
Plusieurs bibliothèque trouvées pour "ArduinoJson.h"
Utilisé : C:\Users\DJK\Documents\Arduino\libraries\ArduinoJson
Non utilisé : C:\Program Files (x86)\Arduino\libraries\ArduinoJson
Plusieurs bibliothèque trouvées pour "LiquidCrystal_I2C.h"
Utilisé : C:\Users\DJK\Documents\Arduino\libraries\LiquidCrystal_I2C
Non utilisé : C:\Program Files (x86)\Arduino\libraries\LiquidCrystal_I2C
Plusieurs bibliothèque trouvées pour "NewPing.h"
Utilisé : C:\Program Files (x86)\Arduino\libraries\NewPing
Non utilisé : C:\Users\DJK\Documents\Arduino\libraries\NewPing
Plusieurs bibliothèque trouvées pour "IRremoteESP8266.h"
Utilisé : C:\Users\DJK\Documents\Arduino\libraries\IRremoteESP8266
Non utilisé : C:\Program Files (x86)\Arduino\libraries\IRremoteESP8266
Plusieurs bibliothèque trouvées pour "SSD1306.h"
Utilisé : C:\Program Files (x86)\Arduino\libraries\esp8266-oled-ssd1306
Non utilisé : C:\Users\DJK\Documents\Arduino\libraries\ESP8266_and_ESP32_Oled_Driver_for_SSD1306_display
Plusieurs bibliothèque trouvées pour "Adafruit_NeoPixel.h"
Utilisé : C:\Users\DJK\Documents\Arduino\libraries\Adafruit_NeoPixel
Non utilisé : C:\Program Files (x86)\Arduino\libraries\Adafruit_NeoPixel
Plusieurs bibliothèque trouvées pour "Servo.h"
Utilisé : C:\Users\DJK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\Servo
Non utilisé : C:\Program Files (x86)\Arduino\libraries\Servo
Plusieurs bibliothèque trouvées pour "PubSubClient.h"
Utilisé : C:\Users\DJK\Documents\Arduino\libraries\PubSubClient
Non utilisé : C:\Program Files (x86)\Arduino\libraries\pubsubclient
exit status 1
'StaticJsonBuffer' was not declared in this scope

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
Si une âme charitable pourrais me dire comment régler ces foutus erreurs ou me compiler un .bin pour un NodeMcu 0.9 pour que je le flash en OTA

merci beaucoup ;)

PS: tout est à jours IDE, la bibliotèque, W10,...

Re: Aide pour compiler espeasy + plugin

Publié : 11 juin 2018, 18:08
par Jeff
Ca semble venir de la bibliothèque arduinoJson ! Tu l'as copié du dossier des librairies fournit avec espeasy ?

Edit : essaye de compiler avec un wemos 4mb et pas un nodemcu pour voir, il y a une histoire de taille dans le wiki à ce sujet !

Re: Aide pour compiler espeasy + plugin

Publié : 11 juin 2018, 20:19
par djksage
Merci je vais essayer ça demain ;-)

Envoyé de mon SM-G950F en utilisant Tapatalk

Re: Aide pour compiler espeasy + plugin

Publié : 11 juin 2018, 21:17
par djksage
J'ai tester mais j'ai toujours des erreurs :cry:

j'ai commencer à faire le ménage dans les lib pour ne plus avoir beaucoup en double, j'ai garder les lib fourni avec espeasy pour être certain que c'est les bonnes.

Après j'avais encore quelques erreurs avec des plugins que j'avais pas besoin, je les ai supprimé, ça fait un peut de place :lol:

J'avais encore des erreurs, j'ai donc suivis ton conseil de changer de board mais pareil
Problème avec les plugins P035 (la compil s'arrête à la ligne 7) et celui que j'ai besoin P115 (des erreurs mais la compil continue)

Code : Tout sélectionner

Arduino : 1.8.5 (Windows 10), Carte : "WeMos D1 R2 & mini, 80 MHz, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

ATTENTION : La catégorie 'LED' dans la bibliothèque CHT16K33 LED Matrix Library n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Input' dans la bibliothèque MechInputs n'est pas valide. Définition sur : 'Uncategorized'
ATTENTION : La catégorie 'Input' dans la bibliothèque SerialSensors n'est pas valide. Définition sur : 'Uncategorized'
Les options de compilation ont été modifiées, tout sera recompilé
ATTENTION : la bibliothèque NewPing prétend être exécutable sur la (ou les) architecture(s) (avr, arm) et peut être incompatible avec votre carte actuelle qui s'exécute sur (esp8266).
_P035_IRTX:7: error: 'IRsend' does not name a type
 IRsend *Plugin_035_irSender;
 ^
C:\Users\DJK\Documents\Arduino\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(F("IRSEND")) && Plugin_035_irSender != 0)
                                                      ^
In file included from C:\Users\DJK\Documents\Arduino\ESPEasy\_P115_HeatpumpIR.ino:40:0:
C:\Program Files (x86)\Arduino\libraries\Heatpumpir/SamsungHeatpumpIR.h: At global scope:
C:\Program Files (x86)\Arduino\libraries\Heatpumpir/SamsungHeatpumpIR.h:54:5: error: 'SamsungHeatpumpIR::SamsungHeatpumpIR()' is protected
     SamsungHeatpumpIR();
     ^
_P115_HeatpumpIR:55: error: within this context
                             new SamsungHeatpumpIR(), new SharpHeatpumpIR(), new DaikinHeatpumpIR(),
                                                   ^
In file included from C:\Users\DJK\Documents\Arduino\ESPEasy\_P115_HeatpumpIR.ino:46:0:
C:\Program Files (x86)\Arduino\libraries\Heatpumpir/GreeHeatpumpIR.h:66:5: error: 'GreeHeatpumpIR::GreeHeatpumpIR()' is protected
     GreeHeatpumpIR();
     ^
_P115_HeatpumpIR:57: error: within this context
                             new HyundaiHeatpumpIR(), new HisenseHeatpumpIR(), new GreeHeatpumpIR(),
                                                                                                  ^
exit status 1
'IRsend' does not name a type
Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

Re: Aide pour compiler espeasy + plugin

Publié : 11 juin 2018, 22:29
par Jeff
Enleve encore les plugins qui posent probleme.
Compile quand c'est ok, rajoute ton plugin et vérifie les lib qu'il utilise et qui pose donc probleme.
Bon amusement ;)

Re: Aide pour compiler espeasy + plugin

Publié : 11 juin 2018, 22:34
par djksage
Le problème c'est que le plugin P035 c'est IRSender et le P115 c'est celui pour l'air co

Les deux que j'ai absolument besoin, mais je test ça demain quand-même

Merci pour tes conseils

Envoyé de mon SM-G950F en utilisant Tapatalk

Re: Aide pour compiler espeasy + plugin

Publié : 12 juin 2018, 14:55
par djksage
Hello,

j'ai changé de pc, j'ai testé avec un pc sous Ubuntu et j'ai juste du modifié un peut le plugin p115 (dû à une erreur) et c'est passé sans stress pour le nodemcu 0.9.


J'ai créé le bin comme sur le tuto, maintenant je vais essayer de flasher mon nodemcu et tester.

Envoyé de mon SM-G950F en utilisant Tapatalk

Re: Aide pour compiler espeasy + plugin

Publié : 12 juin 2018, 20:31
par Jeff
Nickel, content pour toi :)