IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Alerte et notification sur le niveau batterie de la souris
Options
YF-alubook
posté 4 Mar 2017, 13:55
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 910
Inscrit : 14 Oct 2003
Lieu : Breizh, Roazhon
Membre no 10 376



Bonjour tous,

J'ai un hackinstosh depuis 2014 (voir ici : http://forum.macbidouille.com/index.php?showtopic=377566) et il est super stable. La SEULE chose qui le fait planter : le bluetooth qui part en vrille quand la batterie de la souris (une Magic Mouse) est à plat. A tout les coups : freeze et hard reboot.

Ca fait des mois que je me dis qu'il faut que je mette en place un script pour surveiller le niveau de batterie et m'alerter quand il passe en-dessous d'un certain seuil. D'autant plus que comme j'utilise des piles rechargeables, la vitesse de décharge est très hétérogène.

Voici donc le script bash qui produit une notification si le %age de batterie est < à 25 % et affiche un message Finder si ça passe en-dessous de 15 %, pour une action immédaite.

Code
#!/bin/sh

# https://developer.apple.com/library/content/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW224
# https://abs.traduc.org/abs-fr/ch07s03.html

warning_title="Alerte batterie"
warning_msg="Il faut changer les piles de la souris !"

# get a string with the percent level
#ioreg -c BNBMouseDevice | grep '"BatteryPercent" = ' | tr -cd [:digit:]
batt_level=$( ioreg -c BNBMouseDevice | grep '"BatteryPercent" = ' | tr -cd [:digit:] )

# for testing
#batt_level=20

echo "batterie souris = $batt_level %"
warning_msg="$warning_msg \n $batt_level %"

# test -le -> <=
if [[ $batt_level -le 15 ]]; then
    # display Finder warning
    #osascript -e 'tell app "Finder" to display dialog "un message"'
    osascript -e 'tell app "Finder" to display alert "'"$warning_msg"'" with title "'"$warning_title"'" buttons {"OK"} with icon caution'
    #
elif [[ $batt_level -le 20 ]]; then
    # display notification
    #osascript -e 'display notification "une notification"'
    osascript -e 'display notification "'"$warning_msg"'" with title "'"$warning_title"'" sound name "Purr"'
    #
fi


Ensuite, avec le logiciel LaunchControl j'ai créé un cron "local.check_batt.job" de type "Global Agents". Il lance le script toutes les heures (3600 s).


Une évolution intéressante serait d'automatiquement éteindre le bluetooth si la charge est < à 15 %. AU moins comme ça : ça appelle une action et éviterait un plantage du mhack.

Ce message a été modifié par YF-alubook - 4 Mar 2017, 14:00.


--------------------
Hackintosh 2017 - OS X 10.14 - i5 3,9 GHZ - 16 Go - Fractal Define R5
MacBook Air 13 mars 2020 - 512 - 8 Go
MacBook Pro UniBody Late 2008 - 2.4 GHz - 8 Go
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 28th March 2024 - 22:33