Crea sito

MacBook, controlliamo lo stato della batteria

MacBook BatteryCon i nuovi MacBook pro la durata della batteria arriva fino a 9 ore, credetemi è un valore notevole e non è solo marketing, il mio MacBook con illuminazione a metà riesce agevolmente a superare le 9 ore (ovviamente sto parlando di carichi di lavoro normali, navigazione su internet e videoscrittura). Tutto ciò è dovuto non solo all’hardware, ma anche ai miglioramenti nella gestione energetica introdotti con Mavericks.

Non tutti sanno però che sul proprio Mac la batteria viene gestita con una circuiteria dedicata. Questa sorta di mini-computer tiene traccia di tutte le informazioni riguardanti la batteria e le comunica al sistema operativo. Usando il terminale e i comandi giusti possiamo interrogare questo mini computer per accedere a tali informazioni. Il comando in questione può anche essere usato con geektool.

Bene, apriamo il terminale e digitiamo:

ioreg -l | grep -i capacity

Che ci da come risultato:

Risultato ioreg

 

Come potete vedere il comando restituisce molte informazioni sullo stato della batteria, tra cui i cicli di carica, la capacità attuale e quella di fabbrica. Combinando in modo appropriato awk, set, ecc con ioreg possiamo estrarre informazioni più comprensibili come ad esempio la vita utile in percentuale:

osascript -e ‘set a to do shell script “ioreg -w0 -l | grep Capacity”‘ -e “set h to word 5 of a” -e “set z to word 33 of a” -e “set b to word 38 of a” -e “set c to 1000 * b / z” -e “set d to round c” -e “set f to d / 10” -e “set q to 1000 * h / b” -e “set w to round q” -e “set j to w / 10″ -e ‘”Battery Health: ” & j &”%”‘ | iconv -f utf-8 -t ucs-2-internal;

Lo ammetto, il comando è abbastanza lungo e complesso, ma il risultato è semplice e comprensibile, nel mio caso ho ottenuto:

Battery Health: 103,0%

Volendo potete anche farvi i conti a mano, basta fare il rapporto tra MaxCapacity e DesignCapacity e poi moltiplicare il tutto per 100, nel mio caso 6524/6330*100=103,065%.

Infine per i cicli di carica  il comando è il seguente:

ioreg -w0 -l | grep “Cycle Count” | awk ‘BEGIN { FS = “=” } ; {print $8}’ | awk ‘BEGIN { FS = “}” } ; {print $1, “Cycles”}’