Open MagnusErler opened 4 days ago
I get the following errors when uploading to esp32
INFO ESPHome 2024.6.4 INFO Reading configuration /config/esphome/kamstrup.yaml... INFO Generating C++ source... INFO Compiling app... Processing kamstrup (board: esp32dev; framework: arduino; platform: platformio/espressif32@5.4.0) -------------------------------------------------------------------------------- HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5 Dependency Graph |-- AsyncTCP-esphome @ 2.1.3 |-- WiFi @ 2.0.0 |-- FS @ 2.0.0 |-- Update @ 2.0.0 |-- ESPAsyncWebServer-esphome @ 3.2.2 |-- DNSServer @ 2.0.0 |-- ESPmDNS @ 2.0.0 |-- noise-c @ 0.1.4 Compiling .pioenvs/kamstrup/src/esphome/components/kamstrup-radius/aes.c.o Compiling .pioenvs/kamstrup/src/esphome/components/kamstrup-radius/cipher.c.o Compiling .pioenvs/kamstrup/src/esphome/components/kamstrup-radius/cipher_wrap.c.o Compiling .pioenvs/kamstrup/src/esphome/components/kamstrup-radius/gcm.c.o src/esphome/components/kamstrup-radius/aes.c:42:10: fatal error: padlock.h: No such file or directory ***************************************************************** * Looking for padlock.h dependency? Check our library registry! * * CLI > platformio lib search "header:padlock.h" * Web > https://registry.platformio.org/search?q=header:padlock.h * ***************************************************************** #include "padlock.h" ^~~~~~~~~~~ compilation terminated. src/esphome/components/kamstrup-radius/cipher.c:50:10: fatal error: ccm.h: No such file or directory ************************************************************* * Looking for ccm.h dependency? Check our library registry! * * CLI > platformio lib search "header:ccm.h" * Web > https://registry.platformio.org/search?q=header:ccm.h * ************************************************************* #include "ccm.h" ^~~~~~~ compilation terminated. Compiling .pioenvs/kamstrup/src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.cpp.o *** [.pioenvs/kamstrup/src/esphome/components/kamstrup-radius/aes.c.o] Error 1 *** [.pioenvs/kamstrup/src/esphome/components/kamstrup-radius/cipher.c.o] Error 1 src/esphome/components/kamstrup-radius/cipher_wrap.c:49:10: fatal error: camellia.h: No such file or directory ****************************************************************** * Looking for camellia.h dependency? Check our library registry! * * CLI > platformio lib search "header:camellia.h" * Web > https://registry.platformio.org/search?q=header:camellia.h * ****************************************************************** #include "camellia.h" ^~~~~~~~~~~~ compilation terminated. *** [.pioenvs/kamstrup/src/esphome/components/kamstrup-radius/cipher_wrap.c.o] Error 1 src/esphome/components/kamstrup-radius/gcm.c:46:10: fatal error: aesni.h: No such file or directory *************************************************************** * Looking for aesni.h dependency? Check our library registry! * * CLI > platformio lib search "header:aesni.h" * Web > https://registry.platformio.org/search?q=header:aesni.h * *************************************************************** #include "aesni.h" ^~~~~~~~~ compilation terminated. *** [.pioenvs/kamstrup/src/esphome/components/kamstrup-radius/gcm.c.o] Error 1 In file included from src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.cpp:1: src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.h:17:27: error: 'String' has not been declared void set_encryption_key(String key) { hexStr2bArr(encryption_key, key.c_str(), sizeof(encryption_key)); } ^~~~~~ src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.h:18:31: error: 'String' has not been declared void set_authentication_key(String key){ hexStr2bArr(authentication_key, key.c_str(), sizeof(authentication_key)); } ^~~~~~ src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.h: In member function 'void esphome::kamstrup_radius::KamstrupRadiusSensor::set_encryption_key(int)': src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.h:17:73: error: request for member 'c_str' in 'key', which is of non-class type 'int' void set_encryption_key(String key) { hexStr2bArr(encryption_key, key.c_str(), sizeof(encryption_key)); } ^~~~~ src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.h: In member function 'void esphome::kamstrup_radius::KamstrupRadiusSensor::set_authentication_key(int)': src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.h:18:80: error: request for member 'c_str' in 'key', which is of non-class type 'int' void set_authentication_key(String key){ hexStr2bArr(authentication_key, key.c_str(), sizeof(authentication_key)); } ^~~~~ *** [.pioenvs/kamstrup/src/esphome/components/kamstrup-radius/kamstrup_radius_sensor.cpp.o] Error 1 ========================== [FAILED] Took 2.10 seconds ==========================
kamstrup.yaml
esphome: name: kamstrup friendly_name: Kamstrup esp32: board: esp32dev framework: type: arduino # Enable logging logger: # Enable Home Assistant API api: encryption: key: "qYlboeSMRNhdX8iyOYdYX+rHfl3K7QRZuxx4FjyEq9w=" ota: - platform: esphome password: "07449ec757b147c71954fa6584e76439" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Kamstrup Fallback Hotspot" password: "LdefWcRtld3p" captive_portal: external_components: source: github://Asbjoern/ESPHome-Kamstrup-Radius@main uart: rx_pin: GPIO16 baud_rate: 2400 sensor: - platform: kamstrup-radius encryptionkey: "XXXX" authenticationkey: "XXXX" activepowerimport: name: "Active power Import" activepowerexport: name: "Active power Export" activepowerimportl1: name: "Active power Import L1" activepowerexportl1: name: "Active power Export L1" activepowerimportl2: name: "Active power Import L2" activepowerexportl2: name: "Active power Export L2" activepowerimportl3: name: "Active power Import L3" activepowerexportl3: name: "Active power Export L3" reactivepowerimport: name: "Reactive power Import" reactivepowerexport: name: "Reactive power Export" powerfactorl1: name: "Power factor L1" powerfactorl2: name: "Power factor L2" powerfactorl3: name: "Power factor L3" powerfactortotal: name: "Power factor Total" voltagel1: name: "RMS voltage L1" voltagel2: name: "RMS voltage L2" voltagel3: name: "RMS voltage L3" currentl1: name: "RMS current L1" currentl2: name: "RMS current L2" currentl3: name: "RMS current L3" activeenergyimport: name: "Active energy Import" activeenergyexport: name: "Active energy Export" activeenergyimportl1: name: "Active energy Import L1" activeenergyexportl1: name: "Active energy Export L1" activeenergyimportl2: name: "Active energy Import L2" activeenergyexportl2: name: "Active energy Export L2" activeenergyimportl3: name: "Active energy Import L3" activeenergyexportl3: name: "Active energy Export L3" reactiveenergyimport: name: "Reactive energy Import" reactiveenergyexport: name: "Reactive energy Export"
Hmm, you are right. There seams to be a dependency on padlock.h when compiling for esp32 but not for ESP8266 which is my target device. I will se what it takes to get it working on EPS32 as well.
I get the following errors when uploading to esp32
kamstrup.yaml