![]() |
|
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Brillo automático
Buenas, estoy ya un poco harto (como pasa con muchos dispositivos) del brillo automático de mi móvil. En situaciones de luz normal (al menos para mí) se reduce el brillo muchísimo. Total, que he decidido crear el brillo automático más simple del mundo.
Obviamente tengo desactivado el brillo automático para este perfil, quede claro. He estado buscando por el foro (igual no lo he hecho bien del todo) y es que algo que creo debe ser sencillo no funciona correctamente. Lo siento muchísimo, pero no logro a estas alturas después de mucho tiempo en el foro saber cómo se ponen las etiquetas CODE. Al crear un nuevo tema... "Modo avanzado"?? Eso es solo posible una vez creado el tema y publicado, no? Y seleccionar el perfil y pulsar # arriba donde está Tipos de letra, las negritas, cursivas, etc... Tampoco l veo. Lo siento. Este es el perfil: Buenas, estoy ya un poco harto (como pasa con muchos dispositivos) del brillo automático de mi móvil. En situaciones de luz normal (al menos para mí) se reduce el brillo muchísimo. Total, que he decidido crear el brillo automático más simple del mundo. Obviamente tengo desactivado el brillo automático para este perfil, quede claro. He estado buscando por el foro (igual no lo he hecho bien del todo) y es que algo que creo debe ser sencillo no funciona correctamente. El perfil es el siguiente (espero que lo de la etiqueta CODE sepa ya de una vez hacerlo bien, ojú): Código:
Perfil: Brillo Automático Estado: Estado de Pantalla [ Está:Encendido ] Entrada Tarea: Brillo Automático A1: Si (if) [ %LIGHT < 85 ] A2: Brillo de Pantalla [ Nivel: 140 Ignorar Nivel Actual: Encendido ] A3: En Otro Caso (else) A4: Brillo de Pantalla [ Nivel: 255 Ignorar Nivel Actual: Encendido ] A5: Fin Si (end if) He probado tareas de de entrada y salida. Contexto de estado y eventos. Prioridades. Colisiones de tareas. Restaurar ajuste en el perfil. La tarea sin if/end (solo dos acciones según luz ambiental)... Na. Al regresar a condiciones de luz ambiental menor y encender la pantalla, para regresar el brillo a 140 debo encender la pantalla dos o tres veces. Insisto, perdón por lo de la etiqueta CODE. Que torpe... Si no se entiende el perfil, lo explico, aunque sea eso. ¿? P.D.: Perdón... FELIZ NAVIDAD!! ![]() Última edición por emiegna Día 21/01/23 a las 13:45:03 |
|
#2
|
Bien, creo tenerlo resuelto gracias a un tema planteado sobre el tema aquí en el foro y con la ayuda imprescindible de WillyWeb y Caravantes.
Tema: "Ajustar brillo con Tasker según el nivel de luz" El perfil debe estar realizado con un contexto de evento, no de estado. Las pruebas realizadas hasta ahora cubren lo que pretendía. Creo que es correcto y mi móvil no se vuelve "loco". Lo doy como resuelto, pero abierto a sugerencias. Eso siempre. Eso sí... ¿Por qué ha de hacer uso el perfil de la ubicación momentáneamente? ¿Me va a afectar al consumo de batería? El perfil es el siguiente (Sigo sin saber lo de las etiquetas): Código:
Perfil: Brillo Automático Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: Brillo Automático A1: Brillo de Pantalla [ Nivel: 140 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT < 85 ] A2: Brillo de Pantalla [ Nivel: 255 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 85 ] Última edición por emiegna Día 27/12/22 a las 15:30:00 |
#3
|
||
Muy buenas
![]() Cita:
[CODE+] y aquí es donde pones el código de tu proyecto [/CODE+] *Quitando esos signos + que he añadido. Cita:
Ajustar brillo con Tasker según el nivel de luz Veo que has tirado por la versión más simple (usar IF) con solo dos ajustes de brillo. Me queda la duda de si con eso te vale o si te has conformado con eso para no tener que ajustar la otra versión a tu requisito de "no quiero nunca menos de 140". ¿Te atreves con ello? Aunque sea solo por deporte. ![]() ++EDITO++ Antes se me ha pasado preguntarte algo. ![]() En la segunda tarea que has puesto (la buena) ¿qué pasa si el valor de %LIGHT salta de 50 a 85? ![]() Última edición por WillyWeb Día 27/12/22 a las 11:53:50 |
#4
|
Hey!!
Efectivamente, WillyWeb. No quiero nunca menos de 140. Ahora bien, mi duda, si pongo varios saltos de 140 a 255 (más facilito no puede ser jajajaja) con varios if %LIGHT > lo que sea & if % LIGHT < lo que sea, ¿Qué gano con eso? Por un lado es cierto que no tendré tanto brillo innecesario en situaciones superiores al % LIGHT que tengo ahora en ambos casos (que por cierto tengo ya graduado a 180 y comprobado en varios sitios). No sería quizás necesario llegar a un brillo de 255. Imagino que vas por ahí. Pero por otro lado el consumo de batería creo que sería superior, ya no por tener un brillo máximo cuando supere los 180, sino porque el ajuste del brillo estaría más a menudo moviéndose. No sé qué es peor, vamos. Y la verdad, en mi móvil menos de 140 lo noto "oscurillo" ya. Y entre 140 y 255 se nota la diferencia, pero tampoco es que sea un foco que deslumbre cuando llega el brillo a 255... Simplemente con 255 me facilita la lectura en exteriores. No te entendí qué ocurriría si el valor de %LIGHT salta de 50 a 85, si ambos %LIGHT los tengo en 85 (ahora en 180). ... pero habla, habla... jajaja �� Por cierto, vamos a probar las etiquetas CODE con tu propuesta. Igual me sale un churro porque no sé si debe ir con espacio, con relación al código de mi proyecto, o junto. Vamos a tentar a "mi sentido común". Es decir, junto. Sino no va a hacer na, digo yo jajaja. (Sin los signos +, dijiste)... Ojú, lo mío ya creo que va siendo deterioro cognitivo. Código:
Perfil: Brillo Automático Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: Brillo Automático A1: Brillo de Pantalla [ Nivel: 140 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT < 180 ] A2: Brillo de Pantalla [ Nivel: 255 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 180 ] Última edición por emiegna Día 27/12/22 a las 14:04:19 |
#5
|
Estoy en el campo. Salgo y entro en la casa... Que locura. Esto se vuelve loco jajaja. Estoy sentado en la casa, con buena luz, salgo fuera (con buena luz, pero no directa) y me obliga a valores entre 2000, 3000 o 4000. Yo que sé ya, ofú.
Me he descargado la app Lux Meter, pero esto no hay quien lo "programe" bien jajajaja. Y ya esta tontería que he hecho prácticamente ni funciona. Pasa de 140 a 255 y casi nunca se para por el medio jajaja. Código:
Perfil: Brillo Automático Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: Brillo Automático A1: Brillo de Pantalla [ Nivel: 140 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT < 2500 ] A2: Brillo de Pantalla [ Nivel: 160 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2500 & %LIGHT < 2600 ] A3: Brillo de Pantalla [ Nivel: 180 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2600 & %LIGHT < 2700 ] A4: Brillo de Pantalla [ Nivel: 200 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2700 & %LIGHT < 2800 ] A5: Brillo de Pantalla [ Nivel: 220 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2800 & %LIGHT < 2900 ] A6: Brillo de Pantalla [ Nivel: 240 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2900 & %LIGHT < 3000 ] A7: Brillo de Pantalla [ Nivel: 255 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 3000 ] |
#6
|
||||
Vamos poco a poco empezando por lo fácil.
![]() Cita:
![]() Cita:
En esta tarea en concreto no creo que tenga mucho impacto, pero es interesante que te des cuenta del potencial problema que puedes tener. Dale una pensada. ![]() Cita:
Cita:
Añade una acción Bip al principio de la tarea. Deja la frecuencia en 8000 y pon la duración en 50 (lo tendrás que poner a mano pulsando en las dos flechas cruzadas). Guarda todo y prueba con distintas iluminaciones, en la calle, tampando el sensor... cada pitido es una vez que se ajusta el brillo, aunque sea para dejarlo como estaba. El consumo más alto, con mucho diferencia, lo ocasiona la pantalla. Precisamente se incluye un control de brillo automático para minimizar ese consumo todo lo posible. El consumo de Tasker, si está funcionando adecuadamente, es casi despreciable. Casi todos los sensores de luz se comportan así. Tal vez sería interesanbte saber entre qué valores se mueve tu sensor de luz y qué valores "reales" acepta el ajuste de brillo ¿Has probado a meter en la acción un valor mayor de 255 (igual lo tienes que poner a mano)? ¿Has puesto el brillo al máximo usando el ajuste del teléfono y luego has mirado el valor de %BRIGHT? |
#7
|
Bien... Al lío.
Entiendo que en el ejemplo de >1000 y <1000 no se da ninguno, obviamente. Pero mi caso no es ese, no? Por ejemplo, >3000 & >2900. Eso incluye 98 números enteros (2901, 2902... 2999) Efectivamente pienso que a mayor número de if %LIGHT el ajuste será más preciso. ¿No es así? Yo lo entiendo así de entrada. Un punto pa ti... La prueba de la acción con un bip al principio de la tarea lo deja bien claro. Si te refieres a poner un nivel superior a 255, lo he probado y no se aprecia diferencia. Por ejemplo, lo puedo poner en 300, 400, 750... y no se nota mayor brillo que con 255. El valor de %BRIGHT con la barra de brillo del sistema al máximo es 255. A ver, a ver, a ver... Entiendo mejor esto así. Es cierto. Con relación a los if: Código:
Perfil: Brillo Automático Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: Brillo Automático A1: Brillo de Pantalla [ Nivel: 140 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT < 2500 ] A2: Brillo de Pantalla [ Nivel: 160 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2501 & %LIGHT < 2600 ] A3: Brillo de Pantalla [ Nivel: 180 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2601 & %LIGHT < 2700 ] A4: Brillo de Pantalla [ Nivel: 200 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2701 & %LIGHT < 2800 ] A5: Brillo de Pantalla [ Nivel: 220 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2801 & %LIGHT < 2900 ] A6: Brillo de Pantalla [ Nivel: 240 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 2901 & %LIGHT < 3000 ] A7: Brillo de Pantalla [ Nivel: 255 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 3001 ] 1. La espera de 2 o 3 segundos al final. No para de aparecer cada dos por tres el icono de la alarma en mi barra de estado y Tasker me informa de manejo de colisiones. Pero entiendo muy bien lo de la espera... Una pena que pase eso. No lo entiendo. 2. Lo de las fórmulas que tratáis tú y Caravantes. Creo entenderlo. Magistral. Pero... ¿Mis valores de %LIGHT, se mueven entre 0 y 512? No sé yo... |
#8
|
Sobre lo que intento que veas de los IF ...
Código:
Si (if) [ %LIGHT < 2500 ] Si (if) [ %LIGHT > 2501 & %LIGHT < 2600 ] Si (if) [ %LIGHT > 2601 & %LIGHT < 2700 ] Si (if) [ %LIGHT > 2701 & %LIGHT < 2800 ] Si (if) [ %LIGHT > 2801 & %LIGHT < 2900 ] Si (if) [ %LIGHT > 2901 & %LIGHT < 3000 ] Si (if) [ %LIGHT > 3001 ] ¿Qué pasa si %LIGHT tiene uno de estos valores; 2500, 2501, 2600, 2601, 2700, 2701, 2800, 2801, 2900, 2901, 3000, 3001? Como lo vas a ver fácilmente lo siguiente es saber cómo lo evitarías ¿...? La espera al final de la tarea la expliqué aquí... https://www.htcmania.com/showpost.ph...08&postcount=9 Cuando estés editando la tarea pulsa en la rueda dentada y comprueba que en el campo "Manejo de Colisiones" está seleccionado "Abortar Tarea Nueva". Y lo de la versión con fórmulas, si lo has entendido no debería costarte mucho hacer los cambios necesarios para ajustarlas al rango de valores de tu sensor de luz. |
#9
|
Veamos. Si mi móvil detecta en un momento puntual una entrada de luz (lux: Lux Meter) de pongamos 2500 no pasa nada, pues no he puesto un operador "=" para 2500. Sólo he puesto operadores "<" y ">". Ahora bien, la cuestión. De 2499 a 2501 puede pasar en cuestión de un mínimo instante. Y operadores "más o igual", que yo sepa no existe. Por lo que habría que poner los dos operadores para cada valor (un mayor o igual, o bien un menor o igual). Con lo que quedaría así, por ejemplo (Quizás no te he entendido bien, en cualquier caso):
Código:
A8: Brillo de Pantalla [ Nivel: 140 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT = 2500 | %LIGHT < 2500 ] A9: Brillo de Pantalla [ Nivel: 160 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT = 2501 | %LIGHT > 2501 & %LIGHT = 2600 | %LIGHT < 2600 ] El problema que yo tengo con esa última acción (la espera de 2 o 3 segundos) es que me sale en la barra de estado el icono de la alarma continuamente parpadeando. Y si lo suprimo del gestor de iconos en ajustes del sistema de mi móvil, al desplegar la barra de estado pega cada saltito que no te digo na que mareo. Y el manejo de colisiones está seleccionado en abortar tarea nueva. Con relación a la versión con fórmulas, creo haberlo entendido casi todo bien. Es una forma de no hartarte de poner ajustes, claro. Pero para mi caso hay dos inconvenientes. Uno, yo quiero un rango de 140 - 255. Y no un rango de 0 - 255. Y dos, el tema del icono de la alarma. La acción de espera de 15 segundos, o el tiempo que decida poner de espera. Insisto, tarea con manejo de colisiones con abortar tarea nueva seleccionado. También tengo una duda. La app Lux Meter me da un rango de lux de un mínimo 0 (oscuridad) y un máximo de 40680 (sol directo a mediodía). No sé si optar por el perfil con evento de variable establecida %LIGHT y una tarea de 3 acciones (sin espera final, por culpa del icono de la alarma) con tres niveles de brillo (desde 140 hasta 255) teniendo en cuenta mayor, menor e igual en cada una de las acciones. Edito: Este perfil, con el contexto de evento de variable establecida %LIGHT en lugar del contexto de pantalla encendida funciona. Eliminando en la tarea la acción de esperar e ir a acción 1. Eso sí, sería idóneo un pequeño tiempo de espera, ya que el brillo cambia muy a menudo nada mas que me muevo un poco. Quizás sea este el funcionamiento correcto de un brillo automático. El mayor problema es que quisiera que el rango del brillo estuviese entre 140 y 255. Y no bajar por debajo de 140. Código:
Perfil: Brillo Automático 2 Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: Brillo Automático 2 A1: Establecer Variable [ Nombre: %luz A: floor (%LIGHT/51.2) Calcular: Encendido Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A2: Establecer Variable [ Nombre: %brillo A: %luz*25.5 Calcular: Encendido Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A3: Brillo de Pantalla [ Nivel: %brillo Deshabilitar Salvaguardar: Encendido Ignorar Nivel Actual: Encendido ] Última edición por emiegna Día 28/12/22 a las 14:56:48 |
#10
|
Bien, has visto que faltan valores por controlar, aunque la solución que has elegido es la más trabajosa de implementar y mantener. Yo lo habría hecho así...
Código:
Si (if) [ %LIGHT < 2500 ] Si (if) [ %LIGHT > 2499 & %LIGHT < 2600 ] Si (if) [ %LIGHT > 2599 & %LIGHT < 2700 ] Si (if) [ %LIGHT > 2699 & %LIGHT < 2800 ] Si (if) [ %LIGHT > 2799 & %LIGHT < 2900 ] Si (if) [ %LIGHT > 2899 & %LIGHT < 3000 ] Si (if) [ %LIGHT > 2999 ] ![]() He estado intentado reproducir ese error que te sale y solo lo he conseguido de una forma; mientras el perfil está activado y funcionando (detectando cambios de luz) editar esa misma tarea ... ¿es eso? ![]() De todas formas he recordado que existe otra forma de hacer esa "pausa". Quédate pulsando en el nombre del perfil hasta que aparezca una rueda dentada en la barra superior. Pulsa esa rueda y en el campo "Tiempo de Enfriamiento" marca esos 2/3 segundos. No toques nada más y cierra esa ventana. Con eso no necesitarás la pausa en la tarea ya que el propio terfil se encarga de hacerla. Y si finalmente te decides por la versión con fórmulas tendrás que hacer unos pequeños cambios para ajustarlas al rango de tu sensor y tus preferencias. Lo que hace cada fórmula ya lo expliqué en la otra conversación ... ¿dónde te atascas? |
#11
|
Después de informarme he vuelto a recordar que hace años tenía el mismo problema con el icono de la alarma que comento. Es bien sencillo. Tasker/Preferencias/Monitor, y en Usar Alarmas Fiables seleccionar "Nunca". Yo lo tenía seleccionado en "Siempre". Ahora bien, no sé si ello me puede perjudicar en algún momento. De momento los perfiles que tengo con una acción de espera funcionan correctamente y no aparece el icono. Así que de momento tengo un perfil con 10 niveles de brillo desde 140 a 255 y una espera final de 2 segundos. He de probar el comportamiento de día. Aunque supongo que será menos gradual que con el sistema de fórmulas. Lo pongo como lo tenía ahora ya con su espera... pero oye: Llevas toda la razón. Yo lo he hecho mal. Lo corregiré.
El sistema de fórmulas creo entenderlo en parte, pero me atasco en la explicación que das sobre las divisiones (0.nnn, 9.nnn, etc). Y aunque le sigo dando vueltas porque creo que podría conseguir que partiese el nivel de brillo desde 140, y no desde 0, y hasta 255, aún no doy con ello. Pero pa eso está la chorla también, no solo pa ponerse una gorra. El manejo de colisiones me da avisos en dos casos: En Abortar Tarea Nueva y en Ejecutar Ambas Juntas. En Abortar Tarea Existente no hay aviso y el perfil parece funcionar. Perfil último y que he de corregir atendiendo a tu correcta sugerencia... y a la espera de mejorar el perfil (si es posible) con el sistema de las fórmulas. Código:
Perfil: Brillo Automático Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: Brillo Automático Ajustes: Abortar Tarea Existente A1: Brillo de Pantalla [ Nivel: 140 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT < 700 ] A2: Brillo de Pantalla [ Nivel: 150 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 701 & %LIGHT < 705 ] A3: Brillo de Pantalla [ Nivel: 160 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 706 & %LIGHT < 710 ] A4: Brillo de Pantalla [ Nivel: 170 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 711 & %LIGHT < 715 ] A5: Brillo de Pantalla [ Nivel: 180 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 716 & %LIGHT < 720 ] A6: Brillo de Pantalla [ Nivel: 190 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 721 & %LIGHT < 725 ] A7: Brillo de Pantalla [ Nivel: 200 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 726 & %LIGHT < 730 ] A8: Brillo de Pantalla [ Nivel: 210 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 731 & %LIGHT < 735 ] A9: Brillo de Pantalla [ Nivel: 220 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 736 & %LIGHT < 740 ] A10: Brillo de Pantalla [ Nivel: 230 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 741 & %LIGHT < 745 ] A11: Brillo de Pantalla [ Nivel: 240 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 746 & %LIGHT < 750 ] A12: Brillo de Pantalla [ Nivel: 250 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 751 & %LIGHT < 755 ] A13: Brillo de Pantalla [ Nivel: 255 Ignorar Nivel Actual: Encendido ] Si (if) [ %LIGHT > 756 ] A14: Esperar [ Milisegundos: 0 Segundos: 2 Minutos: 0 Horas: 0 Días: 0 ] Código:
Perfil: Ajuste Brillo Automático Evento: Quick settings event [ Configuración:Brillo ] Entrada Tarea: Ajuste Brillo Automático A1: Si (if) [ %Baut ~ 0 ] A2: Change image [ Configuración: Change image Brillo Tiempo Límite (Segundos): 0 Salida Estructurada (JSON, etc.): Encendido ] A3: Change label [ Configuración: Brillo: Brillo automático Tiempo Límite (Segundos): 0 Salida Estructurada (JSON, etc.): Encendido ] A4: Estado de Perfil [ Nombre: Brillo Automático Establecer: Encendido ] A5: Establecer Variable [ Nombre: %Baut A: 1 Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A6: En Otro Caso (else) A7: Change image [ Configuración: Change image Brillo Tiempo Límite (Segundos): 0 Salida Estructurada (JSON, etc.): Encendido ] A8: Change label [ Configuración: Brillo: Brillo automático Tiempo Límite (Segundos): 0 Salida Estructurada (JSON, etc.): Encendido ] A9: Estado de Perfil [ Nombre: Brillo Automático Establecer: Apagado ] A10: Establecer Variable [ Nombre: %Baut A: 0 Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A11: Fin Si (end if) |
#12
|
||
Cita:
https://www.htcmania.com/showthread.php?t=1176026 Cita:
Si quieres un cambio más gradual, y algo menos sensible a esas oscilaciones, prueba con esto...Que estaba más detallado aquí... https://www.htcmania.com/showpost.ph...3&postcount=23 |
#13
|
Bueno, de momento funciona bien. Quizás tenga que hacer algunos reajustes adicionales, pero funciona bien.
Después de las fiestas me pondré a ver si logro mejorarlo con el sistema de las fórmulas, que ahora me quieren tirar el móvil al río. Muchísimas gracias, WillyWeb 👍🏻 |
Gracias de parte de: | ||
#14
|
Retomo el hilo. Creo haber entendido perfectamente la formula. Y solo a partir de entonces entendí que si quiero poner un límite de brillo de 140 (que no llegue a nivel cero o muy bajo), he de sumar en la segunda acción %luz*25.5 la cantidad límite (140). Y ese resultado será el que "atenderá" la variable %brillo. Es decir, %luz*25.5+140. O lo que es lo mismo, la fórmula nos dice ahora de 140 a 255. Si queremos establecer un límite más bajo lo sustituimos por un nivel menor. Vamos, que podemos fijar el rango de brillo mínimo a máximo como deseemos... Pongamos de 60 a 255 o 95 a 255 o 110 a 255, etc.
A mí con el empleo del sistema de fórmulas me funciona correctamente. Es más gradual. Más preciso y suave. Lo calificaría de elegante. Y claro está, sin necesidad de multitud de acciones. ¿Que tal? Código:
Perfil: BRILLO AUTOMÁTICO Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: BRILLO AUTOMÁTICO A1: Establecer Variable [ Nombre: %luz A: floor (%LIGHT/51.2) Calcular: Encendido Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A2: Establecer Variable [ Nombre: %brillo A: %luz*25.5+140 Calcular: Encendido Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A3: Brillo de Pantalla [ Nivel: %brillo Deshabilitar Salvaguardar: Encendido Ignorar Nivel Actual: Encendido ] |
#15
|
Muy buenas y Feliz 2023
![]() Veo que le has pillado el truco al tema de la fórmula. Efectivamente, esa es la forma de tasar el valor mínimo de brillo, pero si haces unas pocas cuentas verás que sale algo raro. ![]() El brillo de tu dispositivo puede tomar valores entre 0 y 255 y %LIGHT toma valores entre 0 y 512. Creo que en tu caso el rango de LIGHT es mucho mayor, pero por ahora ignoraremos ese detalle. Supongamos que estás a pleno sol y %LIGHT tiene un valor muy alto, digamos de 500. Al aplicar la primera fórmula ... %luz=floor(%LIGHT/51.2) tendrémos que 500 / 51.2 = 9,76 que con el redondeo que hace "floor" nos queda %luz = 9. Luego aplicamos la segunda fórmula con el "truco" del valor mínimo ... %brillo=%luz*25.5+140 y nos sale que %brillo=9*25.5+140=395.5 ![]() Se supone que el brillo de tu dispositivo tiene que estar entre 0 y 255 ¿qué está pasnado aquí? ![]() |
#16
|
FELIZ AÑO NUEVO, WILLY!! 😃
Después de tasar el valor mínimo estuve probando y pensando... No lo he probado, pero pensando creo que lo correcto en mi caso es lo siguiente: Mi rango de brillo no es 0 - 255. Sino 140 - 255. Con lo que creo con casi plena seguridad que hay que restar a 255 mi nivel mínimo, 140. Resultado, 85. Dividido entre 10 es 8.5. Y no 25.5. En el ejemplo que me pones donde el valor de %LIGHT es 500 y olvidándome de sumar 140 en la segunda acción, pero sí multiplicando la variable %luz por 8.5 exclusivamente creo que sería lo correcto. Segunda acción de la tarea: %brillo A %luz*8.5 Creo que es así. |
#17
|
Ya casi lo tienes pero las cuentas que has hecho tienen un pequeño error...
255 - 140 = 115 ; 115 / 10 = 11.5 %brillo = %luz * 11.5 + 140 Eso se mueve entre 140 y 255 para valores de %luz entre 0 y 10. Ahora queda aclarar el tema del rango de %LIGHT en tu dispositivo y el cálculo de %luz. |
#18
|
Pues la verdad, no sé de "dónde" ha salido mi resultado de 85 de restar lo que tenía bien claro... 255 - 140. Ofú... Pa "Cuarto Milenio" y que lo trate el Iker Jiménez, vamos.
Y muy rápido quería yo quitar sin sentido en la segunda acción la suma de 140. Según aquella aplicación (Lux Meter) que usaba para calibrar el sensor de luz mi rango estaba entre 0 y 40680. Por tanto si dividimos entre 10 en la primera acción, al igual que en la segunda acción (como es lógico), la primera acción sería: %luz a floor (%LIGHT/4068) |
#19
|
Perecto. Has ido paso apaso y al final lo has entendido todo.
![]() Ahora te voy a romper un poco el esquema aunque estoy seguro de que lo vas a entender todo. La variable %LIGHT (asociada a tu sensor de luz) puede tener valores entre 0 y 40680. Si usas el valor máximo la luz ambiente tendría que variar 40680/10 para que se produzca un cambio de brillo ¿No crees que eso es mucho cambio de luz? ¿Entre qué valores de luz ambiente te mueves realmente? Y ya puestos, ¿por qué 10 escalones? Con más escalones el cambio de brillo sería más gradual. ![]() Este algoritmo resume todo lo hablado hasta el momento... %brillominimo = 140Jugando con esos valores que te he puesto en negrita puedes ajustar la tarea a tu antojo. He dejado los valores que has estado manejando hasta ahora para que veas que la tarea hace exactamente lo mismo, pero prueba cambiando el 10 por un 20 y el 512 por 3000, por ejemplo. |
|
#20
|
Es mucho más gradual. Ya lo pensé y puse así esta mañana después de haberlo pensado. A medida que existen más escalones más gradual es. Sube/baja el nivel del brillo de forma menos brusca. Es lógico. Sólo que yo lo dividí entre 15. Y puse 2.000.
Lo que no entiendo muy bien es por qué esa app (Lux Meter) me indicaba un rango de valores entre 0 - 40680. Probando con 40680 es que ni se movía con luz directa. Tal cómo está ahora funciona a la PERFECCIÓN. Lo que considero más importante es pensar y entender las explicaciones. Willy, te explicas magistralmente. Código:
Perfil: BRILLO AUTOMÁTICO Evento: Variable Establecida [ Variable:%LIGHT Valor:* Solo Variables de Usario:Apagado ] Entrada Tarea: BRILLO AUTOMÁTICO A1: Establecer Variable [ Nombre: %luz A: floor (%LIGHT/150) Calcular: Encendido Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A2: Establecer Variable [ Nombre: %brillo A: %luz*11.5+140 Calcular: Encendido Dígitos de Redondeo Máximos: 3 Salida Estructurada (JSON, etc.): Encendido ] A3: Brillo de Pantalla [ Nivel: %brillo Deshabilitar Salvaguardar: Encendido Ignorar Nivel Actual: Encendido ] |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 20:58:40 (GMT +2)
HTCMania: líderes desde el 2007