|
||
#61
|
||||
|
||||
Esperaré entonces, soy demasiado nuevo y solo me atrevo a importar perfiles, muchas gracias por compartir y por el curro que os pegais. Un saludo.
|
|
#62
|
||||
|
||||
Una primera SUBtarea llamada UbicPosiciónObtener sirve para obtener la ubicación acual, del punto en el que estemos en ese momento. Para realizarla me he basado en trabajos previos de los compañeros Vitorino y Malkair. Tiene de particular que trata de obtener la ubicación por GPS y también por RED, y luego elige el mejor dato de esos dos. Tengo varias tareas principales que utilizan esta subtarea para obtener la ubicación, y de esta manera me evito repetir la codificación en diferentes tareas, al mismo tiempo que falicita el mantenimiento porque hago las mejoras en un solo sitio. Una segunda SUBtarea llamada UbicNombreSitio utiliza una base de datos de Google para obtener el nombre de un lugar, en función de sus coordenadas de ubicación (que pueden haberse obtenido -por ejemplo- utilizando la subtarea anterior). La información indica el nombre de la calle, municipio, etc, e incluye el código postal que es un dato crucial como veremos luego. Esta tarea ya la publiqué hace un par de meses en http://www.htcmania.com/showthread.php?t=703855 , pero creo que la versión actual está algo mejorada. También tengo varias tareas principales que utilizan esta subtarea para obtener el nombre del lugar, con las mismas ventajas que ya he explicado. Podéis usar estas dos subtareas incluso aunque no uséis la tarea de previsión meteorológica que explico a continuación. La tercera tarea se llama UbicPrevisionMeteo y la tengo asociada a un perfil que se activa todos los días a las 5 de la mañana para que me prepare la previsión meteorológica de ese día. Debo empezar aclarando que esta tarea solo está preparada para funcionar en España puesto que consulta una base de datos española y además usa los códigos postales españoles. Esta tarea utiliza las subtareas anteriores para obtener la ubicación y el nombre del lugar en el que me encuentro, incluyendo municipio y código postal; a partir de ese código postal, se usa un fichero de conversión para obtener el código INE correspondiente, que es como un código postal pero usado por el INE (Insitituto Nacional de Estadística, español); luego utiliza ese código INE para consultar la base de datos que contiene la información meteorológica, es una base de datos de AEMET (Agencia Estatal de Meteorología, española); extrae los datos concretos que me han parecido más interesantes y compone con todo ello un informe que más abajo veréis destacado en rojo. Finalmente, ese informe es transferido a otra subtarea que lo envía por correo (a mi cuenta de Evernote), pero vosotros podéis rematar utilizando el informe de otra manera según os interese. Esta tarea está basada en trabajos previos que hay en este mismo hilo, especialmente los del compa Alfahuir. Para funcionar, la tarea necesita el archivo que permite convertir los códigos postales en códigos INE. Eso también fue un trabajo de Alfahuir, aunque yo he modificado el fichero para simplificarlo y para evitar códigos repetidos. Contiene 14690 códigos españoles, o sea que este detalle limita el uso de la tarea a España, y aún así no estoy seguro de que incluya todos los códigos, o sea que tal vez no funcione para alguna ubicación particular. Este archivo de códigos debe estar en la carpeta o directorio de Tasker y debe llamarse cp-ine.txt. Veréis que en la tarea está referenciado (en la accion 19) como Tasker/cp-ine.txt. Siguiendo los sabios consejos del compañero Maid450, lo he puesto en Pastebin para que lo podáis descargar de http://pastebin.com/EBqqTwgD Ultima aclaración previa: en algunas acciones he usado la casilla de Etiqueta para incluir comentarios sobre esa acción (y sobre las siguientes). En otras ocasiones he añadido una acción Destino-de-Goto para insertar comentarios más generales. Ya vamos con las tres tareas, copio las descripciones exportadas: UbicPosiciónObtener (122) <Esta tarea obtiene la ubicación y recibe como parametro el tiempo (en segundos) que se empleara en ello. Para hacer pruebas, se puede utilizar la tarea directamente sin parámetro y en tal caso se utilizará un tiempo prefijado.> A1: Si (if) [ %par1 ~ %* ] A2: Establecer variable [ Nombre:%tiempoubicacion A:60 Calcular:Encendido Añadir:Apagado ] <Esta variable se utiliza para mostrar el resultado cuando la tarea se usa directamente y no como una subtarea> A3: Establecer variable [ Nombre:%test A:1 Calcular:Apagado Añadir:Apagado ] A4: Fin si (End if) A5: Establecer variable [ Nombre:%tiempoubicacion A:%par1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %par1 > 1 ] A6: Notificación [ Título:Tiempoubicacion %tiempoubicacion Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] <Iniciamos el proceso para obtener la ubicación y la precisión de gps> A7: Establecer variable [ Nombre:%gpsinicial A:%GPS Calcular:Apagado Añadir:Apagado ] A8: GPS [ Establecer:Encendido ] Si (if) [ %GPS ~ off ] <Comprobamos si el gps está encendido> A9: Si (if) [ %GPS ~ on ] <Si se va a usar el GPS hay que dividir el tiempo por 2 y usar cada mitad en un sistema de ubicación: GPS /Red> A10: Establecer variable [ Nombre:%tiempoubicacion A:%tiempoubicacion /2 Calcular:Encendido Añadir:Apagado ] A11: Obtener ubicación [ Origen:GPS Cuenta atrás (segundos):%tiempoubicacion Continuar tarea inmediatamente:Apagado Mantener Seguimiento:Apagado ] A12: Establecer variable [ Nombre:%posiciongps A:%LOC Calcular:Apagado Añadir:Apagado ] <Comprobamos si hemos obtenido una posición válida: dos coordenadas separadas por una coma> A13: Si (if) [ %posiciongps ~ *,* ] A14: Establecer variable [ Nombre:%precisiongps A:%LOCACC Calcular:Apagado Añadir:Apagado ] A15: Else A16: Establecer variable [ Nombre:%posiciongps A:0 Calcular:Apagado Añadir:Apagado ] A17: Fin si (End if) A18: GPS [ Establecer:Apagado ] Si (if) [ %gpsinicial ~ off ] <GPS no se ha encendido> A19: Else A20: Establecer variable [ Nombre:%posiciongps A:0 Calcular:Apagado Añadir:Apagado ] A21: Fin si (End if) <Si la posición obtenida no ha sido validada bajamos la precisión al mínimo> A22: Establecer variable [ Nombre:%precisiongps A:99999 Calcular:Encendido Añadir:Apagado ] Si (if) [ %posiciongps ~ 0 ] A23: Notificación [ Título:posiciongps %posiciongps Texto:precisiongps %precisiongps Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] <Iniciamos el proceso para obtener la ubicación y la precisión por red> A24: Obtener ubicación [ Origen:Red datos Cuenta atrás (segundos):%tiempoubicacion Continuar tarea inmediatamente:Apagado Mantener Seguimiento:Apagado ] A25: Establecer variable [ Nombre:%posicionred A:%LOCN Calcular:Apagado Añadir:Apagado ] <Comprobamos si hemos obtenido una posición válida: dos coordenadas separadas por una coma> A26: Si (if) [ %posicionred ~ *,* ] A27: Establecer variable [ Nombre:%precisionred A:%LOCNACC Calcular:Apagado Añadir:Apagado ] A28: Else A29: Establecer variable [ Nombre:%posicionred A:0 Calcular:Apagado Añadir:Apagado ] A30: Establecer variable [ Nombre:%precisionred A:99999 Calcular:Encendido Añadir:Apagado ] A31: Fin si (End if) A32: Notificación [ Título:posicionred %posicionred Texto:precisionred %precisionred Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] <Comprobando las variables de precisión sabremos cuál método de ubicación ha sido más eficaz y guardaremos la posicion obtenida con ese método en la variable %posición> A33: Si (if) [ %precisiongps < %precisionred ] A34: Establecer variable [ Nombre:%posicion A:%posiciongps Calcular:Apagado Añadir:Apagado ] A35: Else A36: Establecer variable [ Nombre:%posicion A:%posicionred Calcular:Apagado Añadir:Apagado ] A37: Fin si (End if) <Si hemos obtenido una posición válida devolvemos ese valor a la tarea principal> A38: Si (if) [ %posicion !~ 0 ] A39: Devolver [ Valor:%posicion Parar:Apagado ] A40: Notificación [ Título:Ubicacion %posicion Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A41: Else A42: Notificación [ Título:Fallo Total. Texto:No se ha podido obtener la posición por ninguno de los dos métodos Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A43: Flash [ Texto:Ubicacion %posicion Largo:Encendido ] Si (if) [ %test ~ 1 ] A44: Fin si (End if) UbicNombreSitio (29) <Esta tarea obtiene el nombre de un lugar a partir de las coordenadas geográficas que son recibidas como parámetro. Para hacer pruebas, se puede utilizar la tarea directamente sin parámetro y en tal caso se utilizarán unas coordenadas de Madrid> A1: Si (if) [ %par1 !~ *,* ] A2: Establecer variable [ Nombre:%test A:1 Calcular:Apagado Añadir:Apagado ] A3: Establecer variable [ Nombre:%par1 A:40.45,-3.70 Calcular:Apagado Añadir:Apagado ] A4: Fin si (End if) <Consultamos la base de datos de google> A5: HTTP Get [ Servidor:Puerto:maps.google.com/maps/api/geocode/xml?sensor=true&latlng=%par1 Ruta: Atributos: Cookies: Cuenta atrás:10 Tipo Mime:text/xml Archivo de salida: Continuar Tarea Tras Error:Encendido ] A6: Establecer variable [ Nombre:%nombresitio A:%HTTPD Calcular:Apagado Añadir:Apagado ] <Comprobamos el dato obtenido> A7: Si (if) [ %nombresitio ~ */formatted_address* ] <Ajustamos el dato obtenido> A8: Separar variable [ Nombre:%nombresitio Separador:</formatted_address> Eliminar base:Apagado ] A9: Separar variable [ Nombre:%nombresitio1 Separador:<formatted_address> Eliminar base:Apagado ] A10: Establecer variable [ Nombre:%nombresitio A:%nombresitio12 Calcular:Apagado Añadir:Apagado ] A11: Else <Dato inválido> A12: Limpiar variable [ Nombre:%nombresitio Coincidencia de Patrón:Apagado ] A13: Fin si (End if) <Devolvemos el resultado a la tarea principal> A14: Devolver [ Valor:%nombresitio Parar:Apagado ] <Se muestra el resultado en un flash pero sólo si estamos haciendo pruebas> A15: Flash [ Texto:%nombresitio Largo:Encendido ] Si (if) [ %test ~ 1 ] UbicPrevisionMeteo (49) <Esta tarea obtiene la previsión meteorológica para el lugar en el que estamos (solo España) en el día de la fecha. Para funcionar necesita 2 sub tareas adicionales y un fichero de conversión de códigos. Cuando se termine de depurar y corregir la tarea, la variable %test se puede poner a cero para que deje de mostrar notificaciones con los datos que va obteniendo la tarea.> A1: Establecer variable [ Nombre:%test A:1 Calcular:Apagado Añadir:Apagado ] <En primer lugar obtenemos la ubicación y la guardamos en la variable %sitio> A2: Establecer variable [ Nombre:%sitio A:0 Calcular:Apagado Añadir:Apagado ] A3: Realizar tarea [ Nombre:UbicPosicionObtener Parar:Apagado Prioridad:10 Parámetro 1 (%par1):120 Parámetro 2 (%par2): Devolver Valor de Variable:%sitio ] A4: Notificación [ Título:Ubicacion Sitio %sitio Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A5: Establecer variable [ Nombre:%sitio A:40.45,-3.70 Calcular:Apagado Añadir:Apagado ] Si (if) [ %sitio !~ *,* ] <Obtener info del municipio> A6: Destino (de goto) A7: Realizar tarea [ Nombre:UbicNombreSitio Parar:Apagado Prioridad:10 Parámetro 1 (%par1):%sitio Parámetro 2 (%par2): Devolver Valor de Variable:%nombresitio ] A8: Notificación [ Título:Nombresitio %nombresitio Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A9: Establecer variable [ Nombre:%nombresitio A:Puerta del Sol, 1, 28013 Madrid, España Calcular:Apagado Añadir:Apagado ] Si (if) [ %nombresitio ~ %* ] <Obtener código postal> A10: Destino (de goto) A11: Establecer variable [ Nombre:%codpsitio A:%nombresitio Calcular:Apagado Añadir:Apagado ] A12: Separar variable [ Nombre:%codpsitio Separador:, Eliminar base:Apagado ] A13: Sección de Variable [ Nombre:%codpsitio2 Desde:2 Longitud:5 Encajar:Encendido Almacenar Resultado en: ] A14: Sección de Variable [ Nombre:%codpsitio3 Desde:2 Longitud:5 Encajar:Apagado Almacenar Resultado en: ] A15: Establecer variable [ Nombre:%codpsitio A:%codpsitio2 Calcular:Apagado Añadir:Apagado ] Si (if) [ %codpsitio2 > 999 ] A16: Establecer variable [ Nombre:%codpsitio A:%codpsitio3 Calcular:Apagado Añadir:Apagado ] Si (if) [ %codpsitio3 > 999 ] A17: Notificación [ Título:Código postal %codpsitio Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A18: Si (if) [ %codpsitio < 1000 ] A19: Notificación [ Título:Código postal %codpsitio Texto:Código inadmisible. Proceso abortado Icono:null Número:0 Permanente:Apagado Prioridad:3 ] A20: Detener [ Con error:Apagado Tarea: ] A21: Fin si (End if) <Obtener código ine-aeat correspondiente al código postal que ya tenemos, utilizando un fichero de conversión de ambos códigos> A22: Destino (de goto) A23: Prueba [ Tipo:File Type Datos:Tasker/cp-ine.txt Almacenar Resultado en:%filetype ] A24: Leer Archivo [ Archivo:Tasker/cp-ine.txt A la variable:%cine ] A25: Separar variable [ Nombre:%cine Separador:$%codpsitio- Eliminar base:Apagado ] A26: Establecer variable [ Nombre:%cine A:%cine2 Calcular:Apagado Añadir:Apagado ] <Guardamos el código INE en la variable %cine> A27: Sección de Variable [ Nombre:%cine Desde:1 Longitud:5 Encajar:Apagado Almacenar Resultado en: ] A28: Notificación [ Título:Código INE %cine Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A29: Si (if) [ %cine < 1000 ] A30: Notificación [ Título:Código INE %cine Texto:Código inadmisible. Proceso abortado Icono:null Número:0 Permanente:Apagado Prioridad:3 ] A31: Detener [ Con error:Apagado Tarea: ] A32: Fin si (End if) <Dividimos la variable fecha en tres partes para obtener día mes y año> A33: Establecer variable [ Nombre:%fechoy A:%DATE Calcular:Apagado Añadir:Apagado ] A34: Separar variable [ Nombre:%fechoy Separador:- Eliminar base:Apagado ] <Obtener datos meteo> A35: Destino (de goto) <Consultamos la base de datos de AEMET con el código %cine> A36: HTTP Get [ Servidor:Puerto:www.aemet.es/xml/municipios/localidad_%cine.xml Ruta: Atributos: Cookies: Cuenta atrás:10 Tipo Mime:text/xml Archivo de salida: ] A37: Establecer variable [ Nombre:%result A:%HTTPD Calcular:Apagado Añadir:Apagado ] <A partir de aquí vamos dividiendo el resultado obtenido para ir extrayendo la información que queremos> A38: Separar variable [ Nombre:%result Separador:<prediccion> Eliminar base:Apagado ] A39: Separar variable [ Nombre:%result1 Separador:</nombre> Eliminar base:Apagado ] A40: Separar variable [ Nombre:%result11 Separador:<nombre> Eliminar base:Apagado ] A41: Establecer variable [ Nombre:%municipio A:%result112 Calcular:Apagado Añadir:Apagado ] A42: Separar variable [ Nombre:%result2 Separador:<dia fecha="%fechoy3-%fechoy2-%fechoy1"> Eliminar base:Apagado ] <Ya hemos obtenido en la variable %resul22 los datos que nos interesan pero todavía están mezclados con otras informaciones y habrá que seguir extractando cada cosa concreta que queramos> A43: Destino (de goto) <Obtener cielos> A44: Destino (de goto) A45: Separar variable [ Nombre:%result22 Separador:descripcion=" Eliminar base:Apagado ] A46: Separar variable [ Nombre:%result222 Separador:" Eliminar base:Apagado ] <Descripción del cielo por la mañana> A47: Establecer variable [ Nombre:%descm A:%result2221 Calcular:Apagado Añadir:Apagado ] A48: Establecer variable [ Nombre:%descm A:-SIN DATOS- Calcular:Apagado Añadir:Apagado ] Si (if) [ %descm ~ %* ] A49: Notificación [ Título: Desc M %descm Texto:%descm Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A50: Separar variable [ Nombre:%result223 Separador:" Eliminar base:Apagado ] <Descripción del cielo por la tarde> A51: Establecer variable [ Nombre:%desct A:%result2231 Calcular:Apagado Añadir:Apagado ] A52: Establecer variable [ Nombre:%desct A:-SIN DATOS- Calcular:Apagado Añadir:Apagado ] Si (if) [ %desct ~ %* ] A53: Notificación [ Título: Desc T %desct Texto:%desct Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] <Obtener vientos> A54: Destino (de goto) A55: Separar variable [ Nombre:%result22 Separador:<velocidad> Eliminar base:Apagado ] A56: Separar variable [ Nombre:%result222 Separador:</velocidad> Eliminar base:Apagado ] <Velocidad del viento por la mañana> A57: Establecer variable [ Nombre:%velom A:%result2221 Calcular:Apagado Añadir:Apagado ] A58: Establecer variable [ Nombre:%velom A:-SIN DATOS- Calcular:Apagado Añadir:Apagado ] Si (if) [ %velom ~ %* ] A59: Notificación [ Título:Velo M %velom Texto:%velom Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A60: Separar variable [ Nombre:%result223 Separador:</velocidad> Eliminar base:Apagado ] <Velocidad del viento por la tarde> A61: Establecer variable [ Nombre:%velot A:%result2231 Calcular:Apagado Añadir:Apagado ] A62: Establecer variable [ Nombre:%velot A:-SIN DATOS- Calcular:Apagado Añadir:Apagado ] Si (if) [ %velot ~ %* ] A63: Notificación [ Título:Velo T %velot Texto:%velot Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] <Obtener sensación térmica> A64: Destino (de goto) A65: Separar variable [ Nombre:%result22 Separador:<sens_termica> Eliminar base:Apagado ] A66: Establecer variable [ Nombre:%tempm A:%result222 Calcular:Apagado Añadir:Apagado ] A67: Separar variable [ Nombre:%tempm Separador:<maxima> Eliminar base:Apagado ] A68: Separar variable [ Nombre:%tempm2 Separador:</maxima> Eliminar base:Encendido ] <Sensación térmica máxima> A69: Establecer variable [ Nombre:%tempm A:%tempm21 Calcular:Apagado Añadir:Apagado ] A70: Establecer variable [ Nombre:%tempm A:-SIN DATOS- Calcular:Apagado Añadir:Apagado ] Si (if) [ %tempm ~ %* ] A71: Notificación [ Título:Maxima %tempm Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] A72: Establecer variable [ Nombre:%tempn A:%result222 Calcular:Apagado Añadir:Apagado ] A73: Separar variable [ Nombre:%tempn Separador:<minima> Eliminar base:Apagado ] A74: Separar variable [ Nombre:%tempn2 Separador:</minima> Eliminar base:Apagado ] <Sensación térmica mínima> A75: Establecer variable [ Nombre:%tempn A:%tempn21 Calcular:Apagado Añadir:Apagado ] A76: Establecer variable [ Nombre:%tempn A:-SIN DATOS- Calcular:Apagado Añadir:Apagado ] Si (if) [ %tempn ~ %* ] A77: Notificación [ Título:Minima %tempn Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] <Componer el informe con todos los resultados obtenidos> A78: Destino (de goto) A79: Establecer variable [ Nombre:%result A:Previsión en %municipio para hoy %DAYW, %DATE Por la mañana: %descm, viento %velom k/h. Por la tarde: %desct, viento %velot k/h. Sensación térmica de %tempn a %tempm grados. %nombresitio Coordenadas %sitio https://maps.google.com/maps?q=%sitio Meteo de http://www.aemet.es/xml/municipios/localidad_%cine.xml Calcular:Apagado Añadir:Apagado ] A80: Establecer variable [ Nombre:%AaUbicPrevisionResult A:%result Calcular:Apagado Añadir:Apagado ] A81: Notificación [ Título:Resultado %result Texto:%result Icono:null Número:0 Permanente:Apagado Prioridad:3 ] Si (if) [ %test ~ 1 ] ---------------------------- Esas eran las tareas. He destacado en rojo el texto del informe final, que incluye varias líneas con interlineas vacías y también dos URLs que el servidor del foro no muestra en rojo como le he pedido. A continuación os pongo un ejemplo del informe que prepara esta tarea: Previsión en Madrid para hoy 15-04-2013Sin embargo, tal y como la he copiado aquí, la tarea está inacabada. Yo tengo una acción más que envía el informe meteorológico a mi cuenta de Evernote, y cada uno de vosotros tendréis que añadir una o varias acciones para usar ese informe como os convenga, ya sea escribiéndolo en un fichero, o haciendo que el motor de voz lo recite en voz alta, etc, eso ya es cosa de cada uno. Provisionalmente en una de las acciones finales hago que informe meteorológico sea copiado a una variable Global %AaUbicPrevisionResult (acción ) para que se pueda ver ese resultado en la pestaña de variables; pero dicha acción y su variable pueden ser eliminadas cuando decidas utilizar el resultado de otra forma más concreta que te interese. Creo que la clave de este asunto es la consulta de la base de datos y la extracción de resultados seleccionando los datos interesantes de entre el maremagnum que nos devuelve el servidor. Quien necesite ayuda con eso puede leerse el capítulo correspondiente de nuestra guía de referencia: Lección 4. El procesamiento de datos en variables. Obtención de datos externos y su tratamiento para extraer la información que necesitamos. http://www.htcmania.com/showthread.php?p=9099161 Para cualquier duda, preguntáis por aquí mismo.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Última edición por Caravantes Día 22/12/13 a las 12:45:21. |
Los siguientes 3 usuarios han agradecido a Caravantes su comentario: | ||
#63
|
||||
|
||||
Currazo, gracias colega!
el archivo para importar no lo has subido no?, lo digo por que si tengo que poner yo todo eso a mano no me sale ni de coña XDDD Última edición por Rbcheca Día 13/12/13 a las 20:40:06. |
#64
|
||||
|
||||
Impresionante trabajo...me rindo a tus pies....Voy a hacer el intento de transcribirla para ver si me funciona...
En la acción 9 de la tarea principal de UbicPrevisionMeteo el código postal predeterminado para Madrid Puerta del Sol es 280013....esto es así o es un error de transcripción? no deberían ser 5cifras (28013)...perdón por mi ignorancia si está correcto... 1 saludo! |
#65
|
||||
|
||||
Sí, tienes razón, los 6 dígitos del código madrileño son un error de transcripción. También lo corregiré. Gracias por el aviso.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
Gracias de parte de: | ||
#66
|
||||
|
||||
Gracias, gracias, gracias. Yo creo que no iba a conseguir transcribirlo, vamos, no es que lo crea, es que estoy seguro de que no lo iba a saber hacer.
Un saludo y gracias. |
#67
|
||||
|
||||
Pues yo cabezón de mi lo he transcrito jejej porque es la única manera de ir aprendiendo el uso que hacéis de las variables y al copiarlo y transcribirlo me doy cuenta de muchas cosas...pero que luego se le ocurran a uno es otra historia....
Lo que pasa que no consigo que funciones (o quizás sí funciona pero no consigo la presentación de resultados). En mi caso utilizo un perfil de contexto de alarma ejecutada, para que al sonar la alarma y darle al botón se inicie la tarea, pero no me funciona... He creado una sub tarea como tú Caravantes, para que me envíe el informe a mi correo de evernote, pero creo que esa tarea está mal hecha...la he creado como acción red, componer email, utilizando mi dirección de correo, pero creo que no lo hago bien....tampoco sé cómo realizar la presentación del informe de resultados, p.ej. a través de la síntesis de voz, es decir, cuando acabe la tarea que te diga por voz el informe de resultados... Otra duda: En la primera subtarea para obtener la posición por gps se establece el encendido de gps (en mi caso a través del plugin secure settings porque si no no me funciona). Al ejecutar la tarea principal se realiza la subtarea, pero luego no he visto una orden para apagar el gps, con lo cual el gps del teléfono se queda encendido con el consiguiente gasto de batería no? se podría poner al final de la tarea principal después del informe de resultados la acción de apagado de gps al finalizar todo el proceso para que no se quede encendido no? 1 saludo y gracias por todo vuestro trabajo! EDITO: Voy a trastear con el plugin email pro a ver si consigo que funcione jejej Última edición por ruco1980 Día 14/12/13 a las 13:31:50. |
#68
|
||||
|
||||
Yo no he creado todo esto de la nada. Como he explicado, la mitad del trabajo creativo la hicieron otros compañeros a los que he copiado sus ideas (y a los que he citado como reconocimiento explícito). Mi mérito es haber ensamblado todo eso, que devuelvo al foro con la esperanza de que sirva para que otro compañero coja mis ideas y las mejore. Yo parto de la base de que para nosotros -al menos para la mayoría- Tasker es un hobby. Requiere un cierto esfuerzo y obtienes ciertos automatismos que te facilitan las cosas o aportan algo gratificante. Puede haber personas que tengan más interés y hagan un esfuerzo mayor, otras harán un esfuerzo menor porque creen que no le compensa esforzarse más, y eso es totalmente respetable, cada uno elige el nivel de energía que quier dedicar a esto o a cualquier otra cosa. En mi caso utilizo un perfil de contexto de alarma ejecutada, para que al sonar la alarma y darle al botón se inicie la tarea, pero no me funciona...
He creado una sub tarea como tú Caravantes, para que me envíe el informe a mi correo de evernote, pero creo que esa tarea está mal hecha...la he creado como acción red, componer email, utilizando mi dirección de correo, pero creo que no lo hago bien....tampoco sé cómo realizar la presentación del informe de resultados, p.ej. a través de la síntesis de voz, es decir, cuando acabe la tarea que te diga por voz el informe de resultados... ![]() A66: Establecer variable %AAresultadoMeteo A %result Tras ejecutar la tarea, la variable %AAresultadoMeteo seguirá conteniendo el informe meteorológico; en Tasker haces clic en la pestaña VARIABLES y una de las primeras será ésta que empieza por AA; de esa forma puedes ver el informe y comprobar si está bien o si tienes que corregir algo en la tarea. Otra posibilidad es copiar el informe que está en %result al portapapeles (acción del grupo Misc), para que luego puedas pegar ese informe en cualquier sitio donde puedas verlo para comprobar si está bien o no. Con la otra tarea que envía el mensaje te diría lo mismo: prueba si funciona por sí misma. Mi subtarea UbicNombreSitio recibe como parámetro las coordenadas de una ubicación, pero puedo probarla como una tarea independiente y en tal caso la propia tarea establece cuál es la ubicación de prueba (una coordenada de Madrid) y además pone una marca (%test = 1) para que la tarea -antes de acabar- me muestre el resultado final del proceso; con este sistema puedo probar de forma independiente si la subtarea funciona. Haz lo mismo con tu subtarea de correo electrónico. Si todavía tienes dificultades con esa tarea de correo electónico, pues abres un hilo nuevo para pedir ayuda con eso. Luego, cuando ya tengas las dos tareas bien probadas, llegará el momento de que intentes hacerlas funcionar juntas. Respecto al GPS, tienes razón, gracias por el aviso. Esto es algo que antes tenía organizado de otra forma y solo lo he corregido a medias, por eso se me ha quedado un poco cojo. No me he dado cuenta del problema porque ahora llevo el GPS siempre encendido (no es cierto que por llevarlo encendido gaste batería, solo gasta batería cuando se usa como puedes comprobar mirando la barra de estado). Creo que la forma más correcta de resolver ese asunto es terminar dejando el GPS apagado o encendido, pero igual que estaba cuando comenzó la tarea: 1- Establecer variable %gpsinicial a %GPS (Guardar en una variable el estado inicial del GPS) 2- Encender GPS si %GPS ~ off 3- Si %GPS ~ on 4- - Obtener la posición o hacer lo que haya que hacer con el GPS 5- - Apagar el GPS si %gpsinicial ~ off (apagar el GPS si al principio estaba apagado) 6- Endif Voy a corregir la tarea para implementar este sistema. Corregiré el post anterior y esta mejora también estará en el archivo que os voy a pasar.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Última edición por Caravantes Día 14/12/13 a las 23:54:25. |
Gracias de parte de: | ||
#69
|
||||
|
||||
Estoy muy de acuerdo. Puedes aprender leyendo la descripción de un perfil pero aprendes más al copiarlo manualmente a tu smartphone porque te vas fijando más en cada detalle. Es el mejor modo de aprender la técnica, el uso de cada acción o contexto. Luego viene la parte creativa, que es otro asunto como bien has dicho, pero esa parte creativa nunca podrá prosperar si no tienes la base técnica necesaria.
Yo no he creado todo esto de la nada. Como he explicado, la mitad del trabajo creativo la hicieron otros compañeros a los que he copiado sus ideas (y a los que he citado como reconocimiento explícito). Mi mérito es haber ensamblado todo eso, que devuelvo al foro con la esperanza de que sirva para que otro compañero coja mis ideas y las mejore. Yo parto de la base de que para nosotros -al menos para la mayoría- Tasker es un hobby. Requiere un cierto esfuerzo y obtienes ciertos automatismos que te facilitan las cosas o aportan algo gratificante. Puede haber personas que tengan más interés y hagan un esfuerzo mayor, otras harán un esfuerzo menor porque creen que no le compensa esforzarse más, y eso es totalmente respetable, cada uno elige el nivel de energía que quier dedicar a esto o a cualquier otra cosa. Creo que estás siendo demasiado ambicioso al probar dos tareas nuevas conjuntamente. Debes probar cada tarea por separado, hasta comprobar que funcionan bien. Luego ya las unes. Para probar la previsión meteorológica es suficiente que al final copies el informe a una variable global, por ejemplo A66: Establecer variable %AAresultadoMeteo A %result Tras ejecutar la tarea, la variable %AAresultadoMeteo seguirá conteniendo el informe meteorológico; en Tasker haces clic en la pestaña VARIABLES y una de las primeras será ésta que empieza por AA; de esa forma puedes ver el informe y comprobar si está bien o si tienes que corregir algo en la tarea. Otra posibilidad es copiar el informe que está en %result al portapapeles (acción del grupo Misc), para que luego puedas pegar ese informe en cualquier sitio donde puedas verlo para comprobar si está bien o no. Con la otra tarea que envía el mensaje te diría lo mismo: prueba si funciona por sí misma. Mi subtarea UbicNombreSitio recibe como parámetro las coordenadas de una ubicación, pero puedo probarla como una tarea independiente y en tal caso la propia tarea establece cuál es la ubicación de prueba (una coordenada de Madrid) y además pone una marca (%test = 1) para que la tarea -antes de acabar- me muestre el resultado final del proceso; con este sistema puedo probar de forma independiente si la subtarea funciona. Haz lo mismo con tu subtarea de correo electrónico. Si todavía tienes dificultades con esa tarea de correo electónico, pues abres un hilo nuevo para pedir ayuda con eso. Luego, cuando ya tengas las dos tareas bien probadas, llegará el momento de que intentes hacerlas funcionar juntas. Respecto al GPS, tienes razón, gracias por el aviso. Esto es algo que antes tenía organizado de otra forma y solo lo he corregido a medias, por eso se me ha quedado un poco cojo. No me he dado cuenta del problema porque ahora llevo el GPS siempre encendido (no es cierto que por llevarlo encendido gaste batería, solo gasta batería cuando se usa como puedes comprobar mirando la barra de estado). Creo que la forma más correcta de resolver ese asunto es la siguiente: 1- Establecer variable %gpsinicial a GPS (Guardar en una variable el estado inicial del GPS) 2- Encender GPS 3- Si GPS ~ on 4- - Obtener la posición o hacer lo que haya que hacer con el GPS 5- - Apagar el GPS si %gpsinicial ~ off (apagar el GPS si al principio estaba apagado) 6- Endif Voy a corregir la tarea para implementar este sistema. Corregiré el post anterior y esta mejora también estará en el archivo que os voy a pasar. ![]() Cuando recibes un correo en tu cuenta de evernote que lo rcibes como una nota? Porque no sé si será por la forma en que me registré en evernote,porque mi correo de evernote es mi cuenta de gmail, y a pesar de haber buscado por los ajustes de evernote no he visto una dirección "especifica" para usuario evernote... 1 saludo! |
#70
|
||||
|
||||
Cuando recibes un correo en tu cuenta de evernote que lo rcibes como una nota? Porque no sé si será por la forma en que me registré en evernote,porque mi correo de evernote es mi cuenta de gmail, y a pesar de haber buscado por los ajustes de evernote no he visto una dirección "especifica" para usuario evernote...
![]()
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
#71
|
||||
|
||||
Acabo de subir a Pastebin los tres archivos con la tarea de previsión meteorológica y las dos subtareas auxiliares cuyas descripciones publiqué anteayer (13-12-2013).
Explico los detalles del procedimiento para que podáis importar estas tareas. Son tres ficheros, y es importante que todos tengan el nombre y la extensión correcta. Por defecto, el servidor los entrega con todo el nombre en minúsculas y con la (triple) extensión .tsk.xml.txt , pero deben quedar como indico a continuación, con algunas mayúsculas en el nombre y con la (doble) extensión .tsk.xml que Tasker necesita para reconocer eso como el XML de una tarea. Os recomiendo que -antes de cada descarga- copiéis de aquí el nombre y la extensión para indicar que lo descargue directamente con ese nombre-extensión (o bien podéis renombrar luego cada fichero). Si preferís que las tareas tengan otro nombre distinto es mejor que lo renombréis luego, ya dentro de Tasker, más abajo lo explico. Los archivos deben acabar quedando dentro de la carpeta Tasker/tasks y con los nombres-extensiones indicados. Cuando ya los tengáis ahí correctamente nombrados y ubicados, entonces... Abrís Tasker, y tenéis dos opciones: o bien creáis un proyecto nuevo para estas tareas o bien seleccionáis el proyecto en el que queráis integrar estas tareas. Una vez elegido el proyecto, activáis la pestaña de Tareas y a continuación mantenéis una pulsación prolongada sobre esa pestaña de Tareas. Aparecerá la opción de importar y al pulsarla podréis seleccionar los archivos que están en la carpeta Tasker/tasks . Cuando ya hayáis importado todas las tareas es cuando podéis renombrarlas a vuestro gusto y Tasker corregirá adecuadamente las acciones "ejecutar tarea" que pueda haber en otras tareas y que hagan referencia a esa tarea que estáis renombrando. Respecto a las tareas que publiqué originalmente, he realizado tres modificaciones que ya he corregido en las descripciones publicadas de las tareas y también en los archivos que ahora comparto. Dos de esas correcciones son fallos detectados por Ruco1980 y comentados el el hilo de diálogo. A mayores, en la tarea de previsión meteorológica he retirado lo que yo tenía como última acción y que servía para enviar el informe a mi cuenta de Evernote. Por tanto, ahora se podría decir que esa tarea está inacabada, y cada uno de vosotros tendréis que añadir una o varias acciones para usar ese informe como os convenga, ya sea escribiéndolo en un fichero, o copiándolo a una variable Global, o haciendo que el motor de voz lo recite en voz alta, etc, eso ya es cosa de cada uno. Ahí van los nombres de los archivos y sus correspondientes enlaces para descarga. Os recuerdo que además de estas tareas, para la previsión meteorológica necesitáis descargar el fichero de conversión de códigos postales, que está en y que debe quedar ubicado en la carpeta de Tasker y que debe llamarse cp-ine.txt , creo que en este caso no hay que corregir el nombre del archivo, solo tenéis que preocuparos de colocarlo en la carpeta Tasker. Creo que no me olvido nada importante. Espero que os sirva y que lo disfrutéis.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Última edición por Caravantes Día 22/12/13 a las 12:56:25. |
#72
|
||||
|
||||
Que gran tarea te felicito es una lastima no poder usarlas por no estar en España
![]() |
#73
|
||||
|
||||
Gran trabajo Caravantes!!! A mi no me funciona la tarea.....me da un error que he conseguido capturar en la siguiente imagen....como era de esperar no entiendo qué significa jejej
|
#74
|
||||
|
||||
En la tarea, la primera acción contiene una variable que puedes poner a 1 para activar el modo test, y de esa forma podrás ver algunas notificaciones que te irán informando sobre asuntos clave en el proceso. Está explicado en la etiqueta de la propia acción 1. Por ejemplo, con el modo test activado, la acción 23 lanza una notificación mostrando el contenido de esa variable %cine que debe contener ese código-INE de cinco dígitos. Seguramente esa notifiación te muestre la palabra %cine porque la variable está vacía. Probablemente sea porque no ha funcionado el fichero de conversión de códigos que se debería haber usado en la acción 19... Por tanto te sugiero comprobar que tienes el fichero de códigos en su sitio y con el nombre correcto, tal y como ya he explicado. En la propia acción 19 también se indica la carpeta y el nombre del archivo. Comprueba también la notificacion previa (acción 17) que te debe de mostrar el código postal.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
#75
|
||||
|
||||
Prueba a buscar si alguien ya tiene hecho algo como eso. También puedes buscar en Google bases de datos meteorológicas de tu país o de tipo internacional.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
#76
|
||||
|
||||
Te está fallando la acción 27, que consulta el servidor de Aemet para obtener la información meteorológica. Falla por culpa de la variable %cine , que debería contener el código-INE del lugar (cinco dígitos), y no tiene nada. No sé bien por qué esa variable está vacía.
En la tarea, la primera acción contiene una variable que puedes poner a 1 para activar el modo test, y de esa forma podrás ver algunas notificaciones que te irán informando sobre asuntos clave en el proceso. Está explicado en la etiqueta de la propia acción 1. Por ejemplo, con el modo test activado, la acción 23 lanza una notificación mostrando el contenido de esa variable %cine que debe contener ese código-INE de cinco dígitos. Seguramente esa notifiación te muestre la palabra %cine porque la variable está vacía. Probablemente sea porque no ha funcionado el fichero de conversión de códigos que se debería haber usado en la acción 19... Por tanto te sugiero comprobar que tienes el fichero de códigos en su sitio y con el nombre correcto, tal y como ya he explicado. En la propia acción 19 también se indica la carpeta y el nombre del archivo. Comprueba también la notificacion previa (acción 17) que te debe de mostrar el código postal. ![]() Efectivamente tengo algún problema con el archivo cp-ine.txt...ya lo he descargado un par de veces y lo he comprobado.... La subtarea de ubicposición, independiente funciona correctamente y me devuelve las dos coordenadas de posición por red....al igual que la otra subtarea que me devuelve el flash con la dirección de Madrid al realizar la prueba... Al ejecutar la tarea principal con la variable test a 1 para realizar la prueba me devuelve correctamente las notificaciones de coordenadas de ubicación por red, el nombre del sitio correctamente donde estoy, y también la acción 17 se ejecuta correctamente y me devuelve la notificación de mi CP de manera correcta, aunque ocurre algo que no sé si puede llegar a ser relevante....y es que el CP que me devuelve la notificación de la acción 17 no es de cinco dígitos sino de cuatro, es decir, 3550 en lugar de devolverme el valor 03550 que es mi CP, aunque ya no sé si por comenzar por 0 obvia ese valor, si bien en la notificación inmediatamente anterior de %nombresitio sí que devuelve el valor Sant Joan d'Alacant, 03550,Alicante,Spain... Por lo que el problema parece ser que viene en la acción 19 al leer el archivo y me devuelve la notificación%cine, es decir vacía... No entiendo por qué, ya que el archivo está correctamente ubicado en la carpeta tasker..en el directorio tasker/cp-ine.txt 1 saludo y gracias por tus explicaciones tan claras y entendibles... Última edición por ruco1980 Día 16/12/13 a las 14:12:12. |
#77
|
||||
|
||||
el CP que me devuelve la notificación de la acción 17 no es de cinco dígitos sino de cuatro, es decir, 3550 en lugar de devolverme el valor 03550 que es mi CP, aunque ya no sé si por comenzar por 0 obvia ese valor, si bien en la notificación inmediatamente anterior de %nombresitio sí que devuelve el valor Sant Joan d'Alacant, 03550,Alicante,Spain...
![]() Sant Joan d'Alacant 03550 Alicante Spain En este caso el código postal está en la segunda sub-variable, pero hay otros casos en que la calle y el número ocupan dos posiciones, por lo cual el código postal queda en el tercer lugar. Para no complicarme la vida decidí coger el valor de la subvariable (segunda o tercera) cuyo valor mátemático fuese superior a 999, lo cual es una selección lógica (acciones A15 y A16) y hasta ahí todo va bien, pero... Puesto que tenía puesto ese chip matemático hice que la variable del código-postal tomase el valor matemáticamente (Calcular:Encendido) y aquí está el error porque el cero a la izquierda queda matemáticamente ninguneado. He desmarcado esa casilla de CALCULAR y espero que eso corrija el problema. He vuelto a publicar el archivo corregido en Pastebin, pero está con otro enlace. Ya he actualizado el nuevo enlace en el mensaje anterior, puedes ir allí para repetir la descarga con el nuevo enlace. Ya me contarás.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Última edición por Caravantes Día 17/12/13 a las 00:24:50. |
Gracias de parte de: | ||
#78
|
||||
|
||||
Culpa mía. No tuve en cuenta que algunos códigos postales podían comenzar por cero. Te explicaré los detalles como anécdota para que entiendas el tema. La primera subtarea obtiene las coordenadas de ubicación. La segunda subtarea utiliza esas coordenadas para consultar un servidor de google del que obtiene el nombre del lugar, que en este caso es algo como "Sant Joan d'Alacant, 03550, Alicante, Spain". A partir de ahí, la tarea de previsión meteo tiene que extraer el código postal, y lo hace utilizando las comas (,) para dividir eso en framentos que se guaran en subvariables. O sea que obtenemos varias sub-variables con los valores
Sant Joan d'Alacant 03550 Alicante Spain En este caso el código postal está en la segunda sub-variable, pero hay otros casos en que la calle y el número ocupan dos posiciones, por lo cual el código postal queda en el tercer lugar. Para no complicarme la vida decidí coger el valor de la subvariable (segunda o tercera) cuyo valor mátemático fuese superior a 999, lo cual es una selección lógica (acciones A15 y A16) y hasta ahí todo va bien, pero... Puesto que tenía puesto ese chip matemático hice que la variable del código-postal tomase el valor matemáticamente (Calcular:Encendido) y aquí está el error porque el cero a la izquierda queda matemáticamente ninguneado. He desmarcado esa casilla de CALCULAR y espero que eso corrija el problema. He vuelto a publicar el archivo corregido en Pastebin, pero está con otro enlace. Ya he actualizado el nuevo enlace en el mensaje anterior, puedes ir allí para repetir la descarga con el nuevo enlace. Ya me contarás. ![]() Solucionado cambiando en las acciones 15 y 16 la casilla calcular a apagado... aunque finalmente he añadido la nueva tarea ya que la encuentro "estéticamente" más pulida, ya no sé si serán cosas mías... He observado los cambios a la hora de obtención del CP (>999 y <10000) y luego veo la prueba que realizas de la lectura del archivo cp-ine.txt antes de la acción de leer para comprobar que está todo correcto, así como la acción detener si no obtenemos un valor de %cine (entiendo que esto será por si estamos en una zona de campo y no obtenemos un valor de CP...) Luego observo que se establecen las variables de descripción del tiempo de mañana y tarde A -SIN DATOS-....esta acción no la comprendo muy bien, pero parece que es para cuando cambiamos la variable test a 0? En definitiva un grandísimo trabajo de planteamiento...me quedo alucinado.... En la subtarea de obtener la ubicación el ciclo para encender el gps y luego apagarlo está perfectamente planteado, pero a mi no me funciona, lo enciende y luego no lo apaga...yo creo que es por la versión de android de mi móvil chinoro...nada que no se solucione que una última acción en la tarea principal de secure settings para estblecer el gps a apagado en el caso de que queramos desconectarlo y no llevarlo encendido después de haber obtenido el informe... Ahora me estoy peleando con email me pro jejej...consigo que me envie el mail a la cuenta de evernote...con el título, me lo encasilla en la libreta y lo etiqueta con el @ y #; e incluso al introducir en el mensaje la variable %DATE me pone la fecha en el correo, pero en cambio el informe no lo transcribe y no sé por qué...seguiré peleando... Muchas gracias por tu trabajo y por atender todas nuestras dudas... EDITO: Solucionado lo del email...tenía que introducir en el mensaje de email me pro la variable %AaUbicPrevisionResult para que transcribiera el informe....todo colocado en el mensaje del plugin de la subtarea de email...en la acción de realizar tarea en la tarea principal no he colocado nada en el apartado de parámetro y me funciona todo correctamente directamente con el plugin de email pro en la subtarea. Última edición por ruco1980 Día 17/12/13 a las 10:16:54. |
#79
|
||||
|
||||
Ayer estaba haciendo pruebas y me sorprendió ver algo que nunca antes me había encontrado, y es que el servidor tenía muchos de los datos en blanco: viento por la mañana, aspecto del cielo por la mañana, etc; ... seguramente sea porque estaba haciendo la consuta a última hora del día, con lo cual la previsión para ese día es un poco absurda, puesto que el día ya estaba terminando. Es por eso que he añadido el valor "-SIN DATOS-" para ese tipo de ocasiones en que el servidor no muestra alguno de los datos buscados. La variable %AaUbicPrevisionResult la he añadido solamente para que el informe meteorológico pueda ser consultado manualmente (en la pestaña de variables). Si ya has comprobado que la tarea funciona bien y lo que quieres es enviar el informe por EmailMePro, puedes usar la variable %result que contiene la misma información, y puedes suprimir la acción 80 que crea esa variable %AaUbicPrevisionResult sin ninguna otra utilidad. Las variables Globales hay que usarlas de forma muy selectiva, y cuando no son necesarias es mejor eliminarlas. Respecto a lo de encender y apagar el GPS, eso funciona o no funciona... dependiendo del aparato concreto y también de la versión de Android. Que cada uno lo ajuste según sus circunstancias y posibilidades: siendo root y/o teniendo SecureSettings hay más opciones para buscar la configuración adecuada de esa acción.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
|
#80
|
||||
|
||||
Bffff, no tengo tiempo para analizar tanta línea, solo escribo ahora esto aprisa y corriendo para felicitar sinceramente a Caravantes por esta creación. Buenas noches.... no se de donde sacais tiempo, ja
|
Gracias de parte de: | ||
![]() |
![]() |
||||||
|