Automatización en Android con Easer

No uso Tasker, con Easer me basta.

Crear un Script

Condiciones

Lo primero es crear alguna condición o evento que dispare o gatille (es_CL) el script. La diferencia entre ellas es que un evento es algo que sucede de forma esporádica (ejemplo: a las 11am) mientras que una condición es más permanente (ejemplo: a partir de las 11am). Cuando existan Eventos y Condiciones similares, se recomienda preferir Condición.

Perfiles

Luego, necesitamos que el celular haga algo. Subir o bajar el volumen del ringtone, abrir alguna aplicación, etc.

Scripts

Teniendo lo anterior ya puedes crear un Script uniendo una Condición/Evento con un Perfil. Pero no solo, eso, puedes usar condiciones inversas, es decir, lo contrario a lo que habías definido (del ejemplo anterior, entonces se gatillaría antes de las 11am). Así puedes reutilizar Condiciones. Oda a la flojera :)

Otra gracia es la posibilidad de depender de un script "Padre", así se crean condiciones "AND". Si condición 1 Y condición 2, entonces XYZ.

Ejemplo

Cuando salgo de las zonas urbanas (principalmente haciendo senderismo), mi teléfono se vuelve loco buscando señal donde no la hay consumiendo la batería muchísimo antes de lo normal. Quizás sea un error de MIUI o de alguna app que insista en hacer Sync cuando no hay de dónde bajar datos.

En un día de mala señal, sin siquiera sacar el teléfono del bolsillo la batería se agotaba a las 18hrs. En una área urbana a esa hora todavía me queda 60% de batería.

Luego de crear este sencillo script en Easer, la batería me dura lo mismo en zonas rurales y urbanas. Y creo que en zonas urbanas me dura más que antes (pero esto último puede ser efecto placebo).

Acá va el Script (que en realidad es un Script Padre con dos Hijos):

  • Nombre del Script: Sin Wifi

  • Padre: Ninguno, porque éste es el Script padre.

  • Condición: Conectado a una Wifi. Escenario Inverso activado, es decir, no está conectado a una wifi.

  • Perfil: Ninguno. (En Easer es posible crear un Script sin que haga alguna acción, de esta forma solo me aseguro que el teléfono esté dependiendo del plan de datos para correr los scripts hijos, que son los importantes)

  • Nombre del Script hijo: Sin Datos.

  • Padre: Sin Wifi.

  • Condición: No conectado. (Es decir, heredando la condición del Padre: se cumple que no hay Wifi ni Datos)

  • Profile: Disable Sync (deshabilitar sincronización, así freno cualquier intento de MIUI o de alguna aplicación de intentar conectarse a internet)

  • Nombre del segundo Script hijo: Con datos

  • Padre: Sin Wifi.

  • Condición: No conectado. Escenario Inverso activado. (Es decir, reutilizando la condición del otro hijo y heredando la condición del Padre: No hay Wifi, pero si hay datos)

  • Profile: Enable Sync. (Ahora que hay señal de datos, las apps pueden conectarse libremente)

Así mismo puedo encadenar varios hijos con padres, reutilizarlos, etc. De momento tengo cosas simples como las siguientes, pero la app tiene el potencial de hacer cosas más complejas:

  • A) Si es día laboral

  • A y entre las 9am y las 18pm, volumen moderado

  • A y luego de las 18pm, subir el volumen

  • -A) Si no es día laboral (A negado)

  • -A y antes de las 10am, volumen bajo

  • -A después de las 10am. subir volumen.

Si se presta atención se ve que uso varios Escenarios Inversos (antes/despues, día laboral/finde, etc), que en realidad solo reutilizo las condiciones que ya había creado.

Conclusiones

Una vez que se entiende la mecánica de la aplicación es bastante fácil utilizarla. Además el autor es bastante activo en Github ya sea respondiendo dudas, añadiendo plugins (condiciones, perfiles, etc) y arreglando bugs.

La app es gratuita, utiliza pocos recursos, no se come la batería, y el proyecto es Open Source, así que cualquiera puede ayudar al desarrollo. Por ejemplo, a [mejorar la interfaz](https://racuna.gonevis.com/automatizaci%C3%B3n-en-android-con-easer/mejorar la interfaz](https://github.com/renyuneyun/Easer/issues/187).