Perlas Tecnológicas: Programación avanzada de Macrodroid

Después de usar Macrodroid un tiempo, empezarás a refinar cada día más las macros existentes y añadirás nuevas formas de automatización.  Llegarás a un punto donde la misma Acción se repite en varias macros, por ejemplo los cambios de volumen.  Esto implica que si cambias tu política de ajustes de volumen, tienes que ir macro por macro buscando donde has cambiado los volúmenes para reajustarlos.  Al final llegarás a la conclusión que es más práctico, rápido y limpio tener esas Acciones comunes centralizadas, donde un cambio en una macro afecte instantáneamente a todo el repositorio de macros.

Para programar las macros de esta forma se utilizan Variables y el comando condicional IF.

Vamos a ver una macro que se ha construido para gestionar todos los cambios de volúmenes de todas la macros.

macros-avanzado-sonidos-por-variablesEn primer lugar, la macro se activa por el simple cambio una variable, en este caso Sonido.  No importa a que valor haya cambiado, la macro “Sonidos por variables” es ejecutada.

En la lista de Acciones ya no tenemos una, sino que tenemos varias y cada una de ellas con una condición específica (pueden ser múltiples condiciones)

En la primera Acción le decimos que cambie los volúmenes al modo Vibración, siempre y cuando la Variable Sonido tenga el valor -1, esto es otra macro, probablemente la que trata los eventos de Calendario con etiqueta #M#, ha cambiado el valor de esta variable e instantáneamente Macrodroid ha ejecutado la macro “Sonidos por variables”.

Las siguientes Acciones funcionan de la misma forma, ajustando los volúmenes a los modos Prioridad, Normal y Calle, según el valor que traía la Variable desde las macros “activadoras”.

A veces es número de macros en el móvil llega a ser muy alto.  Después de hacer limpieza tengo 16 macros activas.  En algún caso he fusionado las funciones de activar y desactivar en la misma macro.  Por ejemplo, las macros descritas en la página principal de “Salir a la Calle” y “Llegar a Casa” las he fusionado en una sola.

macros-avanzado-clausulas-ifEn esta macro se pueden observar claramente en el bloque de Acciones dos “cuerpos” de acciones.  El primero es para subir los volúmenes al salir a la Calle, y el segundo para ponerlos en modo Normal al volver a casa.

Los “cuerpos” están delimitados por las “Clausula IF” y por la “Fin de IF”.  En la “Clausula IF” se establece la condición que permitirá que se ejecuten todas las acciones hasta el comando “Fin de IF”.

En el primer “cuerpo” la condición es que se haya “Desconectado la WiFi”.  Si es así, se ponen los volúmenes en modo Calle, pero si previamente se ha activado el modo Prioritario, se ajustan los volúmenes a este modo.

En el segundo “cuerpo”, si se ha “Conectado a una Wifi”, se asume que se ha llegado a casa o al trabajo y se ponen los volúmenes en modo Normal.

La Condición o Restricción que pongo es que esta macro se ejecute sólo si el móvil NO está conectado al Bluetooth del coche, porque en ese caso quiero que prevalezcan los ajustes que he hecho para la macro de Bluetooth.

Por último, hay macros cuyo Activador es un “Acceso directo ejecutado”.  Este tipo de macro es llamada directamente desde un icono (widget) que hemos puesto en la pantalla del móvil.

macros-avanzado-acceso-directoDesde una pantalla del móvil se busca la lista de los Widgets para instalar uno de Macrodroid.  Preguntará qué macro se quiere llamar con el Widget y se seleccionará la deseada de la lista.

Desde ese momento cada vez que se quiera llamar a la macro simplemente se presiona sobre el icono de la pantalla del móvil y se ejecutará la macro.

En el ejemplo que se ve, la macro permite con una pulsación del icono pasa de modo Normal a modo Prioritario, con otra pulsación pasar a modo Vibración, y con otra pulsación pasar a modo Normal de nuevo, todo ello ajustando los volúmenes al modo correspondiente.

Esta macro la uso de forma discrecional cuando necesito el cambio de modo de forma inesperada, y no tener una cita creada en la agenda.  Esta macro está incluida en el paquete de 12 macros que he adjuntado en la página principal.  Gestiona tres modos con dos variables.  Es interesante seguirla para entender cómo utilizar varias variables en una macro.