Hello everyone !
I have no idea if I’m in the right community, because it’s a mix of hardware and some light code/command to extract the power consumption out of my old laptop. I need some assistance and if someone way more intelligent than me could check the code and give feedback :)
Important infos
- 12 year old ASUS N76 laptop
- Bare bone server running Debian 12
- No battery (died long time ago)
Because I have no battery connected to my laptop It’s impossible to use tools like lm-sensors
, powerstat
, powertop
to output the wattage. But from the following ressource I can estimate the power based on the Energy.
time=1
declare T0=($(sudo cat /sys/class/powercap/*/energy_uj)); sleep $time; declare T1=($(sudo cat /sys/class/powercap/*/energy_uj))
for i in "${!T0[@]}"; do echo - | awk "{printf \"%.1f W\", $((${T1[i]}-${T0[i]})) / $time / 1e6 }" ; done
While It effectively outputs something, I’m not sure if I can rely on that to estimate the power consumption and if the code is actually correct? :/
Thanks :).
Edit:
My goal is to calculate the power drawn from my laptop without any electric appliance (maybe a worded my question/title wrong?). While It could be easily done with the top package
or lm-sensors
, this only work by measuring the battery discharge, which in my case is impossible because my laptop is directly connected to the outlet with his power cord (battery died years ago).
I dug a bit further through the web and found someone who asked the same question on superuser.com. While this gives a different reference point, nobody actually could answer the question.
This seems a bit harder than I though and is actually related to the /sys/class/powercap/*/energy_uj
files and though someone could give me a bit more details on how this works and what the output actually shows.
This is also related to the power capping framework in the linux kernel? And as per the documentation this is representing the CPU packages
current energy counter in micro joules.
So I came a bit closer in understanding how it works and what it does, even tough I’m still not sure what am I actually looking at :\ .
Why not buy a wattmeter and observe the real usage?
This is probably the most precise way ! It feels a bit stupid to say… But I have actually no idea how to use that device :/… Maybe something I need to add to my toLearn list.
Also, I’m trying to find my way arround linux and because everything is mathematically doable with the right values, a good estimate through a code/command is more convenient.
Kill-a-watt is the most popular one. In the US they’re sold in harbor freight stores for like $30.
I put that meter on everything. I love it.
Killawatt is great but I much prefer a Third Reality ZigBee plug + Home Assistant or the Emporia plugs to get actual logs so you don’t have to sit there and stare at the thing.
If you look for a “watt meter plug”, you’ll pribably understand what it is at a glance. It’s a device you plug into your wall outlet (or surge protector or whatever). It has a power outlet on it, which you plug your device into, and a screen that shows watts drawn and watt-hours over time. Super simple. I think “Kill A Watt” is the most well known brand.
Just buy a cheap (but trustworthy) multimeter. With an amp clamp.
You can also get little power interposers that let you clamp around just one leg of a power cord so that you can actually measure the amperage (else the positive and negative flows cancel out). Then you can easily calculate wattage since you know the line voltage. You can also make one yourself with a short extension cord with wires you can pull apart, as opposed to all molded into one big cord.
Personally I pull my multimeter out all the time if I want to check voltage on something, or even just continuity.
Shelly plug S
Install mobile app and you can see everything there