Battery level is the amount of energy remaining in the battery. It is defined in Wh. As an indication of the energy battery producers sometimes provide discharge curves that displays the amount of energy against voltage. This curve does have a sigmoid form.
My observation with Zwave devices are quite diverse patterns. Some of my StellaZ TRV's continued to work for well over six weeks at 0% charge, while others stopped at 10% or even more.
I guess it strongly depends on the place where the device sits. Heating systems are not designed with control with RF in mind. TRV's are stowed away in odd corners. Unfortunately you can no longer inspect the timing info in ExpertUI. But in the past I found a strong correlation between battery drain and bad figures in the timing!

The only way to measure battery level is via currnet Vcc voltage. But most of modern batteries do have a pretty flat curve that drops sharply on the end of battery life. This makes it pretty hard to covert Vcc -> % of energy remained.

Usually we do linear 100%-0% via 3.0V-2.4V mapping. But as you expect, this is far from real % of energy. Indeed, manu devices can work when 0% is shown for a year.