PDA

Ver la Versión Completa : [ SOLUCIONADO ] Autovoice global para ejecutar tareas


Danny920825
22/07/18, 07:40:55
Hola a todos y saludos desde Cuba. Llevo +- un mes jugando con Tasker y Autovoice. Aún no se usar la mitad de las cosas, como los array y expresiones regulares, pero les comento lo que quiero lograr a ver si me guían.

Estuve viendo la "Idea de un asistente por Voz" que está publicado en el foro, y está muy complicado para mí entender cómo funciona, pero se me ocurrió la idea de hacer algo más simple pero usando una base común:
"No tener 15 comandos de Autovoice para 15 tareas" entonces lo que quiero es tener las tareas de la siguiente forma:
-Modo /Hogar/
-Modo /Trabajo/
-Modo /Ahorro/

(El carácter / es para establecer la famosa marca que mencionaban en el tutorial antes mencionado) y lo que quiero es decir mediante Autovoice "Activar Modo Hogar" y que el comando entienda que activar es ejecutar una tarea y que Modo Hogar es el nombre de la tarea. De igual forma si pongo "Activar Hogar" funcione igual utilizando la marca, aunque me da igual si solo funciona usando el nombre completo de la tarea, pero todo eso con un solo comando de voz en los perfiles. Es que quiero hacer mi propia versión de Asistente y quiero ir por pasos para entender lo que tengo, no solo importar el trabajo de otros. De igual forma si alguien sabe como lograr en Android 6 que el teléfono se quede sin bloqueo (aunque lo tenga que desbloquear una vez a mano) para añadirlo al Modo Hogar (mi bloqueo es por huella digital y en caso de error un patrón).

Gracias por adelantado

WillyWeb
22/07/18, 09:00:08
Hola Danny.

¿De qué tutorial hablas? Pon el enlace para que pueda ver de qué se trata.

¿Y qué has probado hasta ahora?
¿Has jugado con la acción "Captar Voz"?
¿Comprendes cómo funcionan las coincidencias de patrón?
¿Comprendes cómo se usan las acciones de condición?

Eso es lo mínimo para abordar un proyecto como este.

Danny920825
22/07/18, 16:06:55
Hola y gracias por responder. El post del que hablo es este https://www.htcmania.com/showthread.php?t=977475
Y lo que he probado cuando más es tener un perfil de Autovoice por cada modo y un toogle para activar o desactivar el modo continuo y que pueda ejecutar los modos. Sobre el desbloqueo ayer abuse de mi teléfono. Le puse que si estaba conectado a la wifi y conectado a una celda específica y lo que logré fue que la pantalla no se apagará pero nunca que se debloqueara y amaneci casi sin batería.

WillyWeb
22/07/18, 18:50:10
¿Has probado con la acción "Bloqueo"? Yo uso la función Smart Lock de Android (https://www.xatakandroid.com/sistema-operativo/como-configurar-el-desbloqueo-automatico-smart-lock-de-tu-dispositivo-android), pero por lo que pone en la ayuda esa acción es justo para lo que pretendes.

Y efectivamente, esa tarea de "Asistente por Voz" es un poco complicada y mucho más potente de lo que necesitas.

Puedes hacerte algo simple con la acción "Captar Voz" y unas pocas acciones IF para detectar una o varias palabras clave.

Supongamos que quieres que tu dispositivo responda la fecha cuando digas algo como ... ¿que día es hoy?

Simplemente tienes que crear una condición de este tipo ... IF %VOICE ~ *día*/*hoy*/*fecha* ... para que se ejecute la acción/tarea que quieras.

La verdad es que es algo muy simple que solamente requiere tener claro el funcionamiento de las coincidencias de patrón que te he comentado antes...

https://tasker.joaoapps.com/userguide/en/matching.html

Danny920825
23/07/18, 01:28:07
Realmente sería útil que pudiera hacer varias cosas como decir la hora, la fecha, etc. Pero lo que más necesito es que reconozca la tarea a ejecutar desde un comando global. O sea, que reconozca que activar es la palabra clave, y que el resto es la tarea, pero que use regex para que si digo "activa modo ahorro" o "activa ahorro" igual funcione. De la misma forma tengo una nueva curiosidad y quizá ayuda a muchos cubanos (y quien sabe a quién más). En mi país tenemos la posibilidad de llamar y que la llamada la pague la otra persona, para eso hay que marcar *99 delante del contacto. O sea, si el número es 5xxxxxxx sería *995xxxxxxx o bien +535xxxxxxx y quedaría así +5399535xxxxxxx usando la forma larga del número. Hay forma de que Tasker edite el número antes de llamarlo? De manera que pueda decirle "Llama a Pepe con 99" y le marqué de esa forma?

WillyWeb
23/07/18, 09:38:27
... que reconozca que activar es la palabra clave, y que el resto es la tarea, pero que use regex para que si digo "activa modo ahorro" o "activa ahorro" igual funcione.

Para eso no necesitas regex si usas el sistema que te he propuesto antes...

CAPTAR VOZ
IF %VOICE ~ *activa* AND %VOICE ~ *ahorr*
...las acciones que quieras ejecutar...
ENDIF

Eso funcionará con estas frases...

activar modo ahorro
activa ahorro
activa ese modo tan chulo que me he hecho para ahorrar batería


Hay forma de que Tasker edite el número antes de llamarlo? De manera que pueda decirle "Llama a Pepe con 99" y le marqué de esa forma?

Puede :pensando:

Pero ese es otro tema que debería ser tratado en otro hilo. Mejor terminamos con esto antes, ¿no? ;-)

Danny920825
23/07/18, 18:16:26
Lo intente con autovoice de la siguiente manera. Tengo un perfil que activa mi "Asistente de Voz" que le queria poner Lexa, pero por problemas idiomaticos (que tasker es un niño de 5 años escuchando) lo tuve que cambiar y ponerle "Luna". Lo activo cuando tengo los audifonos puestos y con el boton del manos libres apretados salta la busqueda por voz de google asi que el perfil es:

Manos libres con microfono + AutoVoice Recognize = Luna

Y la tarea queda asi:


A1: IF %avword1~ Activa | %avword1~ Activar
A2: Establecer Variable: %TAREA A: %avword2
A3: Establecer Variable: %TAREA A: %avword3 Añadir (para concatenar las 2 palabras)
A4: Realizar Tarea: %TAREA
A5: Limpiar Variable: %TAREA


Pero aun cuando el autovoice reconoce "Activar modo ahorro" no lo activa

Caravantes
23/07/18, 19:14:45
A1: IF %avword1~ Activa | %avword1~ Activar
A2: Establecer Variable: %TAREA A: %avword2
A3: Establecer Variable: %TAREA A: %avword3 Añadir (para concatenar las 2 palabras)
A4: Realizar Tarea: %TAREA
A5: Limpiar Variable: %TAREA

Entre A3 y A4 te conviene meter un flash que te muestre lo que tienes en la variable %TAREA. Creo que te vas a llevar una sorpresa porque es poco probable que eso coincida con el nombre de la tarea que tú quieres ejecutar.

Danny920825
23/07/18, 19:33:57
El punto esta en que no llega a la tarea. No se que estoy haciendo mal, pero supongo que tenga que ver con utilizar %avword1 para la comparacion? O que deberia poner
%avword1 ~ *activa*
y no
%avword1 ~ activa

Danny920825
24/07/18, 01:56:03
OK, me respondo yo mismo. Usando la accion %avword1 ~ *activa* logré que entendiera que era con ella :ok: y lo otro es que el nombre de la tarea no puede ser "Modo Ahorro" sino "modo ahorro" pues no se por que Tasker es sensible a mayusculas y minusculas en el reconocimiento de voz. Eso no tiene logica :estrellas::estrellas: Asi que creo que ya estoy listo para cerrar el tema (o si alguien tiene alguna forma de mejorar esto, pues lo pueden dejar plasmado aqui). Gracias y hasta un proximo Post de Tasker