The Virtual Device shows the battery status of battery powered devices. In addition, it will send an email to a user when the battery is low or dead. It is suitable for a small number of devices and gives you a snapshot view.
Note that the Lithium battery drops suddenly and if its below 80 then its marked as low and should be replaced. The battery is checked once a day roughly.
The lua code is attached. I have written it for efficiency instead of accuracy, as lua execution is so so slow. Hence the use of delays. You need as many labels in the VD as the number of devices and it uses label1..labeln for simplicity.