Bermain-main dengan info baterai di Ubuntu 14.04

Begini ceritanya, semenjak saya menggunakan Ubuntu 14.04 ada sedikit masalah si OS dengan notifikasi kondisi baterai. Kondisi baterai saat akan mau habis dan penuh, tidak muncul di notifications tray :(. Lama tidak menemukan solusinya, akhirnya saya mencoba untuk membuat notifikasi sederhana dengan bashscript.

Idenya

Saya perlu mengetahui dulu kondisi baterai dari sistem, mengecek statusnya dengan threshold tertentu, mengirimkan notifikasi terkait status dan menjalankan proses ini secara periodik.

  1. Mengecek status baterai dengan
    BAT=`upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage: | awk '{print $2}' | sed 's/%$//'`

    Argumen pertama mengambil informasi baterai dari sistem, lalu saya pipeline ambil nilai persentasenya (grep lalu awk), lalu untuk menghilangkan karakter ‘%’ saya gunakan sed.

  2. Mengecek threshold dengan logika perbandingan sederhana, misalnya kurang dari 15%
    if [[ ${BAT} -le 15 ]]
  3. Lalu memunculkan notifikasi dengan library bawaan notify-send
    notify-send "Charge battery immediately"

    Jika belum ada bisa diinstall dengan cara

    sudo apt-get install libnotify-bin

Kodenya

#!/bin/bash

function batmon {
	BAT=`upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage: | awk '{print $2}' | sed 's/%$//'`
	if [[ ${BAT} -le 15 ]]
	then
		notify-send "Charge battery immediately"
	elif [[ ${BAT} -ge 99 ]]
	then
		notify-send "Pull out your charger adapter now"
	#else notify-send "Its Okay" ${BAT}
	fi
}
while true; do
	batmon
	sleep 5m
done

Disini saya memasukkan script ini ke startup, tiap kali reboot akan dieksekusi. Sehingga saya pasang sleep 5m untuk dicek tiap 5 menit sekali kondisi baterainya.

Setelah memakai ini, alhamdulillah tidak lupa lagi sama baterai. Terimakasih Bashscript 🙂

Advertisements
Bermain-main dengan info baterai di Ubuntu 14.04

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s