3 votes

Exécuter un script basé sur les infos du coucher et du lever du soleil ?

Quelle est la meilleure façon d'exécuter un Applescript lorsque le statut de mon emplacement actuel passe de la nuit au jour et du jour à la nuit ?

Merci !

6voto

Joonas Points 2368

Je n'ai jamais utilisé ça, mais ça ressemble à Gestionnaire d'énergie devrait être en mesure de le faire. Vous pouvez créer des actions basées sur le soleil, comme dans Automator.

Il ne semble pas qu'il y ait de fonction intégrée pour déterminer automatiquement votre position. Donc si vous volez d'un pays à l'autre et que vous voulez qu'il le calcule automatiquement, vous ne pouvez probablement pas le faire.

Ils ont un tutoriel : Comment allumer votre Mac au lever du soleil .

enter image description here

6voto

Asmus Points 7195

Tout d'abord, pour obtenir votre position actuelle en ligne de commande, téléchargez "LocateMe". d'ici. Décompressez le fichier zip et trouvez l'exécutable LocateMe à l'intérieur, que vous pouvez soit déplacer vers par ex. /usr/local/bin/ pour le rendre globalement accessible, ou le mettre ailleurs.

Pour obtenir les heures locales de lever et de coucher du soleil, vous pouvez utiliser l'api gratuite à partir de sunrise-sunset.org/api avec le LocateMe option de format -f pour générer votre url api :

/path/to/LocateMe -f "http://api.sunrise-sunset.org/json?lat={LAT}&lng={LON}"

qui devrait retourner quelque chose comme http://api.sunrise-sunset.org/json?lat=52.068545&lng=12.126213

Comme l'api sunrise-sunset renvoie des données json, vous pouvez utiliser python pour l'analyser. Il suffit de créer deux petits scripts shell scripts avec le contenu suivant :

#!/bin/bash
curl -s $(/path/to/LocateMe -f "http://api.sunrise-sunset.org/json?lat={LAT}&lng={LON}") | python -c "import sys, json; print json.load(sys.stdin)['results']['sunrise']"

pour le lever du soleil et

#!/bin/bash
curl -s $(/path/to/LocateMe -f "http://api.sunrise-sunset.org/json?lat={LAT}&lng={LON}") | python -c "import sys, json; print json.load(sys.stdin)['results']['sunset']"

pour les heures de coucher du soleil.

Maintenant, vous pouvez simplement les appeler depuis AppleScript via :

set sunrise to do shell script "/path/to/sunrise_script.sh"
set sunset to do shell script "/path/to/sunset_script.sh"

et vous avez l'heure du coucher du soleil comme variable dans AppleScript, où vous pouvez les utiliser, par exemple, en les comparant avec (time string of (current date)) .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X