Ver la Versión Completa : [ CONSULTA ] Cómo hacer que Tasker nos diga la hora (bien dicha)
Mitrhandir
27/07/16, 17:22:20
Abro nuevo tema, con un apasionante reto. Que Tasker nos diga las horas de una manera comprensible. Os animo a que participéis todos! :cucu:
danko9696
27/07/16, 17:26:13
Yo no lo he usado para leer la hora pero sí tiempos restantes, de modo que el resultado sea "mensaje recibido hace un día y dos minutos" en lugar de "mensaje recibido hace uno días, cero horas y dos minutos", por ejemplo.
Se trata de coger la cadena del tiempo y manipularla para obtener una cadena que al leerla quede bien al ser leída literalmente, con IFs, operadores ternarios u operaciones REGEX. Y lo suyo es tenerlo en una función, de modo que puedas usarlo desde varios sitios".
WillyWeb
27/07/16, 17:35:39
Ya te han dado un montón de buenas ideas aquí ...
http://www.htcmania.com/showthread.php?t=1208994&page=3
... así que no tienes excusa. Y no te agobies que vamos poco a poco. A los habituales del foro les pido paciencia. No se trata de poner la solución, se trata de aprender a pensar como un programador, y este "ejercicio" es bueno para eso.
Al tema...
¿Qué queremos?
Una pronunciación "natural" de la típica hora numérica de un reloj digital.
¿Qué tenemos?
La variable de Tasker %TIME (hora actual).
¿Qué contiene?
¿Su contenido nos vale tal y como está?
¿Que formato tiene su contenido?
¿Qué valores toma a lo largo del día?
:palomitas:
Mitrhandir
27/07/16, 17:46:26
Agradezco lo de ir despacio WillyWeb y demás foreros. Al lío.
La variable %TIME contiene la hora actual proporcionada por Android.
El contenido no nos vale porque tal y como lo lee el motor de voz, lo hace incomodo e incomprensible (al menos para mí)
El formato es HH.MM
Valores a mí entender, ninguno. Dice la hora tal cual, porque nosotros aún no hemos proporcionado esos valores.
Espero haber respondido bien!
danko9696
27/07/16, 18:01:18
Valores a mí entender, ninguno. Dice la hora tal cual, porque nosotros aún no hemos proporcionado esos valores.
Espero haber respondido bien!
No, no "dice la hora". Lo que hace es leer un texto literalmente, que no es lo mismo. Cuando tú dices la hora tienes en cuenta singulares y plurales, por ejemplo. Si la cadena es "15.01" no querrás que diga "quince horas y uno minutos" sino "quince horas y un minuto".
Lo que tienes que tener en cuenta es que el TTS no lee como una persona. No tiene en cuenta gramática sino que lee palabra a palabra, cada pequeño bloque de texto de una vez y por separado sin tener en cuenta lo que viene antes o después.
SmartPhoneLover
27/07/16, 18:03:38
Redirección → aquí (http://www.htcmania.com/showpost.php?p=23856802&postcount=29)
Mitrhandir
27/07/16, 18:45:56
Vamos por partes, Smart. Que voy perdido. Al separar variable, qué consigues? Y restando de variable? Quiero entender primero el porqué, luego el cómo.
SmartPhoneLover
27/07/16, 19:16:47
Vamos por partes, Smart. Que voy perdido. Al separar variable, qué consigues? Y restando de variable? Quiero entender primero el porqué, luego el cómo.
- Al separar la variable, obtengo la parte de las horas y la de los minutos. Luego uso y nombre cada uno de esos elementos para conformar horas, y minutos de manera individual y trabajar luego con ellos de manera aislada.
- Restanto la variable?
Mitrhandir
27/07/16, 19:30:29
Perdón, quería decir restar de variable. Buena explicación!
SmartPhoneLover
27/07/16, 19:33:30
Ahh, elimino los posibles ceros que puedan haber en cada número, para que no diga: "son las cero-siete y treinta!.
PD: Estoy trabajando en otro que diferencia los cuartos [tres y cuatro], media (tres y media), menos cuarto (3 menos cuarto), en punto (3 en punto). Mantengo el formato de 12h.
Caravantes
27/07/16, 19:53:09
Que Tasker nos diga las horas de una manera comprensible.
Deberías concretar más. ¿Que tipo de expresiones quires? Por ejemplo, escribe cómo quieres verbalizar las siguientes horas: 00:00 --- 01:01 --- 12:15 --- 23:30
SmartPhoneLover
27/07/16, 19:57:36
Perdón, quería decir restar de variable. Buena explicación!
Se me paso contestarte a lo de la resta.
Impuse la resta, ya que eso es lo que proboca que el TTS me comunique la hora con el formato de 12H. Es decir: imaginemos que ahora son las 14:45, pues lo que hago para que el móvil me diga la hora en el formato de 12H, no 24H: "14:45 - 12:00 = 02:45H"
-----------------------------------------------------------------------------------
Comentar que en la próxima tarea, además de incluir los demás formatos, también volveré a crear las variables, no como globales. Jajaja por no hacer caso a WillyWeb y a tí Caravantes, ya me estaba creando conflictos con el otro que había creado, y la variable no se vaciaba.
Mitrhandir
27/07/16, 19:59:58
Hola Caravantes! Hombre, pues más o menos un verbo castellano. Huelga decir que tengo una importante sordera, por lo tanto, necesito entender bien la hora que me dice Conchita. Y sólo cada 15 minutos, puesto que no trato de volver locos a los que me rodean. Smart creo que lo ha sintetizado bastante bien, puesto que he entendido su proceso. Pero A5 me da error. Estoy tratando de averiguar qué es.
Edito: Por ejemplo, son las 12 de la noche, o la una de la mañana y un minuto, o son las doce y cuarto de la mañana, o son las once y media de la noche. Eso estaría genial!
Mitrhandir
27/07/16, 20:16:52
Vale, he probado tu perfil Smart. Pero todo el rato me dice que "Son las 0 y 0". A ver qué ocurre... Voy a trastear!
Caravantes
27/07/16, 20:34:20
pues lo que hago para que el móvil me diga la hora en el formato de 12H, no 24H: "14:45 - 12:00 = 02:45H"
O sea que va a decir exactamente lo mismo a las 03:45 y a las 15:45. ¿No te interesa diferenciar am/pm?
Y sólo cada 15 minutos, puesto que no trato de volver locos a los que me rodean.
Alba, ese matiz es nuevo; creo que de ese detalle no habías dicho nada hasta ahora. Quizá tu estuvieras pensando todo el tiempo en ello, pero los demás no sabemos si quieres que te diga la hora cada 15 minutos o en cada ocasión que enciendes la pantalla o en otra circunstancia. Has empezado pidiendo solo "Que Tasker nos diga las horas de una manera comprensible". Y cuando te digo que necesitas matizar más, es cuando empiezas a explicar algunos detalles importantes que no habías mencionado antes.
En todo caso, la tarea puede ser de tipo general, para que cada uno la aplique según sus necesidades o preferencias. Habrá compañeros/ocasiones en los que sea suficiente con los cuartos/medias/horas, y habrá otros que lo apliquen a un perfil distinto que puede activarse en cualquier momento.
Pero sigues sin contestar a mi pregunta principal, ni siquiera con los ejemplos. Voy a contestarlos yo mismo para que veas que sí hay detalles importantes por decidir:
00:00 --- Las cero horas y cero minutos. Las cero horas. Las cero horas en punto. Las doce de la madrugada. Las doce de la mañana. Medianoche.
12:15 --- Las doce y cuarto. Las doce y quince. Las doce del mediodía y quince minutos. Las doce y cuarto de la tarde.
23:30 --- Las ventitrés treinta. Las once y media de la noche. Las once y treinta de la noche. Las once de la noche y treinta minutos.
¿?
SmartPhoneLover
27/07/16, 20:34:37
Redirección → aquí (http://www.htcmania.com/showpost.php?p=23856802&postcount=29)
Caravantes
27/07/16, 20:53:03
Excelente tarea, Smart. Te sugiero algunas mejoras.
A9: Si (if) [ %time2 ig 15 ]
A10: Establecer variable [ Nombre:%time2 A:cuarto Calcular:Apagado Añadir:Apagado ]
A11: Decir [ Texto:Son las %time1 y %time2...
Puedes ahorrarte una acción, y simplificas:
A9: Si (if) [ %time2 ig 15 ]
A10: Decir [ Texto:Son las %time1 y cuarto ...
Igualmente es posible ahorrar una acción en las medias, las horas menos cuarto y las horas en punto.
Para las 10:45 la tarea dice "las once menos cuarto". Ok.
Sería consecuente que para las 10:50 dijese "las once menos diez" en lugar de decir "las diez y cincuenta".
Es un poco "raro" que la secuencia siguiente, en tres minutos sucesivos, cambie dos veces la forma de decir la hora:
- 10:44 - Las diez cuarenta y cuatro.
- 10:45 - Las once menos cuarto.
- 10:46 - Las diez cuarenta y seis.
Otra "mejora posible":
Inserta al comienzo de la tarea una acción del tipo siguiente:
A1 Establecer variable [ Nombre:%tiempo A:%TIME...]
Y luego haces todas las operaciones sobre la variable %tiempo (o %tiempo1, etc)
La ventaja de esto es que en un momento dado puedes probar la tarea con un tiempo distinto al de %TIME; para hacer esas pruebas bastaría con cambiar esa primera acción del modo siguiente, poniendo los valores que quieras probar
A1 Establecer variable [ Nombre:%tiempo A:23:59...]
A1 Establecer variable [ Nombre:%tiempo A:00:00...]
y cuando hayas terminado las pruebas vuelves a
A1 Establecer variable [ Nombre:%tiempo A:%TIME...]
WillyWeb
27/07/16, 21:22:26
Me parece que estáis corriendo mucho y yo no me estoy enterando de nada.
SmartPhoneLover, en tu primera versión del post #6 tenías A1 y A2 "casi" iguales ¿por qué? Y por cierto, no hagas trampas granuja. Si ves que algo está mal lo explicas en otro post, pero no lo borres como si nada ... no intentes engañarme. ;-)
Tanto en el post #6 como en el #16 has puesto un A2 y A3 que no creo que todo el mundo tenga claro para qué son. ¿Has probado otras formas de hacer eso mismo?
Y después de hacer lo que hacen esas acciones, ¿tienen sentido esos "00" que has puesto después?. Me refiero al post #6, que en el #16 ya lo has "evitado", que no "solucionado".
En el post #16 cuento cinco acciones "Decir", pero te sobra con una. ¿Qué pasa, que están de oferta?. Y en ese mismo post, empiezas con variables globales y luego te pasas a locales sin motivo aparente ... ¿qué pasa aquí? :rolleyes:
Edito que me he olvidado de algo...
albalatvs, estás mezclando la tarea con el perfil. Se trata de hacer una tarea que "diga" cualquier hora de forma "natural". Cada cuánto la diga es otra cuestión que ya trataremos cuando proceda.
Ahora sí...
Menos prisas caballeros, que esto no es una carrera. Despacito y buena letra, como decía mi abuela.
:palomitas:
SmartPhoneLover
27/07/16, 21:26:57
Redirección → aquí (http://www.htcmania.com/showpost.php?p=23856802&postcount=29)
WillyWeb
27/07/16, 21:31:24
Otra "mejora posible":
Inserta al comienzo de la tarea una acción del tipo siguiente:
A1 Establecer variable [ Nombre:%tiempo A:%TIME...]
Y luego haces todas las operaciones sobre la variable %tiempo (o %tiempo1, etc)
...
Eso no es una mejora. Eso es por lo que tendrían que haber empezado. :sisi1:
SmartPhoneLover
27/07/16, 21:37:19
Eso no es una mejora. Eso es por lo que tendrían que haber empezado. :sisi1:
Y por qué nadie lo ha escrito ya? Yo buscando al igual que otras decenas de usuarios más o quizás centenares... Tan obvio que era ¿?
WillyWeb
27/07/16, 21:56:25
Y por qué nadie lo ha escrito ya? Yo buscando al igual que otras decenas de usuarios más o quizás centenares... Tan obvio que era ¿?
Con lo feo que es hacer esto...
... paciencia. No se trata de poner la solución, se trata de aprender a pensar como un programador, y este "ejercicio" es bueno para eso.
Es una tarea relativamente sencilla que brinda una excelente oportunidad para aprender buenas técnicas de programación. Perder un momento en esto termina ahorrando mucho tiempo:
-Define claramente lo que quieres
-Planifica cómo lo quieres hacer
-Decide si la tarea es de usar y tirar o tienes que conservar el resultado
-Haz pequeñas pruebas para confirmar que tu planificación es factible
No se trata de hacerlo rápido. Se trata de hacerlo bien. :ok:
SmartPhoneLover
27/07/16, 22:25:06
Con lo feo que es hacer esto...
Mmmm, esto?
WillyWeb
27/07/16, 22:26:11
Mmmm, esto?
Citarse a uno mismo.
Mitrhandir
28/07/16, 12:20:34
:oh: Chicos! Haya paz! Detecto exceso de testosterona! :risitas:
A ver, de lo que se trata es de que cualquier neófito como yo, aprende de una forma didáctica los entresijos de Tasker. Podéis por favor seguir con el hilo? Un saludo! :cucu:
WillyWeb
28/07/16, 13:17:04
Pues tendrás que reiniciar el tema, porque SmartPhoneLover ha borrado el contenido de casi todos sus post y ya no tienes tarea. :oh:
Si mis comentarios han sido la causa de su enfado me disculpo públicamente, ante él y ante cualquiera que haya podido sentirse molesto con el "tono" de los mismos. :(
En cuanto al contenido "técnico" de lo que he dicho...
Caravantes decía en el post #17 que sería una mejora interesante comenzar la tarea con algo como esto...
A1 Establecer variable [ Nombre:%time A:%TIME ]
Como digo en el post #20, eso es lo primero, sobre todo si luego se piensa usar un "Separar variable" para sacar la hora y los minutos (y el separador correcto es el punto, no los dos puntos). Puesto que no tiene utilidad conservar esos valores lo correcto es usar variables locales.
SmartPhoneLover había usado un ingenioso sistema para quitar los ceros a la izquierda de las horas y los minutos. No estoy seguro de que las horas tengan ese cero y no tengo ganas de cambiar la hora de mi móvil para comprobarlo, así que asumiremos que sí lo lleva. El truco de SmartPhoneLover era dividir el dato en cuestión entre 1 para "forzar" una resultado numérico en el que la librería matemática de Tasker elimina siempre los ceros a la izquierda. Eso se puede hacer igual con una simple asignación de una variable a ella misma pero marcando la casilla "Calcular"...
Establecer variable [ Nombre:%time2 A:time2 Calcular:Encendido Añadir:Apagado ]
Una vez "convertidos" los datos de hora y minutos a valores numéricos (sin ceros a la izquierda) las comparaciones en los IF se deberían hacer con el operador numérico (=) y no con el de texto (ig). El resultado será el mismo en la mayoría de los casos, pero eso es lo correcto. Y puesto que el valor numérico de 00 es 0 no tiene sentido poner en un IF "%time2 ig 00" puesto que esa condición no se cumplirá nunca.
Caravantes decía en sus post #15 y #17 que no se había definido la forma en la que se quería "decir" la hora, y te daba varios ejemplos de cómo hacerlo. Seamos ambiciosos. Lo queremos todo... menos diez, y cuarto, las x de la madrugada, media noche, medio día .. y todo lo que se te ocurra.
Como decía en el post #18, el primer objetivo es conseguir una tarea que "diga" cualquier hora, luego veremos cada cuánto la dice y en qué condiciones.
Ahora tú la llevas ;-)
:palomitas:
GraphicAdventure
28/07/16, 13:18:59
Hola, creo que deberías primero familiarizarte con la aplicación.
Debes conocer los contextos, acciones, variables internas y opciones de configuración de: Tasker, perfil (restaurar ajustes, fuerza orden de tareas) y acción (manejo de incompatibilidades).
Cuando sepas todo esto, aprender a manejar variables, distinguir globales de locales. Ve para que sirven las acciones de variable. Seguidamente controlar un array.
Si quieres aprender regex te ayudará a solucionar cosas más facilmente.
Con esto tienes para lo que se te ocurra, el resto viene solo.
Si tienes una idea y no sabes como empezar, aísla lo pequeño.
En este caso si la hora es 01:01 quieres que diga "es la una" y "un minuto", todo lo demás será "son las" y "x minutos".
Yo para separar la %TIME y quitar los ceros utilizo regex, es bastante sencillo.
Hablando español le digo que busque: un cero seguido de un cero o un número de 1 a 9 seguido de un número o seguido de un punto o seguido de final de cadena.
Con menos de 10 acciones lo tienes funcionando.
Cuando tengas este esqueleto puedes empezar a definir cómo quieres que te diga las horas. Si quieres que te diga los "cuartos", formato 12/24, mañana/tarde.
Si quieres una idea, con una sola acción "decir" puedes tener todo esto, los textos los asignas a 2 variables.
Nota: El TTS Ivona respeta los signos de puntuación y entona correctamente. Por ejemplo si pones una coma te hace una pausa.
Te doy ánimo que puedes hacerlo.
Mitrhandir
28/07/16, 14:20:47
Respecto a lo de Smart, lo siento de veras, porque tiene talento y las conversaciones escritas nada que ver tienen con las orales. Esto lo hacemos con unas cervezas y aprendo en cero coma. En fin, vamos a dejarlo así y vamos a respetar su decisión.
Por suerte, hice su perfil, por lo tanto, tengo el "esqueleto". Ahora falta pulirlo y entender qué hace cada contexto. Al lío.
Perfil: Hora (101)
Hora: Desde 08:00 cada 15m Hasta 22:30
Entrada: Hora (102)
A1: Separar variable [ Nombre:%TIME Separador: Eliminar base:Apagado ]
A2: Establecer variable [ Nombre:%Time1 A:%Time1/1 Calcular:Encendido Añadir:Apagado ]
A3: Establecer variable [ Nombre:%Time2 A:%Time2 /1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%Time1 A:12 Calcular:Apagado Añadir:Apagado ] Si (if) [ %Time1 ig 00 ]
A5: Restar de variable [ Nombre:%Time1 Valor:12 Módulo (wrap around):0 ] Si (if) [ %Time1 > 12 ]
A6: Establecer variable [ Nombre:%Time2 A:En punto Calcular:Apagado Añadir:Apagado ] Si (if) [ %Time2 ig 00 ]
A7: Establecer variable [ Nombre:%Time2 A:%Time2 Calcular:Apagado Añadir:Apagado ] Si (if) [ %Time2 < 12 ]
A8: Decir [ Texto:Son las %Time1 y %Time2 con nivel de batería al %BATT por ciento Motor: Voz:com.ivona.tts:spa-ESP Stream:1 Tono:6 Velocidad:3 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado Continuar Tarea Tras Error:Encendido ]
Huelga decir que contesto siempre desde el tlf, y se me hace un poco complicado.
A1 lo que hace es separar las horas de los minutos para luego poder establecer variables %Time1 como horas y %Time2 como minutos que son A2 y A3 respectivamente. No entiendo el %Time1/1, espero que podáis explicar esto.
A4 creo que dice que %Time1 le da valor de "tarde", es decir, son las x de la tarde
A5 es que "resta" 12 horas para que diga son las 2 de la tarde en vez de las 14.
A6 establece que cuando la hora acabe en 00, diga que son en punto.
A7 no lo tengo muy claro
A8 es la ejecución del motor de voz con las variables %Time1 y %Time2. Me he tomado la licencia de añadir el nivel de batería (mi hijo mayor lo está flipando) :risitas:
Cómo lo veis?
SmartPhoneLover
28/07/16, 14:57:59
Ésta fue la útima edición:
Hora (19)
A1: [X] Establecer variable [ Nombre:%volmultimedia A:%VOLM Calcular:Apagado Añadir:Apagado ]
A2: [X] Volumen multimedia [ Nivel:1 Mostrar:Apagado Sonido:Apagado ]
A3: Separar variable [ Nombre:%TIME Separador:. Eliminar base:Apagado ]
A4: Establecer variable [ Nombre:%time1 A:%TIME1 / 1 Calcular:Encendido Añadir:Apagado ]
A5: Establecer variable [ Nombre:%time2 A:%TIME2 / 1 Calcular:Encendido Añadir:Apagado ]
A6: Si (if) [ %time1 > 12 ]
A7: Establecer variable [ Nombre:%time1 A:%time1 - 12 Calcular:Encendido Añadir:Apagado ]
A8: Else
A9: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Apagado Añadir:Apagado ]
A10: Fin si (End if)
A11: Si (if) [ %time2 = 15 ]
A12: Decir [ Texto:Son las %time1 y cuarto Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:7 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A13: Else Si (if) [ %time2 = 30 ]
A14: Decir [ Texto:Son las %time1 y media Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:7 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A15: Else Si (if) [ %time2 = 45 ]
A16: Establecer variable [ Nombre:%time1 A:%time1 + 1 Calcular:Encendido Añadir:Apagado ]
A17: Decir [ Texto:Son las %time1 menos cuarto Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:7 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A18: Else Si (if) [ %time2 = 50 ]
A19: Establecer variable [ Nombre:%time1 A:%time1 + 1 Calcular:Encendido Añadir:Apagado ]
A20: Decir [ Texto:Son las %time1 menos diez Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:7 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A21: Else Si (if) [ %time2 = 55 ]
A22: Establecer variable [ Nombre:%time1 A:%time1 + 1 Calcular:Encendido Añadir:Apagado ]
A23: Decir [ Texto:Son las %time1 menos cinco Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:7 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A24: Else Si (if) [ %time2 = 0 ]
A25: Decir [ Texto:Son las %time1 en punto Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:7 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A26: Else
A27: Decir [ Texto:Son las %time1 y %time2 Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:7 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A28: Fin si (End if)
A29: [X] Volumen multimedia [ Nivel:%volmultimedia Mostrar:Apagado Sonido:Apagado ]
Mitrhandir
28/07/16, 15:06:02
Gracias Smart. Este detalle dice mucho de tí y te honra como forero y persona. :aplausos:
WillyWeb
28/07/16, 17:09:05
Ésta fue la útima edición..
Haciendo caso de la sugerencia de Caravantes yo comenzaría asignando %TIME a la variable local %time para luego separar HH de MM por el punto y quedarme con %time1=HH y %time2=MM.
Luego limpiaría los ceros a la izquierda con algo tan simple como lo que he comentado antes...
Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido ]
Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido ]
El control del volumen y la acción "Decir", sólo una, pueden ir al final de la tarea. No es que sea imprescindible hacerlo con una única acción "Decir", pero si un día decides cambiar el motor TTS o ajustar cualquier parámetros de la pronunciación sólo tendrás que tocar en un sitio.
Las condiciones del bloque central dependerán de la forma en que queramos que nos "digan" la hora. Lo que yo haría es ir componiendo en una variable (%decir, por ejemplo) lo que queremos que el TTS pronuncie, y usar esa variable %decir en la acción "Decir" del final. Le veo ventajas a este planteamiento, la principal es que se puede ir componiendo la frase a pronunciar en un orden "lógico" y que esa frase puede tener todas las particularidades que se quiera.
Si vale con la forma "son las xx y xx" se podría ajustar el contenido de %time1 y %time2 sobre la marcha conforme a las necesidades y al final "Decir" ... son las %time1 %time2 ... más simple pero un poco menos flexible.
Venga albalatvs, dale forma a la cosa partiendo de la tarea que ha compartido SmartPhoneLover. Y de momento olvida el perfil, que te veo. :silbando:
Mitrhandir
28/07/16, 18:14:13
Luego me pongo, que me voy a la playita.... Si no voy, mis hijos se amotinan! :risitas:
Mitrhandir
28/07/16, 23:07:05
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Separar variable [ Nombre:%TIME Separador: Eliminar base:Apagado ]
A2: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A3: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A4: Si (if) [ %Time1 > 12 ]
A5: Establecer variable [ Nombre:%time1 A:-12 Calcular:Encendido Añadir:Apagado ]
A6: Else
A7: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Apagado Añadir:Apagado ]
A8: Fin si (End if)
A9: Si (if) [ %time2 = 0 ]
A10: Decir [ Texto:Son las %time1 en punto Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A11: Else Si (if) [ %Time2 = 15 ]
A12: Decir [ Texto:Son las %time1 y cuarto Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A13: Else Si (if) [ %Time2 = 30 ]
A14: Decir [ Texto:Son las %time1 y media Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A15: Else Si (if) [ %Time2 = 45 ]
A16: Establecer variable [ Nombre:%time1 A:%time1 + 1 Calcular:Encendido Añadir:Apagado ]
A17: Decir [ Texto:Son las %time1 menos cuarto Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A18: Fin si (End if)
Esto es lo que he hecho partiendo del esqueleto de Smart. No encuentro la manera de meterlo todo el tema de motor de voz, porque pienso que tiene que ir diferenciado (15=y cuarto,30=y media y 45=menos cuarto). Creo recordar que era Si (if) %time2=.15, pero el punto Smart no lo ha puesto y dudo de si es necesario o no. Creo que me he dejado un par de contextos, exactamente los que determinan la mañana o tarde. Sería algo como Si(if) %time1<12 establecer variable de %time1 A de la tarde. Creo que por ahí van los tiros! De todas formas, todo esto es nuevo para mí, pues no conocía lo de separar variable ni de restar de variable, pero voy aprendiendo. Estoy por coger una libreta y poner en orden todo lo aprendido hasta ahora. Un saludo!
WillyWeb
28/07/16, 23:48:18
Tienes un carajal importante con las variables ... %TIME, %time1, time2, %Time1, %Time2 ... y al separar %TIME sin poner un separador tendrás dando vueltas por alguna parte una %TIME1
Deberías leer de nuevo el post #31 y procurar seguirlo paso-a-paso. :rolleyes:
Olvida el perfil, que ahora no te hace falta para nada. Y no intentes resolver todo de una vez. Lo primero es preparar la variable con la que vas a trabajar, separar horas y minutos, y eliminar los ceros a la izquierda ... cuatro acciones, nada más. Lo tienes explicado en el post #31. Deja el resto para después.
Usa la acción Flash para ir viendo el contenido de las variables que vas usando. Eso te ayudará a comprobar si lo que estás haciendo está bien.
Y tienes que decidir qué tipo de pronunciación quieres...
Son las 14 horas 23 minutos
Son las 2 y 23
Son las 5 menos cuarto de la tarde
-¿Cómo quieres las horas? (12 ó 24)
-¿Cómo quieres los minutos? (45 ó menos cuarto)
-¿Quieres añadir algo más a la frase? (tarde/noche/madrugada/etc.)
Te parecerá una chorrada, pero la tarea se estructura de forma muy diferente dependiendo del formato que prefieras. Lo tienes que decidir ya.
Mitrhandir
29/07/16, 00:16:08
Mucha gente no sabe de dónde proviene AM y PM. Son acrónimos de Ante Meridiam (antes del mediodía) y Post Meridiam (después del mediodía). Después de esta miniclase de latín, te contesto. Yo soy valenciano, pero me encanta la lengua castellana, por lo tanto, me gusta hablara bien y también que mi teléfono lo haga bien. Que Conchita te diga son las catorce horas y cuarto, no tiene mucho sentido, además de quedar muy impersonal. Prefiero que se aproxime lo máximo posible a un lenguaje de calle. Son las 8 de la mañana, son las 12 de la mañana o es la una de la tarde. Lenguaje de calle, vamos. Ten en cuenta que mi condición es de 8 de la mañana hasta las 22:30 de la noche. Y sí, tengo un carajal impresionante con las variables....
WillyWeb
29/07/16, 00:19:17
Bien. La versión más "humana" posible. Arregla esas cuatro primeras acciones y comprueba el resultado usando Flash para ver qué sale.
danko9696
29/07/16, 00:35:42
Mucha gente no sabe de dónde proviene AM y PM. Son acrónimos de Ante Meridiam (antes del mediodía) y Post Meridiam (después del mediodía). Después de esta miniclase de latín, te contesto. Yo soy valenciano, pero me encanta la lengua castellana, por lo tanto, me gusta hablara bien y también que mi teléfono lo haga bien. Que Conchita te diga son las catorce horas y cuarto, no tiene mucho sentido, además de quedar muy impersonal. Prefiero que se aproxime lo máximo posible a un lenguaje de calle. Son las 8 de la mañana, son las 12 de la mañana o es la una de la tarde. Lenguaje de calle, vamos. Ten en cuenta que mi condición es de 8 de la mañana hasta las 22:30 de la noche. Y sí, tengo un carajal impresionante con las variables....
Yo lo que haría en tu caso sería quizás crear el perfil más simple que funcione, o sea, 01:01 se leería "son las uno y uno minutos". Primero que sirva para algo, y luego irlo modificando poco a poco para el formato en 12h, los cuartos de hora, etc... Y si tienes que rehacerlo del todo no pasa nada, la cuestión es coger soltura y que el siguiente perfil que hagas te cueste mucho menos.
WillyWeb
29/07/16, 00:42:34
Yo lo que haría en tu caso sería quizás crear el perfil más simple que funcione...
En ello estamos, y lo primero es tener unas variables con los datos mínimos necesarios, la hora y los minutos. En el primer intento no tenemos eso, así que no tiene sentido seguir hasta no solucionarlo.
Vamos albalatvs, el público se impacienta. :silbando:
ruco1980
29/07/16, 08:48:08
Buenas.....llego tarde y no he podido leer en profundidad todos los post....
Hay una subtarea realizada por Caravantes que yo utilizo y que funciona muy bien, para convertir la duración en segundos al formato horas, minutos y segundos.....
No es exactamente lo mismo pero igual de ella se pueden extraer algunas ideas o acciones que os vengan bien para este proyecto.
perdonar si no tiene mucho que ver o no vale para nada...pero es que últimamente ando muy liado y no tengo tiempo de profundizar en los temas.....
Aquí la subtarea:
http://www.htcmania.com/showthread.php?t=739807
Saludos.
WillyWeb
29/07/16, 09:32:35
Gracias ruco, aunque creo que poco se puede sacar de esa subtarea para este caso. Su propósito principal es convertir segundos a diversas variantes de H:M:S, no pronunciar una hora.
De todas formas me has recordado que tengo pendiente publicar mi versión de esa idea de Caravantes, pero que convierte segundos a cualquier unidad de tiempo, devuelve el resultado en un formato mucho más flexible, y que sólo tiene una docena de acciones.
Mitrhandir
29/07/16, 14:36:52
Bueno WillyWeb, aquí te dejo lo que me has pedido.
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Separar variable [ Nombre:%TIME Separador:%time1.%time2 Eliminar base:Apagado ]
A2: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A3: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%decir A:En punto Calcular:Apagado Añadir:Apagado ]
Ya me dices cómo lo ves y los errores que ves, aunque le doy al "play" y no me da ninguno. Un saludo!
WillyWeb
29/07/16, 15:24:22
Bueno WillyWeb, aquí te dejo lo que me has pedido...
Eso no se parece mucho a lo que te he pedido. :rolleyes:
¿Dónde está la acción de establecer variable %time a %TIME? ... eso tenía que ser lo primero. :oh:
Y en la acción de separar variable has puesto una cosa muy rara y lo que tenías que poner es muy sencillo ... Nombre: %time ... Separador: . <<<(un simple punto)
La acciones para quitar los ceros a la izquierda (A2 y A3 en tu tarea) están bien, como no podía ser de otra manera. :silbando:
Y al final de todo te recomendé poner un Flash para que pudieras ver las variables %time, %time1 y %time2
:palomitas:
danko9696
29/07/16, 15:40:07
Una sugerencia sería hacerlo en javascript. Se ve mucho mejor y es bastante más cómodo que con instrucciones de tasker, ya que se puede trabajar en el ordenador y ver el código mucho mejor, ya que es mucho más simple y lo ves en una pantalla grande.
WillyWeb
29/07/16, 15:51:11
No te falta razón, pero albalatvs trabaja directamente en el móvil, y de lo que se trata es de que se suelte con Tasker antes de nada.
Mitrhandir
29/07/16, 16:02:46
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%TIME Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Establecer variable [ Nombre:%decir A:En punto Calcular:Apagado Añadir:Apagado ]
A6: Flash [ Texto:%time%time1%time2 Largo:Apagado ]
El flash no me sale y he probado poniendo comas, barras... Pero nada!
Edito: he hecho un pop-up y ahora me sale la hora actual en una ventana emergente. Sólo que al final sale 16:07/0/0
leromaro
29/07/16, 16:09:37
Debes separar %time no %TIME en A2
WillyWeb
29/07/16, 16:12:37
El flash no me sale y he probado poniendo comas, barras... Pero nada!
Señor ... dame paciencia :dios:
En A1 guardas el valor de %TIME (la hora del sistema) en una variable local (%time) para trabajar con ella en vez de con la variable global.
En A2 deberías usar esa variable LOCAL, no la global. De esa forma, al separar %time por el punto consigues %time1 con la parte de la hora y %time2 con la parte de los minutos.
Quita A5. Ahora mismo no pinta nada.
Pon unos espacios en el Flahs para que queden bonito y comprueba que %time1 y %time2 tiene las partes que buscas de %time.
Mitrhandir
29/07/16, 16:25:03
Jolín, es que Tasker no me permite establecer variable %TIME A %time. Es más, cuando lo escribo, no me deja tirar para atrás! Porque es establecer variable no?
WillyWeb
29/07/16, 16:28:53
Claro. Es que es justo al contrario :cry:
En "Nombre" pones %time y en "A" pones %TIME ... :loco:
Mitrhandir
29/07/16, 16:36:03
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Pop-Up [ Título: Texto:%time %time1 %time2 Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
Os juro que estoy sudando! :risitas:
WillyWeb
29/07/16, 17:42:10
Os juro que estoy sudando! :risitas:
:facepalm: si Caravantes y mlesir me dicen antes lo que me esperaba no me apunto a esto ni de coña.
Bueno, ya tenemos la hora y los minutos, ahora toca la parte chunga :rolleyes:
Lo primero es que no quieres que te diga "son las 17 horas". Quieres que te diga que son las 5 (luego le añadiremos "de la tarde", de momento olvida eso).
La forma de hacerlo es comprobar si %time1 (la hora) pasa de las 12, en cuyo caso le tienes que quitar 12. De esa forma consigues que las horas de 0 a 23 en digital se transformen en las típicas 12H AM/PM. Lo importante es no tener nunca una hora mayor de 13.
si %time1 > 12
%time1=%time1-12
fin si
¿Cómo escribes eso en acciones de Tasker?
:palomitas:
Mitrhandir
29/07/16, 17:53:59
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Si (if) [ %time1 > 12 ]
A6: Establecer variable [ Nombre:%time1 A:%time1-12 Calcular:Encendido Añadir:Apagado ]
A7: Fin si (End if)
A8: Pop-Up [ Título: Texto:%time %time1 %time2 Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
El pop-up me dice 17:53 5 53
Vamos bien!
WillyWeb
29/07/16, 18:26:23
:ok:
Otra cosa que quieres controlar es la forma de decir los minutos si pasan de 30. En "humano" dices lo que falta para la hora siguiente, así que en el caso de esas 17:53 dirías que son las "6 horas menos 7 minutos" (lo importante son los números, no hagas caso de las palabras horas/menos/minutos).
Venga, escribe eso en acciones de Tasker.
:palomitas:
Mitrhandir
29/07/16, 19:50:45
Este me ha costado un poco más de pensar (jolín con tus miguitas :risitas:). Después de darle al coco, se me ocurre Si (if) %time2 =45 establecer variable %time2 A menos cuarto. Quedaría así:
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Si (if) [ %time1 > 12 ]
A6: Establecer variable [ Nombre:%time1 A:%time1-12 Calcular:Encendido Añadir:Apagado ]
A7: Fin si (End if)
A8: Si (if) [ %time2 = 45 ]
A9: Establecer variable [ Nombre:%time2 A:menos cuarto Calcular:Apagado Añadir:Apagado ]
A10: Fin si (End if)
A11: Pop-Up [ Título: Texto:%time %time1 %time2 Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
Creo que está mal porque tú quieres introducir %decir en solo motor al final. Eso me tiene intrigado.
WillyWeb
29/07/16, 22:18:43
Lo que pretendía es que llegases a algo así...
si %time2>30
%time2=60-%time2
%time1=%time1+1
fin si
Eso es la traducción a "máquina" de lo que hace un humano cuando se encuentra una hora como las 17:53 ... entonces dices lo que falta para la hora siguiente ... son las 6 horas menos 7 minutos. ¿Lo pillas?
No estaba pretendiendo que hicieses la tarea en su forma final. Lo que pretendía es que entendieses lo que necesitas para ajustar la hora y los minutos a tu gusto según las circunstancias. Intento que pienses en términos de la máquina.
Sobre la forma que le quería dar a la tarea, la verdad es que me lo estoy planteando. Puede que sea más sencillo seguir un enfoque parecido al que propuso SmartPhoneLover al principio, ajustar cada parte sobre la marcha, pero con una pequeña variante que espero que te resulte más fácil de entender.
De momento se me ha ocurrido esto...
No vamos a tocar las variables %time1 y %time2 porque las podemos necesitar con su valor original en más de un sitio de la tarea.
Tal y como te gusta escuchar las horas creo que lo que el TTS tiene que decir encaja en una estructura de tres partes (hora / minutos / coletilla < no se me ocurre otro nombre)
son las 12 y cuarto de la mañana
es la 1 menos 10 de la madrugada
son las 3 en punto de la tarde
Podemos usar una variable para cada una de las partes (%hhh / %mmm / %ccc) y darles valor sobre la marcha. En el "Decir" del final poner las tres variables y tema resuelto.
¿Te ves capaz de seguir con esa idea? :rolleyes:
Mitrhandir
29/07/16, 23:06:58
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Si (if) [ %time1 > 12 ]
A6: Establecer variable [ Nombre:%time1 A:%time1-12 Calcular:Encendido Añadir:Apagado ]
A7: Fin si (End if)
A8: Si (if) [ %time2 > 30 ]
A9: Establecer variable [ Nombre:%time2 A:60-%time2 Calcular:Apagado Añadir:Apagado ]
A10: Establecer variable [ Nombre:%time1 A:%time1+1 Calcular:Apagado Añadir:Apagado ]
A11: Fin si (End if)
A12: Pop-Up [ Título: Texto:%time %time1 %time2 Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
Voy captando la idea, pero ten en cuenta de que solo quiero que me diga la cada 15 minutos, es decir: en punto, y cuarto, y media y menos cuarto. Porque como cante las horas cada vez que %Estadopantalla ~ off, mi mujer me mata! Le está cogiendo manía a la pobre Conchita! :risitas:
Me cuesta pillar lo que tratas de explicarme. Si(if) %time2<30 es cualquier hora a partir de la media. Vale, hasta ahí claro.
Luego %time2=60-%time2 es establecer variable, pero 60 son los minutos de una hora restado a los minutos que sean en el momento en que se active la pantalla, para que nos diga son las HH menos x minutos sólo si pasa de la media.
Pero esto %time1=%time1+1 me tiene un poco rallado. Le estás diciendo que diga una hora más de la que es actualmente no?
Sobre lo último que planteas, creo que sería Si(if) %time2=0 establecer variable %time2 A %hra
Luego Si(if) %time=15 establecer variable %time2 A %crt
Luego Si(if) %time2=30 establecer variable %time2 A %mda
Luego Si(if) %time2=45 establecer variable %time2 A %mnc
Creo que esto es lo que que quieres no? %hra es en punto, %crt es y cuarto, %mda es y media y %mnc es menos cuarto.
Espero que mis deducciones sean correctas! :palomitas:
WillyWeb
29/07/16, 23:46:17
Venga hombre que esto no es tan complicado. :oh:
¿Cómo dices esta hora ... 08.50? ... las nueve menos diez ... ¿no?
Como los minutos pasan de 30 calculas mentalmente cuántos minutos (60-50) faltan para llegar a la hora siguiente (8+1).
si %time2>30
%time2=60-%time2
%time1=%time1+1
fin si
Recuerda que %time1 contiene la hora y %time2 contiene los minutos.
Y lo que te proponía con esas variables del final (%hhh / %mmm / %ccc) era dividir la frase final en tres partes y procesar cada una por separado.
Vamos a empezar con la parte más sencilla...
si %time1<7 entonces %ccc="de la madrugada"
si %time1>6 y %time1<14 entonces %ccc="de la mañana"
si %time1>13 y %time1<21 entonces %ccc="de la tarde"
si %time1>20 entonces %ccc="de la noche"
Con eso ya tienes resuelta la parte final de la frase. Si lo entiendes seguimos.
:palomitas:
Mitrhandir
30/07/16, 07:22:06
A ver, para tí te resulta muy fácil porque tienes los dedos "pelaos" de programar. Yo nunca lo he hecho! Entiende esto, porque para mí supone un esfuerzo pensar como una máquina. Pero nunca podré agradecerte lo bastante la paciencia que tienes conmigo. Dicho esto, vamos al lío.
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Si (if) [ %time1 > 12 ]
A6: Establecer variable [ Nombre:%time1 A:%time1-12 Calcular:Encendido Añadir:Apagado ]
A7: Fin si (End if)
A8: Si (if) [ %time2 > 30 ]
A9: Establecer variable [ Nombre:%time2 A:60-%time2 Calcular:Apagado Añadir:Apagado ]
A10: Establecer variable [ Nombre:%time1 A:%time1+1 Calcular:Apagado Añadir:Apagado ]
A11: Fin si (End if)
A12: Si (if) [ %time1 > 00 & %time1 < 07 ]
A13: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ]
A14: Else Si (if) [ %time1 > 6 & %time1 < 14 ]
A15: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ]
A16: Else Si (if) [ %time1 > 13 & %time1 < 21 ]
A17: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ]
A18: Else Si (if) [ %time1 > 21 & %time1 < 00 ]
A19: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ]
A20: Fin si (End if)
Esta parte me ha resultado más fácil de comprender. Es ingenioso!
WillyWeb
30/07/16, 09:49:31
...porque para mí supone un esfuerzo pensar como una máquina...
No se trata de pensar como una máquina. Se trata de entender que una máquina no piensa y que lo tienes que hacer tú. Que te tienes que parar a analizar los detalles de las cosas más triviales que haces para decirle a esa máquina tonta lo que tiene que hacer paso a paso. La máquina no supone, ni puede ver el problema a vista de pájaro, como hacemos nosotros. Simplemente ejecuta su tarea de instrucción en instrucción sin saber lo que viene después. No te olvides de eso.
Esta parte me ha resultado más fácil de comprender. Es ingenioso!
Perfecto, pero has añadido algo que no te había dicho y me gustaría que vieses lo que implica :oh:
Yo te propuse...
si %time1<7 entonces %ccc="de la madrugada"
...pero tú lo has escrito así...
si %time1>0 y %time1<7 entonces %ccc="de la madrugada"
Mi propuesta funciona de 0 a las 6 (menos de 7). Tu propuesta funciona de 1 a 6 (más de 0 y menos de 7) ... ¿lo ves?
Tal y como has escrito el bloque de acciones A12-A20 te has dejado fuera de su control las doce de las noche ... dale vueltas hasta que lo veas claro.
Ahora vamos con otro bloque...
Creo que he previsto todas las situaciones posibles, pero necesito que lo compruebes. Piensa en cualquier hora del día y pasa de una en una por esas acciones para ver qué queda al final en %hhh.
Recuerda: %time1 es la hora y %time2 los minutos.
Establecer variable [ Nombre:%hhh A:%time1 ]
Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido ] Si (if) [ %time2 > 30 ]
Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido ] Si (if) [ %hhh > 12 ]
Establecer variable [ Nombre:%hhh A:12 ] Si (if) [ %hhh = 0 ]
Establecer variable [ Nombre:%hhh A:es la una ] Si (if) [ %hhh = 1 ]
Establecer variable [ Nombre:%hhh A:son las %hhh ] Si (if) [ %hhh > 1 ]
:palomitas:
Mitrhandir
30/07/16, 10:22:25
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Si (if) [ %time1 > 12 ]
A6: Establecer variable [ Nombre:%time1 A:%time1-12 Calcular:Encendido Añadir:Apagado ]
A7: Fin si (End if)
A8: Si (if) [ %time2 > 30 ]
A9: Establecer variable [ Nombre:%time2 A:60-%time2 Calcular:Apagado Añadir:Apagado ]
A10: Establecer variable [ Nombre:%time1 A:%time1+1 Calcular:Apagado Añadir:Apagado ]
A11: Fin si (End if)
A12: Si (if) [ %time1 < 7 ]
A13: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ]
A14: Else Si (if) [ %time1 > 6 & %time1 < 14 ]
A15: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ]
A16: Else Si (if) [ %time1 > 13 & %time1 < 21 ]
A17: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ]
A18: Else Si (if) [ %time1 > 20 ]
A19: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ]
A20: Fin si (End if)
A21: Establecer variable [ Nombre:%hhh A:%time1 Calcular:Apagado Añadir:Apagado ]
A22: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A23: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 12 ]
A24: Establecer variable [ Nombre:%hhh A:12 Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 0 ]
A25: Establecer variable [ Nombre:%hhh A:es la una Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 1 ]
A26: Establecer variable [ Nombre:%hhh A:Son las %hhh Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh > 1 ]
Esto último me resulta más difícil de entender. Adónde quieres ir?
WillyWeb
30/07/16, 11:05:52
Esto último me resulta más difícil de entender. Adónde quieres ir?
Ya te lo he dicho. Pretendo procesar cada parte de la frase final por separado. Es una máxima de la programación: divide un gran problema en pequeños problemas de fácil solución. :rolleyes:
Veo que has quitado lo de "%time1>0 y %time1<7" ... ¿has entendido el motivo?
Y veo que has añadido a esa "frankentarea" (lo digo porque la estamos haciendo a trozos) el bloque que te he pedido que comprobases. Anda, piensa en cualquier hora del día y pasa de una en una por esas acciones para ver qué queda al final en %hhh. Creo que está bien, pero nunca sobra una segunda opinión.
Y cuando tengas eso comprobado mira si este otro bloque hace lo mismo que lo que tú has puesto entre A12 y A20...
Establecer variable [ Nombre:%ccc A:de la madrugada ] Si (if) [ %time1 < 7 ]
Establecer variable [ Nombre:%ccc A:de la mañana ] Si (if) [ %time1 > 6 & %time1 < 14 ]
Establecer variable [ Nombre:%ccc A:de la tarde ] Si (if) [ %time1 > 13 & %time1 < 21 ]
Establecer variable [ Nombre:%ccc A:de la noche ] Si (if) [ %time1 > 20 ]
Como te he dicho al principio, analiza cada trozo por separado. Cada pequeño problema con su pequeña solución. No es complicado, pero no te vuelvas loco intentando ver cómo encaja todo, eso ya llegará. La frase final tiene tres partes (hora/minuto/coletilla). Ya tenemos resuelta la coletilla y deberíamos tener resuelta la hora. Cuando tengas claras esas dos partes seguimos con los minutos.
:palomitas:
Mitrhandir
30/07/16, 11:42:46
El pop-up de %hhh y %ccc me dice a las 11:38 que Son las 12/de la mañana. Prefiero seguir haciendo a trozos como hasta ahora.
WillyWeb
30/07/16, 12:16:09
El pop-up de %hhh y %ccc me dice a las 11:38 que Son las 12/de la mañana. Prefiero seguir haciendo a trozos como hasta ahora.
Perfecto. Eso es lo que tiene que salir, ¿no?
A las 11:38 debería decir ... son las 12 menos 22 de la mañana ... y de momento tenemos dos de esas tres partes. Ahora vamos a por ese menos 22, pero antes tenemos que quitar las pruebas que hemos ido haciendo para dejar lo que realmente nos vale...
Establecer variable [ Nombre:%time A:%TIME ]
Separar variable [ Nombre:%time Separador:. ]
Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido ]
Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido ]
Establecer variable [ Nombre:%hhh A:%time1 ]
Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido ] Si (if) [ %time2 > 30 ]
Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido ] Si (if) [ %hhh > 12 ]
Establecer variable [ Nombre:%hhh A:12 ] Si (if) [ %hhh = 0 ]
Establecer variable [ Nombre:%hhh A:es la una ] Si (if) [ %hhh = 1 ]
Establecer variable [ Nombre:%hhh A:son las %hhh ] Si (if) [ %hhh > 1 ]
< aquí nos falta un bloque que de momento pondremos con un ... %mmm=x >
Establecer variable [ Nombre:%ccc A:de la madrugada ] Si (if) [ %time1 < 7 ]
Establecer variable [ Nombre:%ccc A:de la mañana ] Si (if) [ %time1 > 6 & %time1 < 14 ]
Establecer variable [ Nombre:%ccc A:de la tarde ] Si (if) [ %time1 > 13 & %time1 < 21 ]
Establecer variable [ Nombre:%ccc A:de la noche ] Si (if) [ %time1 > 20 ]
Flash [ Texto:%time / %hhh %mmm %ccc Largo:Encendido ]
Decir [ Texto:%hhh %mmm %ccc ]
Cambia el flash por un pop-up si lo prefieres. Para probar horas diferentes a la actual modifica la primera acción y en lugar de %TIME escribe la hora que quieras, pero recuerda hacerlo en el formato correcto hh.mm
Haz pruebas y confirma que el resultado es el esperado en todos los casos (00.00 / 23.59 / 00.45 / 13.00 / etc. ). Pon aquí una una pequeña lista de las horas que pruebas y el resultado que te sale.
Y todavía no me has dicho si estás entendiendo cada una de las partes que vamos haciendo.
:palomitas:
Mitrhandir
30/07/16, 13:12:55
Estoy entendiendo a trozos. Si no te importa, seguimos como hasta ahora y cuando acabemos, haré un texto explicativo de todas las acciones. Cuando esté acabado, podré verlo todo desde una perspectiva global.
WillyWeb
30/07/16, 13:24:16
Estoy entendiendo a trozos...
Pues vamos mal. Aquí nos quedamos hasta que tengas clara cada parte. :oh:
Esto fue lo primero y decías que lo habías entendido...
Establecer variable [ Nombre:%ccc A:de la madrugada ] Si (if) [ %time1 < 7 ]
Establecer variable [ Nombre:%ccc A:de la mañana ] Si (if) [ %time1 > 6 & %time1 < 14 ]
Establecer variable [ Nombre:%ccc A:de la tarde ] Si (if) [ %time1 > 13 & %time1 < 21 ]
Establecer variable [ Nombre:%ccc A:de la noche ] Si (if) [ %time1 > 20 ]
Supongamos la hora 13.16 ... %time1=13 y %time2=16
Ponte en modo máquina y "ejecuta " cada acción. No supongas, ni imagines, ni anticipes nada. Eres una máquina y el mundo se limita a lo que estás ejecutando en cada instante y a una memoria de pez que te permite recordar el resultado de lo que vas haciendo justo hasta terminar la tarea, luego se te olvida todo. Quiero que me escribas qué pasa con cada acción considerando esa hora que te he dado de ejemplo. Cuatro frases, una por acción.
:palomitas:
Mitrhandir
30/07/16, 15:23:26
Vale, vamos allá:
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
Aquí estamos
estableciendo una variable local (%time )A una global %TIME. Así podremos utilizar la variable local, ya que la global, al ser de sistema, no la podemos separar como HH.MM
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
Aquí estamos separando la variable %time por un "." para poder separar las HH de los MM y así poder crear 2 variables nuevas que serían %time1 como HH y %time2 como MM.
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
Después de haber separado la variable %time, es absolutamente necesario crear 2 variables nuevas para asignar valor a las HH como %time1 y a los MM como %time2
A5: Si (if) [ %time1 > 12 ]
A6: Establecer variable [ Nombre:%time1 A:%time1-12 Calcular:Encendido Añadir:Apagado
A7: Fin si (End if)
Si la hora actual (%time1) es mayor de 12, establece que hay que restar 12 horas para que la pronunciación de Conchita sea de Son las 3 de la tarde y no las Son las 15 de la tarde.
A8: Si (if) [ %time2 > 30 ]
A9: Establecer variable [ Nombre:%time2 A:60-%time2 Calcular:Apagado Añadir:Apagado ]
A10: Establecer variable [ Nombre:%time1 A:%time1+1 Calcular:Apagado Añadir:Apagado ]
A11: Fin si (End if)
Si los minutos de la hora actual pasa de la media, establece que hay que restar los minutos de la hora actual a 60, para saber cuántos minutos faltan para la hora. Además, establece también que a la hora actual (%time1) hay que añadir una hora (+1) para que la pronunciación sea(por ejemplo) Son las seis menos cuarto
A12: Si (if) [ %time1 < 7 ]
A13: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ]
A14: Else Si (if) [ %time1 > 6 & %time1 < 14 ]
A15: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ]
A16: Else Si (if) [ %time1 > 13 & %time1 < 21 ]
A17: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ]
A18: Else Si (if) [ %time1 > 20 ]
A19: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ]
A20: Fin si (End if)
Aquí tenemos una serie de establecimientos de variable que busca "acotar" y asignar un valor (%ccc) dependiendo de la hora que sea, para que Conchita sepa qué tiene
que decir a cada hora.
A21: Establecer variable [ Nombre:%hhh A:%time1 Calcular:Apagado Añadir:Apagado ]
A22: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A23: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 12 ]
A24: Establecer variable [ Nombre:%hhh A:12 Calcular:Apagado Añadir:Apagado
Aquí veo que damos el valor de %hhh a %time1, luego si los minutos (%time2) es superior a 30, hay que añadir a la hora (%time1) una hora más para que Conchita lea por ejemplo Sin las 6 menos 2 minutos. A23 y A24 no los tengo muy claros.
] Si (if) [ %hhh = 0 ]
A25: Establecer variable [ Nombre:%hhh A:es la una Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 1 ]
A26: Establecer variable [ Nombre:%hhh A:Son las %hhh Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh > 1 ]
Establecer variable [ Nombre:%ccc A:de la madrugada ] Si (if) [ %time1 < 7 ]
Aquí estamos ejecutando que si son menos de las 7 de la mañana, establezca %ccc en de la madrugada. Para que cuando diga la hora, por ejemplo, 5.34= son las cinco y treintaycuatro de la madrugada.
Establecer variable [ Nombre:%ccc A:de la mañana ] Si (if) [ %time1 > 6 & %time1 < 14 ]
Aquí estamos estableciendo que la hora actual es mayor de 6 y menor de 14, establece %ccc como coletilla "de la mañana".
WillyWeb
30/07/16, 16:02:43
Jodo :oh: te pedía sólo cuatro acciones y me lo has contado todo.
Y además, estaba pensando que no estabas entendiendo casi nada y resulta que lo entiendes casi todo. :ok:
Voy a intentar explicarte eso que no tenías muy claro, y nada más terminar la explicación revisa la tarea y deja sólo lo que te he puesto en el post #63. Tal y como está ahora las acciones A5+A6+A7 hacen lo mismo que A23, y parte de las acciones A8+A9+A10+A11 hacen lo mismo que A22. La tarea "buena" es la del post #63, olvida el resto.
Las aclaraciones...
A3 y A4 no crean variables nuevas. Si te fijas bien le estás asignando a cada variable su propio valor. El propósito de esas acciones es quitar los ceros a la izquierda de horas y minutos. El truco está en marcar "Calcular" para obligar a la librería matemática de Tasker a procesar eso como una operación (que no hace nada realmente) y como pasa en cualquier operación el resultado no tiene ceros a la izquierda.
En el trozo A21-A26 te has perdido un poco. El propósito de ese bloque es ir dando valor a %hhh (la hora que se tiene que pronunciar) dependiendo de las circunstancias.
A21 guarda en %hhh el valor de %time1 (la hora)
A22 suma 1 a la hora si los minutos pasan de 30 (es lo mismo que A8+A10+A11)
A23 resta 12 a la hora si la hora pasa de 12 (has puesto %time2 y es %hhh) (es lo mismo que A5+A6+A7)
A24 asigna 12 a la hora si la hora es 0 (para que diga "son las 12 de la noche")
A25 ajusta la pronunciación en el caso de ser la una (para que no diga "son la uno" o "es la uno")
A26 añade "son las" para cualquier hora que no sea la una
Creo que te has perdido por ese error que te he marcado en rojo. Revisa la tarea tal y como te he puesto en el post #63 y nos metemos con el último bloque, el que ajusta la parte de los minutos.
:palomitas:
Mitrhandir
30/07/16, 16:22:14
Perfil: Hora (101)
Hora: Desde 08:00 Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Establecer variable [ Nombre:%hhh A:%time1 Calcular:Apagado Añadir:Apagado ]
A6: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A7: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 12 ]
A8: Establecer variable [ Nombre:%hhh A:12 Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 0 ]
A9: Establecer variable [ Nombre:%hhh A:es la una Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 1 ]
A10: Establecer variable [ Nombre:%hhh A:Son las %hhh Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh > 1 ]
A11: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 < 7 ]
A12: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 6 & %time1 < 14 ]
A13: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 13 & %time1 < 21 ]
A14: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 20 ]
A15: Decir [ Texto:%hhh %ccc Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A16: Pop-Up [ Título: Texto:%hhh/%ccc Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
Ahora, a pesar de que son las 16:20, Conchita me dice que "Son las 4 de la tarde"
Willy, a partir de ahora, cuando pregunte algo, hazlo como lo estás haciendo ahora. Estoy aprendiendo, pero también comprendiendo! :ok:
WillyWeb
30/07/16, 17:13:54
Sigues teniendo el error de antes en A7. Donde pone "%time2 > 12" debería poner "%hhh > 12". Te ha funcionado de chiripa. Si hubieras hecho la prueba unos minutos antes te habría dicho "son las 16 de la tarde". :sisi1:
Vamos a por los minutos...
1: Establecer variable [ Nombre:%mmm A:%time2 ]
2: Establecer variable [ Nombre:%mmm A:60-%mmm Calcular:Encendido ] Si (if) [ %mmm > 30 ]
3: Establecer variable [ Nombre:%mmm A:en punto ] Si (if) [ %mmm = 0 ]
4: Establecer variable [ Nombre:%mmm A:cuarto ] Si (if) [ %mmm = 15 ]
5: Establecer variable [ Nombre:%mmm A:media ] Si (if) [ %mmm = 30 ]
6: Establecer variable [ Nombre:%mmm A:y %mmm ] Si (if) [ %time2 > 0 & %time2 < 31 ]
7: Establecer variable [ Nombre:%mmm A:menos %mmm ] Si (if) [ %time2 > 30 ]
Lo mismo que para las horas. Cada pequeño problema con su pequeña solución...
guardamos en %mmm el valor de %time2 (los minutos)
si el minuto pasa de 30 calculamos cuánto falta para llegar a 60 y completar la hora
si el minuto es cero decimos "en punto"
si el minuto es 15 decimos "y/menos cuarto" ("y/menos" se ponen al final, y 45 son 15 para en punto, por eso funcionará)
si el minuto es 30 decimos "y media" (la "y" se la ponemos ahora)
si el minuto está entre 1 y 30 añadimos la "y"
si el minuto es mayor de 30 añadimos el "menos"
Mete ese bloque entre las acciones A10 y A11 de tu tarea. Arregla el error de A7. Cambia A15 y A16 para que incluyan %mmm en el sitio adecuado ... y cruza los dedos para que funcione a la primera.
:palomitas:
Mitrhandir
30/07/16, 17:46:26
Perfil: Hora (101)
Hora: Desde 08:00 cada 15m Hasta 22:30
Entrada: Hora (102)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
A5: Establecer variable [ Nombre:%hhh A:%time1 Calcular:Apagado Añadir:Apagado ]
A6: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A7: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido Añadir:Apagado ] Si (if) [ %hhh > 12 ]
A8: Establecer variable [ Nombre:%hhh A:12 Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 0 ]
A9: Establecer variable [ Nombre:%hhh A:es la una Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 1 ]
A10: Establecer variable [ Nombre:%hhh A:Son las %hhh Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh > 1 ]
A11: Establecer variable [ Nombre:%mmm A:%time2 Calcular:Apagado Añadir:Apagado ]
A12: Establecer variable [ Nombre:%mmm A:60-%mmm Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A13: Establecer variable [ Nombre:%mmm A:en punto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 0 ]
A14: Establecer variable [ Nombre:%mmm A:cuarto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 15 ]
A15: Establecer variable [ Nombre:%mmm A:media Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 30 ]
A16: Establecer variable [ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 0 & %time2 < 31 ]
A17: Establecer variable [ Nombre:%mmm A:menos %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A18: Establecer variable [ Nombre:%mmm A:%time2 Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 0 ]
A19: Establecer variable [ Nombre:%mmm A:60-%mmm Calcular:Encendido Añadir:Apagado ] Si (if) [ %mmm > 30 ]
A20: Establecer variable [ Nombre:%mmm A:en punto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 0 ]
A21: Establecer variable [ Nombre:%mmm A:cuarto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 15 ]
A22: Establecer variable [ Nombre:%mmm A:media Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 30 ]
A23: Establecer variable [ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 0 & %time2 < 31 ]
A24: Establecer variable [ Nombre:%mmm A:menos %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A25: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 < 7 ]
A26: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 6 & %time1 < 14 ]
A27: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 13 & %time1 < 21 ]
A28: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 20 ]
A29: Decir [ Texto:%hhh %ccc Motor: Voz:com.ivona.tts:spa-ESP Stream:3 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A30: Pop-Up [ Título: Texto:%hhh/%ccc Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
Son las 17:45 y todo el rato me dice que son las 6 de la tarde. Voy a repasar a ver....
WillyWeb
30/07/16, 17:47:39
Son las 17:45 y todo el rato me dice que son las 6 de la tarde. Voy a repasar a ver....
Añade %mmm en las acciones del pop-up y en la de decir, que te lo he avisado antes.
Edito...
Tienes unas cuantas acciones repetidas. Creo que te sobran de A18 hasta A24.
Mitrhandir
30/07/16, 17:54:44
Oh, qué torpe! :risitas: Veo que un menos sobra. Me dice que son las 6 menos menos siete. Mmmm.... Ostras, y cual sobra?
WillyWeb
30/07/16, 17:56:00
De A18 hasta A24. :loco:
WillyWeb
30/07/16, 18:06:08
Debería quedarte algo así...
DecirHora (666)
A1: Establecer variable [ Nombre:%time A:%TIME ]
A2: Separar variable [ Nombre:%time Separador:. ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido ]
<HORA>
A5: Anchor
A6: Establecer variable [ Nombre:%hhh A:%time1 ]
A7: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido ] Si (if) [ %time2 > 30 ]
A8: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido ] Si (if) [ %hhh > 12 ]
A9: Establecer variable [ Nombre:%hhh A:12 ] Si (if) [ %hhh = 0 ]
A10: Establecer variable [ Nombre:%hhh A:es la una ] Si (if) [ %hhh = 1 ]
A11: Establecer variable [ Nombre:%hhh A:son las %hhh ] Si (if) [ %hhh > 1 ]
<MINUTO>
A12: Anchor
A13: Establecer variable [ Nombre:%mmm A:%time2 ]
A14: Establecer variable [ Nombre:%mmm A:60-%mmm Calcular:Encendido ] Si (if) [ %mmm > 30 ]
A15: Establecer variable [ Nombre:%mmm A:en punto ] Si (if) [ %mmm = 0 ]
A16: Establecer variable [ Nombre:%mmm A:cuarto ] Si (if) [ %mmm = 15 ]
A17: Establecer variable [ Nombre:%mmm A:media ] Si (if) [ %mmm = 30 ]
A18: Establecer variable [ Nombre:%mmm A:y %mmm ] Si (if) [ %time2 > 0 & %time2 < 31 ]
A19: Establecer variable [ Nombre:%mmm A:menos %mmm ] Si (if) [ %time2 > 30 ]
<COLETILLA>
A20: Anchor
A21: Establecer variable [ Nombre:%ccc A:de la madrugada ] Si (if) [ %time1 < 7 ]
A22: Establecer variable [ Nombre:%ccc A:de la mañana ] Si (if) [ %time1 > 6 & %time1 < 14 ]
A23: Establecer variable [ Nombre:%ccc A:de la tarde ] Si (if) [ %time1 > 13 & %time1 < 21 ]
A24: Establecer variable [ Nombre:%ccc A:de la noche ] Si (if) [ %time1 > 20 ]
<DECIR>
A25: Anchor
A26: Flash [ Texto:%time / %hhh %mmm %ccc Largo:Encendido ]
A27: Decir [ Texto:%hhh %mmm %ccc ]
De las más de 200 acciones de Tasker sólo nos han hecho falta tres (el resto no son realmente necesarias)...
Establecer variable
Separar variable
Decir
No tienes que saber TODO lo que puede hacer Tasker. Sólo tienes que saber qué hacen esas tres acciones.
:palomitas:
Mitrhandir
30/07/16, 18:18:33
Yo simplemente lo estoy flipando. Déjame que lo asimile porque nunca pensé cuando instalé por primera vez Tasker, que llegaría a este nivel. Huelga decir que lo he pasado realmente mal con este perfil, porque había momentos que no sabía ni por dónde iba. Tengo que reconocerlo.
Tú has tomado el camino largo en vez del corto y te has tomado esa molestia conmigo. Te estoy muy agradecido!
A partir de ahora, hazlo así conmigo.
:aplausos:
Ahora, voy a repasar el perfil y a reflexionar.
:gracias:
WillyWeb
30/07/16, 19:08:51
Tú has tomado el camino largo en vez del corto y te has tomado esa molestia conmigo.
Ahora eres tú el que se tiene que tomar un par de molestias conmigo.
Estudia cada acción, que sólo son tres y son de las más sencillas. El manual de usuario es tu amigo. ;-)
Lee TODA la conversación desde el principio, pero toda. Lee con atención mis comentarios hasta que los entiendas. No pases por encima, como has hecho durante el proceso de creación de la tarea. Te digo eso por las veces que te he pedido que hicieras algo y has hecho otra cosa, o justo lo contrario. O por las preguntas que te he ido haciendo y que no me has contestado. :silbando:
Me voy al bar, que me lo he ganado. :cerveza:
araneguis
31/07/16, 09:39:44
Hola, podriais compartír este perfil para meterlo a tasker, lp he intentado varias veces pero no me dice casi nada correcto, no domino demasiado tasker
Un saludo gracias
WillyWeb
31/07/16, 09:46:43
En el post #74 lo tienes completa. Simplemente tienes que ir copiando cada acción en Tasker, y sólo son tres o cuatro diferentes.
Si prefieres arreglar la tarea que ya has copiado sigue las instrucciones del punto 1 de este otro post...
http://www.htcmania.com/showthread.php?p=8852245
...y pon aquí lo que tienes (sólo texto, nada de imágenes). Lo revisaremos para ver dónde está el fallo.
También necesito saber el contenido de la variable %TIME en tu dispositivo (puede que no sea igual en todos). En una tarea nueva añade la acción "Flash %TIME" y me dices qué hora te pone.
araneguis
31/07/16, 10:18:49
Me pone 10.15 y me dice son las diez coma uno cinco en punto
araneguis
31/07/16, 10:20:41
Siempre me dice son las..... Coma...... En punto, y y cuarto ni y media lo dice, jeje
WillyWeb
31/07/16, 10:22:27
Pues además de lo que te he pedido antes dime también el motor TTS que estás usando (Google, Samsung, Ivona, otro). Puedes ver los que tienes disponibles en el parámetro correspondiente de la acción "Decir". Pero antes de nada necesito ver la tarea que estás usando. Pon aquí la descripción en texto, por favor.
araneguis
31/07/16, 10:29:28
Tengo que copiar todo a mano para eso? O se puede copiar de algún modo?
WillyWeb
31/07/16, 10:32:12
En mi primera respuesta tienes las instrucciones. :oh:
araneguis
31/07/16, 10:32:31
Decir Hora (3)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:: Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
<hora>
A5: Anchor
A6: Establecer variable [ Nombre:%hhh A:%time1 Calcular:Apagado Añadir:Apagado ]
A7: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A8: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 12 ]
A9: Establecer variable [ Nombre:%hhh A:12 Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 0 ]
A10: Establecer variable [ Nombre:%hhh A:Es la una Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 1 ]
A11: Establecer variable [ Nombre:%hhh A:Son las %hhh Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh > 1 ]
<minuto>
A12: Anchor
A13: Establecer variable [ Nombre:%mmm A:%time2 Calcular:Apagado Añadir:Apagado ]
A14: Establecer variable [ Nombre:%mmm A:60-%mmm Calcular:Encendido Añadir:Apagado ] Si (if) [ %mmm > 30 ]
A15: Establecer variable [ Nombre:%mmm A:en punto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 00 ]
A16: Establecer variable [ Nombre:%mmm A:cuarto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 15 ]
A17: Establecer variable [ Nombre:%mmm A:media Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 = 30 ]
A18: Establecer variable [ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 0 & %time2 <31 ]
A19: Establecer variable [ Nombre:%mmm A:menos %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 30 ]
<Coletilla>
A20: Anchor
A21: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 < 7 ]
A22: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 6 & %time1 < 14 ]
A23: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 < 13 & %time1 < 21 ]
<decir>
A24: Anchor
A25: Flash [ Texto:%time / %hhh %mmm Largo:Encendido ]
A26: Decir [ Texto:%hhh %mmm Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:5 Velocidad:4 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A27: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 20 ]
araneguis
31/07/16, 10:34:13
Lo copie a un archivo de texto con Esexplorer, espero que no este todo mal, no domino mucho, y he leido todo pero alunas cosas me suenas a chino
araneguis
31/07/16, 10:56:41
Y tanto pico como Google me dicen lo mismo,
Y en texto me parece, 10.54/son las 10.54 en punto
WillyWeb
31/07/16, 11:13:42
En la acción A2 has usado como "Separador" los dos puntos y debes usar el punto
En A8 has puesto %time2 en la condición del final y debes poner %hhh
En A15 has puesto 00 y debes poner 0 (seguramente funcionará bien, pero no es lo correcto)
En A17 has puesto %time2 y debes poner %mmm (funcionará igual, pero no es lo correcto)
En A23 tienes una condición al revés. Donde pone "%time1 < 13" debe poner "%time1 > 13"
La acción A27 debería ir justo detrás de A23
En A25 y en A26 te falta incluir la variable %ccc en el sitio adecuado
Es curioso que alguno de esos errores sean los mismos que hemos ido corrigiendo a lo largo de la conversación hasta llegar al post #74 :silbando:
araneguis
31/07/16, 11:15:35
Voy a revisar, muchas gracias
araneguis
31/07/16, 11:31:08
Al poner la variable %ccc en las dos últimas tareas detras de %mmm, me lee, son las once veitisiete porciento cecece
WillyWeb
31/07/16, 11:35:27
Algo te debe faltar por arreglar. Repasa lo que te he dicho antes, y si te sigue fallando pon otra vez la tarea completa, tal y como la tienes ahora, para que la vea de nuevo.
araneguis
31/07/16, 11:52:46
Ahora me dice son las dice menos once porciento cecece
La hora la dice bien y menos cuarto, pero al final dice porciento cecece
WillyWeb
31/07/16, 11:54:14
¿De verdad te dice eso? :risitas:
Entonces ... está vivo :oh:
WillyWeb
31/07/16, 11:54:54
Anda, pon ta tarea completa de nuevo. Algo tienes mal y no lo estás viendo.
araneguis
31/07/16, 12:02:22
Decir Hora (3)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
<hora>
A5: Anchor
A6: Establecer variable [ Nombre:%hhh A:%time1 Calcular:Apagado Añadir:Apagado ]
A7: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A8: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido Añadir:Apagado ] Si (if) [ %hhh > 12 ]
A9: Establecer variable [ Nombre:%hhh A:12 Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 0 ]
A10: Establecer variable [ Nombre:%hhh A:Es la una Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 1 ]
A11: Establecer variable [ Nombre:%hhh A:Son las %hhh Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh > 1 ]
<minuto>
A12: Anchor
A13: Establecer variable [ Nombre:%mmm A:%time2 Calcular:Apagado Añadir:Apagado ]
A14: Establecer variable [ Nombre:%mmm A:60-%mmm Calcular:Encendido Añadir:Apagado ] Si (if) [ %mmm > 30 ]
A15: Establecer variable [ Nombre:%mmm A:en punto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 00 ]
A16: Establecer variable [ Nombre:%mmm A:cuarto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 15 ]
A17: Establecer variable [ Nombre:%mmm A:media Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 = 30 ]
A18: Establecer variable [ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 0 & %time2 <31 ]
A19: Establecer variable [ Nombre:%mmm A:menos %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 30 ]
<Coletilla>
A20: Anchor
A21: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 < 7 ]
A22: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 6 & %time1 < 14 ]
A23: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 13 & %time1 < 21 ]
A24: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 20 ]
<decir>
A25: Anchor
A26: Decir [ Texto:%hhh %mmm %ccc Motor: Voz:com.google.android.tts:spa-esp Stream:3 Tono:5 Velocidad:4 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A27: Pop-Up [ Título: Texto:%TIME Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
araneguis
31/07/16, 12:03:30
Cambie flash por pop up, pero no afecta en nada supongo, mw gusta mas asi
WillyWeb
31/07/16, 12:29:27
Veo que no has cambiado A15 y A17 a su forma correcta, como te he pedido antes. :rolleyes:
Cuando te dice "porciento cecece" es porque %ccc no tiene valor. La única forma de que pase eso es que %time1 no tenga uno de los valores esperados (entre 0 y 23) o que las comparaciones de las acciones A21 a A24 no estén funcionando bien.
Dudo que sea el valor de %time1, pero vamos a comprobarlo.
Modifica el pop-up de A27 para que muestre esto...
%TIME / %time1 / %time2 / %hhh %mmm %ccc
...y escribe aquí EXACTAMENTE lo que sale.
Puedes probar diferentes horas modificando la acción A2. En lugar de %TIME escribe la hora que quieras en el formato correcto HH.MM y comprueba el resultado en el pop-up.
araneguis
31/07/16, 12:30:18
Y no me decia "y" en A18: Establecer variable [ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 0 & %time2 <31 ]
La deje en[ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 < 31] y ahora si me lee la "y"
No se si me he explicado bien
WillyWeb
31/07/16, 12:40:06
No se si me he explicado bien
Perfectamente. La "y" sólo la tiene que añadir para los minutos entre 1 y 30. Si le quitas lo de "%time2 > 0" también te pondrá la "y" en las horas en punto y te dirá ... son las doce y en punto ... supongo que no quieres eso ¿...?
Algo raro pasa en tu Tasker con esas operaciones lógicas. :oh:
Comprueba que no has metido espacios en blanco y que ese 0 es un cero. Ante la duda borra esas condiciones y las escribes de nuevo.
araneguis
31/07/16, 13:03:00
Willy he hecho eso de la "y" he puesto lo de antes y no me dice la y, lo he dejado otra vez en >31, y cambiafo la hora del movil y me lo dice bien,on la una en punto
araneguis
31/07/16, 13:05:27
Y me sale asi 13.04/13/4/es la una y 4 %ccc
WillyWeb
31/07/16, 13:28:18
... lo he dejado otra vez en >31, y cambiafo la hora del movil y me lo dice bien,on la una en punto
Debería decir "Es la una..." y no "Son la una...". Y si la condición la has puesto así no me extraña que no añada la "y" ... es "%time2 < 31".
Ya te he dicho antes que para probar con otra hora sólo tenías que cambiar %TIME por la hora que quieras (con formato hh.mm). No hace falta que cambies la hora del móvil. Si haces eso y pones 21.45 debería funcionar bien... haz la prueba.
Y me sale asi 13.04/13/4/es la una y 4 %ccc
Pues confirmado que no es problema del contenido de %time1.
Curiosamente te están fallando las tres acciones que tienen una condición doble (A18, A22, A23), y eso ya lo he visto antes. :oh:
Borra esas acciones. Sal del editor de tareas. Sal de Tasker. Abre Tasker de nuevo. Edita esa tarea y añade de nuevo esas acciones.
Lo tienes que hacer tal y como te lo he puesto, sin atajos.
araneguis
31/07/16, 15:03:42
Probare luego o mañana, porq me he saturado un pelin jeje
Muchísimas gracias por la ayuda
araneguis
31/07/16, 22:38:48
Vale ahora lonhe vuelto ha hacer y me dice son las menos cuatro de la noche
Me falta ahora la hora, no la dice
Hablar Hora (15)
A1: Establecer variable [ Nombre:%time A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%time Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%time1 A:%time1 Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%time2 A:%time2 Calcular:Encendido Añadir:Apagado ]
<Hora>
A5: Anchor
A6: Establecer variable [ Nombre:%hhh A:%time1 Calcular:Apagado Añadir:Apagado ]
A7: Establecer variable [ Nombre:%hhh A:%hhh+1 Calcular:Encendido Añadir:Apagado ] Si (if) [ %time2 > 30 ]
A8: Establecer variable [ Nombre:%hhh A:%hhh-12 Calcular:Encendido Añadir:Apagado ] Si (if) [ %hhh > 12 ]
A9: Establecer variable [ Nombre:%hhh A:12 Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 0 ]
A10: Establecer variable [ Nombre:%hhh A:es la una Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh = 1 ]
A11: Establecer variable [ Nombre:%hhh A:son las Calcular:Apagado Añadir:Apagado ] Si (if) [ %hhh > 1 ]
<Minutos>
A12: Anchor
A13: Establecer variable [ Nombre:%mmm A:%time2 Calcular:Apagado Añadir:Apagado ]
A14: Establecer variable [ Nombre:%mmm A:60-%mmm Calcular:Encendido Añadir:Apagado ] Si (if) [ %mmm > 30 ]
A15: Establecer variable [ Nombre:%mmm A:en punto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 0 ]
A16: Establecer variable [ Nombre:%mmm A:Cuarto Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 15 ]
A17: Establecer variable [ Nombre:%mmm A:media Calcular:Apagado Añadir:Apagado ] Si (if) [ %mmm = 30 ]
A18: Establecer variable [ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 0 & %time2 > 31 ]
A19: Establecer variable [ Nombre:%mmm A:menos %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 30 ]
<coletilla>
A20: Anchor
A21: Establecer variable [ Nombre:%ccc A:de la madrugada Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 < 7 ]
A22: Establecer variable [ Nombre:%ccc A:de la mañana Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 6 & %time1 < 14 ]
A23: Establecer variable [ Nombre:%ccc A:de la tarde Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 13 & %time1 < 21 ]
A24: Establecer variable [ Nombre:%ccc A:de la noche Calcular:Apagado Añadir:Apagado ] Si (if) [ %time1 > 20 ]
<Decir>
A25: Anchor
A26: Flash [ Texto:%TIME / %hhh %mmm %ccc Largo:Encendido ]
A27: Decir [ Texto:%hhh %mmm %ccc Motor: Voz:com.google.android.tts:spa-esp Stream:3 Tono:5 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
WillyWeb
31/07/16, 22:51:46
No te dice la hora porque A11 está incompleta. Debe poner "son las %hhh".
Y en A18 has puesto mal la condición. Debe poner "%time2 > 0 & %time2 < 31".
araneguis
31/07/16, 23:05:24
Ok willy, ya lo corregí, ahora ya me dice, son las veintidos veintiseis de la noche, te la pongo para que la veas?
Sigo teniendo problemas co la "y" pero bueno ya ha mejorado
WillyWeb
31/07/16, 23:08:47
Ok willy, ya lo corregí, ahora ya me dice, son las veintidos veintiseis de la noche, te la pongo para que la veas?
Nooooo ... debería decir "son las diez y veintiséis de la noche". No procesa bien ni la hora ni el "y".
¿Has arreglado la condición de A18 como te he puesto antes?
¿Qué te sale en el flash?
araneguis
31/07/16, 23:14:05
Perdon si dice son las diez pero se salta la "y
En el flash pone 23.11 / son las 11 13 de la noche
Y si, he arreglado la A18 como me dijeste
WillyWeb
31/07/16, 23:21:12
:facepalm: esto es agotador.
Por favor, comprueba que la acción A18 está así...
A18: Establecer variable [ Nombre:%mmm A:y %mmm Calcular:Apagado Añadir:Apagado ] Si (if) [ %time2 > 0 & %time2 < 31 ]
Si lo tienes ASÍ y sigue sin funcionar bien (sin decir la "y"), borra esa acción y la creas de nuevo.
araneguis
31/07/16, 23:29:14
No quiero molestarte mas willy, lo compruebo de nuevo y te digo, pero no te molestes mas, si sale bien y si no también, se entiende perfectamente lo que dice
WillyWeb
31/07/16, 23:30:51
Es que tiene que salir :rolleyes:
¿Has borrado esa acción y la has creado de nuevo?
araneguis
31/07/16, 23:45:34
Si lo he echo varias veces ,la única forma que me lea la y es dejando <31 a secas
araneguis
31/07/16, 23:47:56
A ver si alguien comparte el suyo y lo puedo importar y sale bien,no se
Otro día te comento otra duda de una tarea que creé y no va del todo fina para whatsapp
Muchas gracias por todo willy
WillyWeb
01/08/16, 10:32:43
Como no has hecho pruebas con diferentes horas, como te he insinuado un par de veces que hicieras, no te lo puedo asegurar , pero parece que tu Tasker no procesa bien las acciones que tienen dos condiciones.
Crea una tarea nueva y pon esto...
A1: Establecer variable [ Nombre:%aaa A:1 Calcular:Apagado Añadir:Apagado ]
A2: Establecer variable [ Nombre:%aaa A:ok Calcular:Apagado Añadir:Apagado ] Si (if) [ %aaa > 0 & %aaa < 5 ]
A3: Flash [ Texto:%aaa Largo:Encendido ]
Haz varias pruebas cambiando el "1" de la acción A1 por otro número entre 0 y 9. En el flash debe salir ese número menos cuando pongas 1, 2, 3 o 4.
araneguis
01/08/16, 12:04:52
Willy ya lo hice tal cual y sslen todos los números en flash, he probado hasta el. 0 al 12
WillyWeb
01/08/16, 12:31:45
Pues está claro que algo falla en tu Tasker, o en tu forma de escribir las acciones con dos condiciones ;-)
Prueba esto otro...
A1: Establecer variable [ Nombre:%aaa A:5 ]
A2: Si (if) [ %aaa > 3 & %aaa < 8 ]
A3: Establecer variable [ Nombre:%aaa A:ok ]
A4: Fin si (End if)
A5: Flash [ Texto:%aaa ]
Debería salir "ok" al poner en A1 4, 5, 6 o 7.
araneguis
01/08/16, 16:23:43
Nada sigue saliendo los nuneros, ponga cual ponga
Prueba (2)
A1: Establecer variable [ Nombre:%aaa A:5 Calcular:Apagado Añadir:Apagado ]
A2: Si (if) [ %aaa > 3 & %aaa <8 ]
A3: Establecer variable [ Nombre:%aaa A:Ok Calcular:Apagado Añadir:Apagado ]
A4: Fin si (End if)
A5: Flash [ Texto:%aaa Largo:Apagado ]
araneguis
01/08/16, 16:24:55
Y puse otra version de la app
Mitrhandir
01/08/16, 16:53:02
Hola Araneguis, me extraña que te ocurra eso. De todas formas, seguramente sea que tienes algo mal. Yo de tí empezaría de 0 y lo reharía todo sin tomar atajos. A mí me va de perlas! Willy, ya lo he leído y ahora adquiere otro sentido. En breve, inicio tema nuevo!
WillyWeb
01/08/16, 17:37:26
Y puse otra version de la app
¿Cómo? porque desde la Google Play sólo puedes poner la versión más reciente, que es la que tendrías que tener instalada si has comprado la aplicación y dejado que se actualice automáticamente. :silbando:
De todas formas no creo que sea cosa de la versión de Tasker. Ese comportamiento tan rato puede ser consecuencia de una mala instalación o una "interferencia" con esa ROM cocinada que estás usando, según pones en tu perfil.
Poco puedo hacer en cualquiera de esos dos casos. Lo siento.
WillyWeb
01/08/16, 18:19:10
He añadido la tarea al recopilatorio para que la descargues y la pruebes. Me temo que no te funcionará, pero ya no se me ocurre nada más.
http://www.htcmania.com/showthread.php?t=1164924
araneguis
01/08/16, 18:43:58
Muchísimas gracias, voy a probarla a ver, y si tengo la app comprada
araneguis
01/08/16, 19:37:18
Me dio error al importar tu tarea, pero luego si que me aparecía dentro de tasker, de momento he cambiado varios tipos de horas, madrugada tarde y noche, y me lo lee bien de momento, y con la y, ahora me pone :18.34 / son las 8 menos 26 de la tarde😁
WillyWeb
01/08/16, 21:48:30
Pues si ahora te funciona el problema tienes que ser tú :loco:
Haz el favor de mandarme tu tarea, la que habías escrito tú y que no funcionaba bien. La exportas como XML a la SD. El archivo debería estar en /sdcard/Tasker/tasks. Tendrá el mismo nombre que la tarea y terminará en .tsk.xml, igual que el que te has bajado del repositorio.
Haz el envío a la cuenta de ATaskREADOS (
[email protected]).
araneguis
01/08/16, 22:59:18
Willy al desintalar para probar otra versión me borro la tarea que tenia creada antes, pero ya la vistes mil veces, no se sere yo, pues todo lo que me decías lo repasaba y volvia ha hacer de nuevo, y las pruebas tbn, apuesto a que si haces una prueba de esas que me dijiste yme la pasas funciona bien, a pesar de yo acerlo tal cual me dijiste
WillyWeb
01/08/16, 23:09:39
Pues eso es justo lo que quiero, ver qué haces para que no te funcione. Lo que sea es algo que deberías saber para evitarte problemas en el futuro. Seguramente es una chorrada en la que no fijas.
Haz el favor de hacer esta tarea como has hecho con las otras...
A1: Establecer variable [ Nombre:%aaa A:1 ]
A2: Establecer variable [ Nombre:%aaa A:xxx ] Si (if) [ %aaa > 1 & %aaa < 4 ]
A2: Si (if) [ %aaa > 5 & %aaa < 8 ]
A3: Establecer variable [ Nombre:%aaa A:kkk ]
A4: Fin si (End if)
A5: Flash [ Texto:%aaa ]
... pruebas valores de 0 a 8 y me dices qué te sale con cada uno.
Luego exporta la tarea y me la mandas, como te he dicho antes.
araneguis
01/08/16, 23:31:25
Me sale ek número que voy cambiando yo
https://www.dropbox.com/s/vyd5iagme9d100y/Prueba.tsk.xml?dl=0
araneguis
01/08/16, 23:46:51
No me digas que esta mal creada?
WillyWeb
02/08/16, 00:32:36
Pues sí, está mal creada, pero reconozco que has sido muy imaginativo :aplausos:
Tú lo has hecho así...
http://www.htcmania.com/attachment.php?attachmentid=908286
Y lo correcto es hacerlo así...
http://www.htcmania.com/attachment.php?attachmentid=908287
Las condiciones adicionales se añaden con el + que está a la derecha de la taza.
Alucinante :oh:
araneguis
02/08/16, 00:37:08
Hostias pos no tenia ni idea, ves como no domino nada, joder que mal, asi lo hacia tbn en la de decir la hora,
Ahora del 1al5 marca el numero y 6,7 marca kkk, se ve que en la descripción que te ponia yo no se veia lobque me has dicho ahora, verdad? Vaya palo, mil gracias willy, descansa que conmigo ya tas exprimido bastante, buenas noches y gracias
WillyWeb
02/08/16, 00:50:10
Sí, ya lo supongo. :rolleyes:
Es alucinante. Me has tenido dos días intrigado por esa chorrada. :oskitar:
:cerveza: así es imposible dejar la bebida.
araneguis
02/08/16, 10:28:18
Jajaja que crack, joder esque tu conttolas demasiado tio, me gusta mucho el tasker ojala algún día controle yo igual que tu, mientras tu higado aguante te ire preguntando jeje
Gracias de nuevo
WillyWeb
02/08/16, 10:35:10
Ahora del 1al5 marca el numero y 6,7 marca kkk, se ve que en la descripción que te ponia yo no se veia lobque me has dicho ahora, verdad?
Espera. Algo te falta por arreglar. ¿Es que sólo has cambiado la acción del IF? ¿Y la otra que también tiene dos condiciones? Esa también está mal. :oh:
Que las condiciones no se escriben como lo has hecho tú ... pero en ninguna parte :rolleyes:
araneguis
02/08/16, 10:47:05
Es verdad ya la he cambiado, con 1 sale 1, con 2 y 3 sale xxx, con 4 sale 4 y con 5 en adelante sale kkk, si no me he liado al mirarlo, claro
Enviado desde mi K920 mediante Tapatalk
araneguis
02/08/16, 10:50:05
Eres muy duro conmigo 😭
Enviado desde mi K920 mediante Tapatalk
WillyWeb
02/08/16, 10:59:17
Esta vez casi aciertas ;-)
Lo que pretendo es que entiendas cómo se hace para que no tengas problemas en el futuro. Parece que esto ya te ha quedado claro. :silbando:
araneguis
02/08/16, 11:15:09
Un poco mas claro si, gracias a ti, pero tampoco creas que no me volverá a pasar, jeje 😂
Enviado desde mi K920 mediante Tapatalk
Mitrhandir
03/08/16, 15:21:42
Hola Willy! Sé que estarás de vacaciones, por lo tanto, te aburrirás. He descubierto la variable %NTITLE, con la cual cuando hay una notificación de whatsapp, Conchita me dice quién lo ha mandado y "lee" el whatsapp. Bien, puedo separar la variable %NTITLE para que sólo me diga quién me ha mandado el whatsapp y no que me lo lea? 1 2 3, responda otra vez! :palomitas:
WillyWeb
03/08/16, 16:49:50
Pues estaba intentando aburrirme, pero está visto que no piensas dejarme hacerlo :cry:
Sobre tu consulta...
... puedo separar la variable %NTITLE para que sólo me diga quién me ha mandado el whatsapp y no que me lo lea? 1 2 3...
Cualquier cosa con estructura se puede separar/trocear/dividir.
¿Qué pinta tiene el contenido de %NTITLE cuando te llega un WhatsApp? ¿Eres capaz de identificar las partes (nombre/separador/texto)?
...1 2 3, responda otra vez!
:risitas: el día que nos conozcamos en persona prepara la cartera para pagar cañas hasta que pierda el conocimiento :sisi1:
Mitrhandir
03/08/16, 19:14:36
Mmmm.... Me está dando guerra este perfil.
Perfil: Not What (31)
Evento: Notificación [ Aplicación origen:WhatsApp Título:* ]
Entrada: Not What (32)
A1: Establecer variable [ Nombre:%ntit A:%NTITLE Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%ntit Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%ntit A:%ntit1 Calcular:Apagado Añadir:Apagado ]
A4: Decir [ Texto:Javi, tienes un mensaje de %ntit1 Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:4 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
Estaba convencido de que estaba todo bien, pero no entiendo porqué no
lo hace.
WillyWeb
03/08/16, 19:26:21
El planteamiento es bueno siempre que el separador entre el nombre y el texto sea ese punto que has puesto en A2 ... ¿es ese el separador? :rolleyes:
No veo el motivo de poner esa acción A3. Una vez separado nombre y texto no tiene sentido que guardes la parte del nombre en la variable que has dividido.
En lugar de esa A3 pon un flash o un pop-up para ver el contenido de %ntit (o de %NTITLE) y decidir qué separador tienes que usar.
Mitrhandir
04/08/16, 10:46:31
Perfil: Not What (31)
Evento: Notificación [ Aplicación origen:WhatsApp Título:* ]
Entrada: Not What (32)
A1: Establecer variable [ Nombre:%vuasap A:on Calcular:Apagado Añadir:Apagado ]
A2: Si (if) [ %vuasap ~ on ]
A3: Establecer variable [ Nombre:%ntit A:%NTITLE Calcular:Apagado Añadir:Apagado ]
A4: Separar variable [ Nombre:%ntit Separador:/ Eliminar base:Apagado ]
A5: Pop-Up [ Título:%ntit Texto:%ntit Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
A6: Decir [ Texto:Javi, tienes un mensaje de %NTITLE Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:4 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A7: Fin si (End if)
Estoy muy mosca, porque a pesar de separar la variable, me sigue diciendo el mensaje completo. Es decir, tienes un mensaje de xxxxx "nombre del grupo o persona" y me lee el mensaje. Y yo sólo quiero que me diga el nombre de quién me lo manda. El separador he puesto una barra. Pero ni por esas. Parece que haya 3 partes, entonces, empiezo a sospechar que mi planteamiento no es el correcto.
Y lo de las birras, no te preocupes: yo a la tercera ya voy a cuatro patas! :risitas:
WillyWeb
04/08/16, 11:27:28
... Parece que haya 3 partes, entonces, empiezo a sospechar que mi planteamiento no es el correcto.
¿Seguro? :silbando:
Esto no es cosa de brujería, es cosa de prestar atención a los detalles. :loco:
¿Por qué te lee el nombre y el mensaje?
Mira en A6. Si en la acción que lee pones %NTITLE, que contiene el mensaje completo, te leerá el mensaje completo. Este maldito Tasker hace lo que quiere. :crybaby:
¿Qué pretendes con A1,A2,A7? Si esperas que eso solucione el problema mágicamente vas mal. Esto requiere sacrificio de sangre. :grin:
Y no se trata de probar separadores a lo loco. Supongo que existirá algo entre el nombre y el texto. Con A5 puedes ver el contenido completo de la notificación. Mira con atención y busca qué es lo que separa una parte de la otra (una palabra, un signo ... algo que se repita en todas las notificaciones). Eso es lo que tienes que usar como separador, no lo primero que se te ocurra. :rolleyes:
Por cierto, en A5 te sobra el %ntit que has puesto en "Título:"
Mitrhandir
04/08/16, 12:00:07
Perfil: Not What (31)
Evento: Notificación [ Aplicación origen:WhatsApp Título:* ]
Entrada: Not What
A1: Establecer variable [ Nombre:%ntit A:%NTITLE Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%ntit Separador:: Eliminar base:Apagado ]
A3: Pop-Up [ Título: Texto:%ntit Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
A4: [X] Decir [ Texto:Javi, tienes un %ntit Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:4 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
Creía que ya lo tenía, el separador es ":", pero por alguna razón que desconozco, %ntit, me sigue leyendo todo el mensaje. :oh:
WillyWeb
04/08/16, 12:18:15
Creía que ya lo tenía, el separador es ":", pero por alguna razón que desconozco, %ntit, me sigue leyendo todo el mensaje. :oh:
:facepalm: pero hombre.
No nos pongamos nerviosos. Analicemos las cosas con calma. El primer planteamiento era bueno, ¿por qué te alejas como un pollo sin cabeza de tu primera idea?
Fuera A1, A2 y A7 ... ya te he dicho que no pintan nada.
¿Por qué te extraña que al usar %ntit se reproduzca todo el mensaje? ¿qué contiene %ntit? Que lo has puesto tú en A3. :oh:
Y si el separador es ":" pues estupendo. Lo usa en A4. Perfecto. ¿Qué sale de A4?
No te salgas por peteneras. Responde a las preguntas.
Mitrhandir
04/08/16, 15:14:40
Perfil: Not What (31)
Evento: Notificación [ Aplicación origen:WhatsApp Título:* ]
Entrada: Not What (32)
A1: Establecer variable [ Nombre:%ntit A:%NTITLE Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%ntit Separador:. Eliminar base:Apagado ]
A3: Pop-Up [ Título: Texto:%ntit Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
A4: Decir [ Texto:Javi, tienes un %ntit Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:4 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A %ntit le he dado el valor de la primera parte de %NTITLE, que es la que me interesa. Sólo quiero que me diga: Javi, tienes un mensaje de Fulanito.
Mi no entender! :loco:
WillyWeb
04/08/16, 17:17:57
... Sólo quiero que me diga: Javi, tienes un mensaje de Fulanito ... Mi no entender!
Pues creo que yo sí que lo entiendo. Lo que no entiendo es lo que haces para conseguirlo. :oh:
En A1 guardas %NTITLE en %ntit con la intención de separar esa variable después.
En A2 separas la variable %ntit (otra vez por el punto, ¿ya no te gustan los dos puntos o la barra de antes?). Haces eso con la intención de generar dos variables (%ntit1 y %ntit2) que contengan el nombre del remitente y el texto del mensaje, pero usas un separador inventado. Y no me queda claro para qué, porque luego no usas esas variables para nada.
En A3 muestras el contenido de %ntit, supongo que para que haga bonito, porque no lo estás usando para lo que te podría valer ... identificar el separador y dejar de hacer pruebas a lo loco.
En A4 usas la variable %ntit, que contiene todo el mensaje (nombre y texto), pero te rascas la cabeza sin entender el motivo de que, aunque tú quieres sólo el nombre, Tasker se empeñe en leer todo el mensaje. Una locura, porque Tasker debería saber lo que quieres y no empeñarse en hacer lo que le programas que haga.
Ves como sí que lo entiendo. :risitas:
Quieres, por favor, poner aquí el contenido integro del contenido de %NTITLE cuando te llega una notificación de WhatsApp. Que alguien te mande un simple "Hola Javi" y, usando esa misma tarea que se empeña en no hacer lo que quieres, toma nota de lo que sale en el pop-up.
:facepalm: lo que me haces sufrir, y con este calor.
Caravantes
04/08/16, 17:56:30
Hola Willy! Sé que estarás de vacaciones, por lo tanto, te aburrirás. He descubierto la variable %NTITLE, con la cual cuando hay una notificación de whatsapp, Conchita me dice quién lo ha mandado y "lee" el whatsapp. Bien, puedo separar la variable %NTITLE para que sólo me diga quién me ha mandado el whatsapp y no que me lo lea? 1 2 3, responda otra vez!
Alba, porfa: tema distinto -> no sigas conversando en el mismo hilo.
Segunda sugerencia: Esto es un foro colectivo y me parece preferible que no dirijas tus preguntas a Willy ni a nadie en concreto. Puede haber otros compañeros que sepan/puedan ayudarte y parece que los/nos estás marginando o no estás interesado en escucharles/nos.
Mitrhandir
04/08/16, 17:57:33
Biennn, lo conseguí!
Perfil: Not What (31)
Evento: Notificación [ Aplicación origen:WhatsApp Título:* ]
Entrada: Not What (32)
A1: Establecer variable [ Nombre:%ntit A:%NTITLE Calcular:Apagado Añadir:Apagado ]
A2: Separar variable [ Nombre:%ntit Separador:: Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%ntit A:%ntit1 Calcular:Apagado Añadir:Apagado ]
A4: Pop-Up [ Título: Texto:%ntit1 Imagen de fondo: Disposición:Popup Cuenta atrás (segundos):5 Mostrar sobre bloqueo pantalla:Encendido ]
A5: Decir [ Texto:Javi, tienes un %ntit Motor: Voz:com.ivona.tts:spa-ESP Stream:5 Tono:5 Velocidad:4 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
Por finnnn! Faltaba darle valor a %ntit...
Bien, ahora sí que voy a necesitar unas migas muy grandes, porque quisiera hacer un contador, para que me diga cuánto whatsapps hay sin leer y de quién son.
Con lo torpe que soy, que sean más grandes de lo normal, please! :risitas:
WillyWeb
04/08/16, 18:07:31
Hasta un reloj averiado acierta la hora dos veces al día. :oh:
Perfil: Not What (31)
Evento: Notificación [ Aplicación origen:WhatsApp Título:* ]
Entrada: Not What (32)
A1: Establecer variable [ Nombre:%ntit A:%NTITLE ]
A2: Separar variable [ Nombre:%ntit Separador:: ]
A3: Decir [ Texto:Javi, tienes un WhatsApp de %ntit1 ]
Anda, comprueba que eso funciona.
WillyWeb
04/08/16, 18:09:16
Alba, porfa: tema distinto -> no sigas conversando en el mismo hilo.
Segunda sugerencia: Esto es un foro colectivo y me parece preferible que no dirijas tus preguntas a Willy ni a nadie en concreto. Puede haber otros compañeros que sepan/puedan ayudarte y parece que los/nos estás marginando o no estás interesado en escucharles/nos.
Pues sí, tienes toda la razón. Culpa mía por seguir la conversación.
No se volverá a repetir. :ok:
Mitrhandir
04/08/16, 20:20:05
Perdón Caravantes, no volverá a ocurrir. Nada más lejos que querer ignorar a nadie. Sobre tema de abrir otro tema, pensé que quizás no era conveniente abrir otro hilo y aprovechar el existente. Lo siento! He pecado de novato.
Caravantes
25/08/16, 21:06:53
Copio una pequeña conversación que se hizo (por error) en otro hilo:
Oye albalatvs, como va lo de la tarea para la que el móvil diga la hora? Ya esta acabado o ha quedado olvidado?
La tarea corriendo perfectamente! Estoy muy satisfecho y agradecido. Ahora estoy pensando en ideas nuevas. A ver si se me ocurre algo, aunque tú estás teniendo unas muy buenas ideas!
O que bien. Te molesta si te pido un pequeño favor? Podrías editar la primera parte del hilo (mensaje principal), y colocar allí la tarea con las acciones ya finalizadas? porque me hago un lio intentado averiguar cual es el conjunto de tareas correspondientes.
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.