Obtenga notificaciones de batería baja para el mouse antes

¿Es posible modificar el porcentaje de advertencia de batería baja para mi Magic Mouse 2?

Actualmente solo lo obtengo al 2%, momento en el que está muy cerca de morir, así que tengo que dejar de hacer lo que estoy haciendo y enchufarlo. Un recordatorio sobre el 10-15% me permitiría enchufarlo la próxima vez que tenga un descanso natural.

Respuestas (3)

Para aquellos que deseen 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 macOS Catalina 10.15.3) y no requiere programación (he hecho esa parte por usted), solo un poco de administración del sistema:

Guarde esto en un script bash~/.mouse-battery-check.sh como :

#!/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

Abre Terminal y haz que el script sea ejecutable:

chmod +x ~/.mouse-battery-check.sh

Ahora puede probar que el script envía una notificación de escritorio ejecutándolo cuando su mouse BlueTooth está conectado (esto prueba que la batería esté a menos del 101%, por lo que siempre debe enviar una notificación):

~/.mouse-battery-check.sh 101

Para volver a probar con la configuración predeterminada (20%):

~/.mouse-battery-check.sh

Cuando no se detecta un mouse BlueTooth, la secuencia de comandos devolverá "No se encontró ningún mouse".

Comprobación automática

Ahora, para probar periódicamente y notificarle automáticamente, agregue un nuevo trabajo cron :

env EDITOR=nano crontab -e

Agregue una entrada como para 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+Xluego Ypara Entersalir del editor y guardar el trabajo cron.

Compatibilidad

Esto ha sido probado en:

  • Catalina 10.15.3
  • Mojave 10.14.6
  • High Sierra 10.13.x en junio de 2018

Agradecimientos

Para verificar 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 un script de shell?

Para trabajos cron, este blog:

https://ole.michelsen.dk/blog/programar-trabajos-con-crontab-en-mac-osx.html

Usuario sirclesam para pruebas de compatibilidad.

Mejora: también verifique el teclado (y tal vez el panel táctil)

Modifiqué el script anterior para verificar Apple Magic Mouse y Keyboard. Con la adición de una palabra, también podría verificar los Trackpads, o cualquier otro accesorio mágico de Apple sobrevaluado. Solo tengo el mouse y el teclado, así que comencé con eso. También cambié el valor predeterminado al 10%, lo que todavía me da unos días para conectarlo. El trackpad sigue la misma sintaxis.

#!/usr/bin/env bash
# Check battery level of Apple Magic Mouse and Keyboard and Notify if low

PATH=/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin

# Warn at 10% or according to first parameter.  Pass in 101 for testing.
COMPARE=${1:-10}

# Check each device.  
# If you have a Trackpad please add the suitable token to this list and test it.
for HIDThingy in Keyboard Mouse; do
    # Determine battery level of Apple Magic Thingy
    BATT=`ioreg -c AppleDeviceManagementHIDEventService -r -l \
         | grep -i $HIDThingy -A 20 | grep BatteryPercent | sed -e 's/.* //'`

    if [ -z "$BATT" ]; then
      echo "No $HIDThingy found."
    elif (( BATT < COMPARE )); then
      osascript -e "display notification \"$HIDThingy battery is at ${BATT}%.\" with title \"$HIDThingy Battery\""
    fi
done
Esto funciona perfectamente para mí, aunque nunca hice que BTT funcionara, muchas gracias por la excelente respuesta. No estoy seguro de si debería convertirlo en la respuesta aceptada solo porque es un poco más complicado que un ajuste de configuración sencillo o una solución GUI.
Por cierto, un enfoque similar debería funcionar para Magic Keyboard.
Verificado esta solución todavía funciona para Catalina 10.15.3. ¡Gracias Will!
Gracias por compartir los resultados de la prueba, @sirclesam. Sospecho que la primera parte con más probabilidades de romperse eventualmente sería el comando ioreg o los comandos canalizados que analizan su salida.
Modifiqué la secuencia de comandos anterior para verificar tanto el mouse como el teclado, y también podría verificar el trackpad con un cambio muy pequeño, pero no tengo uno para probar. ¿Cuál es el mejor lugar para publicar mi modificación? Escribir y responder una nueva pregunta? ¿Editar esta respuesta y agregarla al final? Es demasiado largo para caber en un comentario.
@ jay613 es una buena idea y una buena pregunta. Dado que va un poco más allá del alcance de la pregunta OP, creo que la idea de escribir y responder una nueva pregunta es una buena opción. Pero si publica una edición sugerida de mi respuesta, creo que tendré la oportunidad de revisarla antes de que surta efecto. Obtendría +2 créditos como editor, frente a +10 por voto a favor si escribiera una respuesta. Podría simplemente agregar una respuesta aquí ; Si es así, agradecería una mención por mi contribución (si la hay), pero eso depende de ti. ;) Salud.
@WillCain Intentaré agregar a tu respuesta. En parte por experiencia, ya que nunca he hecho eso. Principalmente porque proporciona tantos detalles sobre el proceso de extremo a extremo, mi nueva pregunta y respuesta tendrían que copiar (¿plagiar?) La mayor parte de ella palabra por palabra, o simplemente ser una respuesta parcial (solo mi código) y referir a las personas aquí para todos el detalle a prueba de idiotas.
Verificado funciona perfectamente con macOS Big Sur, Gracias Will

¡Hay una manera!

Lamentablemente, necesita BTT (Mejores herramientas táctiles) para esto. BTT era gratis, pero para respaldar el desarrollo continuo, ahora hay un modelo de licencia de pago-lo-que-quieres a partir de 5 USD. Pero afaik puedes probarlo gratis durante algunos días.

Cómo configurar la notificación:

  1. Iniciar BTT → Barra de menú → Preferencias → Configuración básica → Marque "Iniciar BTT al iniciar"
  2. Cambiar a Configuración avanzada (esquina superior izquierda)
  3. Vaya a la configuración del mouse (esquina superior derecha)
  4. En "General" en la parte inferior hay "Advertir si el nivel de la batería es inferior al X %"
  5. Marque la opción y establezca su nivel.

captura de pantalla btt

Gracias, lo acabo de instalar ahora, parece que la aplicación hace mucho más con lo que puedo hurgar.
¡Sí, la aplicación es para mí imprescindible! Ajuste de ventanas, comandos personalizados de pulsaciones de teclas y mucho más.
Si tienes un Magic Trackpad, BTT es absolutamente esencial. No podría vivir sin él estos días.

siempre puede descargar bitbar y simplemente agregar un script para ejecutar, como este https://github.com/kkunkel/OSX-Nagios .

¡Bienvenido a Ask Different y tómese el tiempo para publicar una respuesta! Es útil ampliar su respuesta para explicar / aclarar más lo que está tratando de comunicar. También es mejor incluir los puntos relevantes en esta respuesta en lugar de simplemente vincular a otra.
Esto verifica la batería de la computadora, no la batería del mouse mágico.