[BetterBatteryStats] ardy2:
Note 20 Ultra with UI 3.1 (september '21) - not working at all for me - no kernel wakelocks and no partial wakelocks. Original 2.5.344 has partial wakelocks (but no kernel).

For xda versions from 2.5-341 and all new - there is many errors in logcat:

StatsProvider: An exception occured processing sensors. Message: null

StatsProvider: Exception: com.asksven.android.common.privateapiproxies.BatteryInfoUnavailableException

StatsProvider: at com.asksven.android.common.privateapiproxies.BatteryStatsProxy.getSensorStats(BatteryStatsProxy.java:1746)

StatsProvider: at com.asksven.betterbatterystats.data.StatsProvider.getCurrentSensorStatList(StatsProvider.java:614)

StatsProvider: at com.asksven.betterbatterystats.data.StatsProvider.populateReference(StatsProvider.java:2729)

StatsProvider: at com.asksven.betterbatterystats.data.StatsProvider.setReferenceSinceScreenOff(StatsProvider.java:2525)

StatsProvider: at com.asksven.betterbatterystats.services.WriteScreenOffReferenceService.onHandleIntent(WriteScreenOffReferenceService.java:59)

StatsProvider: at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:77)

StatsProvider: at android.os.Handler.dispatchMessage(Handler.java:106)

StatsProvider: at android.os.Looper.loop(Looper.java:246)

StatsProvider: at android.os.HandlerThread.run(HandlerThread.java:67)

StatsProvider: An exception occured processing kernel wakelocks. Message: Attempt to invoke virtual method 'java.lang.String java.lang.Throwable.getMessage()' on a null object reference

StatsProvider: Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Throwable.getMessage()' on a null object reference

StatsProvider: at com.asksven.android.common.privateapiproxies.BatteryStatsProxy.getKernelWakelockStats(BatteryStatsProxy.java:2808)

StatsProvider: at com.asksven.betterbatterystats.data.StatsProvider.getCurrentKernelWakelockStatList(StatsProvider.java:1192)

StatsProvider: at com.asksven.betterbatterystats.data.StatsProvider.populateReference(StatsProvider.java:2622)

StatsProvider: at com.asksven.betterbatterystats.data.StatsProvider.setReferenceScreenOn(StatsProvider.java:2536)

StatsProvider: at com.asksven.betterbatterystats.services.WriteScreenOnReferenceService.onHandleIntent(WriteScreenOnReferenceService.java:58)

StatsProvider: at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:77)

StatsProvider: at android.os.Handler.dispatchMessage(Handler.java:106)

StatsProvider: at android.os.Looper.loop(Looper.java:246)

StatsProvider: at android.os.HandlerThread.run(HandlerThread.java:67)

BatteryStatsService: Unable to load Power Hal or power.stats HAL

A : Processing of GCM event failed.

A : java.lang.NullPointerException: No binary data in push message

A : at com.google.common.base.bb.a(PG:1)

A : at com.google.android.apps.gsa.staticplugins.bd.k.b(PG:6)

A : at dagger.b.a.h.a(PG:2)

A : at com.google.common.w.a.f.d(PG:2)

A : at com.google.common.w.a.h.run(PG:9)

A : at com.google.ce.h.a.q.run(PG:3)

A : at com.google.android.libraries.g.ab.run(PG:1)

A : at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)

A : at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)

A : at com.google.android.libraries.g.c.run(PG:2)

A : at com.google.android.libraries.g.m.run(PG:4)

A : at java.lang.Thread.run(Thread.java:923)