Aussie summer heat and batteries don’t mix, but there may be an internal temperature sensor in the nRF52840 that the firmware uses to throttle down the processor for self preservation.
Alternatively the heat may be expanding your meter box door and letting in too much light in the gap, swamping out the pulse detector diode.
The one that seemed to work with the previous fixes applied to @muneeb1990 version is now also broken.
The latest ESPHome version 2026.2.1 refuses to compile now in either Arduino or ESPIDF with the missing WiFi.h error, flagged a long time ago, and overlooked, as the Arduino code seemed to work previously. Now it doesn’t so the offending line 4 in powerpal_ble.cpp that reads
#include "WiFi.h"
should go.
This was the one that was working until the new version of ESPHome tightened the Arduino compile parameters and it is now broken.
I noticed in the above post that IOT7712 mentioned that esp 2026.02.1 doesn’t compile.
I am running the version which gurrier created, but i haven’t updated it to the latest ESPHome version as I didn’t want issues
I know that the original issue was with muneeb1990 version, but was wonder if any other versions are still affected.
Now I think about it, I am probably onto my fourth folk/version of the powerpal esp since I put it in back in May 2022. (also probably onto my fourth ESP board, since I used to get dropouts a lot)
Heads up, looks like code doesn’t compile under ESPHome 2026.3.0 using GitHub - gurrier/esphome-powerpal_ble · GitHub
Compiling .pioenvs/esphome-gateway-b65314/src/esphome/components/script/script.cpp.o
src/esphome/components/powerpal_ble/powerpal_ble.cpp: In member function 'virtual void esphome::powerpal_ble::Powerpal::setup()':
src/esphome/components/powerpal_ble/powerpal_ble.cpp:148:27: error: 'class esphome::sensor::Sensor' has no member named 'set_device_class'; did you mean 'get_device_class'?
148 | this->energy_sensor_->set_device_class("energy");
| ^~~~~~~~~~~~~~~~
| get_device_class
src/esphome/components/powerpal_ble/powerpal_ble.cpp:150:27: error: 'class esphome::sensor::Sensor' has no member named 'set_unit_of_measurement'; did you mean 'get_unit_of_measurement'?
150 | this->energy_sensor_->set_unit_of_measurement("kWh");
| ^~~~~~~~~~~~~~~~~~~~~~~
| get_unit_of_measurement
src/esphome/components/powerpal_ble/powerpal_ble.cpp:153:33: error: 'class esphome::sensor::Sensor' has no member named 'set_device_class'; did you mean 'get_device_class'?
153 | this->daily_energy_sensor_->set_device_class("energy");
| ^~~~~~~~~~~~~~~~
| get_device_class
src/esphome/components/powerpal_ble/powerpal_ble.cpp:155:33: error: 'class esphome::sensor::Sensor' has no member named 'set_unit_of_measurement'; did you mean 'get_unit_of_measurement'?
155 | this->daily_energy_sensor_->set_unit_of_measurement("kWh");
| ^~~~~~~~~~~~~~~~~~~~~~~
| get_unit_of_measurement
Compiling .pioenvs/esphome-gateway-b65314/src/esphome/components/sensor/automation.cpp.o
*** [.pioenvs/esphome-gateway-b65314/src/esphome/components/powerpal_ble/powerpal_ble.cpp.o] Error 1
Have you reported it on GitHub? Maybe @tmugan may wish to chip in on what yaml code still works with PowerPal and ESPHome?
Just went to lodge it on GH, looks like a fix has already been implemented:
Nice!
Yes, that update seems to be working now.
Hopelessly confused with all these variations floating around and most not compiling any more.
Can you please post the contents of your flavor-of-the-month yaml, the one that is apparently working.
use the main branch for latest builds. 1.3 is giving the same compile errors.
external_components:
- source:
type: git
url: https://github.com/gurrier/esphome-powerpal_ble.git
ref: "main"
components: [ powerpal_ble ]
Hey, did you end up getting this working? I keep getting this error every time.
[esp32_ble_client:125]: [0] [XX:XX:XX:XX:XX:XX] 0x01 Connecting
[14:47:31.353][D][esp32_ble_tracker:169]: connecting: 1, discovered: 0, disconnecting: 0
[14:47:33.408][D][esp-idf:000][BTU_TASK]: W (11023210) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e dev_find 1
[14:47:36.158][I][powerpal_ble:074]: [XX:XX:XX:XX:XX:XX] Attempting BLE reconnect
[14:47:36.158][W][esp32_ble_client:117]: [0] [XX:XX:XX:XX:XX:XX] Connection already in progress, state=CONNECTING
[14:47:41.615][D][esp-idf:000][BTU_TASK]: W (11031414) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e dev_find 1
[14:47:47.829][D][esp-idf:000][BTU_TASK]: W (11037574) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e dev_find 1
[14:47:50.799][D][esp32_ble_client:379]: [0] [XX:XX:XX:XX:XX:XX] ESP_GATTC_DISCONNECT_EVT, reason 0x100
[14:47:50.799][W][powerpal_ble:403]: [XX:XX:XX:XX:XX:XX] ESP_GATTC_DISCONNECT_EVT
[14:47:50.800][W][powerpal_ble:061]: [XX:XX:XX:XX:XX:XX] Disconnected from Powerpal GATT server
[14:47:50.800][D][esp32_ble_client:211]: [0] [XX:XX:XX:XX:XX:XX] ESP_GATTC_OPEN_EVT
[14:47:50.800][E][esp32_ble_client:324]: [0] [XX:XX:XX:XX:XX:XX] ESP_GATTC_OPEN_EVT in DISCONNECTING state (status=133)
[14:47:50.800][W][esp32_ble_client:223]: [0] [XX:XX:XX:XX:XX:XX] Connection open error, status=133
[14:47:50.842][W][powerpal_ble:396]: [XX:XX:XX:XX:XX:XX] ESP_GATTC_OPEN_EVT failed, status=133
