|
||
|
#21
|
||||
|
||||
|
Buenas!
He leído 3/4 veces tu primer post @Caravantes y voy a tratar de responder a tus preguntas. - 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?... -Quiero la temperatura actual, el tiempo actual (despejado, nublado, lloviendo, etc.. .) y la previsión meteorológica para las próximas 3/5 horas. - 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? -Quiero usar 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)? -Quiero usar una web - 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? -Quiero que me ubique primero y si puede ser, cada 3/5 horas Creo que ya he contestado a tus preguntas. Disculpa si no acierto a responder lo que tú esperas. @WillyWeb, la ubicación por red a mí no me ubica como debiera. Ahora estoy trabajando en Moncófar y cuando vaya Burriana, que está a unos 10/15 Kms, y ejecuto la misma acción, me dice que estoy en Moncófar, cuando estoy en Burriana. Sin embargo, si lo hago con el GPS, lo clava. Porqué puede ser? Hay que limpiar la variable %LOC? @Caravantes no te mosquees, ten en cuenta, que entre casa, trabajo y 3 niños (de momento) no me queda mucho tiempo. Espero que seas comprensivo. Un saludo!
__________________
Si la educación te parece cara, prueba con la ignorancia.
|
|
|
|
#22
|
||||
|
||||
|
... la ubicación por red a mí no me ubica como debiera. Ahora estoy trabajando en Moncófar y cuando vaya Burriana, que está a unos 10/15 Kms, y ejecuto la misma acción, me dice que estoy en Moncófar, cuando estoy en Burriana. Sin embargo, si lo hago con el GPS, lo clava. Porqué puede ser? Hay que limpiar la variable %LOC?
![]()
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#23
|
||||
|
||||
|
He estado leyendo otros post sobre este tema y no veo cuál es mi problema. Lo tengo todo activo (servicios de Google, ubicación, etc..) y estoy en Burriana y sigue con que estoy en Moncófar
__________________
Si la educación te parece cara, prueba con la ignorancia.
|
|
#24
|
||||
|
||||
|
Tasker no te dice "dónde" estás, así que eso lo estas viendo en otra parte, tal vez en un un widget ¿...?
No hagas caso de eso y usa la variable %LOCN como te he dicho. Deberías conseguir una precisión más que aceptable para saber el tiempo de la zona en la que te mueves.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#25
|
||||
|
||||
|
Respecto a la ubicación, sigue haciendo pruebas y dialogando aquí para ver si encuentras la forma de ubicar por red. Si no fuera posible habría que usar la ubicación GPS, y tampoco sería grave porque una ubicación puntual cada 4 horas no va a gastar mucha batería. Ahora me estoy acordando de que el compañero Malkair hizo una tarea que intentaba la ubicación por ambos métodos (red y GPS), y la tarea finalmente comparaba la precisión de ambos métodos, quedandose con la ubicación que hubiera tenido más precisión. http://www.htcmania.com/showthread.php?t=698029 Yo te recomendaría utilizar ese método de Malkair, adaptándolo a tu caso concreto. Si lo haces así, también te recomiendo hacer una tarea o subtarea independiente para eso de la ubicación. Luego, la tarea principal puede llamar a esa subtarea para obtener de ella la ubicación, todo ello en una sola acción de la tarea principal. De esta forma la tarea principal queda más límpia y fácil de mantener. ¿Has pensado o investigado algo más concreto? Willy te dijo que podías buscar por "api predicción meteorológica". Puesto que alguno de los datos que quieres no son futuros sino actuales, yo propondría una pequeña corrección, buscando por "api información meteorológica"; Mira a ver que vas encontrando que pueda servir para lo que tú quieres, y nos vas contando. No te preocupes por mi paciencia, tengo mucha, y además no tenemos ninguna prisa. Creo que ahora sí estás entendiendo el método que te he propuesto. Adelante.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
|
#26
|
||||
|
||||
|
Bueno, lo de la localización por red está solucionado (y paso he descubierto un mundo nuevo
)@Caravantes, ves? No he sido preciso. Con lo de la previsión meteorológica me refiero a si va a llover, si va a hacer sol, etc... Vale. A1 me ubico A2 pop-up con %LOCN (el flash no me va, no sé porqué. Será por el launcher según @WillyWeb) A3 ¿sería separar variable o http GET? Lo de la API parece ser bastante fiable Weather Undergroung, pero estoy muy abierto a opiniones. Un saludo!
__________________
Si la educación te parece cara, prueba con la ignorancia.
|
|
#27
|
||||
|
||||
![]() ![]() ¿En qué página esta la documentación del API? ¿Cómo se hacen las llamadas/consultas? ¿Qué tipo/formato de información entrega el API? ¿Es gratis? ¿Requiere registro? Piensa que lo que estás haciendo tiene que servir de ayuda para que otro aficionado a Tasker que busque algo como lo que quieres hacer.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#28
|
||||
|
||||
|
No es un secreto. Simplemente estaba haciendo las cosas mal (para variar). Estaba ejecutando un http GET mal.
La elección de esta página es por los comentarios del grupo de telegram, pues parece que tenga buena aceptación. Pero que vamos, estoy muy abierto a otras posibilidades eh? ¿En qué página esta la documentación del API? Aquí: https://espanol.wunderground.com/weather/api Sí mal no recuerdo hay que mandar un correo para que te manden tu API a tu correo electrónico. ¿Cómo se hacen las llamadas/consultas? Con la acción http GET en servidor:puerto habría que poner algo parecido a esto: https://espanol.wunderground.com/cgi...ast?query=%LOC Y crear un archivo de salida (weather.txt,por ejemplo) para que almacene el resultado en xml. ¿Es gratis? Completamente. ¿Requiere registro? Naturalmente, de lo contrario, no te mandan el API. Espero haber respondido a todas las preguntas bien! Un saludo!
__________________
Si la educación te parece cara, prueba con la ignorancia.
|
|
#29
|
||||
|
||||
|
Sigues usando la variable %LOC y eso te obliga a conseguir la ubicación por GPS... mala idea.
Lo que consigues al registrarte es un "API KEY" (un código de acceso) que tienes que añadir en todas las consultas al API. La documentación está aquí... https://espanol.wunderground.com/weather/api/d/docs (en inglés) En la documentación las URLs de los ejemplos comienzan así... http://api.wunderground.com/api/Your_Key... ¿Seguro que esa URL que has puesto es correcta? ¿Seguro que puedes hacer una consulta de las condiciones actuales usando como ubicación unas coordenadas?
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#30
|
||||
|
||||
|
No, estoy usando %LOCN. Pero ya llegaremos a eso.
¿Seguro que esa URL que has puesto es correcta? Perdón. Error mío. https://espanol.wunderground.com/cgi...st?query=%LOCN Estoy usando esta url y me va bien. Mañana en el curro confirmaré que ubica como toca. ¿Seguro que puedes hacer una consulta de las condiciones actuales usando como ubicación unas coordenadas? En un principio sí, aunque no tengo muy claro si hay que separar la variable %LOCN para tener la latitud y longitud por separado. De ser así, habría que establecer variable %Locn (por ejemplo) a %LOCN. Luego separar variable %Locn con una "," y para verificar, un pop-up de %Locn1 y otro de %Locn2 para estar seguro de que la variable se ha separado. Miedito tengo...
__________________
Si la educación te parece cara, prueba con la ignorancia.
|
|
#31
|
||||
|
||||
|
Al hablar del servidor dices que lo has elegido porque te parece "fiable". Además tienes que asegurarte de que ese servidor te aporta todos los datos meteorológicos que tú quieres utilizar. Lo normal es que primero hagas un HTTP GET para obtener (de un golpe) el conjunto de datos que te da el servidor, y eso quedaría guardado en una variable de Tasker. Luego habría que usar acciones SEPARAR VARIABLE para ir despiezando el bloque en trocitos que tengan cada uno de los datos que tú necesitas. Finalmente, sería combinar esos datos en una frase o texto (similar al ejemplo que te pido) y finalmente la acción DECIR vocalizará ese texto. Antes de todo eso tienes que aprender a consultar el servidor, como te ha indicado Willy. Es clave que puedas hacer la consulta para un lugar determinado (municipio o coordenadas). Supongo que la documentación de la api explicará cómo hacerlo. Seguramente te convenga hacer pruebas con un navegador de ordenador, para que hagas sucesivas pruebas modificando la consulta (URL con variaciones en la ubicación) y para que veas claramente el chorro de datos que te devuelve el servidor.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
|
#32
|
||||
|
||||
![]() Esa URL que estás usando... https://espanol.wunderground.com/cgi...0443,-0.084979 ...abre la página web que ofrece WU para esas coordenadas (las de Burriana en mi ejemplo). Eso no es usar un API. Un API de este tipo entrega un archivo (normalmente con formato JSON o XML) con los datos que has solicitado. Lo que estás obteniendo es una página web con mucho código HTML que tendrás que procesar. Y si miras ese código comprobarás que no es tarea fácil. Parte de los datos se cargan con AJAX y no están "localizables" a simple vista. Y hablando de "procesar"... nada de dividir variable, los datos los vas a sacar con RegExp o con JavaScript, como un profesinal. ![]() Repito a pregunta... ¿Seguro que puedes hacer una consulta de las condiciones actuales usando como ubicación unas coordenadas? ...y la respuesta está en la documentación del API. ¿por...?
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) Última edición por WillyWeb Día 24/02/17 a las 08:16:43. Razón: Añadir más comentarios. |
|
#33
|
||||
|
||||
|
http://api.openweathermap.org/data/2...098818c88cbd6b
Vale, estaba confundido con la url. Esta es la que utilizo (con mi API) A con sólo unas coordenadas, por sí solas no nos dicen el tiempo (obviamente), pero si almacenamos el resultado de la llamada a la API en un archivo (weather,txt,por ej), luego mediante separar variables, podemos diseccionar y extraer la información que queremos y a su vez, almacenarlo en una variable. No molas. Has pasado de las palomitas al látigo!
__________________
Si la educación te parece cara, prueba con la ignorancia.
|
|
#34
|
||||
|
||||
|
Pero esa llamada es a la api de openweather compi.
De todas formas estás a 14 kilómentros si te detecta en moncofar, a lo mejro es debido a que la estación meteorológica está ubicada en Moncofar, o que la precisión del gps no es muy acertada. Volviendo a lo de la api, tienes que elegir una Weather Underground O Openweather, yo te recomendé Openweather porque el registro era un pelín más sencillo, y la información que tu pedías, era si va a llover o no, pues te bastaba con la que daba Openweather. Tienes que tener en cuenta que cada página web, tiene su sistema organizado de una manera, y una llamada a la API de un servicio es distinta a la de otro. Creo que tu estás confundiendo el directamente descargar el código HTML de una web mediante el http get, a hacer una llamada a la API de dicha web, que son cosas distintas. Si un servicio dispone de una API, suele ser más sencillo hacer HTTP GET a la api, que bajar el código y trocearlo buscando partes de el que no se repitan. Ahora veamos la respuesta de la API de OpenWeather, para las siguientes 5 horas Código:
{
"city": {
"id": 2513700,
"name": "Moncofar",
"coord": {
"lon": -0.14701,
"lat": 39.809071
},
"country": "ES",
"population": 0
},
"cod": "200",
"message": 0.0115,
"cnt": 1,
"list": [
{
"dt": 1487937600,
"temp": {
"day": 15.7,
"min": 4.75,
"max": 16.43,
"night": 4.75,
"eve": 11.51,
"morn": 10.35
},
"pressure": 980.27,
"humidity": 94,
"weather": [
{
"id": 500,
"main": "Rain",
"description": "lluvia ligera",
"icon": "10d"
}
],
"speed": 2.72,
"deg": 333,
"clouds": 20
}
]
}
Tras esta cabecera, vienen los datos que nos interesan, bajo el "apartado" list. Ahí tenemos una estructura de datos que se puede procesar con JS, REGEX o un plugin como autotools. Yo suelo usar Autotools por la facilidad que me ofrece y mi desconocimiento sobre JS o REGEX. En cuanto a los datos que ofrece, tienes las temperaturas en cada momento del día así como las máximas y mínimas Código:
"temp": {
"day": 15.7,
"min": 4.75,
"max": 16.43,
"night": 4.75,
"eve": 11.51,
"morn": 10.35
}
Código:
"pressure": 980.27,
"humidity": 94,
"weather": [
{
"id": 500,
"main": "Rain",
"description": "lluvia ligera",
"icon": "10d"
}
]
Un saludo Edito: Tambien tienes la hora para la cual es la predicción, bajo el apartado "dt": 1487937600, solo te queda transformarlo a la fecha y hora habituales.
__________________
Tutorial sobre el mundo de las roms GNexus
Las OTA's llevan a la ira, la ira lleva al flaseo, el flaseo lleva al lado oscuro de Android. Última edición por fus Día 24/02/17 a las 10:26:31. |
| Los siguientes 2 usuarios han agradecido a fus su comentario: | ||
|
#35
|
||||
|
||||
... pero ha funcionado, ¿no?![]() Yo diría que el resultado parece un archivo con formato JSON. Seguramente eso lo aclara la documentación. ![]() Si es JSON eso es relativamente sencillo de procesar desde JavaScript. Busca en Google (o dónde quieras) cómo hacerlo.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#36
|
||||
|
||||
|
Sí, es JSON y llamada de la API nos devuelve un montón de cosas (temperatura,velocidad del viento,etc...) entonces mediante la acción javascriptlet podemos extraer esos datos.
Voy bien? Ostras, @fus, pues entonces, me quedo con openweather!
__________________
Si la educación te parece cara, prueba con la ignorancia.
Última edición por Mitrhandir Día 24/02/17 a las 11:03:18. |
|
#37
|
||||
|
||||
|
No me había dado cuenta de tu respuesta. Me has ganado por la mano.
![]() ![]() Creo que tu estás confundiendo el directamente descargar el código HTML de una web mediante el http get, a hacer una llamada a la API de dicha web, que son cosas distintas. Si un servicio dispone de una API, suele ser más sencillo hacer HTTP GET a la api, que bajar el código y trocearlo buscando partes de el que no se repitan.
![]() Procesar un JSON es muy sencillo. Necesitas una única acción de Tasker y tres o cuatro líneas de JavaScript.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#38
|
||||
|
||||
|
Sí, es JSON y llamada de la API nos devuelve un montón de cosas (temperatura,velocidad del viento,etc...) entonces mediante la acción javascriptlet podemos extraer esos datos.
Voy bien? Ostras, @fus, pues entonces, me quedo con openweather! ![]() ![]() Y los resultados de WU y OW no son muy diferentes, así que podrías usar cualquiera de los dos sin demasiadas complicaciones.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
|
#39
|
||||
|
||||
|
Vale, tiremos por openweather, porque ya tengo la API. Hasta aquí todo claro, pero es a partir de aquí cuando ya es terreno muy desconocido para mí. Qué hago con la devolución del API? Javascript? Ni idea.
Hay que tener en cuenta que para mí el lenguaje de programación me suena a chino, así que, tened compasión conmigo y los lectores: somos dummies!
__________________
Si la educación te parece cara, prueba con la ignorancia.
|
|
|
|
#40
|
||||
|
||||
|
No me había dado cuenta de tu respuesta. Me has ganado por la mano.
![]() Si está usando la ubicación por RED es posible que ese sea el origen del problema (que no es un problema en este caso) ya que se basa en las antenas de telefonía y las posiciones de los WiFi que tengas cerca y que Google tenga registrados. O sea, que la culpa de que nos cambie de WU a OW sin avisar es tuya ... vale, vale ![]() Creo que eso ya está aclarado. Ahora está usando una llamada al API en vez de tirar de la página web. Procesar un JSON es muy sencillo. Necesitas una única acción de Tasker y tres o cuatro líneas de JavaScript. ![]() Y lo de JS ya sé que es mucho más fácil, pero es que la app que yo uso no permite JavaScript (Automagic), y aún no he dado JS en mi grado así que ando perdido, pero aunque imagino que no será´muy dificil, para alguien que no sabe nada de código, es todo un mundo, así que yo creo que la mejor opción para mith es usar el plugin autotools, que te permite parsear los json de manera bastante sencilla.
__________________
Tutorial sobre el mundo de las roms GNexus
Las OTA's llevan a la ira, la ira lleva al flaseo, el flaseo lleva al lado oscuro de Android. |
![]() |
Estás aquí
|
||||||
|
||||||