Ver la Versión Completa : [ CONSULTA ] Modo Sueño: Cerrar app y apagar pantalla fuera de base, e ideas
emiegna
16/06/16, 00:08:59
Buenas,
Tengo un par de perfiles "mu sencillitos" para un "modo sueño" muy basico... Por problemas de salud he de controlar mis horas de sueño. Solo he de saber a qué hora apagué la tv de mi dormitorio para "echarme" a dormir,... sin mas.
El mayor problema con el que me encuentro es una tontería. Y es que cuando retiro el movil de la base a veces se apaga la pantalla del móvil, y otras veces no (quiero que se apague). Ademas, me gustaría que me propusieseis ideas para mejorar esta idea tan simple.
He probado con el sensor de luz (poco), pero no me convence mucho. De momento presiono el boton de encendido. Tampoco me convence el sensor de proximidad (que es mas comodo), pero no se...
Yo que se.
Bueno, os pongo los perfiles (insisto, "mu sencillitos")
Perfil: Desp_Base (25)
Estado: Acoplado a base [ Tipo:Cualquiera ]
Entrada: DespBaseOn (26)
A1: Cargar aplicación [ Aplicación:Despertador digital Datos: Excluir de aplics. recientes:Encendido Always Start New Copy:Apagado ]
Salida: DespBaseOff (30)
A1: Esperar [ MS:500 Segundos:0 Minutos:0 Horas:0 Días:0 ]
A2: Bloqueo sistema
Perfil: Modo_Sueño (7)
Estado: Acoplado a base [ Tipo:Cualquiera ]
Evento: Pantalla apagada
Entrada: ModoSueño (8)
A1: Mostrar Escena [ Nombre:ModoSueño Mostrar como:Capa Superpuesta, Bloqueada, Ventana Completa Posición Horizontal:100 Posición Vertical:100 Animación:Sistema Mostrar Botón Salida:Apagado Continuar tarea inmediatamente:Encendido ]
A2: Secure Settings [ Configuración:Screen & Keyboard Lights On
1 Second Cuenta atrás (segundos):0 ]
A3: Notificación [ Título:Modo Sueño Texto:¡Buenos días! Icono:hd_aaa_ext_show Número:0 Permanente:Apagado Prioridad:5 ]
A4: Esperar [ MS:0 Segundos:3 Minutos:0 Horas:0 Días:0 ]
A5: Destruir Escena [ Nombre:ModoSueño ]
Nota: Acabo de darme cuenta que quizas el primer contexto del segundo perfil sobra.
WillyWeb
16/06/16, 11:06:16
Yo empezaría definiendo el escenario y el comportamiento requerido...
[] ¿Siempre que te "echas" a dormir pones el móvil en la base de carga?
[] Cuando pones el móvil en la base de carga
-- ¿Cómo se queda la pantalla?
-- ¿Qué quieres que haga el móvil?
[] Cuando quitas el móvil en la base de carga
-- ¿Cómo se queda la pantalla?
-- ¿Qué quieres que haga el móvil?
Caravantes
16/06/16, 11:46:53
Perfil: Modo_Sueño (7)
Estado: Acoplado a base [ Tipo:Cualquiera ]
Evento: Pantalla apagada
Entrada: ModoSueño (8)
A1: Mostrar Escena
Me parece ver una contradicción en ese fragmento de perfil. Si uno de los contextos es "pantalla apagada" no veo sentido a que la tarea (de entrada) muestre una escena. Si la pantalla está apagada, digo yo que la escena no se verá nunca y eso parece que no tiene sentido... o que hay algo que no estoy entendiendo. Emiegna, porfa, trata de explicarte mejor porque no acabamos de comprender lo que tienes ni lo que quieres. Las preguntas de Willy son muy oportunas.
emiegna
16/06/16, 12:00:51
Pues sí, buen comienzo ;-)
Os respondo.
Willy...
1. Siempre.
2. Pongo el movil con la pantalla apagada.
3. Ejecuta la tarea de entrada del primer perfil. Es decir, se enciende la pantalla (mostrando durante unas decimas de segundo el home screen, no tengo lockscreen) y abre la app del reloj-despertador. Aunque me gustaría que se encendiese el movil y mostrase directamente la app, y no viese durante unas decimas de segundo el home screen.
4. A veces se apaga, cerrando previamente la app. A veces, no se apaga y la app no se cierra, dejandome el movil bloqueado. Y a veces no se apaga, no cierra la app y debo hacerlo a mano. He probado a cerrar la app configurandolo para que se cierre al desconectarlo de la base, y también he probado a cerrar con Autoinput (Global action/back). Mismos resultados...
5. Quiero que se apague la pantalla y a continuación cierre la app. Por ese orden. Imposible, al menos que yo sepa (no soy root) cerrar la app después de apagar pantalla.
Buenas Caravantes :-)
Cierto, me explique mal.
El segundo perfil hace lo siguiente (y correctamente): presiono el boton de encendido/apagado del movil. En este caso funciona como boton para iniciar el modo sueño... Apaga la pantalla (obvio), enseguida muestra la escena con la pantalla apagada (aun no se ha encendido la pantalla, y asi lo primero que veré al encenderla será la escena, no la app del reloj) y luego se enciende la pantalla con la escena en primer lugar. En tres segundos se destruye la escena dejando ver de nuevo el reloj. Ah, y crea una notificación que me indica, obviamente, la hora a la que presioné el botón (ya se a que hora se inició el modo sueño... Tardo en dormir 5 min :-)). Por cierto, la app del reloj siempre está en primer plano. Solo cuando se ve la escena, la app del reloj no se ve, claro (3 seg). La escena está encima...
Caravantes, si te fijas, en A2 enciendo la pantalla.
WillyWeb
16/06/16, 16:27:04
Entonces la secuencia sería...
-Poner el móvil en la base
-Se enciende la pantalla (supongo que automáticamente)
-Cargar la app del despertador (mejor si no se ve el home)
-¿Dejar la pantalla apagada o encendida? (supongo que la quieres encendida)
-Esperar hasta que actives el modo sueño
...
-Activar el modo sueño pulsando el botón power (apagando la pantalla)
*El perfil detecta conectado.a.base+pantalla.pagadada y lanza la tarea correspondiente que, en esencia, hace lo que quieres
-Dejar la pantalla encendido con la app del despertador en primer plano
-Esperar hasta salir del modo sueño
*¿Cómo lo quieres hacer, quitando el móvil de la base, o de otra forma?
...
-Salir del modo sueño (por definir la forma)
-Apagar la pantalla y cerrar la app del despertador (por ese orden)
¿Me he dejado algo? :oh:
emiegna
16/06/16, 19:10:57
En esencia, sí. Solo unos apuntes a la secuencia:
Como querer, querer, preferiría que al poner el móvil en la base de carga (se enciende la pantalla automáticamente) se cargase la app antes de encenderse la pantalla.
Y bueno, salir del modo sueño es un decir, porque realmente esa tarea básicamente lo que hace es lanzar una escena con tres segundos de vida y crea una notificación con la hora que pulsé el botón... Tras esto el "modo sueño" ya ha cumplido (esto es lo que funciona bien, es lo mas sencillo, claro). Por cierto, he hecho pocas pruebas sustituyendo el contexto de apagado por el sensor de proximidad y el sensor de luz, pero de momento me he encontrado con algunas dificultades (cierto es que he hecho pocas pruebas). Ejemplo, dormitorio sin luz alguna a excepción del tv. Apago la tv y el sensor de luz detecta menos luz, y voilá: modo sueño... Pero es que el móvil tb desprende luz... Y el sensor de proximidad, si estoy viendo la tv, me da por coger algo sobre la mesita de noche y paso ligeramente la mano por el sensor, y ya la he liao.
Ah, y la salida: quitando el movil de la base. Primero apagado de pantalla, luego salida de la app del reloj-despertador.
Otro contexto posible, con AutoVoice. Comando: "a dormir"... Mi mujer me dejaría despues de dos o tres dias con el "a dormir".
WillyWeb
16/06/16, 21:41:04
Pues si tienes el problema bien definido ya casi tienes la solución :ok:
Perfil de tipo "Estado: Acoplado a base"
Entrada:
-iniciar la app del despertador
-¿es necesario controlar que la pantalla no se apague?
Salida:
-apagar la pantalla (el "Bloqueo sistema" puede valer)
-cerrar la app de despertador ("Aplicación > Volver a inicio" es un buen truco)
Dudo que sea posible evitar que la pantalla se encienda antes de cargar el despertador. Es complicado, por no decir imposible, modificar ese comportamiento del sistema vía Tasker.
El modo sueño ya hace lo que quieres, así que lo puedes dejar como está.
Una variante/alternativa al sistema de activación que tienes ahora (perfil de base+botón) es usar un botón de acción en una notificación. La idea sería crear una notificación permanente al conectar el móvil a la base y en ella poner una acción que lance la tarea del modo sueño. Al desconectar de la base eliminas la notificación y tema resuelto. Incluso podría ser la misma notificación que usas en la tarea del modo sueño. Por cierto, esa notificación podría mostrar información relevante, como el tiempo que ha pasado entre que pusiste el móvil en la base, la activación del modo sueño y la desconexión de la base (para saber lo que has dormido, si te interesa controlarlo).
Si te convence la idea lo miramos más despacio.
emiegna
17/06/16, 00:43:07
Willy, voy por partes.
No es necesario controlar la pantalla para que se mantenga encendida. Se mantiene encendida.
Con "Volver a inicio" también probé. Bloqueo de sistema y a continuación "Volver a inicio", cierra la app pero no apaga la pantalla. Quizas es porque al retirar el móvil de la base la pantalla se enciende automáticamente al igual que al ponerlo en la base. Por ahi van los tiros...
En la tarea de salida la unica solución que encuentro es cerrar la app, en primer lugar. Ya sea con la configuración propia de la app (que lo permite), con Autoinput (Global action/back o home), con la configuración de mi launcher también seria posible, con "Volver a inicio", etc. En segundo lugar he de poner un tiempo de espera de al menos 500 ms (aun asi a veces acaba colgandose, quizas 1 seg sería mejor), para terminar apagando la pantalla con screen off, bloqueo del sistema, secure setting/lock device, etc.
Es mas, aun asi (con esta tarea de salida) a veces se queda bloqueado el movil. No se si será por estar varias horas abierta la app, o yo que se. Pero lo que yo quisiera realmente tras retirar de la base es apagado de pantalla y cierre de app. Y claro, sin cuelgues.
La idea de la notificación es mas "latoso", no crees? Mostrar el area de notificaciones, pulsar,... En fin. Habia pensando quizas en una pequeña escena que simule un botón añadido a la interface de la app.
La idea de que la notificación me informase mas, ya lo creé. Lo eliminé hace unos días (después de estar funcionando correctamente durante semanas) porque pensé que los cuelgues eran por las variables, reemplazos, etc... (algo que quizas hubiese hecho mal). Tu sabes, con la variable %TIMES, pasando a horas-minutos, restando la hora de retirada de la base a la hora de pulsacion del botón,... Me informaba cuanto tiempo había dormido ("Has dormido 5 horas, y 23 minutos"). Pero ya veo que eso no tiene nada que ver.
En definitiva, lo que realmente mas me importa es:
1. Voy por el pasillo con la pantalla del movil apagada. Entro en el dormitorio. Pongo el movil en la base. Que se encienda la pantalla del móvil, y lo primero que vea sea la app del reloj - despertador.
2. Retirar el movil de la base. Que se apague inmediatamente la pantalla, y a continuación cierre de la app del reloj. Sin cuelgues, claro.
WillyWeb
17/06/16, 13:10:56
No es necesario controlar la pantalla para que se mantenga encendida. Se mantiene encendida.
Estupendo, aunque tampoco tenía mucha dificultad.
Con "Volver a inicio" también probé. Bloqueo de sistema y a continuación "Volver a inicio", cierra la app pero no apaga la pantalla. Quizas es porque al retirar el móvil de la base la pantalla se enciende automáticamente al igual que al ponerlo en la base. Por ahi van los tiros...
En la tarea de salida la unica solución que encuentro es cerrar la app, en primer lugar. Ya sea con la configuración propia de la app (que lo permite), con Autoinput (Global action/back o home), con la configuración de mi launcher también seria posible, con "Volver a inicio", etc. En segundo lugar he de poner un tiempo de espera de al menos 500 ms (aun asi a veces acaba colgandose, quizas 1 seg sería mejor), para terminar apagando la pantalla con screen off, bloqueo del sistema, secure setting/lock device, etc.
Ya te comenté que ese comportamiento de auto-encendido tiene mala solución.
Es mas, aun asi (con esta tarea de salida) a veces se queda bloqueado el movil. No se si será por estar varias horas abierta la app, o yo que se. Pero lo que yo quisiera realmente tras retirar de la base es apagado de pantalla y cierre de app. Y claro, sin cuelgues.
Eso ya lo tienes cerrando la app primero y apagando la pantalla después ... ¿no?
Lo de los cuelgues es lo que no entiendo. Se cuelga, se bloquea, no responde nada ... ¿qué pasa exactamente?
La idea de la notificación es mas "latoso", no crees? Mostrar el area de notificaciones, pulsar,... En fin. Habia pensando quizas en una pequeña escena que simule un botón añadido a la interface de la app.
Si el diseño de la app deja un sitio aparente esa es la mejor solución.
La idea de que la notificación me informase mas, ya lo creé. Lo eliminé hace unos días (después de estar funcionando correctamente durante semanas) porque pensé que los cuelgues eran por las variables, reemplazos, etc... (algo que quizas hubiese hecho mal). Tu sabes, con la variable %TIMES, pasando a horas-minutos, restando la hora de retirada de la base a la hora de pulsacion del botón,... Me informaba cuanto tiempo había dormido ("Has dormido 5 horas, y 23 minutos"). Pero ya veo que eso no tiene nada que ver.
Ese tipo de operaciones el difícil que ocasionen un cuelgue. Si lo quieres volver a poner podemos revisarlas con calma. Creo que se podría hacer con dos o tres operaciones simples (restar y dividir).
1. Voy por el pasillo con la pantalla del movil apagada. Entro en el dormitorio. Pongo el movil en la base. Que se encienda la pantalla del móvil, y lo primero que vea sea la app del reloj - despertador.
Pues no mires hasta que se cargue la app :sisi1:
Ahora sin bromas. Ya te he comentado que no creo que eso sea posible.
2. Retirar el movil de la base. Que se apague inmediatamente la pantalla, y a continuación cierre de la app del reloj. Sin cuelgues, claro.
Cierra primero y apaga después. Eso debería funcionar. No es exactamente lo que quieres, pero es lo más cerca que puedes llegar. Lo de los cuelgues me lo tienes que aclarar para ver si podemos dar con el motivo.
emiegna
17/06/16, 23:44:19
Bueno, de momento ha quedado así. Iré observándolo, sobretodo ese segundo de espera antes de apagar la pantalla en la tarea de salida. Ese segundo de espera es para evitar que al retirar el movil de la base no se quede en pantalla la app abierta sin poder hacer nada mas que pulsar power mas vol + para reiniciar el movil. Pasa esto a veces, y creo que se resuelve con una espera entre el cierre de la app y el apagado de la pantalla cuando la app lleva horas abierta. Veré si puedo ir reduciendo el tiempo de espera.
El auto-encendido, un problema sin solución.
Supongo que este Modo Sueño será mejorable. ¿No?
Explico.
Tarea de entrada tras poner el movil en la base: Carga la app del reloj-despertador encendiéndose previamente la pantalla automáticamente (creo que todos los móviles al ponerlos en carga o descarga siempre se encienden). Enseguida muestra una escena transparente ocupando gran parte de la app en la zona central. Si hago clic en esa zona lanza el modo sueño ("ModoSueñoClic").
La escena del modo sueño ocupa toda la pantalla en negro con un texto que pone Modo Sueño con el mismo color que el de la app. Adicionalmente he añadido un "cancelar" que detiene la tarea por si pulso la escena transparente por error. Aqui dispongo de 5 segundos. Si no cancelo, se inicia el modo sueño, desapareciendo la escena modo sueño. Si cancelo, se destruye la escena modo sueño y muestro la escena transparente (ModoSueñoClic).
Y bueno, variables y demas acciones que me daran información en una notificación al retirar el movil de la base. Inicio del modo sueño, y duracion del mismo.
Para entenderlo mejor, pongo el perfil Modo Sueño, la tarea asignada a la escena transparente ModoSueñoClic y la tarea asignada al botón cancelar:
1. Perfil Modo Sueño
Perfil: Modo_Sueño (25)
Estado: Acoplado a base [ Tipo:Cualquiera ]
Entrada: ModoSueñoOn (26)
A1: Cargar aplicación [ Aplicación:Despertador digital Datos: Excluir de aplics. recientes:Encendido Always Start New Copy:Apagado ]
A2: Mostrar Escena [ Nombre:ModoSueñoClic Mostrar como:Capa Superpuesta, Bloqueada Posición Horizontal:100 Posición Vertical:100 Animación:Sistema Mostrar Botón Salida:Apagado Continuar tarea inmediatamente:Encendido ]
Salida: ModoSueñoOff (30)
A1: Volver a inicio [ Página:0 ]
A2: Destruir Escena [ Nombre:ModoSueñoClic ]
A3: Destruir Escena [ Nombre:ModoSueño ]
A4: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ]
A5: Bloqueo sistema
A6: Establecer variable [ Nombre:%medesperte A:%TIMES - %Medormi Calcular:Encendido Añadir:Apagado ]
A7: Establecer variable [ Nombre:%horassueño A:floor(%medesperte / 3600) Calcular:Encendido Añadir:Apagado ]
A8: Establecer variable [ Nombre:%minutossueño A:floor((%medesperte - %horassueño * 3600) / 60) Calcular:Encendido Añadir:Apagado ]
A9: Notificación [ Título:Modo Sueño Texto:Inicio %Hinicio:%Minicio [Duración %horassueño hrs, %minutossueño min] Icono:hd_aaa_ext_show Número:0 Permanente:Apagado Prioridad:5 ]
2. Tarea asignada a la escena transparente ModoSueñoClic
ModoSueñoClic (13)
A1: Destruir Escena [ Nombre:ModoSueñoClic ]
A2: Mostrar Escena [ Nombre:ModoSueño Mostrar como:Capa Superpuesta, Bloqueada, Ventana Completa Posición Horizontal:100 Posición Vertical:100 Animación:Sistema Mostrar Botón Salida:Apagado Continuar tarea inmediatamente:Encendido ]
A3: Esperar [ MS:0 Segundos:5 Minutos:0 Horas:0 Días:0 ]
A4: Destruir Escena [ Nombre:ModoSueño ]
A5: Establecer variable [ Nombre:%Medormi A:%TIMES Calcular:Encendido Añadir:Apagado ]
A6: Establecer variable [ Nombre:%Iniciosueño A:%TIME Calcular:Apagado Añadir:Apagado ]
A7: Sección de Variable [ Nombre:%Iniciosueño Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en:%Hinicio ]
A8: Sección de Variable [ Nombre:%Iniciosueño Desde:4 Longitud:2 Encajar:Apagado Almacenar Resultado en:%Minicio ]
3. Botón cancelar
BotonCancelar (6)
A1: Vibrar [ Tiempo:65 ]
A2: Detener [ Con error:Apagado Tarea:ModoSueñoClic ]
A3: Destruir Escena [ Nombre:ModoSueño ]
A4: Mostrar Escena [ Nombre:ModoSueñoClic Mostrar como:Capa Superpuesta, Bloqueada Posición Horizontal:100 Posición Vertical:100 Animación:Sistema Mostrar Botón Salida:Apagado Continuar tarea inmediatamente:Encendido ]
Nota: Me falta un "Vibrar 65" en la escena transparente. Me acabo de dar cuenta, jeje.
WillyWeb
18/06/16, 12:21:32
Tiene buena pinta, y si soluciona todos los puntos del problema no son necesarias ni mil millones de palabras más :ok:
Sigo intrigado con ese cuelgue. Ya nos contarás si sacas algo en claro.
emiegna
18/06/16, 12:49:18
Sí, veremos a ver...
No creo que sea el móvil (Z2). Quizas la app. La desinstalare y volveré a instalarla.
Gracias a los dos
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.