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

Respuesta
 
Herramientas
  #1  
Viejo 24/06/21, 19:06:55
Array

[xs_avatar]
manupf23 manupf23 no está en línea
Usuario muy activo
 
Fecha de registro: oct 2011
Mensajes: 599
Tu operador: Movistar

AutoSheets para registro de llamadas?

Se puede utilizar con la versión free de Autosheets para llevar un registro de llamadas?

Actualmente lo tengo por ifttt e integromat, pero fallan mucho...

Alguna forma de poder hacerlo con Tasker y Autosheets?

Un saludo!!
Responder Con Cita


  #2  
Viejo 26/06/21, 15:28:13
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,048
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Nunca he usado Autosheets, pero siendo gratuito ¿qué te impide probarlo tú mismo?



Aunque por lo que he visto no hace falta nada...

https://www.google.com/search?q=add+...ts+with+tasker
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 27/06/21, 11:42:00
Array

[xs_avatar]
manupf23 manupf23 no está en línea
Usuario muy activo
 
Fecha de registro: oct 2011
Mensajes: 599
Tu operador: Movistar

Ya tengo el perfil creado con ayuda

 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
Nunca he usado Autosheets, pero siendo gratuito ¿qué te impide probarlo tú mismo?



Aunque por lo que he visto no hace falta nada...

https://www.google.com/search?q=add+...ts+with+tasker

Ya he creado el perfil con ayuda.
No lo creaba porque la verdad es que no tenía ni idea de cómo crearlo jejeje.
Muchas gracias!
Responder Con Cita
  #4  
Viejo 28/06/21, 01:52:45
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por manupf23 Ver Mensaje
Ya he creado el perfil con ayuda. No lo creaba porque la verdad es que no tenía ni idea de cómo crearlo jejeje. Muchas gracias!

La mejor forma de agradecerlo sería compartir aquí el perfil que has creado, para conocimiento y aprendizaje de otros foreros que puedan estar interesados en el tema.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Caravantes su comentario:
  #5  
Viejo 30/06/21, 22:49:59
Array

[xs_avatar]
manupf23 manupf23 no está en línea
Usuario muy activo
 
Fecha de registro: oct 2011
Mensajes: 599
Tu operador: Movistar

Por supuesto

 Cita: Originalmente Escrito por Caravantes Ver Mensaje
La mejor forma de agradecerlo sería compartir aquí el perfil que has creado, para conocimiento y aprendizaje de otros foreros que puedan estar interesados en el tema.
Por supuesto!
Aquí os lo dejo, me ayudó un chico que es top en esto de Tasker.


Perfil: Terminar Llamada Etc (62)
Restore: no
Evento: Teléfono Inactivo
Entrada: Calllog (61)
A1: Pedir Permisos [ Permisos Requeridos:android.permission.READ_CALL_LOG ]
<date>
A2: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Tabla: Columnas:date Consulta: Parámetros de Selección: Ordernar Por:date DESC Separador de Columna de Salida: Matriz de Variables (array):%date Usar Root:Apagado ]
<number>
A3: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Tabla: Columnas:number Consulta: Parámetros de Selección: Ordernar Por:date DESC Separador de Columna de Salida: Matriz de Variables (array):%number Usar Root:Apagado ]
<duration>
A4: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Tabla: Columnas:duration Consulta: Parámetros de Selección: Ordernar Por:date DESC Separador de Columna de Salida: Matriz de Variables (array):%duration Usar Root:Apagado ]
<type>
A5: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Tabla: Columnas:type Consulta: Parámetros de Selección: Ordernar Por:date DESC Separador de Columna de Salida: Matriz de Variables (array):%type Usar Root:Apagado ]
A6: Establecer Variable [ Nombre:%type A:%type(1) Variables Recursivas:Apagado Calcular:Apagado Añadir:Apagado Dígitos de Redondeo Máximos:3 Structure Output (JSON, etc):Encendido ]
A7: Parse/Format DateTime [ Tipo de Entrada:Milliseconds Since Epoch Entrada:%date(1) Input Format: Input Separator: Output Format:dd/MM/yyyy HH:mm Output Format Separator: Formatted Variable Names: Obtener Todos los Detalles:Apagado Calcular:Apagado Output Offset Type:Ninguno Output Offset: ]
A8: Establecer Variable [ Nombre:%jsondate A:{"1": "Llamada entrante","2": "Llamada saliente","3": "Llamada perdida","5": "Llamada rechazada"} Variables Recursivas:Apagado Calcular:Apagado Añadir:Apagado Dígitos de Redondeo Máximos:3 Structure Output (JSON, etc):Encendido ]
A9: Establecer Variable [ Nombre:%tipo A:%jsondate[%type] Variables Recursivas:Apagado Calcular:Apagado Añadir:Apagado Dígitos de Redondeo Máximos:3 Structure Output (JSON, etc):Encendido ]
A10: Flash [ Texto:%formatted
%tipo
%duration(1)
%number(1) Largo:Apagado ]
A11: AutoSheets Add Rows [ Configuración:Spreadsheet ID: 13efIT58sTNZwYbk5qs-HSB4bWrvY6H6YZFVM41Xq3NQ
Data: %tipo, %number(1), %formatted, %duration(1)
Separator: ,
Row Separator:

Mode: Parsed Tiempo Límite (Segundos):60 Structure Output (JSON, etc):Encendido ]
Responder Con Cita
Los siguientes 3 usuarios han agradecido a manupf23 su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #6  
Viejo 05/07/21, 15:20:57
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,048
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Ahora que he tenido tiempo de estudiar la tarea he visto algunas cosas "ligeramente mejorables". Comenzaré comentando lo que hace cada acción de la tarea original...
  1. Comprueba que Tasker tiene permiso para leer el registro de llamadas
  2. Extrae la fecha de todas las llamadas del registro ordenadas por fecha y las guarda en el array %date
  3. Extrae el número de todas las llamadas del registro ordenadas por fecha y las guarda en el array %number
  4. Extrae la duración de todas las llamadas del registro ordenadas por fecha y las guarda en el array %duration
  5. Extrae el tipo de todas llamadas del registro ordenadas por fecha y las guarda en el array %type
  6. Guarda el tipo de la llamada más reciente %type(1) en %type
  7. Convierte la fecha de la llamada más reciente %date(1) de epoch a un formato legible
  8. Crea un array JSON con las equivalencias en texto de cada %type
  9. Asigna a %tipo el equivalente en texto del tipo de la llamada más reciente %type=%type(1) usando el array JSON
  10. Hace un flash con los valores obtenidos/convertidos
  11. Guarda esos valores en una hoja de cálculo de GDrive usando el plugin AutoSheets



Lo primero que me ha llamado la atención es ese "Spreadsheet ID". Espero que no corresponda a un archivo real.

La comprobación del permiso, aunque técnicamente impecable, en la práctica debería ser innecesaria si Tasker se instaló correctamente y se le dieron todos los permisos.

Luego está el tema de las consultas SQL. Mi registro de llamadas tiene más de 2500 entradas (sí, tengo un problema y me lo estoy tratando). Sacar 2500x4=10000 datos para quedarme con 4 es un desperdicio de recursos de proporciones bíblicas.

Mejorar eso de forma muy significativa solo requiere de un pequeño cambio en cada una de las cuatro consultas SQL para que queden así...

Consulta SQL [ ... Ordernar Por:date DESC LIMIT 1 ... ]

También se podrían sacar todos los datos con una sola acción SQL, aunque eso obligaría a separar los valores resultantes y se perdería algo de claridad para ganar solo un par de acciones, pero si alguien se aburre mucho... << Está resuelto unos mensajes más abajo.

El formato de salida de la fecha también es mejorable si se le añaden los segundos ... dd/MM/yyyy HH:mm:ss

Y para terminar, la conversión de %type a texto también se puede simplificar un poquito. No entiendo la necesidad de usar un array JSON pudiendo usar uno normal, que además tiene un nombre poco acertado (%jsondate). Y luego me he dado cuenta de que solo se contemplan los valores 1/2/3/5 y los tipos posibles van de 1 a 7.

Aquí os dejo mi versión de esa misma tarea...

Código:
LeeRegistroLlamadasSQL (666)
   A1: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:date Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%date ]
   A2: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:number Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%number ]
   A3: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:duration Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%duration ]
   A4: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:type Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%type ]
   A5: Parse/Format DateTime [  Tipo de Entrada:Milliseconds Since Epoch Entrada:%date1 Output Format:dd/MM/yyyy HH:mm:ss Formatted Variable Names:%fecha ]
   A6: Establece Array [ Matriz de Variables (array):%tipo Valores:Entrante,Saliente,Perdida, Buzón,Rechazada,Bloqueada,Externa Separador:, ]
   A7: Flash [ Texto:%fecha↵%number1↵%duration1↵%tipo(%type1) Largo:Encendido ]
   A8: PLUGIN
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)

Última edición por WillyWeb Día 09/07/21 a las 12:09:43. Razón: Ampliar lista de tipos de llamada y aclaraciones
Responder Con Cita
Los siguientes 3 usuarios han agradecido a WillyWeb su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #7  
Viejo 06/07/21, 01:12:24
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
Ahora que he tenido tiempo de estudiar la tarea he visto algunas cosas "ligeramente mejorables". Comenzaré comentando lo que hace cada acción...
Muchas gracias Willy, por ese post que complementa y afina la tarea de Manu. Excelente.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Responder Con Cita
Gracias de parte de:
  #8  
Viejo 06/07/21, 08:50:09
Array

[xs_avatar]
Osconse Osconse no está en línea
Miembro del foro
 
Fecha de registro: jul 2019
Mensajes: 147
Modelo de smartphone: Xiaomi Mi9
Tu operador: Otra
Que grandes sois los dos!!

Por aquí sigo, con muchas dudas, pero tengo un proyecto que me tiene un poco apartado. En cuanto tenga hueco vuelvo al ataque. No os habéis librado de mi!!! 😂😂😂😂😂😂
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Osconse su comentario:
  #9  
Viejo 06/07/21, 09:03:20
Array

[xs_avatar]
manupf23 manupf23 no está en línea
Usuario muy activo
 
Fecha de registro: oct 2011
Mensajes: 599
Tu operador: Movistar

Maravilla!

 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
Ahora que he tenido tiempo de estudiar la tarea he visto algunas cosas "ligeramente mejorables". Comenzaré comentando lo que hace cada acción...
  1. Comprueba que Tasker tiene permiso para leer el registro de llamadas
  2. Extrae la fecha de todas las llamadas del registro ordenadas por fecha y las guarda en el array %date
  3. Extrae el número de todas las llamadas del registro ordenadas por fecha y las guarda en el array %number
  4. Extrae la duración de todas las llamadas del registro ordenadas por fecha y las guarda en el array %duration
  5. Extrae el tipo de todas llamadas del registro ordenadas por fecha y las guarda en el array %type
  6. Guarda el tipo de la llamada más reciente %type(1) en %type
  7. Convierte la fecha de la llamada más reciente %date(1) de epoch a un formato legible
  8. Crea un array JON con las equivalencias en texto de cada %type
  9. Asigna a %tipo el equivalente en texto del tipo de la llamada más reciente %type(1) usando el array JSON
  10. Hace un flash con los valores obtenidos/convertidos
  11. Guarda esos valores en una hoja de cálculo de GDrive usando el plugin AutoSheets



Lo primero que me ha llamado la atención es ese "Spreadsheet ID". Espero que no corresponda a un archivo real.

La comprobación del permiso, aunque técnicamente impecable, en la práctica debería ser innecesaria si Tasker está correctamente instalado y se le han dado todos los permisos.

Luego está el tema de las consultas SQL. Mi registro de llamadas tiene más de 2500 entradas (sí, tengo un problema y me lo estoy tratando). Sacar 2500x4=10000 datos para quedarme con 4 es un desperdicio de recursos de proporciones bíblicas.

Mejorar eso de forma muy significativa solo requiere de un pequeño cambio en cada una de las consultas SQL para que queden así...

Consulta SQL [ ... Ordernar Por:date DESC LIMIT 1 ... ]

También se podrían sacar todos los datos con una sola acción SQL, aunque eso obligaría a separar los valores resultantes y se perdería algo de claridad para ganar solo un par de acciones, pero si alguien se aburre mucho...

El formato de salida de la fecha también es mejorable si se le añaden los segundos ... dd/MM/yyyy HH:mm:ss

Y para terminar, la conversión de %type a texto también se puede simplificar un poquito. No entiendo la necesidad de usar un array JSON pudiendo usar uno normal y que además tiene un nombre poco acertado (%jsondate). Y luego me he dado cuenta de que solo se contemplan los valores 1/2/3/5 y los posibles van de 1 a 7.

Aquí os dejo mi versión de esa misma tarea...

Código:
    LeeRegistroLlamadasSQL (666)
    	A1: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:date Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%date Usar Root:Apagado ]
    	A2: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:number Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%number Usar Root:Apagado ]
    	A3: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:duration Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%duration Usar Root:Apagado ]
    	A4: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:type Ordernar Por:date DESC LIMIT 1 Matriz de Variables (array):%type Usar Root:Apagado ]
    	A5: Parse/Format DateTime [  Tipo de Entrada:Milliseconds Since Epoch Entrada:%date1 Output Format:dd/MM/yyyy HH:mm:ss Formatted Variable Names:%fecha ]
    	A6: Establece Array [ Matriz de Variables (array):%tipo Valores:Entrante,Saliente,Perdida,Buzón,Rechazada,Bloqueada,Externa Separador:, ]
    	A7: Flash [ Texto:%fecha / %number1 / %duration1 / %tipo(%type1) Largo:Encendido ]
    	A8: PLUGIN


Que maravilla Willy, muchas gracias!
De momento no tengo nivel para entender todo lo que explicas a la primera, pero voy a duplicarlo y probar y entender los cambios que me comentas para mejorarlo.
De nuevo, muchas gracias!
Responder Con Cita
Los siguientes 2 usuarios han agradecido a manupf23 su comentario:
  #10  
Viejo 09/07/21, 10:39:12
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,048
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
También se podrían sacar todos los datos con una sola acción SQL, aunque eso obligaría a separar los valores resultantes y se perdería algo de claridad para ganar solo un par de acciones, pero si alguien se aburre mucho...
Vale, ya lo hago yo.

La tarea original saca cada dato con una consulta y resulta que se pueden saca todos de una vez...

Código:
LeeRegistroLlamadasSQL (999)
   A1: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:date,type,number,duration Ordernar Por:date DESC LIMIT 1 Separador de Columna de Salida:| Matriz de Variables (array):%sql ]
   A2: Establece Array [ Matriz de Variables (array):%dato Valores:%sql1 Separador:| ]
   A3: Parse/Format DateTime [  Tipo de Entrada:Milliseconds Since Epoch Entrada:%dato1 Output Format:dd/MM/yyyy HH:mm:ss Formatted Variable Names:%fecha ]
   A4: Establece Array [ Matriz de Variables (array):%tipo Valores:Entrante,Saliente,Perdida, Buzón,Rechazada,Bloqueada,Externa Separador:, ]
   A5: Flash [ Texto:%dato()↵%fecha↵%tipo(%dato2)↵%dato3↵%dato4 Largo:Encendido ]
El resultado sigue siendo un array, pero cada elemento contiene el valor de todos los campos concatenados con el "Separador de Columna de Salida" elegido (A1). Si luego creas un array a partir de esa lista de valores usando el mismo "Separador" (A2) ya tienes cada dato solicitado listo para ser usado en el resto de la tarea.

Esto tiene una ventaja adicional, además de mejorar la velocidad de la tarea al reducir el número de acciones y hacer una sola "Consulta SQL". Si quisiera sacar un dato más solo tendría que añadirlo a la lista de "Columnas" de A1 tal que así ... Columnas:date,type,number,duration,name ... y después de A2 estaría disponible en %dato5.

Era muy fácil.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
Gracias de parte de:
  #11  
Viejo 09/07/21, 11:32:12
Array

[xs_avatar]
Osconse Osconse no está en línea
Miembro del foro
 
Fecha de registro: jul 2019
Mensajes: 147
Modelo de smartphone: Xiaomi Mi9
Tu operador: Otra
😂😂😂😂😂😂
Responder Con Cita
  #12  
Viejo 12/07/21, 16:31:07
Array

[xs_avatar]
manupf23 manupf23 no está en línea
Usuario muy activo
 
Fecha de registro: oct 2011
Mensajes: 599
Tu operador: Movistar

 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
Vale, ya lo hago yo.

La tarea original saca cada dato con una consulta y resulta que se pueden saca todos de una vez...

Código:
LeeRegistroLlamadasSQL (999)
   A1: Consulta SQL [ Modo:URI Formateado Archivo:content://call_log/calls Columnas:date,type,number,duration Ordernar Por:date DESC LIMIT 1 Separador de Columna de Salida:| Matriz de Variables (array):%sql ]
   A2: Establece Array [ Matriz de Variables (array):%dato Valores:%sql1 Separador:| ]
   A3: Parse/Format DateTime [  Tipo de Entrada:Milliseconds Since Epoch Entrada:%dato1 Output Format:dd/MM/yyyy HH:mm:ss Formatted Variable Names:%fecha ]
   A4: Establece Array [ Matriz de Variables (array):%tipo Valores:Entrante,Saliente,Perdida, Buzón,Rechazada,Bloqueada,Externa Separador:, ]
   A5: Flash [ Texto:%dato()↵%fecha↵%tipo(%dato2)↵%dato3↵%dato4 Largo:Encendido ]
El resultado sigue siendo un array, pero cada elemento contiene el valor de todos los campos concatenados con el "Separador de Columna de Salida" elegido (A1). Si luego creas un array a partir de esa lista de valores usando el mismo "Separador" (A2) ya tienes cada dato solicitado listo para ser usado en el resto de la tarea.

Esto tiene una ventaja adicional, además de mejorar la velocidad de la tarea al reducir el número de acciones y hacer una sola "Consulta SQL". Si quisiera sacar un dato más solo tendría que añadirlo a la lista de "Columnas" de A1 tal que así ... Columnas:date,type,number,duration,name ... y después de A2 estaría disponible en %dato5.

Era muy fácil.

Fácil dice... Jajajajajaja
Responder Con Cita
Gracias de parte de:
  #13  
Viejo 12/07/21, 19:31:34
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,048
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por manupf23 Ver Mensaje
Fácil dice... Jajajajajaja
¿No te lo parece?
  1. Sacamos todos los datos que interesan con una sola consulta SQL.
  2. La consulta devuelve los datos en una cadena de valores concatenados, así que los separamos creando un array.
  3. Convertimos el dato de la fecha a algo legible.
  4. Convertimos el dato del tipo de llamada a algo legible.
  5. ... y listo.

¿Lo quieres complicar?

Convierte el dato de la duración (segundos) a algo más "práctico" ... por ejemplo a hh:mm.ss

__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
Gracias de parte de:
Respuesta

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



Hora actual: 05:44:52 (GMT +2)



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

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