![]() |
|
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Cómo hacer una tarea para saber el tiempo que hace o va a hacer
Buenas! El otro día el usuario @Roberto_torres me pasó una tarea que te dice la temperatura, si hay nubes, la presión atmosférica... Pero yo así no aprendo porque no entiendo el proceso. Así que me gustaría empezar de 0 y que alguien "caritativo" me ayude a construir esta tarea y de paso, aprenden los demás.
Sé que puede ser mediante una web (HTTPD GET creo) o mediante una app con intents. Creo que es una tarea muy chula, con permiso de @Alfahuir, que en su día hizo una muy chula. Pero de eso hace 4 años y siempre va bien repasar/actualizar. Algún voluntario? ![]() Un saludo! |
|
#2
|
yo tengo pensado rehacer una que hice hace tiempo con la API de openweather, pero esta vez voy a usar WeatherUnderground que es la app que llevo en el movil.
|
#3
|
||||
|
||||
Cita:
1 Preproducción. Es el plan de lo que queremos hacer y cómo queremos hacerlo. 2 Producción. Hacemos la tarea Tasker mediante acciones concretas. 3 Postproducción. Una vez terminada la tarea: pruebas, corrección de errores, posibles mejoras, etc. Así pues vamos a comenzar por la preproducción. Hay que empezar trazando un plan, aunque sea aproximado y susceptible de que luego se modifiquen más o menos detalles: - En primer lugar hay que pensar qué información se desea obtener o presentar: ¿Temperaturas? ¿Mínimas y máximas? ¿Vientos? ¿En Kms por hora? ¿En horas de viento? ¿Nubes? ¿Nivel de insolación?... - Cómo se va a presentar esa información: ¿texto, infografía, gráfico? ¿Se va a guardar en algún archivo? ¿Se va a mostrar por pantalla? ¿Se espera que Android vocalice eso, mediante la acción DECIR? - De dónde se va a obtener esa información: ¿sitio web? ¿app instalada? ¿otro? ¿como se puede obtener la información (método de comunicación/recepción)? - La información obtenida es relativa a un lugar y a un momento. ¿Lugar prefijado en el que vivo? ¿Lugar en donde se encuentre el dispositivo, utilizando ubicación cada vez? ¿Quiero obtener la previsión global semanal? ¿diaria, o de otro rango temporal? ¿Quiero obtener cada día tres previsiones (para mañana/tarde/noche)? ¿más previsiones? ¿menos? Una vez que se han concretado (al menos un poco) estos detalles, conviene hacer un esquema o diagrama de flujo de cómo va a funcionar la tarea, en líneas generales. Luego (fase de producción) se concretará cómo hacer la tarea mediante acciones concretas, pero en esta fase de pre-producción nos conviene concretar las líneas generales de la tarea y las secuencias principales del proceso. Al mismo tiempo, yo trataría de estudiar otras tareas similares que ya puedan existir, para ver cómo han enfocado todo lo dicho anteriormente, y ver si esas tareas tienen algún fragmento o idea aprovechable para este proyecto. Quizá sí, quizá no. Mitrhandir, si te parece, empiezas a currar en todos estos asuntos. Ve informando aquí de tus progresos, explicando por qué tomas tales o cuales decisiones, y preguntando las dudas o las cosas que desconozcas respecto a los detalles. Si tomas alguna decisión que nos parezca poco acertada, te lo diremos. Última edición por Caravantes Día 20/02/17 a las 12:23:51 |
Los siguientes 2 usuarios han agradecido a Caravantes su comentario: | ||
#4
|
@Caravantes, eres un crack! Estoy en ello, pero primero quiero tener claro lo que quiero, porque estoy descubriendo un mundo nuevo con esto.
Dame un ratito y lo expongo. Un saludo! |
#5
|
||||
|
||||
Si lo que quieres es mostrarlo visualmente y no mediante voz yo creo que es bastante mejor usar alguna app de widgets.
http://www.htcmania.com/showpost.php...6&postcount=62 http://www.htcmania.com/showpost.php...0&postcount=63 Más sencillo y cómodo, siempre que no pidas valores como presión atmosférica (el cual indirectamente viene incluido en la predicción del tiempo), radiación ultravioleta o polen, aunque sí humedad y velocidad/dirección del viento. Y en los casos que no viene una función para ello también es posible, dado que igualmente es posible usar análogos al HTTPGET de Tasker (o bien usar este y pasar los datos como variables externas). |
Los siguientes 2 usuarios han agradecido a danko9696 su comentario: | ||
#6
|
A ver, todo esto viene del grupo de Telegram de Tasker. Que literalmente los estoy volviendo locos
![]() Llevo una vida sencilla pero muchas veces ocurre que me voy a trabajar y como vivo tan feliz, pues le da por llover y eso me crea un problema, puesto que por mi sordera, llevo unos audífonos carísimos que no se pueden mojar bajo ningún concepto. De ahí viene esa tarea que quiero hacer. Entonces, por las mañanas o por las noches me da igual, me gustaría que Conchita (TTS) me dijera la temperatura, velocidad del viento y la previsión del tiempo. O que si, va a llover en las próximas horas, que lo diga. El método que se está hablando en el grupo de Telegram, es con http GET y está bastante avanzado, aunque si lo preferís, puede también intents mediante. Estoy abierto. Y por último, lo ideal sería que la tarea localice dónde está el dispositivo (%LOC). Quizás os de la sensación de que estoy jugando a 2 bandas, pero creo que es de justicia que los que realmente saben y me ayudan deben de llevarse todas las medallas y de paso, que los usuarios que nos visitan puedan hacer lo mismo que yo, paso a paso. Un saludo! |
#7
|
La localización que se guarda en %LOC es la obtenida por satélites (por GPS). Tarda bastante tiempo en situarte y, sobretodo, debes estar en un lugar desde el que se pueda ver el cielo…
Para obtener tu posición para conseguir la información meteorológica (actual o prevista) deberías utilizar la ubicación por antenas cercanas, %LOCN. És mucho más rápida (1 ó 2 segundos) y suficientemente precisa para tú propósito (entre 20 y 60 m.) Enviat des del meu Nexus 5 usant Tapatalk Última edición por cace0353 Día 20/02/17 a las 20:54:16 |
Gracias de parte de: | ||
#8
|
||||
|
||||
Cita:
Creo que debes ser tú quien tome esas decisiones, en función de lo complicado o difícil que resulte cada método, y en función del tipo de información que puedas obtener por una u otra vía. Sigue avanzando y cada poco le das un repaso a mi primer post para ver si vas teniendo respuestas a todas las cuestiones que he planteado como preproducción. Y nos vas contando. |
#9
|
||||
|
||||
Cita:
He tenido un problema parecido, necesitando saber si es probable que llueva o no, para llevar puesto equipamiento de lluvia al coger la moto. Pero si como yo, no necesitas predicción de un proveedor del tiempo muy específico (como puede ser el caso para alpinismo, por ejemplo), no veo mucho sentido usar Tasker para ello. |
#10
|
@cace0353 justamente lo de la localización me está llevando de cabeza. Sí es por red de datos, se queda como "enganchado" a la última ubicación. Tengo que tirar de GPS que sí funciona.
@Caravantes, creo que ya he contestado a tus preguntas, pero tú quieres algo más concreto. Bien. Por las mañanas o por las noches me da igual, me gustaría que Conchita (TTS) me dijera la temperatura, velocidad del viento y la previsión del tiempo del lugar donde estoy en 3/5 horas. Quiero hacerlo con http GET, porque es más versátil. Ahora quiero solucionar lo de %LOC @danko9696 sé que existen esas apps, pero los caminos más difíciles son los que más satisfacciones me dan. Es un aprendizaje! Un saludo! |
#11
|
Editado: Te transcribo 2 posts más abajo la última revisión de la tarea que se puede ejecutar sin Root ya que usa la acción SQL query embebida en la última versión de Tasker...
Última edición por cace0353 Día 21/02/17 a las 18:16:08 |
#12
|
||||
|
||||
Cita:
Yo soy un "adicto" a mirar el tiempo antes por la bici y ahora por la moto y mis widgets (con kwgt similar a zooper) en el móvil son para saber el tiempo actual y con avisos visuales si mañana me va a helar, si va hacer mucho viento o llover. Es mas como aerotrastornado tengo otro widget con el Metar y el TAFOR (informes de tiempo y predicción en aeronáutica). Con esto ya tengo una idea del tiempo que me va a hacer pero para afinar utilizo las app eweather con pronósticos por horas indicando cantidad de lluvia y probabilidad y ya para afinar app rain alarm o alarma de lluvia con la que se ve la evolución de las nubes y la cantidad de agua que llevan estas y tienes la posibilidad de tener notificaciones en base a una circunferencia de X km alrededor de donde estés. Al final la interpretación de esta última app es la que me "indica si me voy a mojar o no". Dicho esto como proyecto es muy interesante y te animo a seguir ya que aprenderás a obtener los datos de pagina webs. photo_2017-02-21_17-06-27.jpg Mi pantalla principal. Todos los elementos están dispuestos por mi con kwgt. DE izquierda a derecha en relación al tiempo: 15 temperatura actual (sale también el máximo), icono de tiempo actual. A la derecha rosa de los vientos con un avión indicando la dirección del viento y debajo (10) velocidad de este. El 30 marca la pista actual activa en el aeropuerto determinada por la dirección del viento (aerotrastornado). DEbajo temperatura max y mini de mañana y icono del tiempo. En un lateral que no sale están las alertas ya habladas no visibles si no las hay y visibles y en rojo si las hay. Y lo que queda es el otro widget que aparece cuando le doy a un acceso directo que me mostraria el METAR o en este caso el TAF, Cuya predicción es: LEZG (aeropuerto de Zaragoza) El 21 a las 11:00 Zulú válido desde el día 21 a las 12.00Z hasta el día 22 a las 12.00Z viento con dirección 280º 9Knts (16km/h +-), visibilidad 10000m, nubes escasas a 5000 pies, temperatura max el día 21 a las 14.00Z y temp mínima 4 el día 22 a las 07.00Z Había dicho que soy un aerotrastornado, no? ![]() |
Los siguientes 2 usuarios han agradecido a Xcso su comentario: | ||
#13
|
Hola @Mitrhandir,
Te cuelgo la última versión que tengo y que utiliza Sqlite embebido (la acción SQL Query) : Código:
Meteo (136) A1: Obtener ubicación [ Origen:Red datos Cuenta atrás (segundos):20 Continuar tarea inmediatamente:Encendido Mantener Seguimiento:Apagado ] A2: Establecer variable [ Nombre:%space A: Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A3: Establecer variable [ Nombre:%newline A: Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A4: Establecer variable [ Nombre:%avui A:%DATE Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A5: Establecer variable [ Nombre:%hora A:%TIME Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A6: Separar variable [ Nombre:%hora Separador:. Eliminar base:Apagado ] A7: Establecer variable [ Nombre:%hora A:%hora1:%hora2 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A8: Separar variable [ Nombre:%avui Separador:- Eliminar base:Apagado ] A9: Establecer variable [ Nombre:%avui1 A:0%avui1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %avui1 < 10 ] A10: Establecer variable [ Nombre:%avui2 A:0%avui2 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %avui2 < 10 ] A11: Establecer variable [ Nombre:%avui A:20%avui3-%avui2-%avui1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] <Cercar adreça del lloc a Google…> A12: Anchor A13: HTTP Get [ Servidor:Puerto:maps.google.com/maps/api/geocode/xml?sensor=true&latlng=%LOCN Ruta: Atributos: Cookies: User Agent: Cuenta atrás:10 Tipo Mime:text/xml Archivo de salida: Confiar en cualquier Certificado:Apagado ] A14: Establecer variable [ Nombre:%info A:%HTTPD Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A15: Separar variable [ Nombre:%info Separador:<type>postal_code</type> Eliminar base:Apagado ] A16: Separar variable [ Nombre:%info1 Separador:<type>political</type> Eliminar base:Apagado ] A17: Separar variable [ Nombre:%info15 Separador:</long_name> Eliminar base:Apagado ] A18: Separar variable [ Nombre:%info151 Separador:<long_name> Eliminar base:Apagado ] A19: Establecer variable [ Nombre:%codi_postal A:%info1512 Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] A20: SQL Query [ Modo:Formatted Archivo:Tasker/CODIS_METEO.db Table:CODIS Columns:CODI Consulta:POSTAL = %codi_postal Selection Parameters: Order By: Output Column Divider: Matriz de Variables (array):%codi_ine Usar Root:Apagado ] A21: Establecer variable [ Nombre:%codi_ine A:%codi_ine(1) Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A22: Establecer variable [ Nombre:%codi_ine A:0%codi_ine Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %codi_ine < 10000 ] <Obtenir dades meteo> A23: Anchor A24: HTTP Get [ Servidor:Puerto:www.aemet.es/xml/municipios/localidad_%codi_ine.xml Ruta: Atributos: Cookies: User Agent: Cuenta atrás:10 Tipo Mime:text/xml Archivo de salida: Confiar en cualquier Certificado:Apagado Continuar Tarea Tras Error:Encendido ] A25: Establecer variable [ Nombre:%result A:%HTTPD Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A26: Separar variable [ Nombre:%result Separador:<prediccion> Eliminar base:Apagado ] A27: Separar variable [ Nombre:%result1 Separador:</nombre> Eliminar base:Apagado ] A28: Separar variable [ Nombre:%result11 Separador:<nombre> Eliminar base:Apagado ] A29: Establecer variable [ Nombre:%municipi A:%result112 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A30: Si (if) [ %dema ~ %* ] A31: Separar variable [ Nombre:%result2 Separador:<dia fecha="%avui"> Eliminar base:Apagado ] A32: Else A33: Separar variable [ Nombre:%result2 Separador:</dia> Eliminar base:Apagado ] A34: Fin si (End if) … A partir de aquí haces la extracción de datos personalizada que quieras (hay varias en el foro) https://www.dropbox.com/s/x3at8yzvc8..._METEO.db?dl=0 PD en A30 hay una novedad: si establezco, antes de ejecutar la tarea desde un boton de una escena, la variable %dema a 1 la tarea hace la extracción de la previsión para mañana (corta la variable result2 a partir del final de la previsión para hoy en </dia> para obtener los datos a partir de este punto...) Esto permite establecer un commutador para que cada pulsación del botón alterna entre la previsión para hoy y para mañana. Enviat des del meu Nexus 5 usant Tapatalk Última edición por cace0353 Día 21/02/17 a las 18:18:25 |
Gracias de parte de: | ||
#14
|
@Xcso, mae mía, pero chico! Tú trabajas en la NASA o algo?
![]() @cace0353, sólo te puedo decir: buf! Ya me veo tropecientos mil mensajes eh, @WillyWeb? Que estás muy calladito y no sé si es bueno o malo! ![]() Vamos a hacer una cosa (si os parece bien). Cojo como base la tarea de cace y voy haciendo y resolviendo dudas sobre la marcha. Qué te parece @Caravantes? Esto va a estar muy entretenido! ![]() |
#15
|
||||
|
||||
Cita:
|
#16
|
|
Cita:
![]() Sólo unos apuntes... -Los consejos de Caravantes son oro puro para atacar cualquier proyecto. -La tarea de cace es un buen punto de partido. -Para extraer información de un archivo de texto (como los HTML y XML) mejor que la técnica de "separar variable" es usar RegExp. Más limpio y elegante. -Aunque AEMET (que es la agencia que ha usado cace) proporciona una buena predicción del tiempo yo la evitaría. Para sacar la información del sitio en el que te encuentras necesitas saber el código de esa zona y eso te complica un poco la vida. El HTTPGet al API de Maps y la consulta SQL son precisamente para hacer la conversión de "código postal" de tu localización al "código de zona" que requiere AEMET. Yo usaría un sitio que te proporcionase la predicción a partir de unas simples coordenadas (como las de %LOCN). Y si lo hace mediante un API y en XML mucho mejor. No lo dudes. ![]() |
#17
|
||||
|
||||
Cita:
Yo te había dicho: Hazte un proyecto y revisa las tareas existentes para ver si (de alguna de ellas) puedes aprovechar algo concreto que encaje con tu proyecto. Ahora me parece que... cogiendo de base la tarea de Cace, tu proyecto desaparece como tal: casi todas las ideas iniciales del proyecto, que habías comenzado a investigar... ahora quedarán bastante olvidadas y/o relegadas por ese cambio de planteamiento. De hecho el título del hilo también queda un poco obsoleto. Ya no se trata de "Cómo (aprender) a hacer una tarea...", sino de "Cómo cojo una tarea existente y la adapto", con menos esfuerzo -evidentemente-. Currarte el proyecto desde el principio (y desde cero, o casi) implicaría tomar un buen puñado de decisiones y valoraciones interesantes. Una de ellas (que yo esperaba con interés) es la que ha comentado Willy: Cita:
Mitrhandir: si te enganchas a la tarea de Cace, estás "saltándote" varias cuestiones de este tipo, que implican una investigación y una valoración y una decisión. También te vas a ahorrar mucho trabajo en las fases de producción (codificación de la tarea) y de postproducción, porque te ahorras incluso la corrección de errores, que Cace ya ha hecho. Evidentemente, ahorras mucho tiempo partiendo de la tarea de Cace, pero aprendes menos. Yo también tengo moto y la uso para ir al trabajo. He descargado una app que miro cada día, para saber si va a hacer mal tiempo y en ese caso prefiero ir en coche. Es el sistema perfecto para ahorrar tiempo, con el inconveniente de que no se aprende nada, ni de Tasker ni de otras cosas. Bueno, partir de otra tarea tampoco está mal. Seguro que aprendemos algo. Espero que al final hagas un post del tipo "Ventajas e inconvenientes de comenzar partiendo de una tarea hecha por otra persona". ![]() |
#18
|
Buenos días. Entiendo tu punto de vista y tienes razón. Como dice @WillyWeb, tus consejos son oro puro, así que te voy a hacer caso.
Empecemos. 00Scriplet (44) A1: Secure Settings [ Configuración:GPS Enabled Cuenta atrás (segundos):0 Continuar Tarea Tras Error:Encendido ] A2: Obtener ubicación [ Origen:GPS Cuenta atrás (segundos):10 Continuar tarea inmediatamente:Apagado Mantener Seguimiento:Apagado Continuar Tarea Tras Error:Encendido ] A3: Secure Settings [ Configuración:GPS Disabled Cuenta atrás (segundos):0 Continuar Tarea Tras Error:Encendido ] A4: Establecer variable [ Nombre:%pos A:%LOC Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Como veréis aquí, para ubicarme tiro de Secure Settings para encender el GPS durante 10 seg y después se apaga. ¿Porqué así? Porque por lo visto, parece ser que entre Moncófar (donde trabajo) y Burriana (donde vivo) no hay muchas antenas. O eso, o no lo hago bien. Tengo que decir que lo tengo todo activo (servicios de Google, ubicación, etc...). Pero que vamos, con el GPS, que como mucho se encenderá (de momento) 2 veces al día, no creo que la batería sufra mucho. Sí no hay nada que añadir, pasamos al siguiente punto. ![]() |
#19
|
||||
|
||||
Cita:
Si ya sabes cuales datos vas a usar, nos lo dices y comentas por qué. Si ya sabes cuál fuente de datos elegir, cuéntalo y explica por qué. Si ya sabes cómo vas a gestionar la ubicación y cómo vas a relacionar la ubicación con el servidor y los datos, pues nos lo dices y nos cuentas el plan. etc. También te he sugerido que hagas un esquema de la tarea. Algo así: 1º- Obtener ubicación y comprobarla (si no se ha obtenido una ubicación, mensaje de error y abortar tarea). 2º- Obtener datos meteo del servidor, y comprobar que los datos son correctos (en caso contrario reintentar hasta tres veces, o bien...). ... No quiero seguir porque creo que es preferible que lo hagas tú. También te recomendé repasar otras tareas similares que puedas encontrar, para ver si tienen algo aprovechable que encaje con tu proyecto. Eso es una investigación interesante, con sus decisiones, que puedes comentar aquí. En todo este proceso te iremos dando sugerencias. Por ejemplo, Cace te ha recomendado que uses ubicación por Red, Willy te aconseja no usar el servidor de Aemet, etc. A medida que vayas explicando tus dudas y tus decisiones, aparecerán más sugerencias sobre esos temas. Por último... Desde mi punto de vista, cuando entres en la fase de producción, antes de empezar a codificar acciones concretas... te conviene hacer listado preciso de las variables que vas a utilizar (variables globales y variables locales) con sus nombres específicos y teniendo claro qué información se alojará en cada variable. Última edición por Caravantes Día 22/02/17 a las 07:48:00 |
|
#20
|
|
Cita:
Y para localizar una alternativa a AEMET busca sobre esto ... api predicción meteorológica. |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 00:40:09 (GMT +2)
HTCMania: líderes desde el 2007