Dla tych, którzy chcą skopiować i uruchomić skrypt bash i dodać zadanie CRON, oto kompletne rozwiązanie, które jest bezpłatne i aktualne (od czerwca 2018 r.) I nie wymaga programowania (zrobiłem to dla ciebie), tylko trochę Administracja systemu:
Zapisz to w skrypcie bash, takim jak ~/.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
Otwórz Terminal i uruchom skrypt:
chmod +x ~/.mouse-battery-check.sh
Teraz możesz przetestować, czy skrypt wysyła powiadomienie na pulpicie, uruchamiając go, gdy mysz BlueTooth jest podłączona (testuje poziom naładowania baterii poniżej 101%, więc zawsze powinien wysyłać powiadomienie):
~/.mouse-battery-check.sh 101
Aby ponownie przetestować z ustawieniem domyślnym (20%):
~/.mouse-battery-check.sh
Gdy mysz BlueTooth nie zostanie wykryta, skrypt zwróci „Nie znaleziono myszy”.
Sprawdzanie automatyczne
Teraz, aby okresowo testować i automatycznie Cię powiadamiać, dodaj nowe zadanie cron :
env EDITOR=nano crontab -e
Dodaj wpis, aby sprawdzać co 15 minut:
*/15 * * * * cd ~ && bash ~/.mouse-battery-check.sh
(Tutaj ponownie możesz przekazać procent skryptu jako parametr do skryptu.)
Naciśnij Control+X
następnie, a Y
następnie, Enter
aby wyjść z edytora i zapisać zadanie cron.
Podziękowanie
W celu sprawdzenia baterii ta odpowiedź:
dostosuj poziom ostrzegawczy baterii magicznej myszy
W przypadku powiadomienia ta odpowiedź:
Jak mogę uruchomić powiadomienie Centrum powiadomień ze skryptu AppleScript lub skryptu powłoki?
W przypadku zleceń cron ten blog:
https://ole.michelsen.dk/blog/schedule-jobs-with-crontab-on-mac-osx.html