Acceder

Ver la Versión Completa : [ SOLUCIONADO ] Conflicto entre tareas de Whatsapp por tiempo de espera al salir.


JrssLu
03/09/13, 13:35:13
Hola a todos.
Uso una tarea para que se conecte a wifi (datos lo dejamos aparte) durante 3 minutos cada 15 minutos durante ciertas horas del día siempre que no esté wifi conectado.
Hasta ahí una tarea sencilla:
-Contexto: Lun a dom de 10a23:45 cada 15 minutos; Wifi No conectado.
-Tarea entrada: Wifi on; espera 3min; Wifi off.
Con el contexto del Wifi para que no me lo apague si yo lo he encendido a mano.

Luego tengo otra tarea para Whatsapp, para que al entrar se conecte y espere un rato al salir por si hay alguna respuesta:
-Contexto: Whatsapp, Wifi no conectado.
-Tarea entrada: Wifi on.
-Tarea Salida: Wifi on; espera 5minutos; wifi off

El problema que tengo es que si entro para ver un mensaje o mandar alguno y no está conectado el wifi, entonces se activa la tarea whatsapp. Salgo al acabar y es muy posible que tenga que volver a entrar, pero ahí, como casi seguro que estará el wifi activo, la tarea whatsapp no se activará, por lo que al cabo de 5 minutos de haber entrado la primera vez, se apagará fijo.

Había pensado en poner una acceso aparte en el movil para que active wifi y crear una variable que controle el apagado del wifi. Pero si hay algo que pueda poner en algún sitio de las tareas ya hechas para que eso sea así, sería mejor. Es que no se me ocurre nada, aunque tampoco tengo tanta experiencia en Tasker.
Espero haberme explicado.

Gracias y salu2.

Caravantes
03/09/13, 17:11:12
Hola JrssLu. Creo que no te he visto antes por aquí. Bienvenido al foro de Tasker. Si todavía no lo has hecho, te sugiero la lectura de las "Recomendaciones para participar"
http://www.htcmania.com/showthread.php?p=8982303

Espero haberme explicado.
Has explicado bastante bien lo que tienes hecho. Lo que no estoy tan seguro de haber entendido es lo que quieres mejorar o arreglar. Supongo que sea lo siguiente: no quieres que la tarea de salida de Whatsapp se ejecute (espera 5minutos; wifi off) si has vuelto a entrar en el Whatsapp una segunda vez (durante esos 5 minutos).
Creo que tienes dos formas de resolverlo, no excluyentes:

A) Supongamos que las tareas se llaman WhatsappEntrada y WhatsappSalida. En la tarea WhatsappEntrada insertas en primer lugar una acción "Detener tarea WhatsappSalida", cosa que no tendrá ninguna consecuencia si esa tarea WhatsappSalida no estaba en marcha. Pero si estaba en marcha, la tarea de entrada abortará la tarea WhatsappSalida que estaba seguramente en la pausa de 5 minutos y por tanto ya no se ejecutará la acción Wifi OFF. Luego, cuando salgas de Whatsapp se iniciará una nueva tarea de salida y por lo tanto se volvierá a iniciar la pausa de 5 minutos, tras la cual sí se ejecutará Wifi OFF (salvo que vuelvas a entrar en Whatsapp). Creo que esta es la mejor opción para tu caso.

B) En la tarea WhatsappSalida, en las propiedades de esa tarea... puedes especificar el comportamiento ante incompatibilidades. Se refiere al caso de que la tarea vuelva a ser invocada cuando aún está en marcha una instancia anterior de la misma tarea. Por defecto, la opción de Tasker es ABORTAR LA NUEVA TAREA y seguir ejecutando la tarea que ya estaba funcionando, pero puedes elegir la opción contraria: ABORTAR LA TAREA ANTERIOR QUE TODAVÍA ESTABA EN MARCHA y comenzar a ejecutar la tarea nueva.

Si necesitas más ayuda... recuerda indicar la versión de Tasker que tienes (supongo que será la antigua por el HTC Desiré que tienes en el perfil).

JrssLu
03/09/13, 18:46:24
Muchas gracias por la respuesta.
En el foro si miré sobre tasker hace mucho, pero antes de que se hiciera el subforo (siglos atrás..) Ya digo que lo he usado poco, aunque en su momento si trasteé algo más.
La versión que uso es efectivamante la antigua, se me olvidó ponerlo.

Sobre el tema del post, hay un problema con esas soluciones (que estoy probando), y es que una condición que hay es que si wifi on, no se ejecutan, por lo que no tendrían opción de actuar.
Lo que me has puesto de "Detener tarea WhatsappSalida" (buscando supongo que es ejecutar tarea y seleccionar parar) no lo había visto y estoy trasteando un poco a ver si saco algo por ahí, quitándole el condicionante de no funcionar si wifi on en un nuevo perfil. De todas formas algo más tendré que ponerle, ya que en teoría si elimina el apagado del wifi, al no ejecutarse el perfil whatsapp, no se volvería a ejecutar la tarea de salida whatsappsalida.

Lo dicho, voy a ver si le doy alguna vuelta más con esta opción y ya pondré algo.

Salu2.

Lukevalci
04/09/13, 12:35:16
La acción a la que hace mención Caravantes es "Detener", que se encuentra en la categoría "Tarea" de la versión V4.1u3. En la tuya no recuerdo bien dónde estaba

JrssLu
04/09/13, 13:15:44
Bueno, probando ya cosas en serio, me di cuenta que aparte del fallo que preguntaba había otro (que se corrige con lo mismo que me habeis puesto) que era al estar por segunda (o tercera) vez dentro de Whatsapp, que el temporizador se anulara para que no apagase el wifi dentro del propio whatsapp.

Decir que el perfil que puse antes era uno que había dejado como menos problematico, ya que en su momento probé bastantes cosas, pero al final me liaba y acababa con tareas enormes y que casi iban peor:facepalm:

Ayer me puse desde cero y al final he salido con esto, que creo que lo resuleve todo (al menos en las pruebas que he hecho):

-Contexto: Whastapp (aqui he quitado lo de wifi no conectado ya que al volver a entrar no funcionaría nada del perfil)

-Tarea de entrada:
1.Stop Tarea de salida.
2.Goto Acción nº5 si %WHATS distinto de 0
3.Variable set %WIF a 0 si %WIFI=off
4.Variable set %WIF a 1 si %WIFI=on
5.Variable set %WHATS a 2 si %WHATS=1
6.Stop si %WHATS=2
7.Variable Set %WHATS a 1 si %WIF=0
8.Stop si %WIF=1
9.WIFI a on

-Tarea de Salida:
1.Stop si %WIF=1
2.Varible set %WHATS a 1 si %WHATS=2
3.WIFI a on
4.Wait 5 min
5.Variable set %WHATS a 0

La verdad es que ahora lo miro y casi me lio yo mismo, pero ha salido todo por las veces que se puede volver a entrar una y otra vez.

Gracias a todos por la ayuda.:ok:
Si veis algun fallo no dudeis en decirlo.
Salu2.

Caravantes
04/09/13, 14:16:17
me di cuenta que aparte del fallo que preguntaba había otro (que se corrige con lo mismo que me habeis puesto) que era al estar por segunda (o tercera) vez dentro de Whatsapp, que el temporizador se anulara para que no apagase el wifi dentro del propio whatsapp.

De esa frase deduzco que... lo que yo creía que era tu problema inicial solo es un problema secundario... y creo que sigues sin concretar claramente cuál es el problema principal.

Por la forma en que expones tus tareas deduzco que tienes el Tasker en inglés. Esto también puede suponer alguna dificultad al comentar acciones (Detener=Stop, etc).

Considera la posibilidad de usar grupos Si/If como el siguiente. Pueden hacer que la tarea sea más comprensible y más fácil de mantener o modificar, aunque eso va en gustos.

-Tarea de entrada:
1.Stop Tarea de salida.
2.Si/If %WHATS = 0
3...Variable set %WIF a 0 si %WIFI=off
4...Variable set %WIF a 1 si %WIFI=on
5. Endif
6.Variable set %WHATS a 2 si %WHATS=1
7.Stop si %WHATS=2
8.Variable Set %WHATS a 1 si %WIF=0
9.Stop si %WIF=1
10.WIFI a on

JrssLu
04/09/13, 14:47:27
De esa frase deduzco que... lo que yo creía que era tu problema inicial solo es un problema secundario... y creo que sigues sin concretar claramente cuál es el problema principal.Realmente el problema al final es el mismo pero visto de 2 formas distintas. Pero vamos, lios mios a la hora de explicarme. Simplemente era intentar que siempre que estuviera en whatsapp tener wifi sea cual sea la circunstancia.

Tienes razón con lo de los grupos If. Realmente en 2 cosillas más que tengo es lo que he usado, pero en este empecé con los Stop (Detener) y lo que hacía era ir parcheando y por eso quedó así.

Gracias por echarle un vistazo.

Lo del tasker en inglés es porque al empezar a usar una vez la variable %wifi, esta respondia a encendio o apagado en vez de on y off, que son más cortos.

Salu2