Update:
First, thanks for the work on this - really awesome stuff
The external component ble_client shouldn’t be needed any more, but I haven’t looked deeply enough to be sure. I’m running just powerpal_ble external, with some small changes to be compatible with current beta branch of esphome ble_client:
find and replace in powerpal_ble.cpp:
a) ‘conn_id’ with ‘get_conn_id()’
b) ‘gattc_if’ with ‘get_gattc_if()’
c) ‘remote_bda’ with ‘get_remote_bda()’
With that it’s running happily for the past half hour for me. It had no issue just connecting and working first run 
Will play around more tomorrow or maybe next weekend