sylvaing / Hackeron

Gateway bluetooth / MQTT pour electrolyseur akeron
7 stars 1 forks source link

Compile errors #1

Closed guix77 closed 1 year ago

guix77 commented 1 year ago

Hi,

I get those errors while trying to compile on Platformio 2.5.5:

 *  Exécution de la tâche dans le dossier Hackeron : platformio run --environment esp32dev 

Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (3.3.1) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (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 @ 3.10006.210326 (1.0.6) 
 - tool-esptoolpy @ 1.30100.210531 (3.1.0) 
 - toolchain-xtensa32 @ 2.50200.97 (5.2.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
Dependency Graph
|-- NimBLE-Arduino @ 1.4.1
|-- TaskScheduler @ 3.7.0
|-- AsyncElegantOTA @ 2.2.7
|   |-- AsyncTCP-esphome @ 1.2.2
|   |-- ESPAsyncWebServer-esphome @ 2.1.0
|   |   |-- AsyncTCP-esphome @ 1.2.2
|   |   |-- FS @ 1.0
|   |   |-- WiFi @ 1.0
|   |-- FS @ 1.0
|   |-- Update @ 1.0
|   |-- WiFi @ 1.0
|-- AsyncTCP-esphome @ 1.2.2
|-- ESPAsyncWebServer-esphome @ 2.1.0
|   |-- AsyncTCP-esphome @ 1.2.2
|   |-- FS @ 1.0
|   |-- WiFi @ 1.0
|-- home-assistant-integration @ 1.3.0+sha.bc3b8c4
|   |-- PubSubClient @ 2.8.0
|-- WiFi @ 1.0
Building in release mode
Compiling .pio/build/esp32dev/libd9b/home-assistant-integration/device-types/HANumber.cpp.o
In file included from .pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.cpp:5:0:
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.h: In constructor 'HANumber::HANumber(const char*)':
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.h:10:62: error: 'HANumber::_valueCallback' will be initialized after [-Werror=reorder]
 #define HANumber_CALLBACK(name) void (*name)(float, HANumber*)
                                                              ^
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.h:105:5: note: in expansion of macro 'HANumber_CALLBACK'
     HANumber_CALLBACK(_valueCallback);
     ^
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.h:99:10: error:   'bool HANumber::_retain' [-Werror=reorder]
     bool _retain;
          ^
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.cpp:11:1: error:   when initialized here [-Werror=reorder]
 HANumber::HANumber(const char* uniqueId) :
 ^
In file included from .pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.cpp:5:0:
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.h:99:10: error: 'HANumber::_retain' will be initialized after [-Werror=reorder]
     bool _retain;
          ^
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.h:95:11: error:   'float HANumber::_value' [-Werror=reorder]
     float _value;
           ^
.pio/libdeps/esp32dev/home-assistant-integration/src/device-types/HANumber.cpp:11:1: error:   when initialized here [-Werror=reorder]
 HANumber::HANumber(const char* uniqueId) :
 ^
cc1plus: some warnings being treated as errors
*** [.pio/build/esp32dev/libd9b/home-assistant-integration/device-types/HANumber.cpp.o] Error 1
============================================================================= [FAILED] Took 2.85 seconds =============================================================================

Environment    Status    Duration
-------------  --------  ------------
esp32dev       FAILED    00:00:02.852
======================================================================= 1 failed, 0 succeeded in 00:00:02.852 =======================================================================

 *  Arrêt du processus de terminal "platformio 'run', '--environment', 'esp32dev'". Code de sortie : 1.
sylvaing commented 1 year ago

Hi, works for me with PltformIO Core 6.1.5·Home 3.4.3, but I d'ont think this is PlatformIO version error. Can you copy/past the content of your platformio.ini file ?

guix77 commented 1 year ago

Hi, I didn't change it. With a different computer I could compile without any errors so I guess it's something related to my local setup. Anyways, closing this for now.

Also reporting that it works fine with the base Akeron Duo Salt Regul pH, although some sensors & controls are obviously missing.

Thanks for this work !

A few more questions :

  1. ELX stands for? Electrolysis?
  2. What does the boost control?
  3. Is a cover control implemented internally in your device or is it a custom addition for your cover connected to the ESP? I know that on mine I have a sensor to let the Akeron know if the cover is open or closed, which makes sense. But if you can control the cover from the Akeron, maybe I can too!

image

PS : Je suis aussi à Toulouse :)

sylvaing commented 1 year ago

Hi ! a neighbor !!! :-) good job!

I implement lot of feature of Akeron, but i don't use all feature :

1- Yes ELX is for Electrolysis. 2- The boost control is the boost of your Akeron, but I have some problem on this, I need to investigate ( or remove this..). I don't understand clearly how this feature work internaly of Akeron... 3- you have a sensor which represent the sensor of akeron if you use it, and you have cover switch that you can use to say to the akeron that the cover is closed. I don't use this feature because I have redox feature on my akeron. But in thorie you can manually activate cover switch to reduce electrolysis production. (not tested...)

For you information, I prepare a new version in order to use new version of arduino-home-assistant lib. Today I forked the old to add some feature. the new version include all features and fix some problem.

Hackeron, implement juste gateway to your akeron. I manage my poolpump with a shelly, you can check this: https://github.com/sylvaing/shelly-pool-pump I use shelly plus with native script and external sensor. Since few weeks, Shelly add "addon sensor" to connect direcltly all sensor need. I must buy this to manage all sensor on one shelly plus. Stay tuned ! ;-)

guix77 commented 1 year ago

Thanks !

I don't even have a boost mode on the Akeron app, but it might be accessible from the device itself. I'll have a look and try to get more info from the guy who installed it for me, and also about the cover.

Great project, thanks! I'll also have a look at your shelly pump, see you there :)