|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Mis perfiles para la salida y puesta del sol
Bueno, voy a compartir con vosotros mi última creación. Creo que el código me ha quedado algo lioso y seguro que me podéis ayudar a mejorarlo. Yo lo uso sobre todo para mis salidas a hacer senderismo o montar en bici, para que me avise de cuándo se pone el sol y que no me pille la noche.
- Primer perfil: Este perfil se activa todos los días a las 00:30, y lo que hace es sacar de la web www.wunderground las horas en que va a salir y ponerse el sol en el día que acaba de comenzar en el sitio en el que estoy: Calcular Salida Y Puesta Del Sol (34) A1: HTTP Get [ Servidor:Puerto:http://api.wunderground.com Ruta:api/7669ca23184907a1/forecast/conditions/astronomy/q/%LOCN.xml Atributos: Cookies: Cuenta atrás:10 Tipo Mime:text/xml Archivo de salida:amanecer.txt ] A2: Establecer variable [ Nombre:%sol A:%HTTPD Calcular:Apagado Añadir:Apagado ] Guardo el código html de la página en la variable sol A3: Separar variable [ Nombre:%sol Separador:<sunset Eliminar base:Apagado ] A4: Separar variable [ Nombre:%sol2 Separador:<hour> Eliminar base:Apagado ] A5: Separar variable [ Nombre:%sol22 Separador:</hou Eliminar base:Apagado ] A6: Separar variable [ Nombre:%sol23 Separador:</hou Eliminar base:Apagado ] A7: Establecer variable [ Nombre:%hocaso A:%sol221 Calcular:Apagado Añadir:Apagado ] A8: Establecer variable [ Nombre:%hamanecer A:%sol231 Calcular:Apagado Añadir:Apagado ] Guardo la hora en que amanece y se pone el sol en %hocaso y %hamanecer, ambas en formato 24h A9: Separar variable [ Nombre:%sol2 Separador:<minute> Eliminar base:Apagado ] A10: Separar variable [ Nombre:%sol22 Separador:</minute Eliminar base:Apagado ] A11: Separar variable [ Nombre:%sol23 Separador:</minut Eliminar base:Apagado ] A12: Establecer variable [ Nombre:%mocaso A:%sol221 Calcular:Apagado Añadir:Apagado ] A13: Establecer variable [ Nombre:%mamanecer A:%sol231 Calcular:Apagado Añadir:Apagado ] Guardo los minutos en que amanece y se pone el sol en %mamanecer y %mocaso <Calculamos segundos amanecer y ocaso> A14: Establecer variable [ Nombre:%Horaamanecer A:%DATE %hamanecer.%mamanecer Calcular:Apagado Añadir:Apagado ] A15: Convertir Variable [ Nombre:%Horaamanecer Función:Fecha Hora a Segundos Almacenar Resultado en:%Amanecer ] A16: Establecer variable [ Nombre:%Horaocaso A:%DATE %hocaso.%mocaso Calcular:Apagado Añadir:Apagado ] A17: Convertir Variable [ Nombre:%Horaocaso Función:Fecha Hora a Segundos Almacenar Resultado en:%Ocaso ] Aquí he juntado fecha, hora y minutos, para poder convertirlo en segundos y guardarlo en %Amanecer y %Ocaso A18: Realizar tarea [ Nombre:Salida Y Puesta Del Sol Parar:Apagado Prioridad:5 Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable: ] Ejecuto otra tarea, en la que proceso la información obtenida, y está incluida en el segundo perfil... Segundo perfil: Se ejecuta cada vez que reinicio el móvil, y así salvo los wait. La tarea que contiene este perfil también se ejecuta todos los días después del primer perfil, a las 00:30 Salida Y Puesta Del Sol (39) A1: Establecer variable [ Nombre:%Segundosparaamanecer A:%Amanecer Calcular:Apagado Añadir:Apagado ] A2: Establecer variable [ Nombre:%Segundosparaocaso A:%Ocaso Calcular:Apagado Añadir:Apagado ] Aquí creo las variables que van a contener los segundos que quedan para amanecer u ocaso A3: Restar de variable [ Nombre:%Segundosparaamanecer Valor:%TIMES ] A4: Restar de variable [ Nombre:%Segundosparaocaso Valor:%TIMES ] Aquí calculo los segundos que restan para la salida y puesta del sol de hoy A5: Si (if) [ %Segundosparaamanecer > 0 ] A6: Esperar [ MS:0 Segundos:%Segundosparaamanecer Minutos:0 Horas:0 Días:0 ] A7: AutoRemote Notification [ Configuración:Recipient: Myself] A8: Ir a acción [ Tipo:Número Acción Número:10 Etiqueta: ] A9: Fin si (End if) Este if actúa si hoy todavía no ha amanecido: espera los segundos que sean, me salta la notificación cuando salga el sol, y se va al paso 10 para esperar la puesta del sol. A10: Si (if) [ %Segundosparaamanecer < 0 ] A11: Si (if) [ %Segundosparaocaso > 0 ] A12: Esperar [ MS:0 Segundos:%Segundosparaocaso Minutos:0 Horas:0 Días:0 ] A13: AutoRemote Notification [ Configuración:Recipient: Myself] Este if actúa si estamos entre el amanecer y la puesta del sol: espera los segundos hasta el ocaso, y me salta la notificación A14: Else A15: Detener [ Con error:Apagado Tarea: ] Si ya se ha puesto hoy el sol, se detiene la tarea ¿qué os parece? ¿cómo puedo mejorarlo?
__________________
|
| Gracias de parte de: | ||
|
|
|
#2
|
||||
|
||||
|
A falta de estudiarlo con más tiempo me parece bien, enhorabuena.
Podrías enviar un ejemplo de como te mete la información de la Web antes de que luego la procesos? . Lo digo para ver si se puede agilizar o utilizar menos acciones. Muy buena la manera de asegurarte de que el wait va a estar funcionando incluso después de un reinicio. Otra pregunta, seguro q tiene su explicación y por eso me da curiosidad saber por qué autoremote? Por que no una notificacion de tasker o cualquier otra?
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
|
|
#3
|
||||
|
||||
|
Este sería un ejemplo, para http://api.wunderground.com/api/7669...4,-5.66453.xml No está la página entera, sólo lo que me interesa Código:
<moon_phase> <percentIlluminated>40</percentIlluminated> <ageOfMoon>6</ageOfMoon> <current_time> <hour>14</hour> <minute>17</minute> </current_time> <sunset> <hour>21</hour> <minute>28</minute> </sunset> <sunrise> <hour>7</hour> <minute>25</minute> </sunrise> </moon_phase> <sun_phase> <sunset> <hour>21</hour> <minute>28</minute> </sunset> <sunrise> <hour>7</hour> <minute>25</minute> </sunrise> </sun_phase> </response> Autoremote, como autonotification, permite personalizar mucho más las notificaciones. Más de lo que necesito, pero ya que lo tengo comprado e instalado para otras tareas, pues lo meto aquí.
__________________
Última edición por z3us Día 13/08/13 a las 14:18:57. |
|
#4
|
||||
|
||||
|
Hola,
En los ejemplos de la wiki de tasker tienes un profile que te saca la salida y puesta de sol. No se conecta a ninguna web, solo usa la antena para saber la ubicación y así calcular estos valores. http://tasker.wikidot.com/sunrisesunset Hace uso de un javascript que tiene todas las fórmulas del cálculo en función de la posición. Junto con el plugin minimalistic lo uso para mostrar en pantalla el amanecer y la puesta de sol. Y así no dependes de páginas web externas. Saludos. |
| Gracias de parte de: | ||
|
#5
|
||||
|
||||
|
Gracias.
Ya lo había visto, pero no sabía muy bien cómo colocar el archivo java. Y también prefiero tenerlo todo metido en tareas para cuando haga copia de seguridad de mis perfiles
__________________
|
|
#6
|
||||
|
||||
|
Bueno, aquí pongo la segunda versión de mis perfiles, que es la que uso. Ahora, en vez de andar con engorrosos wait, if, procesos al reiniciar, etc., lo que hago es insertar los eventos solares en un calendario (gracias a Caravantes por la sugerencia). Dicho calendario lo he creado nuevo, y lo tengo oculto en widgets, calendario android, etc. Lo único que hay que tener en cuenta es que, para insertar un evento nuevo en un calendario en Tasker, tenemos que meter como valor el número de minutos que faltan para ese evento desde el momento actual.
- Primer perfil: Calculamos cuántos minutos quedan para el próximo amanecer y puesta del sol, y creamos los eventos en un calendario google aparte. Al igual que en la primera versión, sacamos la info de wunderground, y el perfil se ejecuta todos los días a las 00:30 Calcular Salida Y Puesta Del Sol Calendario (47) A1: HTTP Get [ Servidor:Puerto:http://api.wunderground.com Ruta:api/7669ca23184907a1/forecast/conditions/astronomy/q/%LOCN.xml Atributos: Cookies: Cuenta atrás:10 Tipo Mime:text/xml Archivo de salida:amanecer.txt ] A2: Establecer variable [ Nombre:%sol A:%HTTPD Calcular:Apagado Añadir:Apagado ] A3: Separar variable [ Nombre:%sol Separador:<sunset Eliminar base:Apagado ] A4: Separar variable [ Nombre:%sol2 Separador:<hour> Eliminar base:Apagado ] A5: Separar variable [ Nombre:%sol22 Separador:</hou Eliminar base:Apagado ] A6: Separar variable [ Nombre:%sol23 Separador:</hou Eliminar base:Apagado ] A7: Establecer variable [ Nombre:%hocaso A:%sol221 Calcular:Apagado Añadir:Apagado ] A8: Establecer variable [ Nombre:%hamanecer A:%sol231 Calcular:Apagado Añadir:Apagado ] A9: Separar variable [ Nombre:%sol2 Separador:<minute> Eliminar base:Apagado ] A10: Separar variable [ Nombre:%sol22 Separador:</minute Eliminar base:Apagado ] A11: Separar variable [ Nombre:%sol23 Separador:</minut Eliminar base:Apagado ] A12: Establecer variable [ Nombre:%mocaso A:%sol221 Calcular:Apagado Añadir:Apagado ] A13: Establecer variable [ Nombre:%mamanecer A:%sol231 Calcular:Apagado Añadir:Apagado ] <Calculamos segundos amanecer y ocaso> A14: Establecer variable [ Nombre:%Horaamanecer A:%DATE %hamanecer.%mamanecer Calcular:Apagado Añadir:Apagado ] A15: Convertir Variable [ Nombre:%Horaamanecer Función:Fecha Hora a Segundos Almacenar Resultado en:%amanecer ] A16: Establecer variable [ Nombre:%Horaocaso A:%DATE %hocaso.%mocaso Calcular:Apagado Añadir:Apagado ] A17: Convertir Variable [ Nombre:%Horaocaso Función:Fecha Hora a Segundos Almacenar Resultado en:%ocaso ] Hasta aquí es igual que en la primera versión: tenemos calculado el momento, en segundos, en que va a salir y ponerse el sol, en las variables %amanecer y %ocaso <calculamos segundos hasta salida y puesta> A18: Restar de variable [ Nombre:%amanecer Valor:%TIMES ] A19: Restar de variable [ Nombre:%ocaso Valor:%TIMES ] <calculamos minutos hasta salida y puesta y redondeo> A20: Establecer variable [ Nombre:%Minutosparaocaso A:round(%ocaso/60) Calcular:Encendido Añadir:Apagado ] A21: Establecer variable [ Nombre:%Minutosparaamanecer A:round(%amanecer/60) Calcular:Encendido Añadir:Apagado ] <insertamos en calendario> A22: Insertar en calendario [ En / Durante (minutos):%Minutosparaamanecer Calendario:Google:Sol Título:Amanecer Descripción:Amanecer Ubicación: Disponible:Apagado Todo el día:Apagado ] A23: Insertar en calendario [ En / Durante (minutos):%Minutosparaocaso Calendario:Google:Sol Título:Puesta del sol Descripción:Puesta del sol Ubicación: Disponible:Apagado Todo el día:Apagado ] Aquí hemos creado los dos eventos en el calendario Sol para hoy, con los títulos Amanecer y Puesta del sol - Segundos perfiles En este caso no es uno, sino dos los perfiles: uno para el amanecer, y otro para el ocaso. Pero son muy sencillos. - En contexto usaremos Estado/ Aplicación / Entrada en calendario. En el campo título, pondremos "Amanecer" y "Puesta del Sol" (podemos usar la lupa para encontrarlos fácilmente, si ya hemos ejecutado el primer perfil previamente). En el campo Calendario, seleccionamos el calendario en el que estemos creando los eventos en el primer perfil, en mi caso "Google:Sol" (con la lupa nuevamente, si ya hemos creado el calendario) -Como tarea, lo que queramos que ocurra cuando amanezca o se vaya el sol. En mi caso, sigo usando una notificación y un sonido con AutoRemote ¿sugerencias?
__________________
|
| Gracias de parte de: | ||
![]() |
Estás aquí
|
||||||
|
||||||