malkair
19/09/13, 11:20:28
Hola a tod@s. Estoy probando unos perfiles que he copiado de algún sitio por ahí y que he estado adaptando y corrigiendo un poco. Felicito al autor de estos perfiles y si encuentro la fuente la añadiré aquí.
Consiste en un widget que te indica en cuasi-tiempo real el consumo de batería por hora de uso, el tiempo estimado que te resta de batería y el consumo desde la última puesta a cero de los datos. Esa puesta a cero es automática (cada vez que el teléfono es puesto a cargar o es quitado de la carga) y también puede ser manual.
El widget lo he creado con Minimalistic Text, aunque seguramente se pueda hacer con alguna otra app que muestre texto y variables de Tasker.
Consta de CINCO perfiles y una tarea independiente que seguidamente transcribo y comento:
Tarea: Resetear los datos de la batería
Esta tarea pone a cero las variables y datos. La utilizaremos tanto automática como manualmente. En el widget se mostrará "CALIBRATING" para que no quede feo mientras no tiene datos que mostrar.
MinMalTxt BattReset (185)
A1: Flash [ Texto:Resetting battery stats Largo:Apagado ]
A2: Limpiar variable [ Nombre:%BATTSTART Coincidencia de Patrón:Apagado ]
A3: Limpiar variable [ Nombre:%TIMESTART Coincidencia de Patrón:Apagado ]
A4: Establecer variable [ Nombre:%BATTSTART A:%BATT Calcular:Apagado Añadir:Apagado ]
A5: Establecer variable [ Nombre:%TIMESTART A:%TIMES Calcular:Apagado Añadir:Apagado ]
A6: Minimalistic Text [ Configuración:%BATTDRAIN = Calibrating Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A7: Minimalistic Text [ Configuración:%BATTLEFT = Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A8: Minimalistic Text [ Configuración:%TIMEBATT = Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
Primer perfil: Resetea los datos de batería en el arranque del teléfono
Simplemente, ejecuta la tarea antes creada para poner a cero los datos.
Perfil: MinMalTxt OnBoot(173)
Evento: Reinicio del dispositivo
Entrada: MinMalTxt BattReset (185)
Segundo perfil: Resetea los datos de batería al ser puesto en carga o al ser quitado de la carga
Tiene una tarea de entrada (al ponerse en carga) y otra de salida (al quitarse de la carga), pero es la misma tarea antes creada: La puesta a cero de los datos.
Perfil: MinMalTxt PluggedIn (175)
Estado: Cargando [ Origen:Cualquiera ]
Entrada: MinMalTxt BattReset (185)
Salida: MinMalTxt BattReset (185)
Tercer perfil: Cálculo de batería mientras está en carga
Estando en carga, comprueba si ha habido variación en el nivel de batería. Si no la ha habido, pasa de todo; si la ha habido, calcula la batería que había antes y en qué momento y la que hay ahora y en qué momento (%TIMES), obteniendo el incremento de batería en ese intervalo de tiempo. Luego extrapolamos ese incremento a incremento/hora y finalmente calculamos cuánto % de batería falta para llegar a 100 y cuánto tiempo nos quedaría para llegar a 100 en función del incremento/hora antes calculado. Todo ello usando horas:minutos.
Perfil: MinMalTxt BattCharging (178)
Evento: Variación batería
Estado: Cargando [ Origen:Cualquiera ]
Entrada: Anon (179)
A1: Si (if) [ %BATT !~ %BATTPREV ]
A2: Establecer variable [ Nombre:%BATTUSED A:(%BATT - %BATTSTART) Calcular:Encendido Añadir:Apagado ]
A3: Establecer variable [ Nombre:%TIMEBATT A:(%TIMES - %TIMESTART)/3600 Calcular:Encendido Añadir:Apagado ]
A4: Sección de Variable [ Nombre:%TIMEBATT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A5: Separar variable [ Nombre:%TIMEBATT Separador:. Eliminar base:Apagado ]
A6: Establecer variable [ Nombre:%minutostimebatt A:60*(%TIMEBATT2/100) Calcular:Encendido Añadir:Apagado ]
A7: Establecer variable [ Nombre:%minutostimebatt A:0%minutostimebatt Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutostimebatt < 10 ]
A8: Sección de Variable [ Nombre:%minutostimebatt Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A9: Establecer variable [ Nombre:%BATTDRAIN A:%BATTUSED/%TIMEBATT Calcular:Encendido Añadir:Apagado ]
A10: Sección de Variable [ Nombre:%BATTDRAIN Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A11: Establecer variable [ Nombre:%BATTLEFT A:(100-%BATT)/%BATTDRAIN Calcular:Encendido Añadir:Apagado ]
A12: Sección de Variable [ Nombre:%BATTLEFT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A13: Separar variable [ Nombre:%BATTLEFT Separador:. Eliminar base:Apagado ]
A14: Establecer variable [ Nombre:%minutosbattleft A:60*(%BATTLEFT2/100) Calcular:Encendido Añadir:Apagado ]
A15: Establecer variable [ Nombre:%minutosbattleft A:0%minutosbattleft Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutosbattleft < 10 ]
A16: Sección de Variable [ Nombre:%minutosbattleft Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A17: Minimalistic Text [ Configuración:%BATTLEFT = Full in: %BATTLEFT1:%minutosbattleft hrs Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A18: Minimalistic Text [ Configuración:%BATTDRAIN = +%BATTDRAIN% /hr Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A19: Minimalistic Text [ Configuración:%TIMEBATT = +%BATTUSED% in %TIMEBATT1:%minutostimebatt Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A20: Fin si (End if)
A21: Establecer variable [ Nombre:%BATTPREV A:%BATT Calcular:Apagado Añadir:Apagado ]
Cuarto perfil: Cálculo de batería mientras NO está en carga
Al igual que el anterior, si ha habido variación en el nivel de batería. Si no la ha habido, pasa de todo; si la ha habido, calcula la batería que había antes y en qué momento y la que hay ahora y en qué momento, obteniendo el gasto de batería en ese intervalo de tiempo. Luego extrapolamos ese gasto a consumo/hora y finalmente calculamos cuánta batería nos queda y cuánto tiempo nos quedaría para agotarla dado el consumo/hora. Todo ello usando horas:minutos.
Perfil: MinMalTxt BattDraining (180)
Evento: Variación batería
Estado: No Cargando [ Origen:Cualquiera ]
Entrada: Anon (181)
A1: Si (if) [ %BATT !~ %BATTPREV ]
A2: Establecer variable [ Nombre:%BATTUSED A:%BATT - %BATTSTART Calcular:Encendido Añadir:Apagado ]
A3: Establecer variable [ Nombre:%TIMEBATT A:(%TIMES - %TIMESTART)/3600 Calcular:Encendido Añadir:Apagado ]
A4: Sección de Variable [ Nombre:%TIMEBATT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A5: Separar variable [ Nombre:%TIMEBATT Separador:. Eliminar base:Apagado ]
A6: Establecer variable [ Nombre:%minutostimebatt A:60*(%TIMEBATT2/100) Calcular:Encendido Añadir:Apagado ]
A7: Establecer variable [ Nombre:%minutostimebatt A:0%minutostimebatt Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutostimebatt < 10 ]
A8: Sección de Variable [ Nombre:%minutostimebatt Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A9: Establecer variable [ Nombre:%BATTDRAIN A:(%BATTUSED/%TIMEBATT)*-1 Calcular:Encendido Añadir:Apagado ]
A10: Sección de Variable [ Nombre:%BATTDRAIN Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A11: Establecer variable [ Nombre:%BATTLEFT A:%BATT/%BATTDRAIN Calcular:Encendido Añadir:Apagado ]
A12: Sección de Variable [ Nombre:%BATTLEFT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A13: Separar variable [ Nombre:%BATTLEFT Separador:. Eliminar base:Apagado ]
A14: Establecer variable [ Nombre:%minutosbattleft A:60*(%BATTLEFT2/100) Calcular:Encendido Añadir:Apagado ]
A15: Establecer variable [ Nombre:%minutosbattleft A:0%minutosbattleft Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutosbattleft < 10 ]
A16: Sección de Variable [ Nombre:%minutosbattleft Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A17: Minimalistic Text [ Configuración:%BATTLEFT = Left: %BATTLEFT1:%minutosbattleft hrs Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A18: Minimalistic Text [ Configuración:%BATTDRAIN = -%BATTDRAIN% /hr Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A19: Minimalistic Text [ Configuración:%TIMEBATT = %BATTUSED% in %TIMEBATT1:%minutostimebatt Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A20: Fin si (End if)
A21: Establecer variable [ Nombre:%BATTPREV A:%BATT Calcular:Apagado Añadir:Apagado ]
Quinto perfil (opcional): Totalmente cargado
Cuando el teléfono está al 100% de batería y sigue en carga, simplemente no es necesario que muestre el tiempo que falta para llegar al 100%, porque YA está al 100%. Simplemente hago que esa variable muestre que ya está la batería totalmente cargada y a qué hora se llegó al 100% de carga. Las otras variables no las toco, así que seguirán mostrando el % de carga por hora (hasta que llegó al 100%) y el % total que se cargó y en qué tiempo.
Perfil: MinMalTxt Charged100 (186)
Estado: Nivel de batería [ Desde:100 A:100 ]
Estado: Cargando [ Origen:Cualquiera ]
Entrada: Anon (187)
A1: Establecer variable [ Nombre:%horafull A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Minimalistic Text [ Configuración:%BATTLEFT = Full (%horafull) Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
Ya tenemos todo creado. A continuación creamos un widget con Minimalistic Text, con tres filas (se pueden poner más, a gusto del consumidor):
1ª Fila: Otros-Variable local: %BATTDRAIN
2ª Fila: Otros-Variable local: %BATTLEFT
3ª Fila: Otros-Variable local: %TIMEBATT
Y tendremos un flamante widget que luce así:
http://i43.tinypic.com/n6opdk.jpg
Finalmente, decir que cuando se está "calibrando" el consumo, puede tardar algunos minutos en mostrar los datos. No sé muy bien por qué, pero a veces me ha tardado hasta 5 minutos en salir del "Calibrating".
Si véis algún error o algo que se pueda mejorar, por favor, comentad. Debo confesar que he hecho algún cambio mientras escribía este post, aunque en principio no debería ser importante.
EDITO para poner la fuente e identificar al autor original:
http://forum.xda-developers.com/showthread.php?t=1523053 (autor: cazwell220)
Consiste en un widget que te indica en cuasi-tiempo real el consumo de batería por hora de uso, el tiempo estimado que te resta de batería y el consumo desde la última puesta a cero de los datos. Esa puesta a cero es automática (cada vez que el teléfono es puesto a cargar o es quitado de la carga) y también puede ser manual.
El widget lo he creado con Minimalistic Text, aunque seguramente se pueda hacer con alguna otra app que muestre texto y variables de Tasker.
Consta de CINCO perfiles y una tarea independiente que seguidamente transcribo y comento:
Tarea: Resetear los datos de la batería
Esta tarea pone a cero las variables y datos. La utilizaremos tanto automática como manualmente. En el widget se mostrará "CALIBRATING" para que no quede feo mientras no tiene datos que mostrar.
MinMalTxt BattReset (185)
A1: Flash [ Texto:Resetting battery stats Largo:Apagado ]
A2: Limpiar variable [ Nombre:%BATTSTART Coincidencia de Patrón:Apagado ]
A3: Limpiar variable [ Nombre:%TIMESTART Coincidencia de Patrón:Apagado ]
A4: Establecer variable [ Nombre:%BATTSTART A:%BATT Calcular:Apagado Añadir:Apagado ]
A5: Establecer variable [ Nombre:%TIMESTART A:%TIMES Calcular:Apagado Añadir:Apagado ]
A6: Minimalistic Text [ Configuración:%BATTDRAIN = Calibrating Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A7: Minimalistic Text [ Configuración:%BATTLEFT = Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A8: Minimalistic Text [ Configuración:%TIMEBATT = Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
Primer perfil: Resetea los datos de batería en el arranque del teléfono
Simplemente, ejecuta la tarea antes creada para poner a cero los datos.
Perfil: MinMalTxt OnBoot(173)
Evento: Reinicio del dispositivo
Entrada: MinMalTxt BattReset (185)
Segundo perfil: Resetea los datos de batería al ser puesto en carga o al ser quitado de la carga
Tiene una tarea de entrada (al ponerse en carga) y otra de salida (al quitarse de la carga), pero es la misma tarea antes creada: La puesta a cero de los datos.
Perfil: MinMalTxt PluggedIn (175)
Estado: Cargando [ Origen:Cualquiera ]
Entrada: MinMalTxt BattReset (185)
Salida: MinMalTxt BattReset (185)
Tercer perfil: Cálculo de batería mientras está en carga
Estando en carga, comprueba si ha habido variación en el nivel de batería. Si no la ha habido, pasa de todo; si la ha habido, calcula la batería que había antes y en qué momento y la que hay ahora y en qué momento (%TIMES), obteniendo el incremento de batería en ese intervalo de tiempo. Luego extrapolamos ese incremento a incremento/hora y finalmente calculamos cuánto % de batería falta para llegar a 100 y cuánto tiempo nos quedaría para llegar a 100 en función del incremento/hora antes calculado. Todo ello usando horas:minutos.
Perfil: MinMalTxt BattCharging (178)
Evento: Variación batería
Estado: Cargando [ Origen:Cualquiera ]
Entrada: Anon (179)
A1: Si (if) [ %BATT !~ %BATTPREV ]
A2: Establecer variable [ Nombre:%BATTUSED A:(%BATT - %BATTSTART) Calcular:Encendido Añadir:Apagado ]
A3: Establecer variable [ Nombre:%TIMEBATT A:(%TIMES - %TIMESTART)/3600 Calcular:Encendido Añadir:Apagado ]
A4: Sección de Variable [ Nombre:%TIMEBATT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A5: Separar variable [ Nombre:%TIMEBATT Separador:. Eliminar base:Apagado ]
A6: Establecer variable [ Nombre:%minutostimebatt A:60*(%TIMEBATT2/100) Calcular:Encendido Añadir:Apagado ]
A7: Establecer variable [ Nombre:%minutostimebatt A:0%minutostimebatt Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutostimebatt < 10 ]
A8: Sección de Variable [ Nombre:%minutostimebatt Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A9: Establecer variable [ Nombre:%BATTDRAIN A:%BATTUSED/%TIMEBATT Calcular:Encendido Añadir:Apagado ]
A10: Sección de Variable [ Nombre:%BATTDRAIN Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A11: Establecer variable [ Nombre:%BATTLEFT A:(100-%BATT)/%BATTDRAIN Calcular:Encendido Añadir:Apagado ]
A12: Sección de Variable [ Nombre:%BATTLEFT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A13: Separar variable [ Nombre:%BATTLEFT Separador:. Eliminar base:Apagado ]
A14: Establecer variable [ Nombre:%minutosbattleft A:60*(%BATTLEFT2/100) Calcular:Encendido Añadir:Apagado ]
A15: Establecer variable [ Nombre:%minutosbattleft A:0%minutosbattleft Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutosbattleft < 10 ]
A16: Sección de Variable [ Nombre:%minutosbattleft Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A17: Minimalistic Text [ Configuración:%BATTLEFT = Full in: %BATTLEFT1:%minutosbattleft hrs Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A18: Minimalistic Text [ Configuración:%BATTDRAIN = +%BATTDRAIN% /hr Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A19: Minimalistic Text [ Configuración:%TIMEBATT = +%BATTUSED% in %TIMEBATT1:%minutostimebatt Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A20: Fin si (End if)
A21: Establecer variable [ Nombre:%BATTPREV A:%BATT Calcular:Apagado Añadir:Apagado ]
Cuarto perfil: Cálculo de batería mientras NO está en carga
Al igual que el anterior, si ha habido variación en el nivel de batería. Si no la ha habido, pasa de todo; si la ha habido, calcula la batería que había antes y en qué momento y la que hay ahora y en qué momento, obteniendo el gasto de batería en ese intervalo de tiempo. Luego extrapolamos ese gasto a consumo/hora y finalmente calculamos cuánta batería nos queda y cuánto tiempo nos quedaría para agotarla dado el consumo/hora. Todo ello usando horas:minutos.
Perfil: MinMalTxt BattDraining (180)
Evento: Variación batería
Estado: No Cargando [ Origen:Cualquiera ]
Entrada: Anon (181)
A1: Si (if) [ %BATT !~ %BATTPREV ]
A2: Establecer variable [ Nombre:%BATTUSED A:%BATT - %BATTSTART Calcular:Encendido Añadir:Apagado ]
A3: Establecer variable [ Nombre:%TIMEBATT A:(%TIMES - %TIMESTART)/3600 Calcular:Encendido Añadir:Apagado ]
A4: Sección de Variable [ Nombre:%TIMEBATT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A5: Separar variable [ Nombre:%TIMEBATT Separador:. Eliminar base:Apagado ]
A6: Establecer variable [ Nombre:%minutostimebatt A:60*(%TIMEBATT2/100) Calcular:Encendido Añadir:Apagado ]
A7: Establecer variable [ Nombre:%minutostimebatt A:0%minutostimebatt Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutostimebatt < 10 ]
A8: Sección de Variable [ Nombre:%minutostimebatt Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A9: Establecer variable [ Nombre:%BATTDRAIN A:(%BATTUSED/%TIMEBATT)*-1 Calcular:Encendido Añadir:Apagado ]
A10: Sección de Variable [ Nombre:%BATTDRAIN Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A11: Establecer variable [ Nombre:%BATTLEFT A:%BATT/%BATTDRAIN Calcular:Encendido Añadir:Apagado ]
A12: Sección de Variable [ Nombre:%BATTLEFT Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ]
A13: Separar variable [ Nombre:%BATTLEFT Separador:. Eliminar base:Apagado ]
A14: Establecer variable [ Nombre:%minutosbattleft A:60*(%BATTLEFT2/100) Calcular:Encendido Añadir:Apagado ]
A15: Establecer variable [ Nombre:%minutosbattleft A:0%minutosbattleft Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutosbattleft < 10 ]
A16: Sección de Variable [ Nombre:%minutosbattleft Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ]
A17: Minimalistic Text [ Configuración:%BATTLEFT = Left: %BATTLEFT1:%minutosbattleft hrs Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A18: Minimalistic Text [ Configuración:%BATTDRAIN = -%BATTDRAIN% /hr Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A19: Minimalistic Text [ Configuración:%TIMEBATT = %BATTUSED% in %TIMEBATT1:%minutostimebatt Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
A20: Fin si (End if)
A21: Establecer variable [ Nombre:%BATTPREV A:%BATT Calcular:Apagado Añadir:Apagado ]
Quinto perfil (opcional): Totalmente cargado
Cuando el teléfono está al 100% de batería y sigue en carga, simplemente no es necesario que muestre el tiempo que falta para llegar al 100%, porque YA está al 100%. Simplemente hago que esa variable muestre que ya está la batería totalmente cargada y a qué hora se llegó al 100% de carga. Las otras variables no las toco, así que seguirán mostrando el % de carga por hora (hasta que llegó al 100%) y el % total que se cargó y en qué tiempo.
Perfil: MinMalTxt Charged100 (186)
Estado: Nivel de batería [ Desde:100 A:100 ]
Estado: Cargando [ Origen:Cualquiera ]
Entrada: Anon (187)
A1: Establecer variable [ Nombre:%horafull A:%TIME Calcular:Apagado Añadir:Apagado ]
A2: Minimalistic Text [ Configuración:%BATTLEFT = Full (%horafull) Paquete:de.devmil.minimaltext Nombre:Minimalistic Text ]
Ya tenemos todo creado. A continuación creamos un widget con Minimalistic Text, con tres filas (se pueden poner más, a gusto del consumidor):
1ª Fila: Otros-Variable local: %BATTDRAIN
2ª Fila: Otros-Variable local: %BATTLEFT
3ª Fila: Otros-Variable local: %TIMEBATT
Y tendremos un flamante widget que luce así:
http://i43.tinypic.com/n6opdk.jpg
Finalmente, decir que cuando se está "calibrando" el consumo, puede tardar algunos minutos en mostrar los datos. No sé muy bien por qué, pero a veces me ha tardado hasta 5 minutos en salir del "Calibrating".
Si véis algún error o algo que se pueda mejorar, por favor, comentad. Debo confesar que he hecho algún cambio mientras escribía este post, aunque en principio no debería ser importante.
EDITO para poner la fuente e identificar al autor original:
http://forum.xda-developers.com/showthread.php?t=1523053 (autor: cazwell220)