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

Respuesta
 
Herramientas
  #1  
Viejo 08/06/16, 04:22:11
Array

[xs_avatar]
rgaa3005 rgaa3005 no está en línea
Usuario poco activo
 
Fecha de registro: sep 2008
Localización: Bogotá Colombia
Mensajes: 16
Modelo de smartphone: Samsung Galaxy S7 Edge
Tu operador: Otra
Lightbulb Asistente de Voz para la casa (Domotica) - Autovoice, Tasker y RM

Buenas noches Amigos, desde hace unos días he tenido una idea que he estado desarrollando, a pesar de que he logrado algunas cosas no he podido llegar al 100% de lo que busco.

Desde hace algún tiempo he comenzado con la idea de hacer algo que sea realmente accesible en precio para todos y en esa búsqueda me encontré con los dispositivos de broadlink, entre ellos hay algunos controladores de señales IR y RF y es precisamente con ellos que estoy trabajando.

Por fortuna existe un plugin, del que se ha hablado entre poco y nada en el foro, que sirve para enviar los comandos al control Broadlink y que este a su vez los envie en forma de RF o IR.

Nuevamente en la idea, lo que estoy tratando de hacer es algo parecido a una iniciativa que leí hace algún tiempo, donde un taskero creaba una rutina de acción respuesta con voz para hacer actividades (encender wifi, pagar bt, etc)

lo he hecho por 2 rutas diferentes:

1-) Capto los comandos de Google now por %avcomm y luego con comandos if busco que contienen, por ejemplo digo: "encender la tv de la sala" y si %avcomm = *encender* And+ %avcomm=*tv* And+ %avcomm=*sala* envio el comando de encender la tv de la sala

2-) De la misma forma capto el comando en %avcomm y la meto en una variable %Ordenando y creo una tarea de enviar el comando de encender la tv, que se ejecuta si %Ordenando = *encender* And+ %Ordenando=*tv* And+ %Ordenando=*sala*

En general ambas rutas funcionan, también como si creara comando directos a ejecutar la acción con la ayuda de Autovoice y con la ventaja que doy palabras alternativas para que el comando funcione como *tv/*televisión*/*televisor*

Sin embargo, hay 2 cosas que no he logrado idear como ejecutar y es porque creo que no estoy haciéndolo de la manera correcta. Que pasa si entro a la habitación y quiero dar un comando más largo que tenga más de una orden, por ejemplo: "enciende el tv y el aire de la sala". En este caso siempre prioriza la primera actividad que este en el código de programación por aquello del else)

Lo otro que no se me ocurre es que tal si le digo "pon el canal 310", recordemos que en un control marcar el 310 implicaría 3 ordenes diferentes como marcar el 3, marcar el 1 y marcar el 0

Bueno le cuento un poco lo que hecho y espero que ademas de ayudarme con algo de luz para terminarlo, les sirva a otros para animarse a crear algo similar y poder sumarle ideas de control

saludos

Ramón
Responder Con Cita


  #2  
Viejo 08/06/16, 10:14:54
Array

[xs_avatar]
mlesir mlesir no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Tu operador: Pepephone
La verdad es que no tengo ni idea sobre broadlink ni señales ir,etc. Supongo que el controlador es como un traductor, entre el movil y los aparatos no?
Sobre lo de dar varias ordenes creo que te podría ayudar el asistente de voz que idee en su día con ayuda del compañero GraphicAdventure:

http://www.htcmania.com/showthread.php?t=977475

Sobre lo de marcar, no te entiendo muy bien. Supongo que puedes usar regex para separar los numeros y meter cada digito en una variable. Exactamente en un array que es lo que te da la acción "buscar y reemplazar variable".

Enviado desde mi T1-701u mediante Tapatalk
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
Responder Con Cita
  #3  
Viejo 08/06/16, 14:46:43
Array

[xs_avatar]
rgaa3005 rgaa3005 no está en línea
Usuario poco activo
 
Fecha de registro: sep 2008
Localización: Bogotá Colombia
Mensajes: 16
Modelo de smartphone: Samsung Galaxy S7 Edge
Tu operador: Otra
hola mlesir; es sencillo, cuando hablo de señales IR o RF son las señales de los controles remotos (infrarrojo y radio frecuencia). Ese pequeño equipo de Broadlink de 35 dolares, lo que hace es copiar las señales de tus controles remotos y repetirla por medio de una app propia o como en este caso por ordenes de tasker.

En la noche hago algunas pruebas con tu ayuda y te comento que tal sale.

saludo
Responder Con Cita
  #4  
Viejo 09/06/16, 00:21:09
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por rgaa3005 Ver Mensaje
hay 2 cosas que no he logrado idear como ejecutar y es porque creo que no estoy haciéndolo de la manera correcta. Que pasa si entro a la habitación y quiero dar un comando más largo que tenga más de una orden, por ejemplo: "enciende el tv y el aire de la sala".
Creo que la solución a este problema es sencilla. Para chequear la orden verbal, no utilices estructuras If-Else-Else-Endif sino varias estructuras individuales y sucesivas de tipo If-Endif, del modo siguiente:

Código:
- Si  %avcomm ~ *tv*/*televisión*/*televisor* And+ %avcomm~*sala*/*salita*
-   Enviar el comando de encender la tv de la sala, si %avcomm ~ *encender*/*enciende*
-   Enviar el comando de apagar la tv de la sala Si %avcomm ~ *apagar/apaga*
- Endif
- Si  %avcomm=*aire* And+ %avcomm=*sala*/*salita*
-   Enviar el comando de encender el aire de la sala, si %avcomm ~ *encender*/*enciende*
-   Enviar el comando de apagar el aire de la sala Si %avcomm ~ *apagar/apaga*
- Endif
De este modo te funcionará bien la orden "enciende el tv y el aire de la sala", y puedes añadir más estructuras independientes para otros aparatos o para otras funciones (de los mismos aparatos).

Has planteado un sistema que no tiene en cuenta el orden de las palabras, por lo cual se montaría un buen follón al decir "enciende el tv y apaga el aire de la sala". La tarea no detecta cuál aparato hay que encender y cuál hay que apagar. Te sugiero que previamente pongas algún chequeo para evitar órdenes que incluyan información contradictoria, del tipo siguiente:
Código:
- Si %avcomm ~ *encender*/*enciende* And+ %avcomm ~*apagar*/*apaga*
-   Emitir mensaje de error.
-   Detener tarea.
- Finsi
 Cita: Originalmente Escrito por rgaa3005 Ver Mensaje
Lo otro que no se me ocurre es que tal si le digo "pon el canal 310", recordemos que en un control marcar el 310 implicaría 3 ordenes diferentes como marcar el 3, marcar el 1 y marcar el 0
Yo probaría con el siguiente esquema:

Código:
- Si  %avcomm ~ *pon*/*poner* And+ %avcomm~*canal*
-   Localizar y aislar la serie numérica que va justo detrás de la palabra "canal" ("310", en el ejemplo)
-   Comprobar que el número es válido (supierior a cero e inferior a un millón o lo que corresponda).
-   Detectar cuántos dígitos tiene esa serie numérica (3, en este ejemplo)
-   Bucle for para cada uno de esos dígitos
-      Enviar el comando u orden correspondiente a ese dígito.
-   Fin del bucle For
- Endif
Espero que lo hayas entendido y te parezca una buena opción. Si necesitas ayuda con los detalles, pues vuelve a preguntar.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker

Última edición por Caravantes Día 09/06/16 a las 00:29:29.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Otro software para Android > Tasker



Hora actual: 10:15:35 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /