🚀 Automatiseren van Batterijlaadlimieten op Arch Linux (KDE Plasma)
- Jean-Christophe Miler
- Linux
- 19 december 2025
Table of Contents
Als je een laptop met Linux gebruikt, weet je waarschijnlijk dat het houden van je batterij op 100% terwijl je de hele dag op netstroom bent een recept is voor voortijdige batterijdegradatie. De meeste moderne laptops ondersteunen een “Batterijdrempel” of “Conservatiemodus”, meestal begrensd op 80%.
Soms weigeren de native KDE Plasma-instellingen (powerdevil) echter simpelweg deze limieten op de hardware toe te passen. In deze handleiding omzeilen we de GUI en gebruiken we Systemd Units om een laadlimiet van 80% af te dwingen telkens wanneer je je oplader aansluit.
Het Probleem
In KDE Plasma zie je misschien een instelling voor “Laadlimiet” in het Energiebeheermenu. Op de achtergrond schrijft dit naar powerdevilrc. Maar als je kernel niet perfect communiceert met Plasma, blijft die instelling een suggestie in plaats van een regel.
We willen een robuuste, systeemniveau-oplossing die:
Detecteert wanneer de netadapter is aangesloten.
Onmiddellijk de 80%-limiet naar de
sysfs-interface van de kernel schrijft.Automatisch met root-privileges werkt.
Stap 1: Ontdek Je Hardwarenamen
Linux wijst hardware toe aan bestanden in /sys/class/power_supply/. Deze namen variëren per fabrikant (bijv. Lenovo, Dell, ASUS).
Voer dit commando uit:
ls /sys/class/power_supply/
Neem de resultaten door:
De Netadapter: Meestal
AC,ACAD,ADP1ofAC0genoemd.De Batterij: Meestal
BAT0ofBAT1genoemd.
Voor deze handleiding nemen we aan dat je netadapter ACAD is en je batterij BAT1. Vervang deze in de onderstaande scripts door je werkelijke namen.
Stap 2: Maak de Systemd Service
Deze service voert het eigenlijke werk uit van het schrijven van de waarde “80” naar het drempelbestand van de batterij.
Maak het bestand:
sudo nano /etc/systemd/system/battery-limit-ac.service
Plak het volgende:
[Unit]
Description=Stel Batterijlaadlimiet in op 80%% op Netstroom
After=multi-user.target
[Service]
Type=oneshot
# Zorg ervoor dat het batterijdrempelbestand bestaat voordat het wordt uitgevoerd
ConditionPathExists=/sys/class/power_supply/BAT1/charge_control_end_threshold
# 1. Controleer of netstroom daadwerkelijk online is (1 = aangesloten)
ExecStartPre=/bin/bash -c 'grep -q "1" /sys/class/power_supply/ACAD/online'
# 2. Als aangesloten, stel de limiet in op 80
ExecStart=/bin/sh -c 'echo "80" > /sys/class/power_supply/BAT1/charge_control_end_threshold'
[Install]
WantedBy=multi-user.target
Stap 3: Maak de Systemd Path Unit
Een “Service” wordt één keer uitgevoerd. Een “Path Unit” bewaakt een bestand op wijzigingen. We willen de online-status van je netadapter bewaken zodat de service elke keer wordt geactiveerd wanneer je hem aansluit.
Maak het bestand:
sudo nano /etc/systemd/system/battery-limit-ac.path
Plak het volgende:
[Unit]
Description=Monitor Netstroomstatus om Batterijlimiet te Triggeren
[Path]
# Bewaak het AC-statusbestand op wijzigingen (aansluiten/loskoppelen)
PathModified=/sys/class/power_supply/ACAD/online
[Install]
WantedBy=multi-user.target
Stap 4: Activeer en Test
Vertel het systeem nu om te beginnen met het bewaken van die energiegebeurtenissen.
# Herlaad systemd om de nieuwe bestanden te zien
sudo systemctl daemon-reload
# Schakel de pad-unit in (dit blijft actief op de achtergrond)
sudo systemctl enable --now battery-limit-ac.path
# Start de service handmatig één keer om te verifiëren dat het nu werkt
sudo systemctl start battery-limit-ac.service
Verificatie
Om te bevestigen dat de limiet actief is, controleer je de waarde rechtstreeks van de kernel:
cat /sys/class/power_supply/BAT1/charge_control_end_threshold
Als het 80 retourneert, ben je succesvol!
Probleemoplossing
Permission Denied: Als je het
echo-commando handmatig als gebruiker probeert uit te voeren, zal het mislukken. Daarom gebruiken we Systemd—het voert het commando uit alsroot.Bestand Niet Gevonden: Als
charge_control_end_thresholdniet bestaat, gebruikt je laptop mogelijk een andere naam zoalscharge_stop_threshold. Controleerls /sys/class/power_supply/BAT1/om beschikbare bestanden te zien.AC-naam: Als de service faalt met “No such file” voor de netadapter, double-check Stap 1. Je oplader zou
AC0ofADP1kunnen heten in plaats vanACAD.
Conclusie
Door een Systemd Path-unit te gebruiken in plaats van een standaard KDE-script, hebben we een “instellen en vergeten”-oplossing gecreëerd. Je batterij stopt nu met opladen op 80% telkens wanneer je hem aansluit, waardoor de levensduur aanzienlijk wordt verlengd.

