|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
ayuda para que no se repita una tarea o perfil
Buenas
A ver si me podeis echar una mano con tasker. Tengo un perfil llamado "perfil" que ejecuta dos tareas dependiendo el estado cargando cualquiera. Uno es para cuando conectas el cargador (tarea dar) y la otra tarea (tarea quitar) para cuando desconectas el cargador (cargando cualquiera invertir) quedando así: ![]() Hasta ahi todo bien. Lo que quiero es que dentro de la tarea "dar" haga un intent a una aplicacion con la condición que esté cargando el dispositivo. He intentado buscar un "if" con el estado cargando pero no lo he encontrado. Lo que entonces pienso que se puede hacer es el if con la tarea funcionando. Me explico. El problema está en que cuando se pone a cargar la tablet, por un breve espacio de tiempo el cargador se apaga y se enciende otra vez, por lo que se ejecutan varias tareas a la vez y quiero darle un tiempo de espera para ejecutar una tarea. Tambien he probado con el esperar, pero hace lo mismo esperando un rato, no verificando las condiciones actuales despues de esperar... No sé si me explico bien. Siento el tocho ¿Alguien me puede echar una mano? Última edición por dvsfr6 Día 14/10/16 a las 08:14:15. |
|
|
|
#2
|
||||
|
||||
|
Puede ser así? ?
|
|
#3
|
||||
|
||||
|
No existe una variable que te indique si el dispositivo se está cargando.
![]() Lo que puedes hacer es detectar si un perfil está activo comprobando si su nombre está en la lista de perfiles activos que contiene la variable %PACTIVE. No tengo muy claro que puedas solucionar lo de ese "rebote" del cargador de tu tablet con un IF y el contenido de %PACTIVE. Creo que es más fácil que lo consigas ajustando el "Tiempo de enfriamiento" en las propiedades del perfil.
__________________
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) |
| Gracias de parte de: | ||
|
#4
|
||||
|
||||
|
No existe una variable que te indique si el dispositivo se está cargando.
![]() Lo que puedes hacer es detectar si un perfil está activo comprobando si su nombre está en la lista de perfiles activos que contiene la variable %PACTIVE. No tengo muy claro que puedas solucionar lo de ese "rebote" del cargador de tu tablet con un IF y el contenido de %PACTIVE. Creo que es más fácil que lo consigas ajustando el "Tiempo de enfriamiento" en las propiedades del perfil. ![]() No encuentro las propiedades del perfil para establecerlo, ¿me puedes decir donde están? Gracias |
|
#5
|
||||
|
||||
|
Saludos |
| Gracias de parte de: | ||
|
#6
|
||||
|
||||
|
Buenas @dvsfr6:
Debes utilizar un título descriptivo en el post. Si no lo haces, seguramente la gente no entrará en tu post para ayudarte porque no lo encontrarán interesante. Esta es una norma básica en todos los foros. Por favor, edita tu post y modifica el título. Si no sabes como hacerlo, sigue leyendo por favor.
(Click para mostrar/ocultar)
Es todo. Gracias por mantener el foro ordenado
__________________
LO QUE VIVISTE AYER FUE LO QUE TE HIZO SER QUIÉN ERES HOY |
| Los siguientes 3 usuarios han agradecido a chucky6600 su comentario: | ||
|
#7
|
||||
|
||||
|
Tarea de entrada: Establecer variable: %Cagando - 1 Tarea de salida: Establecer variable: %Cargando - 0 Ahora ya puedes disponer de un IF de la variable %Cargando en cualquiera de tus tareas. |
| Gracias de parte de: | ||
|
#8
|
||||
|
||||
|
IF %PACTIVE ~ *Cargando* La variable %PACTIVE contiene la lista de los perfiles activos, y el perfil "Cargando" estárá activo siempre que el dispositivo esté cargando, así que ya lo tienes. La verdad es que te explicas de un modo bastante confuso y no estamos seguros de estar ayudando o dando palos de ciego. Lo primero que deberías hacer es lo que te ha dicho Chucky, poner un título descriptivo en el primer post. Luego, también también te sugiero que leas las recomendaciones para participar en este subforo de Tasker, el enlace está en la cabecera del foro http://www.htcmania.com/showthread.php?t=622394
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
| Gracias de parte de: | ||
|
#9
|
||||
|
||||
|
Hola. Como te ha dicho Willy no hay una condición IF con el estado cargando, ni tampoco una variable con el estado cargando. Pero en tu caso tienes una solución fácil. Comienza poniéndole al perfil un nombre, supongamos que al perfil lo llamas "Cargando". En tal caso la condición sería
IF %PACTIVE ~ *Cargando* La variable %PACTIVE contiene la lista de los perfiles activos, y el perfil "Cargando" estárá activo siempre que el dispositivo esté cargando, así que ya lo tienes. Ahora puedes poner la acción Esperar, y luego la condición que te he indicado antes. De esta forma se producirá la espera y después de la espera comprobará si el dispositivo está cargando. La verdad es que te explicas de un modo bastante confuso y no estamos seguros de estar ayudando o dando palos de ciego. Lo primero que deberías hacer es lo que te ha dicho Chucky, poner un título descriptivo en el primer post. Luego, también también te sugiero que leas las recomendaciones para participar en este subforo de Tasker, el enlace está en la cabecera del foro http://www.htcmania.com/showthread.php?t=622394 ![]() Tambien he puesto en los dos perfiles un tiempo de enfriamiento de 10 segs Para que se pueda entender mejor el dispositivo es una tablet que está integrada en el salpicadero del coche y está integrada tambien con el cargador. Lo que ocurre es que al dar contacto del coche se pone a cargar , pero cuando arrancas para de cargar durante 1 segundo. Adjunto fotos para que se vea mas facil. ![]() ![]() ![]() ![]() Muchas gracias a todos
|
|
#10
|
||||
|
||||
|
Sigo dando vueltas al tema. Lo que realmente busco es que la tarea "quitar" o el perfil "nocargando" que cuando se active, compruebe despues de 5 segundos que no tiene cargador para seguir ejecutándose.
Lo que intento evitar es en ese corte de suministro de 3 segs. que se cierre la aplicacion y luego se vuelva a abrir, porque tambien hay veces que no abre o no se cierra. Gracias a todos |
|
#11
|
||||
|
||||
|
Crea un perfil como el que te comente y modificado hasta dejarlo así:
Tarea de entrada: Establecer variable: %Cagando - 2 Tarea de salida: Establecer variable: %Cargando - 1 Esperar 5 segundos Establecer variable: %Cagando a 0 Ahora ya tienes una variable global %Cargando y sabes que si; %Cargando ~ 2 (cargador conectado) %Cargando ~ 1 (cargador se acaba de desconectar, y valdrá 1 durante 5 segundos) %Cargando ~ 0 (Cargador lleva desconectado más de 5 segundos) |
| Gracias de parte de: | ||
|
#12
|
||||
|
||||
|
Crea un perfil como el que te comente y modificado hasta dejarlo así:
Tarea de entrada: Establecer variable: %Cagando - 2 Tarea de salida: Establecer variable: %Cargando - 1 Esperar 5 segundos Establecer variable: %Cagando a 0 Ahora ya tienes una variable global %Cargando y sabes que si; %Cargando ~ 2 (cargador conectado) %Cargando ~ 1 (cargador se acaba de desconectar, y valdrá 1 durante 5 segundos) %Cargando ~ 0 (Cargador lleva desconectado más de 5 segundos) ![]() ![]() ![]() en cuanto pueda probarlo te cuento . Gracias
Última edición por dvsfr6 Día 15/10/16 a las 11:07:22. |
|
#13
|
||||
|
||||
|
No era esa exactamente la idea. Lo que yo te explico es para hacerlo en un perfil, con el estado/ cargando. Y el fin es crear la variable global %Cargando, para que puedas utilizar un IF en base a su valor, en cualquier tarea de Tasker.
Al hacer ese perfil, puedes poner tus tareas de apagar modo coche, matar aplicación etc, siempre con la condición; If %Cargando ~ 0 Así que como te comentó, en tu perfil original solo tienes que añadir la condición ℅Cargando ~0 , en las tareas que quieres que se ejecuten cuando el cargador lleve mas de 5 sg desconectado. Última edición por Rsc Día 15/10/16 a las 12:01:28. |
| Gracias de parte de: | ||
|
#14
|
||||
|
||||
|
No era esa exactamente la idea. Lo que yo te explico es para hacerlo en un perfil, con el estado/ cargando. Y el fin es crear la variable global %Cargando, para que puedas utilizar un IF en base a su valor, en cualquier tarea de Tasker.
Al hacer ese perfil, puedes poner tus tareas de apagar modo coche, matar aplicación etc, siempre con la condición; If %Cargando ~ 0 Así que como te comentó, en tu perfil original solo tienes que añadir la condición ℅Cargando ~0 , en las tareas que quieres que se ejecuten cuando el cargador lleve mas de 5 sg desconectado. ![]() Lo he puesto como en las capturas pero me sigue cerrando la aplicacion a los 5 o 6 segundos de cortar la corriente durante 1 segundo. En definitiva, estoy en las mismas.... ![]()
|
|
#15
|
||||
|
||||
|
Bueno ahora que estoy en el PC, a ver si me puedo explicar mejor. Corrígeme si me equivoco;
lo que quieres es que cuando la tablet que tienes conectada al coche, esté cargando, se ejecuten una serie de acciones y cuando se desconecte se ejecuten otras, PERO tienes el problema de que cuando arrancas el coche, la tablet deja de cargar durante unos segundos, y se te ejecutan las tareas sin tu desearlo. Si es eso lo que quieres, voy a explicarte como lo haría yo desde 0, sin tener en cuenta como lo has hecho hasta ahora. Después de responder indicando como lo haría yo, lo he probado y me he percatado de que parece ser que para que funcione hay que "jugar" un poco con las prioridades de las tareas, así que a continuación te pongo un ejemplo que a mi me ha funcionado. Crea una tarea y llámale "Tarea de salida" Acción 1. Establecer Variable %Cargando a 1 Acción 2. Esperar 10 sg Acción 3. Establecer Variable %Cargando a 0 Crea una tarea y llámale "Tarea de entrada" Acción 2. Establecer Variable %Cargando a 2 Acción 3. Detener "Tarea Salida" Perfil / Estado / Cargando Tarea Entrada: Tarea / Realizar tarea "Tarea Entrada" (Prioridad 5) Tarea Salida: Tarea / Realizar tarea "Tarea Salida" (Prioridad 4) Perfil / Evento / Variable / Establecer variable "Cargando valor 2" Tarea: (Añade en este perfil las acciones que quieres que se ejecuten cuando conectes la tablet) Perfil / Evento / Variable / Establecer variable "Cargando valor 0" Tarea: (Añade a continuación las acciones que quieras que se ejecuten cuando la tablet lleve desconectada más de 10 segundos) Haciéndolo tal cual después de haberlo probado, te aseguro que las tareas no se ejecutaran hasta que la tablet lleve más de diez segundos desconectada. No obstante podrías tener un problema, ya que al arrancar el coche, %Cargando pasará a valer 1 unos segundos y de nuevo volverá a valer 2, por lo que se ejecutaran de nuevo las acciones que tienes añadidas a el perdil de "Evento / Cuando %Cargando valga 2" Pero eso tiene muchas soluciones, por ejemplo, en este perfil hemos creado una variable global, que obtiene su valor en base a al Estado / Cargando, pues se puede hacer lo mismo con cualquier estado, y con cualquier APP etc. Así que yo lo que haría sería crean una variable que valga 1, cuando la aplicación Car Home Ultra este abierta, y que valga 0 cuando esté cerrada, así a las tareas que se ejecutan en el perfil de "Evento / Cuando %Cargando valga 2" , le puedes añadir un IF para que no se ejecuten mientras la app este abierta. Espero que esta vez si que te funcione, un saludo. Última edición por Rsc Día 17/10/16 a las 21:42:34. |
| Gracias de parte de: | ||
|
#16
|
||||
|
||||
|
http://www.htcmania.com/showthread.php?t=622394 http://www.htcmania.com/showthread.php?p=8852245 Yo vuelvo a sugerirte el modelo que ya te comenté, mediante el cual puedes hacer una demora y luego puedes comprobar si el perfil sigue activo. Pefil "Cargando" Contexto: Cargando. Tarea de entrada: - Esperar 10 segundos. - Detener tarea si %PACTIVE no coincide con *Cargando* - Añadir aquí las acciones que quieres que se ejecuten cuando el perfil se mantiene activado tras la demora de los 10 segundos (o el tiempo que tú consideres adecuado). Tarea de salida: - Esperar 10 segundos. - Detener tarea si %PACTIVE coincide con *Cargando* - Añadir aquí las acciones que quieres que se ejecuten cuando el perfil se mantiene desactivado tras la demora. Si ese modelo no te funciona, todavía te propongo otro: Pefil "Cargando" Contexto: Cargando. Propiedades del perfil: Casilla Fuerza-Orden-Tareas desactivada. Tarea de entrada: - Detener tarea de salida (hay que poner el nombre de la tarea de salida) - Esperar 10 segundos. - Añadir aquí las acciones que quieres que se ejecuten cuando el perfil se mantiene activado tras la demora. Tarea de salida: - Detener tarea de entrada (hay que poner el nombre de la tarea de entrada) - Esperar 10 segundos. - Añadir aquí las acciones que quieres que se ejecuten cuando el perfil se mantiene desactivado tras la demora. Más información en el siguiente hilo (leete el hilo completo porque aporta muchas pistas y enlaces): Contextos de estado con demora en la tarea de entrada y/o salida. http://www.htcmania.com/showthread.php?t=617822
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
| Gracias de parte de: | ||
|
#17
|
||||
|
||||
|
Lo que creo que sucede es que la tarea de salida esta en los 5s y cuando se activa la tarea de entrada poniendo la variable a 2 sigue en ese periodo de 5s. Por lo tanto a puesto la variable a 2 pero cuando llega al final de los 5s la pone a cero. Conflicto de tarea entrada/salida.
Yo haría algo así. Tarea de entrada: Establecer variable: %Cargando - 1 +código Tarea de salida: Establecer variable: %Cargando - 0 Esperar 5 segundos -Aquí si cargando =1 mato/detengo la tarea de salida +código Un saludo. |
| Gracias de parte de: | ||
|
#18
|
||||
|
||||
|
Vamos a mantener las cosas simples. Si te parece volvemos al principio en el que tenías un perfil (cargando cualquiera) y dos tareas para la entrada y la salida (dar y quitar). Al principio de la tarea de entrada (dar) crea una variable global (%Cargando) y le asignas el valor de %TIMES. En la primera acción de la tarea de salida (quitar) pon una acción "Detener" que compruebe si %Cargando+5 < %TIMES. Eso debería detener la tarea de salida si la tarea de entrada se ha ejecutado hace menos de 5 segundos.
__________________
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) |
| Los siguientes 3 usuarios han agradecido a WillyWeb su comentario: | ||
|
#19
|
||||
|
||||
|
Un saludo. |
| Gracias de parte de: | ||
|
|
|
#20
|
||||
|
||||
|
__________________
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) |
| Los siguientes 2 usuarios han agradecido a WillyWeb su comentario: | ||
![]() |
Estás aquí
|
||||||
|
||||||