add battery charge monitoring

This commit is contained in:
henrygd
2025-08-24 20:45:38 -04:00
parent 0188418055
commit 8b655ef2b9
12 changed files with 130 additions and 36 deletions

View File

@@ -0,0 +1,18 @@
package agent
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)
if err != nil {
return batteryPercent, batteryState, err
}
full := bat.Design
if full == 0 {
full = bat.Full
}
batteryPercent = uint8(bat.Current / full * 100)
batteryState = uint8(bat.State.Raw)
return batteryPercent, batteryState, nil
}