¿Cuál es la mejor manera de ejecutar un Applescript cuando el estado de mi ubicación actual cambia de noche a día y de día a noche?
Gracias.
¿Cuál es la mejor manera de ejecutar un Applescript cuando el estado de mi ubicación actual cambia de noche a día y de día a noche?
Gracias.
Nunca he usado esto, pero parece Gestor de energía debería poder hacerlo. Usted puede hacer sol basado en acciones similares a automator.
Sin embargo, no parece que tenga una función integrada para averiguar tu ubicación automáticamente. Así que si estás volando de un país a otro y quieres que lo averigüe automáticamente, probablemente no puedas hacerlo.
Tienen un tutorial: Cómo encender el Mac al amanecer .
En primer lugar, para obtener tu ubicación actual en la línea de comandos, descarga "LocateMe" de aquí. Descomprima el archivo zip y busque el ejecutable LocateMe
en el interior, que puede mover a, por ejemplo /usr/local/bin/
para hacerla accesible globalmente, o ponerla en cualquier otro lugar.
Para obtener las horas locales de salida y puesta del sol, puede utilizar la API gratuita de sunrise-sunset.org/api junto con el LocateMe
opción de formato -f
para generar su api url:
/path/to/LocateMe -f "http://api.sunrise-sunset.org/json?lat={LAT}&lng={LON}"
que debería devolver algo como http://api.sunrise-sunset.org/json?lat=52.068545&lng=12.126213
Como la api sunrise-sunset devuelve datos json, puede utilizar python
para analizarlo. Basta con crear dos pequeños shell scripts con el siguiente contenido:
#!/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']"
para el amanecer y
#!/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']"
para las horas de puesta de sol.
Ahora puede llamarlos simplemente desde AppleScript a través de:
set sunrise to do shell script "/path/to/sunrise_script.sh"
set sunset to do shell script "/path/to/sunset_script.sh"
y tienes la hora de la puesta de sol como variable dentro de AppleScript, donde puedes usarlas, por ejemplo, comparándolas con (time string of (current date))
.
Si ya lo tiene, o si no le importa instalar otra herramienta cmdline, puede utilizar jq
en lugar de Python: ... | jq .results.sunrise
.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.