|
||
|
![]() |
![]() |
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Trucos y Consejos
El objetivo es tener un listado de pequeñas ideas/funcionalidades que son poco conocidas/claras con una breve explicación.
Podéis comentar/debatir y aportar vuestros trucos/consejos para añadirlos al listado. (CONDICIONES) Operadores Booleanos XOR < OR < AND < XOR+ < OR+ < AND+ Ordenados de menor a mayor prioridad. XOR significa que solo una condición puede ser verdadera, no las 2. Un booleano coge la condición a su izquierda si el booleano anterior tiene menor prioridad. %111=1 ; %222=2 ; %333=3 if %111=1 XOR+ %222=0 AND %333=0 Esta condición significa (1 Y 3) O (2 Y 3) y es falsa. Con un XOR significaría 1 O (2 Y 3) y sería verdadera. ESCENAS Cambiar Paleta de Colores Utilizando una variable local con una cadena de códigos de color hexadecimales. Ver comentario #4 IU > TAREAS Nombre de Tareas Usar un carácter especial al inicio como un guión bajo con las tareas que no pertenecen a ningún perfil para que aparezcan primero. IU > VARIABLES Limpiar Variable No borrar el contenido manualmente, se queda establecida con "nada". Al ponerla en una condición que queremos "no establecida" falla. Presionar largo sobre la variable y tocar la X que aparece arriba. PERFILES > CONTEXTOS > ESTADO > DÍA/HORA Hora Nocturna de Finde Las horas van por día y no por tramo. Empiezan a las 00:00 y terminan a las 23:59. En esta combinación la madrugada de Lunes a Viernes va hasta las 06:00, Sábado y Domingo hasta las 08:00. El perfil Finde se activa Viernes a las 22:59, se desactiva Domingo a las 00:00 y se activa el perfil Semana. Finde sin el viernes no cogería la madrugada de sábado hasta las 08:00 porque se activaría a las 22:59. Semana sin el domingo no cogería la madrugada de lunes hasta las 06:00 porque se activaría a las 23:00. Perfil: Semana L, M, X, J, V, D de 23 hasta 06:00 %PACTIVE !~ *,Finde,* Perfil: Finde V, S, D de 22:59 hasta 08:00 PERFILES > CONTEXTOS > ESTADO > HORA Variable en Segundos Se pueden usar segundos lo que evita tener que convertirlos. Esto facilita el uso de una variable nuestra con %TIMES o %UPS. PERFILES > CONTEXTOS > EVENTO > REINICIO Limpiar Variables Es conveniente hacerlo a las que no deberían tener valor en un reinicio por lo siguiente: - Un perfil se quedó atascado anteriormente - El móvil se apaga inesperadamente PERFILES > TAREA DE ENTRADA/SALIDA Detener Tarea con Espera - Verificando el perfil: A1: Esperar 10 segundos A2: Detener si PACTIVE ~ *,nombre del perfil,* - Con una tarea única usando la variable caller1 Más información aquí TAREAS > ACCIONES > TAREA > IR A ACCIÓN > ETIQUETA ACCIÓN Etiquetas Las acciones tienen al final una casilla denominada etiqueta que permite escribir comentarios y usarlos con la acción "ir a" en otra acción. No utilizar la opción Número de acción, si cambia el orden de las acciones hay que modificarlo. Tamaño y Color Tamaño: poner <hX> al inicio donde X es un valor entre 1-6. Color: poner <font color=tucolor> al inicio después del tamaño donde tucolor toma estos valores: Aqua, Black, Blue, Fuchsia, Gray, Green, Lime, Maroon, Navy, Olive, Purple, Red, Silver, Teal, White, Yellow. Más información aquí TAREAS > ACCIONES > VARIABLE > BUSCAR Y REEMPLAZAR Grupos Regex Permiten cambiar el orden del contenido o reemplazar la variable completamente. Por cada () envolviendo lo que se busca, se crea un bloque de información numerado secuencialmente. En reemplazar se pone $ seguido del número del bloque. Texto:Diario 25-01-2017 España Buscar:(25)-(01)-(2017) Reemplazar con:$3-$2-$1 Obtenemos: Diario 2017-01-25 España Para reemplazar todo, introducir en la búsqueda .*? al principio y .* al final. Buscar:.*?(25-01-2017).* Reemplazar con:$1 Obtenemos:25-01-2017 TAREAS > ACCIONES > VARIABLE > ESTABLECER VARIABLE Referencia a Variable Establecer una variable con el nombre de otra permite manejar el contenido de la segunda a través de %%. Se pueden establecer en una variable cuantas referencias se quiera. %Cellid=123 ; %Test=Cellid ; %%Test=123 Firmado: GraphicAdventure
__________________
ATaskREADOS somos el equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
Para cualquier asunto relacionado con el foro, puedes escribirnos a [email protected] Última edición por ATaskREADOS Día 07/03/17 a las 10:26:44. |
Los siguientes 6 usuarios han agradecido a ATaskREADOS su comentario: | ||
#2
|
||||
|
||||
Interesante! ;)
|
Gracias de parte de: | ||
#3
|
||||
|
||||
Hola. En primer lugar quiero agradecer a GraphicAdventure por su interesante colección de sugerencias. Para todos los que anden buscando "Trucos y consejos", les indico otros lugares donde pueden encontrar más.
En nuestra "Guía de cabecera para usuarios de Tasker", Andreas Ødegård incluye un capítulo específico para este tema: "Lección 5: Trucos y consejos". Posteriormente, yo mismo hice un post con similar planteamiento: "Trucos y consejos para usuarios de Tasker", invitando para que otros compañeros añadieran en ese hilo sus propios trucos. Pero esa invitación tampoco tuvo mucha respuesta. Esperemos que el nuevo formato que ha utilizado GraphicAdventure tenga más éxito y podamos ir reuniendo aquí muchos más trucos.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
Gracias de parte de: | ||
#4
|
||||
|
||||
Cambiar paleta de colores en nuestras escenas
Desde hace tiempo "enriquezco" mis aplicaciones con la posibilidad de mostrar las escenas con distintas paletas de colores.
Para ello establecia una serie de variables globales (%ColorBase, %ColorFondo, %ColorRecuadro, %ColorTexto, %ColorResaltado, etc) a las que, mediante una escena de configuración y seleccionando un boton del color base se asignaban a estas variables los códigos HEX de una paleta determinada... Recientemente, siguiendo con mi obsesión en reducir al mínimo el uso de variable globales porque ocupan espacio en memoria RAM y ralentizan la ejecución del programa, he revisado el método y lo he mejorado de la siguiente manera: Al inicio de la tarea lanzadora establezco una variable local única que es una cadena de códigos de color hexadecimales de manera que las opciones de color se separan con un símbolo "|" y cada uno de los colores de la paleta se separa con un ";" siguiendo este esquema: Establecer Variable: %colores A: #colorbase1;#colorfondo1;#colorrecuadro1;#colortex to1;#colorresaltado1|#colorbase2;#colorfondo2;#col orrecuadro2;#colortexto2;#colorresaltado2|#colorba se3;#colorfondo3;#colorrecuadro3;#colortexto3;#col orresaltado3|#colorbase4;#colorfondo4;#colorrecuad ro4;#colortexto4;#colorresaltado4 A continuación hago una extracción de los valores de cada opción de color mediante Separar Variable %colores utilizando el separador | con lo que quedan las hijas de la matriz: %colores1 = #colorbase1;#colorfondo1;#colorrecuadro1;#colortex to1;#colorresaltado1 %colores2 = #colorbase2;#colorfondo2;#colorrecuadro2;#colortex to2;#colorresaltado2 %colores3 = #colorbase3;#colorfondo3;#colorrecuadro3;#colortex to3;#colorresaltado3 %colores4 = #colorbase4;#colorfondo4;#colorrecuadro4;#colortex to4;#colorresaltado4 Establezco UNA sola variable global para el color: %Gama y la inicializo (le doy un valor por defecto) si está vacia a "1" Selecciono la variable "hija" correspondiente: Establecer Variable %color a %colores(%Gama) Y extraigo los valores que tendrán todos los elementos de las escenas mediante un Separar Variable %color usando como separador ";" Entonces, ya en las escenas, establezco los colores de cada elemento a la variable que corresponda: %color1, %color2, %color3,.... Para cambiar de color entro en el menú de configuración y elijo que gama de colores deseo utilizar (en la primera ejecución como %Gama vale 1 serán los valores guardados en la lista %colores1) pulsando sobre el botón del color correspondiente. En la pestaña Click en Item de cada muestra de color se cambia el valor de la variable %Gama y se ejecuta la tarea lanzadora de nuevo (se reinicializa la aplicación) para mostrar el nuevo aspecto de nuestra aplicación... Este proceso de asignación de colores hay que hacerlo al final del proceso de depuración y documentación del código ya que, a partir de este momento, sólo vamos a ver los textos y los elementos de las escenas que tengan color fijo, ya que en fase de edición las variables locales están vacias... Saludos!
__________________
Me apasiona volar, pero con los pies en el suelo...
|
Los siguientes 4 usuarios han agradecido a cace0353 su comentario: | ||
#5
|
||||
|
||||
Cace, ya incluí to sugerencia al listado.
Dado que se necesitan varios pasos, puse una breve explicación con el enlace a tu comentario. |
#6
|
||||
|
||||
Espectacular recopilación, se agradece. Sin embargo, me parece que en el perfil Finde, dados los horarios, se activaria el viernes desde las 00:00 hasta las 08:00. Y así mismo, Semana, el domingo desde las 00:00 hasta las 06:00. La verdad no estoy muy seguro, ya que es bastante complejo el manejo de horarios en Tasker, pero me es dudoso el perfil. De todas maneras, muy buen recopilatorio
|
#7
|
||||
|
||||
Siento molestar y escribir en el hilo incorrecto, pero ya deje comentarios en su momento en los posts correspondientes y nadie contestó.
Hay algún grupo en WhatsApp o Telegram de Tasker de HTCMania? Comentaron que sí, pero nunca nadie me agregó, ni nada. |
#8
|
||||
|
||||
Debe existir, pero no tengo la menor idea que quién lo gestiona. Prueba enviando un MP a alguien de los que participaron en esa conversación.
__________________
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) |
#9
|
||||
|
||||
%PACTIVE !~ *,Finde,* ...la cosa cambia. ![]() Esa condición obliga al perfil "Semana" a desactivarse cuando se activa el perfil "Finde". Con eso en mente comprobarás que nunca están activos ambos perfiles al mismo tiempo.
__________________
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: | ||
#10
|
||||
|
||||
http://www.htcmania.com/showpost.php...8&postcount=21 Si quieres que te añadan al grupo, lee la última línea (firma) que pone Zeus en el mensaje que he enlazado, o bien solicítalo mediante un post/respuesta en ese mismo hilo. http://www.htcmania.com/showthread.php?t=1042863
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
#11
|
||||
|
||||
Ahí va un truquillo, si alguien quiere puede implementar un OCR para recoger texto a partir de fotos o screenshots. Es un script muy simple pero con una funcionalidad que muy posiblemente no hayáis pensado y que resulta muy sencilla de aprovechar (crear catálogos a partir de etiquetas, tarjetas de visita, etc...). Y lo bueno es que si bien muchos OCR son online este es offline.
Usando esta aplicación para una pantalla con 1920x1080 de resolución (necesario modificar los valores de los taps si es distinta): https://play.google.com/store/apps/d....to.text&hl=en Código:
loadApp("TextScanner","",false); wait(300); shell("input tap 1007 150",true,5); // boton de opciones wait(120); shell("input tap 680 140",true,5); // import wait(1600); shell("input tap 225 1275",true,5); // gallery wait(120); shell("input tap 437 300",true,5); // entrar en fotos de cámara. Esto puede variar según la app de galería concreta o si son screenshots u otra carpeta wait(120); shell("input tap 133 344",true,5); // coger primera foto wait(60); shell("input tap 1019 65",true,5); // ok a primera foto wait(200); // ** opcional, por si es necesario recortar la imagen antes de aplicar el OCR //shell("input swipe 39 1208 435 910 800",true,5); // deslizar desde abajo izda //wait(500); //shell("input swipe 1079 700 700 880 800",true,5); // deslizar desde arriba dcha //wait(500); // ** shell("input tap 500 1730",true,5); //grab wait(500); shell("input tap 166 1740",true,5); // copiar a clipboard shell("am force-stop com.offline.ocr.english.image.to.text",true,5); // matar OCR, para mayor consistencia, y nos evitamos un tap Este OCR en concreto va bastante bien pero no tanto ni de lejos como otros online o de PC de sobremesa. Aún así, si alguien conoce uno mejor (por ejemplo que funcione mediante linea de comandos shell en lugar de tener que enviar pulsaciones) estaría muy bien. Versión ultra compacta: Código:
loadApp("TextScanner","",false); wait(300); v_tap = "tap 1007 150_150*tap 680 140_1600*tap 225 1275_120*tap 437 300_120*tap 133 344_60*tap 1019 65_200*swipe 39 1208 435 910 800_500*swipe 1079 700 700 880 800_500*tap 500 1730_500*tap 166 1740_60"; var v_mat = v_tap.split("*"); for (i=0; i< v_mat.length ; i++) { shell("input " + v_mat[i].split("_")[0],true,5); wait(v_mat[i].split("_")[1]); } shell("am force-stop com.offline.ocr.english.image.to.text",true,5); Código:
// comienzo loadApp("TextScanner","",false); wait(300); fuTapSwipe("tap 1007 150_150_opciones*tap 680 140_1600_import*tap 225 1275_120_gallery*tap 437 300_120_entrar en fotos de cámara*tap 133 344_60_coger primera foto*tap 1019 65_200_ok a primera foto*swipe 39 1208 435 910 800_500_deslizar desde abajo izda*swipe 1079 700 700 880 800_500_deslizar desde arriba dcha*tap 500 1730_500_grab*tap 166 1740_60_copiar a clipboard"); shell("am force-stop com.offline.ocr.english.image.to.text",true,5); // matar OCR // fin function fuTapSwipe(pCadena) { var v_mat = pCadena.split("*"); for (i=0; i< v_mat.length ; i++) { shell("input " + v_mat[i].split("_")[0],true,5); wait(v_mat[i].split("_")[1]); } } Última edición por danko9696 Día 05/07/17 a las 20:56:38. Razón: añadidas versiones más compactas del código |
Los siguientes 4 usuarios han agradecido a danko9696 su comentario: | ||
#12
|
||||
|
||||
Tienes parte de razón en lo que dices. Si te fijas sólo en los días/horas el V y el D se activan ambos perfiles. Pero si tienes en cuenta la segunda condición del perfil "Semana"...
%PACTIVE !~ *,Finde,* ...la cosa cambia. ![]() Esa condición obliga al perfil "Semana" a desactivarse cuando se activa el perfil "Finde". Con eso en mente comprobarás que nunca están activos ambos perfiles al mismo tiempo. ![]() ![]() |
#13
|
||||
|
||||
Para que pille la madrugada del día en cuestión, el día anterior tiene que estar presente. Esto está explicado en el ejemplo. |
![]() |
![]() |
||||||
|