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


 
Herramientas
  #1  
Viejo 09/05/16, 17:06:29
Avatar de dj_janker
dj_janker dj_janker no está en línea
Miembro del foro
Mensajes: 125
 
Fecha de registro: ene 2013
Mensajes: 125
Tu operador: Movistar
Mencionado: 2 comentarios
Tagged: 0 hilos
Escena tipo Rueda

Hola,
estoy intentando crear mi primera escena, a partir de la escena "variable query", pero aunque parece fácil, no consigo hacerla funcionar como me gustaría.
Lo que he hecho ha sido clonar la escena "variable query" y he eliminado el botón de cancelar, dejando solo del de aceptar. Al mismo tiempo he ocultado la casilla de entrada de texto colocando encima un elemento "rueda".
Este elemento contiene 3 items: SI/NO/NA., hasta aquí bien, porque en definitiva no he hecho nada
Y ahora es donde viene el lío...
En la pestaña items, donde he creado SI/NO/NA en acción he creado un "Establecer variable" para cada item, que devuelve la variable: %resultado = SI, NO, NA para cada uno de los casos.

Luego en la pestaña Selección de items he añadido una acción "Establecer variable" asignando %Resultado = %resultado.
Lo que pretendo es que al usar la escena en una consulta de variable desde una tarea, si elijo la opción SI, en la variable %Resultado se me cargue un SI, si elijo la opción NO se me cargue un NO y así respectivamente....
Pero esto no ocurre así.
Alguna idea?
Responder Con Cita


  #2  
Viejo 09/05/16, 23:18:21
Avatar de Caravantes
Caravantes Caravantes no está en línea
Usuario muy activo
Mensajes: 2,200
Compra y venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Versión de ROM: Android 8
Tu operador: Lowi
Mencionado: 59 comentarios
Tagged: 4 hilos
Cita:
Originalmente Escrito por dj_janker Ver Mensaje
En la pestaña items, donde he creado SI/NO/NA en acción he creado un "Establecer variable" para cada item, que devuelve la variable: %resultado = SI, NO, NA para cada uno de los casos.
No estoy muy seguro, pero quizá el problema sea que estás utilizando una variable local, y por tanto el contenido de esa variable no es accesible en ninguna otra tarea. Ya he visto que luego asignas %Resultado = %resultado, pero esa acción no funcionará si la variable local %resultado la habías establecido en otra tarea.
Mi consejo es que solo utilices la variable global %Resultado, cuyo contenido es accesible y modificable en cualquier tarea.
Responder Con Cita
  #3  
Viejo 10/05/16, 08:19:34
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
La escena que se usa para "Consulta de Variable" es un poco especial. Tiene que tener un elemento EditarTexto que se llame TextEdit1. El contenido de ese elemento es lo que se deja en la variable que pongas en el campo Variable de la acción "Consultar Variable". Ese es el funcionamiento "predeterminado".

Por otra parte, cualquier escena que llamas desde una tarea se convierte automáticamente en parte de ella a nivel de definición/uso de variables locales. Si en la escena defines la variable %resultado estará accesible directamente en la tarea desde la que has lanzado la escena, y al revés.

Lo que pretendes hacer debería funcionar definiendo como acción para cada Ítem "Establecer variable" usando una variable local (%resultado) y poniendo en ella el valor que quieras/necesites.

Si como %resultado te vale el mismo nombre del Ítem lo puedes hacer más fácil. Define los ítems pero no les asignes acción. Ahora define como acción en "Selección Ítem" un "Establecer variable" con una variable local (%resultado) y le asignas %tap_label. En la tarea puedes usar esa variable %resultado. O todavía más sencillo. Define los Ítems y nada más. En la tarea puedes usar la variable %tap_label.
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 10/05/16, 08:53:53
Avatar de dj_janker
dj_janker dj_janker no está en línea
Miembro del foro
Mensajes: 125
 
Fecha de registro: ene 2013
Mensajes: 125
Tu operador: Movistar
Mencionado: 2 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por WillyWeb Ver Mensaje
La escena que se usa para "Consulta de Variable" es un poco especial. Tiene que tener un elemento EditarTexto que se llame TextEdit1. El contenido de ese elemento es lo que se deja en la variable que pongas en el campo Variable de la acción "Consultar Variable". Ese es el funcionamiento "predeterminado".

Por otra parte, cualquier escena que llamas desde una tarea se convierte automáticamente en parte de ella a nivel de definición/uso de variables locales. Si en la escena defines la variable %resultado estará accesible directamente en la tarea desde la que has lanzado la escena, y al revés.

Lo que pretendes hacer debería funcionar definiendo como acción para cada Ítem "Establecer variable" usando una variable local (%resultado) y poniendo en ella el valor que quieras/necesites.

Si como %resultado te vale el mismo nombre del Ítem lo puedes hacer más fácil. Define los ítems pero no les asignes acción. Ahora define como acción en "Selección Ítem" un "Establecer variable" con una variable local (%resultado) y le asignas %tap_label. En la tarea puedes usar esa variable %resultado. O todavía más sencillo. Define los Ítems y nada más. En la tarea puedes usar la variable %tap_label.
Vale, eso ya lo había conseguido deducir a base de mucho pelear....

Ahora vamos a rizar el rizo. Necesito meter otra escena similar, tipo rueda, con otras tres opciones que se activan en función de una condición Si-Fin si derivada de la anterior consulta.
El caso es que no puedo usar el %tap_label de nuevo, ya que mantiene el valor de la anterior consulta.....
El caso es que creo que lo había conseguido, pero al probar otra cosa ya no va, y ahora ya, tras infinitos cambios, no recuerdo como lo había hecho...
Responder Con Cita
  #5  
Viejo 10/05/16, 10:41:16
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 dj_janker Ver Mensaje
Ahora vamos a rizar el rizo. Necesito meter otra escena similar, tipo rueda, con otras tres opciones que se activan en función de una condición Si-Fin si derivada de la anterior consulta.
El caso es que no puedo usar el %tap_label de nuevo, ya que mantiene el valor de la anterior consulta.....
El caso es que creo que lo había conseguido, pero al probar otra cosa ya no va, y ahora ya, tras infinitos cambios, no recuerdo como lo había hecho...
En ese caso no deberías usar %tap_label ya que cambia cada vez que tocas un Ítem con etiqueta. Es mejor si usas el método de asignar el resultado a una variable local (%resultado1).

Si lo que quieres es modificar la segunda escena en función del resultado de la primera sigue esta secuencia...

-carga la escena (no es visible, pero es accesible a base de acciones)
-modifica los elementos necesarios
-muestra la escena
-destruye la escena cuando termines con ella

Todo lo que necesitas está en la categoría de acciones "Escena".
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 10/05/16, 10:56:11
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
Yo añadiria más a la explicación que te ha dado @WillyWeb.

En efecto, cualquier escena llamada desde una tarea permite el intercambio entre escena y tarea de las variables locales que se definan en una y otra. Pero hay más: también entre las nuevas escenas que puedas abrir en cascada desde la primera (asociadas a un botón, un elemento menú, un clic en una imagen, en un cuadro de texto, etc.) y la tarea.
Piensa, además, que estos elementos de las escenas pueden contener un montón de acciones de Tasker. Es decir, como si fueran tareas independientes pero con la ventaja incontestable de poder trabajar con variables locales con la seguridad de que te sirven en todas las escenas de la cadena...
De este modo puedes montar proyectos enteros con una sola tarea y las escenas que necesites usando sólo variables locales.
Para su revisión y edición es muy aconsejable cambiar en las escenas el nombre por defecto del elemento (botón, texto, rectangulo, imagen...) para que indique lo más claro posible que hace cada uno.

En tu caso, y deduzco que sigues con tu proyecto de checklist que posteabas la semana pasada:

Yo crearia una escena con una cabecera donde entraras, en uno o varios cuadros texto editable, las variables identificativas del proyecto: nombre, calle, Población, teléfono, etc... guardándolos en variables locales: %nombre, %calle, %poblacion, etc.

Luego un conmutador o un botón que te sirviera para determinar el grupo (siguiendo tu nomenclatura) con un valor por defecto: por ejemplo grupo 01. La pulsación sobre este elemento estableceria la variable %grupo a 01 o 02

Más abajo un elemento Menú (como una rueda pero que siempre está desplegada y permite el deslizamiento con el dedo). En orígen debes elegir "Matriz de variables", en nombre de la variable pon %categorias y en Selección: simple.
Con un pulsación sobre la imagen que ves en Disposición podrás configurar la visualización del elemento (ver nota al pié)

Crea una nueva escena "Seleccion" a todo ancho de pantalla con un texto de cabecera que muestre %item_label (el nombre de la categoria seleccionada en el elemento menú anterior) y tres botones solamente: SI, NO y N/A. y en cada uno de los botones escribe en la pestaña Clic en Item una acción Establecer Variable %seleccion a %item_label SI, NO o N/A (según el boton, claro) con la opción "Añadir" activada acabando con un return (salto de linea) y, a continuación, una acción Destruir escena Seleccion.
Con esto, con una sola pulsación harás la selección y volverás a la escena anterior para seguir añadiendo categorias...
El poner %tap_label antes del SI, NO o N/A hace que la variable %seleccion contenga el nombre de la categoria y la opción elegida.
El hecho de activar la opción "añadir" hace que para cada categoria seleccionada se añada una linea a la variable %selección

¿Cómo se crea la matriz %categorias?. Escribete un archivo de texto plano en el PC con las diferentes categorias (una por línea). Guárdalo con la codificación Unicode UTF-8 y pásatelo al móvil.
En ta tarea de tu proyecto y con una acción "leer archivo" abre el archivo que has creado y guárdalo en una variable %categorias -de momento es una sola variable-.
Crea también una variable %newline que contenga un "return" solamente (esto és: un salto de linea)
Crea la matriz con un Separar Variable sobre la variable %categorias y usando como separador %newline.

Abre la escena de nuevo y en la pestaña Clic en Item del elemento menú le pones una acción Mostrar escena que te llame a la que acabas de crear: Seleccion.

Finalmente añades un botón en la parte inferior de la pantalla para validar los datos (%nombre, %calle, %telefono, %grupo, %selección) como quieras, guardándolos en una variable global, un archivo de texto, etc...

Nota: Dejo para tí que te pelees con el elemento menú. Es muy configurable, en colores, dimensiones, separaciones entre elementos,... No obstante te aconsejo que extiendas el elemento Label por encima de Icon y Index. Reconozco que és la parte más engorrosa de configurar hasta que no consigues el resultado apetecido, pero no hay otra: peléate un poco y verás lo bién que funciona.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a cace0353 su comentario:
  #7  
Viejo 10/05/16, 18:34:32
Avatar de dj_janker
dj_janker dj_janker no está en línea
Miembro del foro
Mensajes: 125
 
Fecha de registro: ene 2013
Mensajes: 125
Tu operador: Movistar
Mencionado: 2 comentarios
Tagged: 0 hilos
Pues no me preguntéis como, pero ninguna de las opciones lógicas propuestas funcionan. Y he probado todo....
Pero al final como soy un cabezota me he propuesto hacerlo funcionar y lo he conseguido. No me preguntéis porqué pero las 2 escenas "variable query" modificadas que he creado con una rueda con distintos items en ambos casos, se ejecutan correctamente siempre que entre las opciones de la rueda añado una que no vaya a usar tipo: "-------", marcándola para que aparezca como predeterminada en primer lugar.
Para ello como digo añado una opción más, "-----", entre los items que quiero mostrar, y lo marco como predeterminado. En la pestaña items no asigno ninguna opción.
En la pestaña selección de items creo una acción establecer variable, %cualquiervariablelocal a %tap_label
Lo raro es que he hecho lo mismo en ambas escenas, asignando 2 variables locales diferentes, pero intrascendentes a %tap_label.
Luego he creado la tarea con sus correspondientes acciones y hago una primera consulta de variable en la que la tarea me rellena la variable local asignada en la pestaña "selección de items", con el valor del %tap_label, y luego en función de su valor hago otra consulta de variable con la segunda escena y me rellena correctamente la variable local definida en su correspondiente "selección de items", con el nuevo valor de %tap_label de esta segunda escena.
Antes hacía lo mismo, con la diferencia de no añadir el item "-----" en las escenas, y en la segunda consulta el valor de la variable local no tomaba el valor de la segunda selección %tap_label, sino que seguía manteniendo el de la primera.
No he hecho carga ni destrucción de escenas, ni he añadido a mi tarea ninguna acción más de la sección escenas de las que tenía en un principio.
Qué cosa más rara.....
Responder Con Cita
Gracias de parte de:
  #8  
Viejo 10/05/16, 21:42:43
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
La variable %tap_label sólo toma valor cuando "cambia" la selección. Si marcas "SI" como opción por defecto y tú seleccionas "SI" la variable %tap_label sigue sin valor. Cuando has metido como opción por defecto algo que te ha obligado a seleccionar una opción diferente te ha funcionado. Eso es lo que tiene que pasar.
Responder Con Cita
Gracias de parte de:
  #9  
Viejo 11/05/16, 07:13:00
Avatar de dj_janker
dj_janker dj_janker no está en línea
Miembro del foro
Mensajes: 125
 
Fecha de registro: ene 2013
Mensajes: 125
Tu operador: Movistar
Mencionado: 2 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por WillyWeb Ver Mensaje
La variable %tap_label sólo toma valor cuando "cambia" la selección. Si marcas "SI" como opción por defecto y tú seleccionas "SI" la variable %tap_label sigue sin valor. Cuando has metido como opción por defecto algo que te ha obligado a seleccionar una opción diferente te ha funcionado. Eso es lo que tiene que pasar.
Ah vale ahora lo entiendo. Seguro que es por eso. Gracias por la explicación , no quería quedarme con la espinita de haberlo hecho funcionar pero sin saber muy bien como.

Saludos

Enviado desde mi JY-S3 mediante Tapatalk
Responder Con Cita
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: 15:40:16 (GMT +1)

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