From: copycat-killer Date: Wed, 15 Jun 2016 07:33:52 +0000 (+0200) Subject: #199 #203 fix attempt 3 X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/7384fa0fa63aa5c487fd50b6263965d452d2059f?ds=inline;hp=-c #199 #203 fix attempt 3 --- 7384fa0fa63aa5c487fd50b6263965d452d2059f diff --git a/widgets/bat.lua b/widgets/bat.lua index 92d1833..0c8fe5f 100644 --- a/widgets/bat.lua +++ b/widgets/bat.lua @@ -74,13 +74,14 @@ local function worker(args) local bstr = "/sys/class/power_supply/" .. battery local present = first_line(bstr .. "/present") - if present == "1" + if tonumber(present) == 1 then -- current_now(I)[uA], voltage_now(U)[uV], power_now(P)[uW] local rate_current = tonumber(first_line(bstr .. "/current_now")) local rate_voltage = tonumber(first_line(bstr .. "/voltage_now")) local rate_power = tonumber(first_line(bstr .. "/power_now")) + -- energy_now(P)[uWh], charge_now(I)[uAh] local energy_now = tonumber(first_line(bstr .. "/energy_now") or first_line(bstr .. "/charge_now")) @@ -97,7 +98,7 @@ local function worker(args) sum_rate_current = sum_rate_current + (rate_current or 0) sum_rate_voltage = sum_rate_voltage + rate_voltage sum_rate_power = sum_rate_power + (rate_power or ((rate_voltage * rate_current) / 1e6)) - sum_energy_now = sum_energy_now + energy_now + sum_energy_now = sum_energy_now + (energy_now or 0) sum_energy_full = sum_energy_full + energy_full sum_energy_percentage = sum_energy_percentage + energy_percentage end @@ -119,14 +120,13 @@ local function worker(args) local hours = math.floor(rate_time) local minutes = math.floor((rate_time - hours) * 60) - local watt = (sum_rate_power / 1e6) - bat_now.perc = tonumber(string.format("%d", math.min(100, sum_energy_percentage / #batteries))) bat_now.time = string.format("%02d:%02d", hours, minutes) - bat_now.watt = tonumber(string.format("%.2f", watt)) - -- consistency check + bat_now.watt = tonumber(string.format("%.2f", sum_rate_power / 1e6)) elseif bat_now.status == "Full" then - bat_now.perc = 100 + bat_now.perc = 100 + bat_now.time = "00:00" + bat_now.watt = 0 end end