Documentation on what HidBatt support (NUT bridge)

Hi

Im working on a network NUT to Windows HID power umdf kernel driver (in rust), as probably mainly a learning exercise, but might be more if i get it reasonable in shape.

Is there any docs on what the hidbatt function in windows support?

I do have NUT to battery charge working so it is actually sort of usable already (available as nut_hid on my github), but the HID report descriptor ive used as a reference doesnt line up with usb hid power docs too well.

Maybe somebody know some hid report descriptor that shows of some of what is supported by hidbatt?

Not sure if this answers your question, but I'm maintaining a GitHub - forderud/HidBattery: Arduino battery emulator project for using an Arduino device to simulate a HID battery.

As part of that work I discovered that the inbuilt HidBatt driver fails to detect CycleCount and Temperature parameters from the battery pack. I therefore developed a "HidBattExt" extension driver in the same repo to work around these limitations. I've also opened support cases where I've requested improvements by Microsoft in their HidBatt driver.

My impression after working with HidBatt have been that the driver seem to be able to parse all relevant battery parameters except for the mentioned CycleCount and Temperature. There's also a problem of HID batteries not appearing in "powercfg /batteryreport" report that have also been reported to Microsoft.

Ah nice to see some other working with sort of the same goal. Looks like your hid report descriptor looks quite similar to mine.

I don't think cycle times here are too important. Since may main target is to support usage a shared NAT UPS server to allow safe shutdown of servers when it looses AC power.

But in theory it could gateway that info. I had forgotten about about powercfg /batteryreport, that would be very usefull.

If you are curios: it's available at my github page elupus/nut_hid (can't post links yet)