Oh, i see.
I suppose you have the directory
/sys/class/power_supply/BAT0.
The battery module uses the /proc/acpi/battery/ path.
Try replacing /proc/acpi/battery/ with /sys/class/power_supply/ in the battery.lisp file (line 28).
If this works the module can be refactored to export another variable *battery-path*. Something like:
=====================================
(export '(*battery-path*))
(defvar *battery-path* nil)
(defun read-battery-file (battery fname)
(let ((fields (make-hash-table :test #'equal)))
(with-open-file (s (or *battery-path* (concatenate 'string "/proc/acpi/battery/" battery "/" fname)
:if-does-not-exist nil)
....)))
=================================
And then users could do (setf *battery-path* "/sys/class/power_supply/BAT0") after loading the module.
That or just make the module check for /proc/acpi/ and then /sys/class/power_supply/ or wathever.