Para aquellos dispuestos a copiar y ejecutar un script bash y agregar un trabajo cron, aquí hay una solución completa que es gratuita y actual (a partir de junio de 2018) y no requiere programación (he hecho esa parte por usted), solo un poco administracion del sistema:
Guarda esto en un script bash como ~/.mouse-battery-check.sh
:
#!/usr/bin/env bash
PATH=/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin
# actual battery level
BATT=`ioreg -c AppleDeviceManagementHIDEventService -r -l | grep -i mouse -A 20 | grep BatteryPercent | cut -d= -f2 | cut -d' ' -f2`
# defaults to warn at 20%; accepts other number as 1st argument (useful for testing)
COMPARE=${1:-20}
if [ -z "$BATT" ]; then
echo 'No mouse found.'
exit 0
fi
if (( BATT < COMPARE )); then
osascript -e "display notification \"Mouse battery is at ${BATT}%.\" with title \"Mouse Battery Low\""
fi
Abra Terminal y haga que el script sea ejecutable:
chmod +x ~/.mouse-battery-check.sh
Ahora puede probar que la secuencia de comandos envía una notificación de escritorio ejecutándola cuando su mouse BlueTooth está conectado (esto prueba una batería de menos del 101%, por lo que siempre debe enviar una notificación):
~/.mouse-battery-check.sh 101
Para probar nuevamente con la configuración predeterminada (20%):
~/.mouse-battery-check.sh
Cuando no se detecta un mouse BlueTooth, el script devolverá, "No se encontró un mouse".
Comprobando automáticamente
Ahora, para probar periódicamente y notificarte automáticamente, agrega un nuevo trabajo cron :
env EDITOR=nano crontab -e
Agregue una entrada que desee verificar cada 15 minutos:
*/15 * * * * cd ~ && bash ~/.mouse-battery-check.sh
(Puede volver a pasar el porcentaje de batería como parámetro al script aquí).
Presione Control+X
y Y
luego Enter
para salir del editor y guardar el trabajo cron.
Agradecimientos
Para la verificación de la batería, esta respuesta:
ajustar el nivel de advertencia de batería del mouse mágico
Para notificación, esta respuesta:
¿Cómo puedo activar una notificación del Centro de notificaciones desde un AppleScript o script de shell?
Para trabajos cron, este blog:
https://ole.michelsen.dk/blog/schedule-jobs-with-crontab-on-mac-osx.html