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

Respuesta
 
Herramientas
  #1  
Viejo 20/04/15, 19:27:25
Array

[xs_avatar]
mpiero mpiero no está en línea
Usuario muy activo
 
Fecha de registro: jun 2010
Localización: Galicia
Mensajes: 814
Modelo de smartphone: Google Pixel 9a
Tu operador: Simyo
Detectar tráfico al apagar pantalla

Hola a todos,
como muchos de vosotros tengo el tasker entre cosas configurado para que al apagar la pantalla me desactive internet (wifi/datos) y luego sincronize a intervalos regulares. Es un tema que está ya más que tratado en el foro. Pero tenía el problema de que si por ejemplo estas actualizando apps, o estan descargando algo, el tasker te cortaba la conexión y por lo tanto la descarga.
Investigando un poco sobre el tema, hace un tiempo vi algun hilo por ahí que hablaba de ello pero tampoco se llego (que yo sepa al menos) a concretar algo. Despues de probarlo varios días por fin he conseguido el objetivo: al apagar pantalla esperar a que no haya tráfico para apagar wifi/datos.
Os explico como:

La idea es obtener el valor el total de trafico entrante y saliente actual examinandolo por consola el valor de
/sys/class/net/wlan0/statistics/rx_bytes Contiene el total de bytes recibidos desde la última vez que se estableció una conexión wifi
/sys/class/net/wlan0/statistics/tx_bytes Contiene el total de bytes enviados desde la última vez que se estableció una conexión wifi
/sys/class/net/rmnet0/statistics/rx_bytes Contiene el total de bytes recibidos desde la última vez que se estableció una conexión de datos
/sys/class/net/rmnet0/statistics/tx_bytes Contiene el total de bytes enviados desde la última vez que se estableció una conexión de datos
Estos valores re resetean cada vez que nos desconectamos.
Lo que haré será ver el valor de la suma de los 4 valores, esperan un tiempo (unos segundos) volver a mirar el valor, y si ha aumentado x bytes espero unos minutos y vuelvo a verificar dichos valores.

Breve resumen de las tareas. Tengo 3 tareas:
1) TraficoGet: devolverá la suma actual de los 4 valores anteriores
2) SiTrafico: ejecuta la funcion anterior(TraficoGet), espera 4 segundos y la vuelve a ejecutar y calcula la diferencia, de esta forma devolverá el nºde bytes enviados/recibidos en los últimos 4 segundos.
3) Pantalla Off: la funcion que se ejecutará al apagar o bloquear la pantalla. Ejecutará SiTrafico, si esta función devuelve una valor superior a un tamaño razonable de bytes es que hay tráfico y en ese caso espera unos minutos y vuelve a comprobar. Si el valor es bajo continua la tarea y ejecuta la tarea que desactive wifi/datos

Y ahora los pasos de cada tarea...

TraficoGet (120)
 Cita:
*** inicializamos las variables que contendrá los datos transmitidos, enviados y la suma de ambos de red wlan(wifi), esto es por si no está wifi activo, para que tengan valor 0
A1: Establecer variable [ Nombre:%wifitx_data0 A:0 Calcular:Apagado Añadir:Apagado ]
A2: Establecer variable [ Nombre:%wifirx_data0 A:0 Calcular:Apagado Añadir:Apagado ]
A3: Establecer variable [ Nombre:%wifi_data0 A:0 Calcular:Apagado Añadir:Apagado ]
*** ejecutamos consola para obtener lo que se ha transmitido desde la última conexión por wifi
A4: Ejecutar consola [ Comando:cat /sys/class/net/wlan0/statistics/rx_bytes Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%wifirx_data0 Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ]
A5: Ejecutar consola [ Comando:cat /sys/class/net/wlan0/statistics/tx_bytes Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%wifitx_data0 Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ]
*** Sumamos enviados+recibidos de wifi
A6: Establecer variable [ Nombre:%wifi_data0 A:%wifirx_data0+%wifitx_data0 Calcular:Encendido Añadir:Apagado ]
A7: [x] Flash [ Texto:%wifi_data0 Largo:Apagado ] *** Esto es para testear
*** inicializamos las variables que contendrá los datos transmitidos, enviados y la suma de ambos de red de datos, por si no estan los datos activos, para que tengan valor 0
A8: Establecer variable [ Nombre:%redtx_data0 A:0 Calcular:Apagado Añadir:Apagado ]
A9: Establecer variable [ Nombre:%redrx_data0 A:0 Calcular:Apagado Añadir:Apagado ]
A10: Establecer variable [ Nombre:%red_data0 A:0 Calcular:Apagado Añadir:Apagado ]
*** ejecutamos consola para obtener lo que se ha transmitido desde la última conexión
A11: Ejecutar consola [ Comando:cat /sys/class/net/rmnet0/statistics/rx_bytes Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%redrx_data0 Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ]
A12: Ejecutar consola [ Comando:cat /sys/class/net/rmnet0/statistics/tx_bytes Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%redtx_data0 Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ]
*** Sumamos enviados+recibidos de datos
A13: Establecer variable [ Nombre:%red_data0 A:%redrx_data0+%redtx_data0 Calcular:Encendido Añadir:Apagado ]
*** Sumamos datos enviados y recibidos de wifi y datos
A14: Establecer variable [ Nombre:%total_data A:%red_data0+%wifi_data0 Calcular:Encendido Añadir:Apagado ]
A15: [x] Flash [ Texto:%total_data %wifi_data0 %red_data0 Largo:Apagado ] *** Esto es para testear
*** Devolvemos el total
A16: Devolver [ Valor:%total_data Detener:Encendido ]
SiTrafico (121)
 Cita:
*** Obtenemos el total de lo transmitido en el momento actual (wifi+datos, enviados y recibidos)
A1: Realizar tarea [ Nombre:TraficoGet Prioridad:%priority Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable:%DATA0 Detener:Apagado ]
*** Esperamos 4 segundos
A2: Esperar [ MS:0 Segundos:4 Minutos:0 Horas:0 Días:0 ]
*** Volvemos a obtener el total de lo transmitido en el momento actual (wifi+datos, enviados y recibidos)
A3: Realizar tarea [ Nombre:TraficoGet Prioridad:%priority Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable:%DATA1 Detener:Apagado ]
*** Calculamos la diferencia entre la primera muestra y la segunda, el valor será en bytes
A4: Establecer variable [ Nombre:%DATA_DIF A%DATA1-%DATA0) Calcular:Encendido Añadir:Apagado ]
A5: [x] Flash [ Texto:%DATA_DIF Largo:Apagado ] *** para test
*** Devolvemos el valor, es decir lo que se ha transmitido y enviado en los últimos 4 segundos
A6: Devolver [ Valor:%DATA_DIF Detener:Encendido ]
Pantalla Off (122)
 Cita:
*** Inicializomos la variable %TRAFICO a 0 si no está ajustada. La pongo en mayúsculas porque así es global y la puedo consulta para debug en cualquier momento.
A1: Establecer variable [ Nombre:%TRAFICO A:0 Calcular:Encendido Añadir:Apagado ] Si (if) [ %TRAFICO No ajust. ]
*** Ejecuta tarea SiTrafico, que devuelve el total de enviado y recibido por wifi/datos en bytes en los último 4 segundos y lo almaceno en %traf1
A2: Realizar tarea [ Nombre:SiTrafico Prioridad:%priority Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable:%traf1 Detener:Apagado ]
*** Lo paso a kbytes y lo guardo en %TRAFICO.
A3: Convertir Variable [ Nombre:%traf1 Función:Bytes a Kilobytes Almacenar Resultado en:%TRAFICO ]
*** Miro si se han transmitido más de 20kb en los últimos 4 segundos, en ese caso muestro notificación, esperamos unos minutos y volvemos al principio para volver a mirar
A4: Si (if) [ %TRAFICO > 20 ]
*** Lo de la notificación es opcional(A5,A6), borro primero por si ya hay una y muestro que hay tráfico activo y cuanto
A5: Cancelar notificación [ Título:Trafico Detectado Atención No existe:Apagado ]
A6: Notificación [ Título:Trafico Detectado Texto:+%TRAFICO Kb. en 4 segundos Icono:hd_av_download Número:0 Permanente:Apagado Prioridad:3 ]
*** Esperamos 4 minutos. Poned al gusto. Cuanto menos tiempo más se sobrecarga el procesador, más veces mira la tarea en descargas grandes.
A7: Esperar [ MS:0 Segundos:0 Minutos:4 Horas:0 Días:0 ]
*** Vuelvo a mirar llendo a la acción 1
A8: Ir a acción [ Tipo:Número Acción Número:1 Etiqueta: ]
A9: Else
A10: Cancelar notificación [ Título:Trafico Detectado Atención No existe:Apagado ]
*** Si no hay tráfico se ejecuta la tarea Tarea Desactivar Datos Wifi, que se supone que entre otras cosas desactiva wifi y datos
A11: Realizar tarea [ Nombre:Tarea Desactivar Datos Wifi Prioridad:%priority Parámetro 1 (%par1): Parámetro 2 (%par2): Devolver Valor de Variable: Detener:Apagado ]
A12: Fin si (End if)
Espero que os sea de utilidad.
__________________
Widget Batería3D - Widget Batería Circular - Widget Reloj Digital - Tema CM Smerald Green - Tema CM Xmerald-Blue
----------------------------------------------------------------------------------------
novomilenio.com - diseño - internet - tiendas online

Última edición por mpiero Día 20/04/15 a las 19:29:34.
Responder Con Cita
Los siguientes 8 usuarios han agradecido a mpiero su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 20/04/15, 21:20:24
Array

[xs_avatar]
sanderqa sanderqa no está en línea
Usuario muy activo
 
Fecha de registro: feb 2012
Localización: Colombia
Mensajes: 1,506
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Muy interesante, puedes exportar las tareas?
Responder Con Cita
  #3  
Viejo 20/04/15, 23:07:00
Array

[xs_avatar]
mlesir mlesir no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Tu operador: Pepephone
Mpiero cuanto tiempo! Me alegro que hayas vuelto por aquí además a lo grande si señor!
Muy muy bueno tu aporte. Muy Util, perfectamente explicado y escrito, en fin que así da gusto. Enhorabuena!
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 21/04/15, 10:25:48
Array

[xs_avatar]
Juanmiwow Juanmiwow no está en línea
Teta-tester oficial
· Votos compra/venta: (1)
 
Fecha de registro: sep 2011
Localización: Madrid
Mensajes: 4,607
Modelo de smartphone: Xiaomi Mi5 / Xiaomi Mi Pad
Tu operador: Vodafone
Muy interesante, sin duda!

Llevaba tiempo pensando en cómo se podría hacer, pero no sabía por donde empezar. Ahora tengo el 99.9% del trabajo hecho, y sólo me queda retocar para lo que exactamente quiero.

Muchas gracias, compañero @mpiero !

Se merece una subida al recopilatorio!
__________________
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 21/04/15, 13:41:43
Array

[xs_avatar]
mpiero mpiero no está en línea
Usuario muy activo
 
Fecha de registro: jun 2010
Localización: Galicia
Mensajes: 814
Modelo de smartphone: Google Pixel 9a
Tu operador: Simyo
 Cita: Originalmente Escrito por sanderqa Ver Mensaje
Muy interesante, puedes exportar las tareas?
No por 2 razones:
1) Porque mis tareas están llenas de otras cosas que yo uso y que no son relevantes para el tuto, y me sería bastante rollo tener que quitarlas para exportar...
2) Y sobre todo porque si no se crean a mano las tareas no se aprende que es de lo que se trata

 Cita: Originalmente Escrito por mlesir Ver Mensaje
Mpiero cuanto tiempo! Me alegro que hayas vuelto por aquí además a lo grande si señor!
Muy muy bueno tu aporte. Muy Util, perfectamente explicado y escrito, en fin que así da gusto. Enhorabuena!
Gracias. En realidad nunca me he ido... Lo que sucede es que a veces hay poco tiempo y simplemente se entra para hechar un vistazo, dar algún gracias y poco más... Otras veces hay más tiempo y apetece colaborar, para que así otros puedan aprender y esperar que el día de mañana esos otros aporten algo de lo cual yo pueda aprender... (, que filosófico ando!!!...)
__________________
Widget Batería3D - Widget Batería Circular - Widget Reloj Digital - Tema CM Smerald Green - Tema CM Xmerald-Blue
----------------------------------------------------------------------------------------
novomilenio.com - diseño - internet - tiendas online
Responder Con Cita
Los siguientes 4 usuarios han agradecido a mpiero su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #6  
Viejo 21/04/15, 18:18:52
Array

[xs_avatar]
sanderqa sanderqa no está en línea
Usuario muy activo
 
Fecha de registro: feb 2012
Localización: Colombia
Mensajes: 1,506
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Llevas razón.
Responder Con Cita
Los siguientes 3 usuarios han agradecido a sanderqa su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #7  
Viejo 19/07/16, 19:14:22
Array

[xs_avatar]
NAZUnlimited NAZUnlimited no está en línea
Miembro del foro
 
Fecha de registro: may 2016
Localización: Ponte da Barca
Mensajes: 483
Modelo de smartphone: Xiaomi Redmi Note 10 Pro
Tu operador: Otra
muy bueno y muy util
Responder Con Cita
Respuesta

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



Hora actual: 21:15:37 (GMT +1)



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

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