Cara Membatasi Pengisian Daya Laptop ASUS di Linux

Laptop ASUS keluaran baru sudah bisa mengatur ambang batas pengisian daya.

Hal ini sangat berguna untuk memperpanjang usia baterai dengan membatasi maksimum pengisian daya di laptop.

Persyaratan

Pastikan kalian sudah menggunakan sistem operasi Linux yang sudah menggunakan kernel versi 5.4 ke atas.

Lakukan instruksi di bawah ini untuk mengetahui apakah laptop kalian sudah mendukung fitur untuk membatasi pengisian daya.

Langkah pertama, cek dulu nama baterai laptop kalian dengan menjalankan perintah berikut:

$ ls /sys/class/power_supply

Hasilnya:

AC0  BAT0

Dari hasil di atas, BAT0 adalah nama baterai laptopku, mungkin di laptop kalian nama baterainya berbeda.

Setelah itu, jalankan perintah berikut ini untuk mengecek dukungan pembatasan pengisian daya di laptop:

$ ls /sys/class/power_supply/BAT0/charge_control_end_threshold

Jangan lupa untuk mengubah BAT0 sesuai dengan nama baterai laptop kalian.

Jika tidak ada pesan error, artinya laptop milik kalian mendukung fitur pembatasan pengisian daya.

Mengatur Ambang Batas Maksimum Pengisian Daya

Untuk membatasi pengisian daya, kalian cukup ubah isi dari file /sys/class/power_supply/BAT0/charge_control_end_threshold seperti perintah berikut:

$ sudo echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold

Ubah 60 menjadi ambang batas pengisian yang diinginkan, jadi saat persentase baterai sudah mencapai ambang batas tersebut, pengisian daya akan dihentikan.

Namun, dengan cara ini, kalian harus mengubah lagi isi file /sys/class/power_supply/BAT0/charge_control_end_threshold setelah laptop di-reboot, karena perubahan tersebut bersifat sementara.

Agar perubahan ini bersifat permanen, buat service di systemd untuk mengubah ambang batas pengisian daya setiap laptop dihidupkan.

Membuat Systemd Service

Pertama buat service Systemd.

sudo nano /etc/systemd/system/battery-charge-threshold.service

Kemudian tempel konfigurasi di bawah ini:

[Unit]
Description=Set the battery charge threshold
After=multi-user.target
StartLimitBurst=0

[Service]
Type=oneshot
Restart=on-failure
ExecStart=/bin/bash -c 'echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold'

[Install]
WantedBy=multi-user.target

Ubah nama baterai BAT0 sesuai dengan nama baterai di laptop kalian dan ubah juga nilai ambang batas pengisian dayanya.

Kemudian aktifkan service bernama battery-charge-threshold.

$ sudo systemctl enable --now battery-charge-threshold.service

Uji cobakan apakah ambang batas berhasil diubah dengan menjalankan perintah berikut:

$ cat /sys/class/power_supply/BAT0/charge_control_end_threshold

Jika ambang batas sudah sesuai, saat persentase baterai laptop sudah mencapai ambang batasnya, pengisian daya akan dihentikan.

Untuk memastikannya, kalian dapat menjalankan perintah berikut ini:

$ cat /sys/class/power_supply/BAT0/status

Pastikan hasil output-nya adalah Not charging jika ambang batas telah tercapai, yang artinya kalian sudah sukses membatasi maksimum pengisian daya laptop ASUS.