Compare commits

...

2 Commits

Author SHA1 Message Date
henrygd
8a72e6d903 update 2025-08-24 21:49:35 -04:00
henrygd
53a87fab92 sum all batteries for battery stats 2025-08-24 21:46:30 -04:00

View File

@@ -4,15 +4,21 @@ import "github.com/distatus/battery"
// getBatteryStats returns the current battery percent and charge state
func getBatteryStats() (batteryPercent uint8, batteryState uint8, err error) {
bat, err := battery.Get(0)
batteries, err := battery.GetAll()
if err != nil {
return batteryPercent, batteryState, err
}
full := bat.Design
if full == 0 {
full = bat.Full
totalCapacity := float64(0)
totalCharge := float64(0)
for _, bat := range batteries {
if bat.Design != 0 {
totalCapacity += bat.Design
} else {
totalCapacity += bat.Full
}
totalCharge += bat.Current
}
batteryPercent = uint8(bat.Current / full * 100)
batteryState = uint8(bat.State.Raw)
batteryPercent = uint8(totalCharge / totalCapacity * 100)
batteryState = uint8(batteries[0].State.Raw)
return batteryPercent, batteryState, nil
}