🚀 Automatiseren van Batterijlaadlimieten op Arch Linux (KDE Plasma)

🚀 Automatiseren van Batterijlaadlimieten op Arch Linux (KDE Plasma)

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:

  1. Detecteert wanneer de netadapter is aangesloten.

  2. Onmiddellijk de 80%-limiet naar de sysfs-interface van de kernel schrijft.

  3. 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, ADP1 of AC0 genoemd.

  • De Batterij: Meestal BAT0 of BAT1 genoemd.

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 als root.

  • Bestand Niet Gevonden: Als charge_control_end_threshold niet bestaat, gebruikt je laptop mogelijk een andere naam zoals charge_stop_threshold. Controleer ls /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 AC0 of ADP1 kunnen heten in plaats van ACAD.


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.

Tags :
Share :
comments powered by Disqus

Related Posts

AppFlowy: The Open-Source, Privacy-Focused Notion Alternative 🚀

AppFlowy: The Open-Source, Privacy-Focused Notion Alternative 🚀

AppFlowy is een gratis en open-source AI collaborative workspace ontworpen als een privacy-first alternatief voor proprietaire productiviteitstools zoals Notion. Het brengt projecten, wiki’s, taken en teamsamenwerking samen in een uniforme, aanpasbare omgeving, waarbij gebruikers volledige controle over hun gegevens krijgen.

Read More
Ferdium

Ferdium

🚀 Reclaim Your Digital Life: Why Ferdium is the Ultimate Open-Source Hub for All Your Web Services De moderne workflow is gefragmenteerd. We springen van Gmail naar Slack, dan naar Discord, Trello en WhatsApp—elk ondergebracht in zijn eigen browsertabblad of desktop-applicatie. Deze constante context-switching is niet alleen vervelend; het is een productiviteitskiller, die onze schermen transformeert in een chaotische digitale rommel.

Read More
Windsurf

Windsurf

Windsurf - De Eerste Agentische IDE Website: https://windsurf.com/ Ontwikkelaar: Codeium Platforms: macOS, Windows, Linux

Read More