|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Ajustar brillo con Tasker según el nivel de luz
Hola amigos taskeririanos!
Aquí os dejo otro reto Perfil: Screen On (53) Priority: 50 Estado: Estado Pantalla [ Está:Si ] Entrada: Screen On (42) A1: Detener Ubicación [ Origen:Cualquiera ] A2: Auto-Sincr. [ Establecer:Apagado ] A3: Rotación de pantalla [ Establecer:Apagado ] A4: Brillo de pantalla [ Nivel:0 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 0 & %LIGHT < 20 ] A5: Brillo de pantalla [ Nivel:75 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 21 & %LIGHT < 95 ] A6: Brillo de pantalla [ Nivel:255 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 96 ] El asunto no es otro que tratar de ahorrar batería, así que he creado este perfil (que no me funciona, por cierto), a ver si alguien puede ayudar. Porque he probado de todas las maneras habidas y por haber, sólo que no he dado con la tecla adecuada. Espero vuestras opiniones!
|
| Gracias de parte de: | ||
|
|
|
#2
|
||||
|
||||
|
Antes te he comentado que estabas intentando que un estado se comportase como un evento.
Cuando el disparador de un perfil es un estado Tasker espera hasta que se cumple la condición definida (pantalla encendida en tu caso). Entonces el contexto se activa y se ejecuta la tarea de entrada. Mientras que el estado no cambie (pantalla apagada en tu caso) ese contexto permanecerá activado (marcado en verde) y Tasker no ejecutará ninguna tarea relacionada con el mismo. Cuando el perfil deje de estar activo (pantalla apagada en tu caso) se ejecutará la tarea de salida. Si lo que pretendes es que el brillo se ajuste al cambiar las condiciones de luz deberías monitorizar los cambios de valor de la variable de Tasker %LIGHT. Eso es un evento, no un estado. Al disparar el perfil con un evento la tarea asociada (que sólo puede ser de entrada) se ejecutará cada vez que se produzca el evento (un cambio de luz en tu caso). |
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
Perfil: Screen On (53)
Priority: 50 Evento: Pantalla encendida Entrada: Screen On (42) A1: Brillo de pantalla [ Nivel:0 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 0 & %LIGHT < 100 ] A2: Brillo de pantalla [ Nivel:75 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 101 & %LIGHT < 474 ] A3: Brillo de pantalla [ Nivel:255 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 475 ] Ahora lo tengo así y va de lujo! Por lo visto, cuando se trata de variables, los valores son otros. Dependerá creo yo del modelo de teléfono o del sensor. Falta ajustarlo un poquito ,pero por lo menos, ya no son 3 perfiles para hacer lo mismo. Cómo lo ves, WillyWeb? |
|
#4
|
||||
|
||||
|
Pero eso no ajusta el brillo de la pantalla si cambian las condiciones de luz estando la pantalla encendida. ¿Es eso lo que querías hacer? |
|
#5
|
||||
|
||||
|
Sí, y me acabo de dar cuenta.... Me tocará volver a los 3 perfiles. Pero ya me voy dando cuenta cómo funciona Tasker. Tú cómo lo harías?
|
|
#6
|
||||
|
||||
|
Lo puedes hace con un sólo perfil, y te he dicho cómo lo haría yo en mi primera respuesta...
Si lo que pretendes es que el brillo se ajuste al cambiar las condiciones de luz deberías monitorizar los cambios de valor de la variable de Tasker %LIGHT. Eso es un evento, no un estado. Al disparar el perfil con un evento la tarea asociada (que sólo puede ser de entrada) se ejecutará cada vez que se produzca el evento (un cambio de luz en tu caso).
![]() |
| Gracias de parte de: | ||
|
#7
|
||||
|
||||
|
Ya está hecho. Lo de la pausa no lo he entendido. Podrías ser un poco más específico? Eres un crack! Estoy aprendiendo mucho y espero dejar de dar la murga pronto!
|
|
#8
|
||||
|
||||
|
Lo de la pausa de tiempo se localiza en: Acción ->tarea->esperar.
__________________
|
| Gracias de parte de: | ||
|
#9
|
||||
|
||||
|
Sin problema...
El evento de ajustar el valor de la variable %LIGHT se está produciendo de forma casi continua (si añades un beep muy corto a la tarea podrás escuchar a qué ritmo cambia la variable). Eso podría ocasionar saltos en los ajustes del brillo si el valor de %LIGHT oscila justo entre los valores que has definido para saltar entre A1/A2/A3. Una forma sencilla de evitar esos cambios rápidos es hacer que la tarea haga una pequeña pausa (2 o 3 segundos) antes de terminar. Tal y como funciona Tasker de forma predeterminada la tarea estará "bloqueda" mientras termina esa pausa y los cambios de %LIGHT que se produzcan no la podrán ejecutará. |
| Gracias de parte de: | ||
|
#10
|
||||
|
||||
|
Perfil: LuxAdjust (53)
Priority: 50 Evento: Establecer variable [ Variable:%LIGHT Valor:* User Variables Only:Apagado ] Entrada: LuxAdjust (42) A1: Brillo de pantalla [ Nivel:0 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 0 & %LIGHT < 80 ] A2: Esperar [ MS:0 Segundos:2 Minutos:0 Horas:0 Días:0 ] A3: Brillo de pantalla [ Nivel:100 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 81 & %LIGHT < 474 ] A4: Esperar [ MS:0 Segundos:2 Minutos:0 Horas:0 Días:0 ] A5: Brillo de pantalla [ Nivel:255 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 475 ] Dejo aquí el perfil para uso y disfrute de los foreros. Lo único que no me cuadra es lo de la pausa, porque sólo pausamos lo inevitable (el cambio), porque lo ideal sería un cambio gradual de luz. Vamos, que no cambiara de golpe. Gracias WillyWeb! ![]()
|
|
#11
|
||||
|
||||
|
Te sobra una de las pausas, y la que dejes la pones al final. Y el motivo de ponerla es evitar que, en una circunstancia muy particular (que la luz oscile justo entre los valores que ocasionan un cambio de brillo), el brillo cambie cada medio segundo.
Me explico... Si la luz oscila entre los valor 75 y 85 el brillo cambiaría de 0 a 100, y esa oscilación se producirá cada medio segundo si no lo remedias de alguna forma. La pausa es la forma más simple (y menos elegante) de remediarlo, aunque seguramente es la que menos batería consume. Si quieres un cambio más gradual, y algo menos sensible a esas oscilaciones, prueba con esto... -Supongamos que quieres establecer 10 saltos de brillo. -Supongamos que los valores de %LIGHT van del 0 al 512 (creo que eso depende de tu sensor de luz). -Sabemos que el brillo va de 0 a 255. %luz = floor ( %LIGHT / 51.2 ) %brillo = %luz * 25.5 Usa %brillo en un acción "Brillo de pantalla" y tendrás un ajuste de diez niveles directamente proporcional a la luz ambiente. |
| Gracias de parte de: | ||
|
#12
|
||||
|
||||
|
Después de tirarme media noche intentando hacer lo que propones, desisto. Sé que hay que establecer variables, pero no me sale. No hace falta que me lo des masticadito (porque si no, no aprendo), pero sí,que me dejes más miguitas de pan.
Saludos!
|
| Gracias de parte de: | ||
|
#13
|
||||
|
||||
|
Willy te lo ha dado casi hecho, con los nombres de las variables y con las fórmulas. Solo hay que adaptarlo a la sintaxis de Tasker. Son dos acciones, espero que puedas entenderlas así:
Establecer variable %luz a floor (%LIGHT/51.2) , matemáticas activadas. Establecer variable %brillo a %luz*25.5 , matemáticas activadas. Eso son unas miguitas, pero si necesitas más pues lo dices. |
|
#14
|
||||
|
||||
|
Perfil: LuxAdjust (53)
Priority: 50 Evento: Establecer variable [ Variable:%LIGHT Valor:* User Variables Only:Apagado ] Entrada: LuxAdjust (42) A1: Brillo de pantalla [ Nivel:0 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 0 & %LIGHT < 70 ] A2: Brillo de pantalla [ Nivel:100 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 71 & %LIGHT < 474 ] A3: Brillo de pantalla [ Nivel:255 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 475 ] A4: Establecer variable [ Nombre:%luz A:floor (LIGHT / 51.2) Calcular:Encendido Añadir:Apagado ] A5: Establecer variable [ Nombre:%brillo A:%luz*25.5 Calcular:Encendido Añadir:Apagado ] Bueno, aquí lo dejo. Veo que me queda mucho camino por recorrer. Iré probando a ver cómo va! ![]() Edito: me da error la primera acción. A ver si descubro el problema. Perfil: LuxAdjust (53) Priority: 50 Evento: Establecer variable [ Variable:%LIGHT Valor:* User Variables Only:Apagado ] Entrada: LuxAdjust (42) A1: Brillo de pantalla [ Nivel:0 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 0 & %LIGHT < 70 ] A2: Brillo de pantalla [ Nivel:100 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 71 & %LIGHT < 474 ] A3: Brillo de pantalla [ Nivel:255 Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Efecto inmediato:Apagado ] Si (if) [ %LIGHT > 475 ] A4: Establecer variable [ Nombre:%luz A:floor (LIGHT / 51.2) Calcular:Encendido Añadir:Apagado ] A5: Establecer variable [ Nombre:%brillo A:%luz*25.5 Calcular:Encendido Añadir:Apagado ] Última edición por Mitrhandir Día 27/01/16 a las 15:03:17. |
|
#15
|
||||
|
||||
|
Yo lo haría así:
Perfil: LuxAdjust Contexto de estado, pantalla encendida (estado pantalla sí) Contexto de hora, desde (desmarcar, medianoche) hasta (desmarcar, medianoche), repetir cada 2 minutos. Entrada: LuxAdjust (42) A1: Establecer variable %luz a floor (%LIGHT/51.2) , matemáticas activadas. A2: Establecer variable %brillo a %luz*25.5 , matemáticas activadas. A3: Brillo de pantalla [ Nivel:%brillo Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido Eso es todo, y supongo que debería funcionar. Siempre que tengas la pantalla encendida, cada dos minutos te hará el juste de brillo según la luz ambiental. En la configuración de la acción A3, para poner la variable %brillo debes (primero) hacer clic en el icono de las dos flechas que se entrecruzan (arriba a la derecha), y luego puedes escribir la variable o bien elegirla de la lista que se abre al tocar en el icono de la etiqueta (arriba). Detalle: en el contexto de hora/tiempo es imposible poner una frecuencia mayor que 2 minutos (no es posible poner que se repita cada 1 minuto, ni cada x segundos). Ya nos dirás si funciona. |
|
#16
|
||||
|
||||
|
Otra opción mejor:
Perfil: LuxAdjust Contexto de estado, pantalla encendida (estado pantalla sí) Entrada: LuxAdjust (42) A1: Establecer variable %luz a floor (%LIGHT/51.2) , matemáticas activadas. A2: Establecer variable %brillo a %luz*25.5 , matemáticas activadas. A3: Brillo de pantalla [ Nivel:%brillo Deshabilitar 'Safeguard':Encendido Ignorar nivel actual:Encendido A4: Esperar 15 segundos. A5: Ir a acción 1, si %SCREEN ~ on Con este planteamiento nos aseguramos de que el brillo se ajuste en el momento de encender la pantalla. Luego (A4) la tarea espera 15 segundos y tras eso (A5) la tarea vuelve a comenzar desde la acción 1, siempre que la pantalla permanezca encendida. Con esto nos aseguramos de que el brillo se reajuste cada 15 segundos, y que la tarea finalice cuando la pantalla deje de estar encendida. Porsupuesto, se puede cambiar el tiempo de 15 segundos a lo que se estime oportuno. Repito: En la configuración de la acción A3, para poner la variable %brillo debes (primero) hacer clic en el icono de las dos flechas que se entrecruzan (arriba a la derecha), y luego puedes escribir la variable o bien elegirla de la lista que se abre al tocar en el icono de la etiqueta (arriba). |
|
#17
|
||||
|
||||
|
Hola Caravantes! He hecho tu perfil, y, a falta de probar, pinta bien. Me está volviendo loco el tema de las variables. Ha llegado la hora de frenar en seco y repasar todo lo que he aprendido hasta ahora. Me parece complicadísimo. Vosotros sois informáticos no?
![]() Luego comento impresiones! |
|
#18
|
||||
|
||||
|
Por lo que veo Caravantes no te ha dado unas migas, te ha dado la barra de pan y algo para untar
|
|
#19
|
||||
|
||||
|
Jajaja! Es cierto, pero tu perfil me gusta más WillyWeb. Estoy ajustando valores, pero pinta bien. Os agradezco todas las molestias que os habéis tomado conmigo! Iré aportando ideas!
|
|
|
|
#20
|
||||
|
||||
|
El perfil es tuyo, yo sólo te he dado pequeñas indicaciones, o migas si lo prefieres.
![]() Y te gusta más porque entiendes el funcionamiento, y tú necesitas entenderlo. Si %LIGHT vale tanto pongo el brillo a tanto. Si vale cuanto pongo el brillo a cuanto. Eso es fácil de ver. Lo de las fórmulas que te he propuesto después, y que tan detalladamente te ha explicado Caravantes, es infinitamente mejor, usa variables (tu tarea pendiente), cuidadoso con la batería, hace ajustes de brillo tan graduales y rápidos como quieras, y se puede implementar con un perfil y una tarea de tres acciones ... es oro puro colega
|
![]() |
Estás aquí
|
||||||
|
||||||