From 15af359beac1268eb24fca5743e2fd2d5a426d14 Mon Sep 17 00:00:00 2001 From: Luke Bonham Date: Tue, 22 Mar 2016 08:59:30 +0100 Subject: [PATCH] bat: #177 fix Watt computation 2 --- widgets/bat.lua | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/widgets/bat.lua b/widgets/bat.lua index 9740bbe..56bba23 100644 --- a/widgets/bat.lua +++ b/widgets/bat.lua @@ -63,26 +63,25 @@ local function worker(args) if present == "1" then - local rate = first_line(bstr .. "/power_now") + local rate = tonumber(first_line(bstr .. "/power_now")) + local current_now = false - local rate_alt = first_line(bstr .. "/current_now") + if not rate then + rate = tonumber(first_line(bstr .. "/current_now")) + current_now = true + end - local ratev = first_line(bstr .. "/voltage_now") + local ratev = tonumber(first_line(bstr .. "/voltage_now")) - local rem = first_line(bstr .. "/energy_now") or - first_line(bstr .. "/charge_now") + local rem = tonumber(first_line(bstr .. "/energy_now") or + first_line(bstr .. "/charge_now")) - local tot = first_line(bstr .. "/energy_full") or - first_line(bstr .. "/charge_full") + local tot = tonumber(first_line(bstr .. "/energy_full") or + first_line(bstr .. "/charge_full")) bat_now.status = first_line(bstr .. "/status") or "N/A" bat_now.ac = first_line(string.format("/sys/class/power_supply/%s/online", ac)) or "N/A" - rate = tonumber(rate) - ratev = tonumber(ratev) - rem = tonumber(rem) - tot = tonumber(tot) - local time_rat = 0 if bat_now.status == "Charging" then @@ -110,14 +109,11 @@ local function worker(args) bat_now.perc = "0" end - if rate and ratev then + if current_now then bat_now.watt = string.format("%.2fW", (rate * ratev) / 1e12) - elseif rate_alt then - bat_now.watt = string.format("%.2fW", rate_alt) else - bat_now.watt = "N/A" + bat_now.watt = string.format("%.2fW", rate) end - end widget = bat.widget