Ver la Versión Completa : [ CONSULTA ] De móvil a tablet (autovoice+autoremote)
guglegap
04/07/13, 01:49:25
Buenas, llevo un tiempo intentando hacer un perfil en tasker que consiste en escuchar música en la tablet utilizando el smartphone al que le mando las acciones por voz a través de autovoice y se transmiten a la tablet por autoremote, para hacerlo me he basado totalmente en un ejemplo que viene en el foro de autoremote para avisar de la pantalla encendida (tabletstatus activo inactivo ....etc) voy a explicar los pasos que he hecho con las dudas y problemas que me ha surgido aunque al final he logrado que me ha funcione lo básico:
Móvil
1)En el ejemplo utiliza el estado de la pantalla (encendido/apagado) para avisar con autoremote con la variable %arpar2, (autoremote solo se emplearlo utilizando esta variable) en mi caso yo he creado una variable de estado (%Music) que según diga con autovoice encender música (on) ó apagar música (off) se activa (%Music~on) o desactiva (%Music ~off), luego ya estoy en las mismas condiciones que en el ejemplo.
Por tanto, he hecho dos perfiles en el móvil, uno para activar la musica y otra para apagarla, los pasos por encima han sido:
Estado->plugin->autovoice recognized (encender música)->tarea anónima->establecer variable->%Music A on ...etc (2 perfiles creados)
2)Ahora que tengo mi variable de estado %Music igual que en el ejemplo de pantalla encendida o apagada, ya puedo utilizar el plugin autoremote.
He puesto la condición de que si la variable %Music está activa (osea si digo encender música, %Music~on) envío un mensaje a la tablet con autoremote. Los pasos para este nuevo perfil son:
Estado->Variable->Valor de variable: %Music~on ->tarea->Autoremote message->Editar: device (tablet en mi caso) y message: musica on =:= luego he añadido una tarea de salida con autoremote message con el mensaje: musica off =:= . (1 perfil creado)
Esta parte con autoremote es la que no entiendo muy bien como funciona, se que luego empleo en la tablet la variable %arpar2 que se refiere al on y off (como activo/inactivo del ejemplo) del mensaje musica.
Una de mis primeras dudas que se me plantean es que lo he intentado hacer sin utilizar la variable de estado creada, es decir, crear un perfil para encender música utilizando autovoice y la tarea autoremote message directamente y otro perfil para apagado de música, pero el caso es que no me funciona por eso lo he hecho como he explicado anteriormente.
Tablet
3) Ahora pasamos a la tablet, donde sólo hace falta el plugin autoremote.
Después de enviar el mensaje con el móvil llega a la tablet, he creado una variable nueva (global), %Play, que tiene como valor el que indica la variable %arpar2 (on ó off en mi caso). Con esta variable he puesto dos perfiles con las dos condiciones, si quiero encender la música entonces %Play~on y para apagarla %Play~off. Es decir, he creado 3 perfiles:
Estado->plugin-> Autoremote (filtro mensaje recibido: musica) -> tarea ->establecer variable: %Play A %arpar2
Estado->valor variable:%Play ~on-> tarea->reproducir directorio musica....etc
Unas dudas que tengo aquí es el uso de la variable %arcomm y %arpar en qué casos se emplean? No me queda muy claro en el ejemplo de autoremote.
Hecho sólo ésto me funciona, pero por ejemplo estoy probando también la opción de poder subir o bajar el volumen, he hice pasos similares cambiando la acción en la tablet de reproducir musica o detener música por volumen multimedia pero es un poco chapuza con esta tarea ya que pongo, por ejemplo, subo volumen a 10 en un perfil y en otro bajo el volumen a 4 y no puedo variar el volumen a otro número.
He conseguido hacerlo funcionar de esta forma chapuza pero haciendo unos retoques , porque no sé que pasa que al trabajar con dos variables (%Play y la otra creada para el volumen %Vol) me daba problemillas, he tenido que poner en el paso 1 que expliqué por ejemplo en el perfil de apagar música la tarea en vez de %Music A off he puesto la tarea limpiar variable %Music porque sino una vez que se activaba la variable %Vol en la tablet cuando decía apagar música la variable %Music a off no se ponía en la tablet se quedaba en on por lo que haciendo esto la variable %Music se limpiaba y por tanto en la tablet no llegaba el mensaje.
Otra cosa que hecho también es limpiar la variable %Vol añadiendo una tarea más, en el perfil de bajar el volumen, después de la acción bajar volumen multimedia para que no se quede activo luego si dejo de reproducir música.
Repito que lo del volumen es una chapuza, mi pregunta es ¿cómo ajustar el volumen por medio de una variable, es decir, que diga subir volumen y la variable volumen creada aumente en +1 y suba el volumen o lo contrario?
Otra duda es, una vez que se está reproduciendo la tarea música (comando play music), ¿hay alguna forma de hacer un perfil que haga pasar a la siguiente canción?
Bueno y esto es todo más o menos, me he ayudado y basado del ejemplo ese que venía en el foro y sigo pensando que se puede hacer más simple y directo y no empleando tantas variables, a ver si alguien me puede echar una mano y se hace un buen tutorial completo de todo esto.
Un saludo y gracias.
Caravantes
04/07/13, 03:37:18
Hola, Guglegap. 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
mi pregunta es ¿cómo ajustar el volumen por medio de una variable, es decir, que diga subir volumen y la variable volumen creada aumente en +1 y suba el volumen o lo contrario?
Creo que no hay una forma de hacerlo que sea buena y fácil. Tasker tiene una variable incorporada llamada %VOLM que contiene el nivel de volumen multimedia. Pero creo que no es posible manejar esa variable directamente: no se puede coger esa variable y sumarle o restarle uno para variar su valor, al menos yo lo he probado y no me funciona.
Intentaría lo siguiente. Los niveles de volumen multimedia van de 0 a 15. Así pues me haría una tarea llamada BAJAR-VOLUMEN que tuviera 15 acciones:
01 Volumen multimedia. Nivel 0, Si(If) %VOLM es-matemáticamente-igual-a 1
02 Volumen multimedia. Nivel 1, Si(If) %VOLM es-matemáticamente-igual-a 2
03 Volumen multimedia. Nivel 2, Si(If) %VOLM es-matemáticamente-igual-a 3
...
15 Volumen multimedia. Nivel 14, Si(If) %VOLM es-matemáticamente-igual-a 15
Luego me haría una tarea SUBIR-VOLUMEN que fuera similar:
01 Volumen multimedia. Nivel 15, Si(If) %VOLM es-matemáticamente-igual-a 14
02 Volumen multimedia. Nivel 14, Si(If) %VOLM es-matemáticamente-igual-a 13
03 Volumen multimedia. Nivel 13, Si(If) %VOLM es-matemáticamente-igual-a 12
...
15 Volumen multimedia. Nivel 1, Si(If) %VOLM es-matemáticamente-igual-a 0
Es importante que en esta tarea de Subir-volumen las acciones estén en el orden que las he puesto, porque si las pones en el otro orden se ejecutarán todas en serie y siempre acabarás con el volumen al máximo.
De esta forma, cada vez que ejecutes la tarea Subir-volumen, el nivel subirá un punto. Y cada vez que ejecutes Bajar-volumen, el nivel bajará un punto. Si repites la tarea varias veces subirá o bajará varios puntos. Una vez llegado al límite, la tarea no hace nada, cuando está en el límite, la tarea no intenta seguir subiendo ni bajando. Creo que es un poco tedioso de construir pero funcionará bien. Eso espero.
Una ventaja adicional de este sistema es que no necesitas usar una variable %Vol, que parece que te estaba causando complicaciones.
Otra duda es, una vez que se está reproduciendo la tarea música (comando play music), ¿hay alguna forma de hacer un perfil que haga pasar a la siguiente canción?
El primer enlace que te he puesto te dará una pista sobre nuestro recopilatorio que es una valiosa fuente de información. También tienes la referencia entre los primeros mensajes del foro, los que están marcados como importantes. En ese recopilatorio, entre los plug-ins encontrarás uno que supongo que te puede servir porque... "Permite manejar distintos reproductores de música/audio mediante widgets "genéricos" y además provee plugin para Tasker con muchos contextos y acciones para manejar los distintos reproductores." La información de este plugin es un aporte del compañero Maid450 a quien le agradezco desde aquí por darnos esa pista.
Acabo de leer tu mensaje y me ha falta más tiempo para leerlo detenidamente. De momento solo puedo decirte que en el recopilatorio tienes una lección entera de autoremote, no se si la habrás visto si no te recomiendo su lectura.
maid450
04/07/13, 07:45:56
Creo que no hay una forma de hacerlo que sea buena y fácil. Tasker tiene una variable incorporada llamada %VOLM que contiene el nivel de volumen multimedia. Pero creo que no es posible manejar esa variable directamente: no se puede coger esa variable y sumarle o restarle uno para variar su valor, al menos yo lo he probado y no me funciona.
Lo que se puede hacer para el tema del volumen y se ahorran tantas acciones es establecer una variable temporal que sea el %VOLM sumándole o restándole 1 y luego establecer el Volumen Multimedia al valor de esa variable.
La tarea "Subir Volumen" quedaría así:
1 Establecer variable %newvolm valor %VOLM + 1 (calcular: ON)
2 Volumen Multimedia nivel %newvolm
y "Bajar Volumen"
1 Establecer variable %newvolm valor %VOLM - 1 (calcular: ON)
2 Volumen Multimedia nivel %newvolm
guglegap
04/07/13, 12:27:32
Gracias a todos por responder, he estado haciéndolo como dice maid450 que es así como me interesaba pero tengo el siguiente problema.
Cuando envío el mensaje a la tablet con autoremote de subir volumen activo la variable %Vol~on y a partir de ahí hago la tarea que dices maid, es decir, si pongo de condición %Vol~ on subo el volumen y si %Vol~off (mando bajar volumen) ejecuto la tarea bajar volumen.
El problema surge cuando quiero subir/bajar el volumen dos o más veces seguidas, porque con la primera %Vol ya está en on y entonces no se vuelve a ejecutar (ya que la condición ya esta activada) si vuelvo a decir subir volumen. He probado en la tarea de subir/bajar volumen limpiar la variable %Vol para poder subir/bajar volumen más de una vez seguidas pero entonces deja de cumplirse la condición que hace que se ejecute dicha tarea. No se si me explico.
En la tablet, después de decir en el móvil subir/bajar volumen:
Estado->Autoremote -> tarea->establecer variable: %Vol A %arpar2
Ahora ejecuto la acción de subir/bajar volumen según la condicion de %Vol si está en on ó off:
Perfil1:Estado->variable-> %Vol~on-> tarea1-> establecer variable: %NewVol A %VOLM+1 -> tarea2-> limpiar variable %Vol
Y parecido sería el perfil2 de bajar volumen...pero con la condición de %Vol~off y %VOLM-1...
Repito no me funciona si digo dos veces la misma acción si las alterno si funciona, es decir, si digo subir volumen y luego bajar volumen funciona pero estaría siempre con el mismo volumen solo que subiendo +1 o bajando -1.¿cómo se haría?
Caravantes
04/07/13, 13:18:06
He probado en la tarea de subir/bajar volumen limpiar la variable %Vol para poder subir/bajar volumen más de una vez seguidas pero entonces deja de cumplirse la condición que hace que se ejecute dicha tarea. No se si me explico.
Te explicas a medias.
Que deje de cumplirse un contexto no interrumpe una tarea que ya estuviese iniciada. Dicho de otra forma, limpiar la variable %Vol no debiera interferir en la tarea que ya se hubiese iniciado. Por otro lado, creo que lo lógico es... primero subir el volumen, segundo limpiar la variable %Vol. De esta forma, se limpia la variable después de haber subido el volumen, y en este sentido tampoco debiera haber problema. Exporta el perfil o tarea para que lo veamos porque al menos yo sigo sin entender ese problema que dices tener.
Perfil1:Estado->variable-> %Vol~on-> tarea1-> establecer variable: %NewVol A %VOLM+1 -> tarea2-> limpiar variable %Vol
Creo que estás confundiendo las tareas con las acciones. Estas cuestiones terminológicas son fundamentales para que podamos entendernos. Sobre todo si no nos muestras el perfil exportado.
Creo que lo que dices de %Vol se resolvería con evento de variable no estado. Así cada vez que coger un valor tasker activa el perfil.
Lo sumar a %VOLM :
Se resuelve sumando 1 a nuestra variable que previamente hemos igualado a %VOLM., en vez de sumarle a %VOLM.
Lo de distinguir entre tarea de bajar o subir se puede simplificar dado que sumar -1 es restar
Así que solo tenemos que saber si queremos subir o bajar para que sume - 1 o +1.
Si no mandas un mensaje con comando y parámetros te basta con poner por ejemplo :
"Hola q tal" en el mensaje de AR. Luego este mensaje lo tendrás en %armessage
Lo de =:= no tiene sentido que lo pongas a no ser que pongas algo a la izquierda y a la derecha, o sea a no ser que le des un comando y unos parámetros, por ejemplo:
SubirVolumen =:= %Cuanto %Canal
%arcomm será la acción subirvolumen
%arpar1 será el valor de la variable %Cuanto
%arpar2 será el valor de la variable %Canal (multimedia, teléfono, etc)
Esto es solo a modo de Ejemplo para que veas como funciona.
maid450
04/07/13, 13:22:30
Si lo he entendido bien pienso que lo puedes hacer todo en un único perfil ahorrándote la variable %Vol y sin complicarte.
Estado: Autoremote
Tarea:
1- Establecer Variable %newvol a %VOLM + 1 (Calcular: On) Si (if) %arpar2 ~ on
2- Establecer Variable %newvol a %VOLM - 1 (Calcular: On) Si (if) %arpar2 ~ off
3- Volumen multimedia Nivel %newvol
(En este caso es preferible usar una variable local (todo en minusculas: %newvol) para que una vez acabe la tarea se borre y no acumular variables "basura")
Para este caso pienso que es lo mejor, de todas formas, por si te sirve para otras situaciones, hay un contexto en la categoría "Evento" en vez de "Estado" llamado "Establecer variable" que se ejecuta cada vez que se establece una variable.
Por un lado al ser de tipo "Evento" el perfil se activa e inmediatamente se desactiva, con lo que se puede ejecutar varias veces seguidas sin tener que ir limpiando la variable, contrariamente a los "Estados" que se quedan activos mientras se cumple la condición.
Por otro lado (esto no está probado, pero debería ser así) al ejecutarse cada vez que se establece la variable a cualquier valor, no debería importar si estableces una variable al valor que ya tenía sin cambiarlo.
guglegap
04/07/13, 14:59:41
Esta es la tarea que he creado para subir/bajar volumen pero sigue sin funcionarme, no se si es por la parte creada con el móvil y otra cosa lo he probado como dice maid450 y mlesir pero no me va de ninguna de las dos formas, (lo he dejado al final como dice mlesir):
Volume (47)
A1: Establecer variable [ Nombre:%Newvol A:%VOLM Calcular:Apagado Añadir:Apagado ]
A2: Establecer variable [ Nombre:%Newvol A:%Newvol+3 Calcular:Encendido Añadir:Encendido ] Si (if) [ %arpar2 ~ on ]
A3: Decir [ Texto:Subiendo volumen a %Newvol Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:5 Velocidad:5 Continuar tarea inmediatamente:Apagado ] Si (if) [ %arpar2 ~ on ]
A4: Establecer variable [ Nombre:%Newvol A:%Newvol-2 Calcular:Encendido Añadir:Encendido ] Si (if) [ %arpar2 ~ off ]
A5: Decir [ Texto:Bajando volumen a %Newvol Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:5 Velocidad:5 Continuar tarea inmediatamente:Apagado ] Si (if) [ %arpar2 ~ off ]
A6: Volumen multimedia [ Nivel:%Newvol Mostrar:Encendido Sonido:Encendido ]
guglegap
04/07/13, 15:51:42
Os enseño lo que he hecho con tasker por ahora:
Móvil: http://db.tt/7RHYfpwS
Tablet: http://db.tt/pzdNwzH8
Caravantes
04/07/13, 20:27:49
Volume (47)
A1: Establecer variable [ Nombre:%Newvol A:%VOLM Calcular:Apagado Añadir:Apagado ]
A2: Establecer variable [ Nombre:%Newvol A:%Newvol+3 Calcular:Encendido Añadir:Encendido ] Si (if) [ %arpar2 ~ on ]
A3: Decir [ Texto:Subiendo volumen a %Newvol Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:5 Velocidad:5 Continuar tarea inmediatamente:Apagado ] Si (if) [ %arpar2 ~ on ]
A4: Establecer variable [ Nombre:%Newvol A:%Newvol-2 Calcular:Encendido Añadir:Encendido ] Si (if) [ %arpar2 ~ off ]
A5: Decir [ Texto:Bajando volumen a %Newvol Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:5 Velocidad:5 Continuar tarea inmediatamente:Apagado ] Si (if) [ %arpar2 ~ off ]
A6: Volumen multimedia [ Nivel:%Newvol Mostrar:Encendido Sonido:Encendido ]
Resaltados en rojo lo que creo que son errores.
Como puedes ver, poner la tarea así (definición exportada como texto) es útil porque podemos analizar fácilmente esa tarea.
En cambio, lo otro que has puesto (exportación XML) es una locura, prácticamente imposible de interpretar directamente. Podría servir para que otra persona lo importase, pero veo poco probable que ninguna persona del foro se tome tanto esfuerzo personal solo para ayudarte.
De acuerdo en todo con Caravantes. Si no es un error que creo que si y por eso falla, al menos es innecesario.
Respecto al tema de transcribir los perfiles de nos tenemos que acostumbrar todos a hacerlo de esta manera y a transcribirlo cuando sea relevante. Nos ahorraremos muchas confusiones.
EDITO : Otro fallo es meter los if solo para establecer variable. Esto hará que las dos acciones de decir se van a ejecutar. Debería hacerse con una acción separada IF.
EDITO 2: Otra cosa que no entiendo es lo de utilizar %arpar2, y entonces %arpar1? Para que haya un arpar2 tiene que haber un arpar1, a que equivale %arpar1?. Esto no deja de ser un array.
guglegap
05/07/13, 08:43:20
Los enlaces que puse eran para importarlos directamente en tasker creo, lo que pasa que con dropbox al abrirlos te sale de esa forma que es una locura,jeje, lo vuelvo a poner pero esta vez en formato zip: http://db.tt/1UPpcyx6 ahora solo hay que extraerlo y ponerlo en la carpeta de proyectos de tasker y luego abrir tasker e importarlos y se supone que ya lo podeis ver lo que tengo. Perdonar mi error.
Ahí es donde tengo dudas Mlesir, la variable %arpar2 que no sé muy bien utilizarla, ví que en el ejemplo que venía de autoremote de tabletstatus activo/inactivo...no mencionaba nada de arpar1 y supuse que cuando ponías en autoremote message estado activo/inactivo %arpar2 cogía esas dos variables activo/inactivo...
maid450
05/07/13, 08:44:09
Resaltados en rojo lo que creo que son errores.
Como puedes ver, poner la tarea así (definición exportada como texto) es útil porque podemos analizar fácilmente esa tarea.
En cambio, lo otro que has puesto (exportación XML) es una locura, prácticamente imposible de interpretar directamente. Podría servir para que otra persona lo importase, pero veo poco probable que ninguna persona del foro se tome tanto esfuerzo personal solo para ayudarte.
Estoy de acuerdo en que lo resaltado en rojo parece ser la causa de que no funcione.
Respecto a los XML, me parece que no está de más ponerlo siempre que además haya una descripción legible de la tarea (que la hay en este caso). Al fin y al cabo si puede haber gente interesada en conseguir lo mismo y que pueda querer importarlo para ayudar a resolver el problema sin tener que reproducir el perfil a mano (en perfiles grandes es una faena) y poder usar el perfil/tarea el mismo cuando funcione. Lo unico es que lo habría añadido al final del anterior post (editándolo si ya lo había publicado cuando se le ocurrió) en vez de poner un post nuevo solo para eso, además que en vez de dropbox hubiera usado http://pastebin.com/, pero todo eso ya son pejillerías mías X-D.
El argumento que más leo en contra de la publicación de XMLs es la posibilidad de tareas "maliciosas" dificilies de detectar ya que los XML son poco legibles, pero para los más paranoicos siempre está la opción de deshabilitar Tasker un momento para que no ejecute nada, importar la tarea/perfil/proyecto, echarle un vistazo y volver a habilitarlo una vez despejadas las dudas.
maid450
05/07/13, 08:47:38
EDITO 2: Otra cosa que no entiendo es lo de utilizar %arpar2, y entonces %arpar1? Para que haya un arpar2 tiene que haber un arpar1, a que equivale %arpar1?. Esto no deja de ser un array.
Ahí es donde tengo dudas Mlesir, la variable %arpar2 que no sé muy bien utilizarla, ví que en el ejemplo que venía de autoremote de tabletstatus activo/inactivo...no mencionaba nada de arpar1 y supuse que cuando ponías en autoremote message estado activo/inactivo %arpar2 cogía esas dos variables activo/inactivo...
Siempre me lío yo tambien con los %arpar, %arcomm y demás del autoremote, me parece muy poco intuitivo...
Lo mejor es que metas acciones flash (Alerta->Flash) mostrando los valores de distintas variables para que veas su contenido.
guglegap
05/07/13, 20:15:59
Ya lo he conseguido!!! Luego os explico como lo he hecho
Ya lo he conseguido!!! Luego os explico como lo he hecho
Podrías explicar la solución o como lo has conseguido? Estoy mirando como usar autoremote y cualquier ejemplo me viene bien :D
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.