Tasker Para hablar de todo lo relacionado con la aplicación tasker


 
Herramientas
  #1  
Viejo 28/05/15, 09:26:12
Avatar de kenernest
kenernest kenernest no está en línea
Miembro del foro
Mensajes: 263
Compra y venta: (2)
 
Fecha de registro: oct 2007
Localización: Cadiz
Mensajes: 263
Modelo de smartphone: Oneplus One
Versión de ROM: Siempre Cyanogen
Tu operador: Vodafone
Mencionado: 11 comentarios
Tagged: 0 hilos
Activar mismo Perfil en distintas ubicaciones por red

Buenas foreros.

Os planteo la siguiente consulta porque no se me ocurre manera más eficiente (que seguro que la hay) de aplicarla

La idea es que cuando me acerque a determinadas ubicaciones, concretamente Juzgados (que me localizare mediante red de datos) lanzar un perfil de silencio y dejar el móvil en modo vibración.

De momento solo lo consigo creando un perfil por cada juzgado ( tengo 12 ya...)lo cual me vale, pero tengo la sensación de que puede hacerse en uno solo pero no soy capaz.

Espero que alguno pueda aportar alguna idea y así mejorar mis conocimientos.

Gracias
Responder Con Cita


  #2  
Viejo 28/05/15, 15:43:06
Avatar de Chua01
Chua01 Chua01 no está en línea
Usuario poco activo
Mensajes: 24
 
Fecha de registro: may 2015
Mensajes: 24
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Hola, te planteo una opción

Yo tengo un perfil que se llama firewall que se activa en mi casa, trabajo y coche.
Para activarlo he usado una variable que incremento cuando estoy en alguno de esos sitios y decremento cuando salgo.
El perfil lo tengo como estado de variable > 0. Lo tengo así porqué los lugares pueden solaparse, pero sería igualmente válido para tu caso. Tendrías que crear una ubicación por juzgado con la única tarea de incrementar la variable y después el perfil común por estado de variable con lo que quieres hacer...

Espero te sirva
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 28/05/15, 23:10:51
Avatar de cace0353
cace0353 cace0353 no está en línea
Usuario muy activo
Mensajes: 508
 
Fecha de registro: may 2010
Localización: Arenys de Mar (B)
Mensajes: 508
Modelo de smartphone: Pixel 8 Pro - 256 Gb.
Versión de ROM: Stock
Versión de Radio: Stock
Tu operador: Jazztel
Mencionado: 11 comentarios
Tagged: 0 hilos
Buena e ingeniosa solución, si señor…
Responder Con Cita
  #4  
Viejo 29/05/15, 20:46:33
Avatar de mlesir
mlesir mlesir no está en línea
Usuario muy activo
Mensajes: 2,263
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Versión de ROM: 4.4 Cyanogen
Tu operador: Pepephone
Mencionado: 36 comentarios
Tagged: 2 hilos
Pues yo no lo veo chicos.
Imposible utilizar un solo perfil con varias ubicaciones, en eso estamos de acuerdo pero...
La solución que propones chua al fin y al cabo sigue utilizando un perfil para cada ubicación pero es que además hay que sumarle el de valor de variable.
Yo la alternativa que le veo es 12 perfiles de ubicación. Lo que pasa es que aunque haya 12 contextos no tienen por que utilizar cada uno una tarea, pueden utilizar todos lo misma. Claro que siempre y cuando no quieras tener en cuenta en qué Juzgado estas.

La otra alternativa que se me ocurre es usar el plugin de Autolocation que no se si permite utilizar un solo contexto pero con varias ubicaciones.
Responder Con Cita
  #5  
Viejo 03/06/15, 12:48:56
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Muy buenas

Es mi primera intervención en este subforo, así que mis saludos/agradecimientos a todos los que participan activamente en el mismo.

Sobre la consulta de kenernest, tal y como te comenta mlesir, parece que Tasker no permite incluir varias coordenadas como disparador de un perfil. Eso no quiere decir que no se pueda hacer algo al respecto

Y sobre lo de usar una misma tarea desde varios perfiles, efectivamente es posible, incluso si necesitas saber desde qué perfil se ha lanzado

Yo suelo utilizar la misma tarea en la entrada y la salida de un perfil, incluso desde varios perfiles diferentes, y me funciona perfectamente. Simplemente tienes que analizar el array local predefinido "caller" que Tasker usa para guardar toda la secuencia de llamadas entre perfiles y tareas. En un caso como el que nos ocupa simplemente tendrías que analizar el valor "caller1" para saber qué perfil ha lanzado la tarea.

Supongamos que tienes perfiles de este tipo..

Juzgado-1
Juzgado-2
...

Y desde todos llamas a la tarea...

EnJuzgado

Si en la tarea necesitas saber si el disparador ha sido la entrada del perfil "Juzgado-1" haz una comprobación de este tipo...

%caller1 ~ profile*enter*1

Y para comprobar si es la salida del perfil cambia "enter" por "exit".
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 03/06/15, 15:31:38
Avatar de mlesir
mlesir mlesir no está en línea
Usuario muy activo
Mensajes: 2,263
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Versión de ROM: 4.4 Cyanogen
Tu operador: Pepephone
Mencionado: 36 comentarios
Tagged: 2 hilos
Joder Willy pues para ser la primera vez has entrado fuerte.
Es verdad lo que dices no me acordaba de que ahora es posible saber que perfil dispara la tarea.

Enhorabuena willy una idea cojonuda.
Responder Con Cita
  #7  
Viejo 03/06/15, 16:02:37
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Me alegra que te parezca buena idea

Antes he olvidado comentar que cuando se asocia la misma tarea a varios disparadores hay que tener en cuenta que podría lanzarse a la vez desde varios sitios si esos disparadores son concurrentes. Esto, que podría parecer un problema, si se gestiona bien da mucho juego. En los ajustes de la tarea se puede elegir si se aborta la tarea existen, la nueva, o si deja correr ambas a la vez.

Este no parece el caso, pero ojo con esas situaciones.

PD: Tengo una idea para comprobar varias ubicaciones con un único perfil, pero quiero hacer una prueba antes
Responder Con Cita
Gracias de parte de:
  #8  
Viejo 04/06/15, 00:09:32
Avatar de mlesir
mlesir mlesir no está en línea
Usuario muy activo
Mensajes: 2,263
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Versión de ROM: 4.4 Cyanogen
Tu operador: Pepephone
Mencionado: 36 comentarios
Tagged: 2 hilos
No sera utilizar javascript?
Responder Con Cita
  #9  
Viejo 04/06/15, 00:22:24
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
No necesariamente ... ¿por qué lo dices?

Aunque en este caso la esencia de la solución no está en usar JS he podido comprobar que en determinados cálculos se consigue más precisión y se mejora el rendimiento.
Responder Con Cita
Gracias de parte de:
  #10  
Viejo 04/06/15, 17:54:40
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Comprobar varias ubicación con un único perfil

Una vez verificados un par de detalles creo que ya tengo una posible solución al problema de "comprobar varias ubicaciones con un único perfil" que planteaba kenernest hace unos días.

Primero analicemos qué hace Tasker con un perfil de ubicación:
  • Definimos unas coordenadas X de tipo lat/lon
  • Definimos un radio R en metros
  • Definimos el método M preferido para obtener la ubicación
  • Cada T segundos (dependiendo de las "preferencias de monitoreo" con pantalla encendida/apagada) Tasker obtiene nuestra ubicación Y usando el método M
  • Tasker comprueba si esa ubicación Y está dentro/fuera del círculo de radio R con centro en X
  • Como consecuencia de la comprobación anterior Tasker lanza la tarea de entrada o salida correspondiente

Visto que Tasker no permite incluir más que una ubicación en cada perfil este tipo de disparador no nos sirve para nuestro propósito, así que tendremos que "recrear" todo lo que hace Tasker punto por punto y luego aplicar el procedimiento a esa lista de ubicaciones que queremos comprobar.

-La lista de coordenadas y radios

Las podemos meter en un archivo de texto y cargarlo desde la tarea o meterlas directamente en la tarea. Si el radio es el mismo para todas ellas la cosa se simplifica ligeramente.

-El método para obtener la ubicación

Con "red de datos", dentro de una ciudad y con el chequeo permanente de wifi de KitKat, se obtiene una precisión razonablemente buena para el caso que nos ocupa (entre 25 y 500 metro según mis pruebas). Tasker obtiene automáticamente esa ubicación y la guarda en la variable global predefinida %LOCN, así que no tenemos que hacer nada más que usarla cuando la necesitemos.

-Tiempo de monitoreo

Al no usar directamente el disparador de tipo ubicación los ajustes de monitoreo de Tasker no nos vale para nada.

Se me pasó por la cabeza usar los cambios automáticos de valor de %LONC como disparador, pero por lo que he podido verificar esos cambios automáticos son muy "impredecibles" y parecen ignorar las preferencias de Tasker. Con la pantalla encendida se producen cada pocos segundos (10 a 30) y con la pantalla apagada cada 10 minutos como poco.

-El disparador

Vista la forma en que Tasker actualiza la variable %LOCN automáticamente yo no usaría ese evento como disparador. Me parece mejor usar un temporizador al gusto del consumidor (digamos de 5 minutos) que lance la tarea a intervalos regulares. Se podría establecer un periodo de tiempo (el horario laboral). Determinado evento del calendario (laboral/festivo, citas anotadas). La proximidad de antenas cercanas. O la proximidad de una red wifi conocida.

-Saber si estamos dentro o fuera del círculo

Esto, que suena a "complicado que te cagas", en realidad es sencillo. La cosa es tan simple como calcular la distancia a la que estamos del punto X (repetir para cada punto de la lista) y comprobar si es mayor/menor que el radio R (que podría ser el mismo para todos los puntos).

-Calcular la distancia entre dos ubicaciones

Por lo que he visto el tema de "calcular la distancia entre dos ubicaciones" ya se ha tratado varias veces en el foro (Caravantes lo explica aquí, por ejemplo). Casi siempre se propone usar el teorema de Pitágoras (supongo que por su sencillez) pero lamento decir que es una solución incorrecta que ignora algo evidente. La tierra es redonda.

El teorema de Pitágoras es aplicable sobre un plano con un sistema de coordenadas formado por líneas paralelas, y ese no es el caso de sistema lat/lon. A cortas distancias y cerca del ecuador eso podría ser una aproximación aceptable, pero a medida que aumente la distancia entre los puntos o te alejes del ecuador el error puede llegar a ser enorme.

La forma correcta de medir la distancia entre dos ubicaciones (la distancia ortodrómica) es usando la "Trigonometría Esférica". Suena mucho peor de lo que es y se puede resolver con una ecuación relativamente sencilla.

Mi propuesta sobre este particular es construir una tarea que se comporte como la típica función de los lenguajes de programación. La llamas desde cualquier parte que la necesites pasando como parámetros dos coordenadas, hace su magia, y nos retorna la distancia entre ellas. Ya hace tiempo que me hice una tarea/función de este tipo. Incluso la tengo hecha con Tasker puro y con JavaScript. Esto lo podíamos tratar en otro tema para no seguir engordando este, que ya lleva lo suyo.

RESUMIENDO

Un ÚNICO disparador por tiempo complementado con horario laboral, calendario, antenas y wifi cercanos. Eso debería garantizar una precisión y eficacia más que aceptable.

Una lista de coordenadas (en un archivo o directamente metidas en la tarea).

Ubicación propia obtenida de la variable global automática %LOCN.

Medición de la distancia entre la ubicación propia y cada una de las ubicaciones de la lista (con una tarea pendiente de explicar, si os interesa). En cuanto una de ellas sea menor que el radio elegido lanzamos la tarea que queramos (el cambio a modo silencioso que propone kenernest). Esto sería el equivalente a la tarea de entrada de un perfil de ubicación típico.

Y para terminar, el equivalente a la tarea de salida de un perfil de ubicación. Si una vez recorrida toda la lista de ubicaciones no estamos lo bastante cerca de ninguna lanzamos otra tarea que desactive el modo silencioso.

Creo que no me olvido de nada

Última edición por WillyWeb Día 04/06/15 a las 19:58:53 Razón: Añadir un par de aclaraciones más.
Responder Con Cita
Los siguientes 3 usuarios han agradecido a WillyWeb su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #11  
Viejo 05/06/15, 02:55:33
Avatar de mlesir
mlesir mlesir no está en línea
Usuario muy activo
Mensajes: 2,263
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Versión de ROM: 4.4 Cyanogen
Tu operador: Pepephone
Mencionado: 36 comentarios
Tagged: 2 hilos
Guau! Impresionante. Enhorabuena si señor.
Responder Con Cita
  #12  
Viejo 05/06/15, 21:57:18
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Comprobar varias ubicación con un único perfil

Como veo que nadie se lanza, y el autor de la consulta no ha dado señales de vida, me he puesto al tema y esto es lo que he conseguido en diez minutos...

Código:
Perfil: ChkListaLoc (999)
	Hora: Desde 08:00 cada 5m Hasta 15:00
Entrada: ChkListaLoc (888)
	A1: Establecer variable [ Nombre:%miloc A:%LOCN ] 
	A2: Establecer variable [ Nombre:%radio A:500 ] 
	A3: Leer Archivo [ Archivo:ChkListaLoc.txt A la variable:%loc ] 
	A4: Establecer variable [ Nombre:%newline A:retorno-de-carro ] 
	A5: Separar variable [ Nombre:%loc Separador:%newline ] 
	A6: For [ Variable:%loc Ítems:%loc() ] 
	A7:   Realizar tarea [ Nombre:DistLatLon Prioridad:%priority Parámetro 1 (%par1):%miloc Parámetro 2 (%par2):%loc Devolver Valor de Variable:%dist ] 
	A8: Si (if) [ %dist < %radio ]
	A9: Anchor <cerca-una>
	Poner aquí todo lo que se quiera como tarea de entrada
	A10: Detener [ Con error:Apagado Tarea: ] 
	A11: Fin si (End if) 
	A12: End For 
	A13: Anchor <cerca-ninguna>
	 Poner aquí todo lo que se quiera como tarea de salida
Y el archivo con las localizaciones que se quiere comprobar tendría esta pinta...

Código:
40.411568,-3.694134
40.408170,-3.701343
40.403856,-3.708382
40.395490,-3.711815
40.434438,-3.705807
40.417972,-3.621693
* ¡¡ Ojo !! ... tal y como está la tarea no se deben dejar líneas en blanco

* La tarea DistLatLon está explicada en este artículo.

POSIBLES MEJORAS

-Controlar si existen líneas en blanco en el archivo de localizaciones
-Añadir un radio para cada ubicación en vez de usar uno global
-Tener en cuenta la precisión de la ubicación como margen de error

Eso es todo amigos ...

Última edición por WillyWeb Día 08/06/15 a las 22:53:26 Razón: Añadido enlace al artículo para calcular la distancia
Responder Con Cita
Los siguientes 4 usuarios han agradecido a WillyWeb su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #13  
Viejo 20/06/15, 11:01:34
Avatar de kenernest
kenernest kenernest no está en línea
Miembro del foro
Mensajes: 263
Compra y venta: (2)
 
Fecha de registro: oct 2007
Localización: Cadiz
Mensajes: 263
Modelo de smartphone: Oneplus One
Versión de ROM: Siempre Cyanogen
Tu operador: Vodafone
Mencionado: 11 comentarios
Tagged: 0 hilos
Buenas!! Doy señales de vida!! Es que me he casado y hasta hace 2 días no he vuelto del viaje de novios

En primer lugar agradecer todas las respuestas, ahora me pongo a verlas y comento que me ha salido.

A mas de uno contactare por privado porque me interesa actualizar mi bufete intentando que todos los dispositivos (pcs, móviles y tabletas) se sincronicen empleando owncloud como servidor y tasker para automatizar cosas con los dispositivos android.

Por supuesto, ni que decir tiene, que eso lleva implícita alguna donación vía PayPal.

Alguien interesado??
Responder Con Cita
  #14  
Viejo 20/06/15, 11:48:38
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por kenernest Ver Mensaje
Buenas!! Doy señales de vida!! Es que me he casado y hasta hace 2 días no he vuelto del viaje de novios
¿Y qué haces aquí hombre? ... corre con tu mujer y deja esto para otro momento

Ahora en serio, enhorabuena

Y sobre tu proyecto, pues cuenta lo que quieres hacer y lo mismo "alguien" te puede ayudar.
Responder Con Cita
Gracias de parte de:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 20:25:51 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007