Jerarquía if-else-if de Tasker y configuración predeterminada, como Locale

Uso un complemento de estado de Google Talk (escrito para Locale) con Tasker, y lo único que extraño de Locale es el orden de prioridad de las situaciones . Es decir, si estoy conduciendo, establezca el estado "Conduciendo", de lo contrario, si estoy en el trabajo, "En el trabajo", de lo contrario [...] sino "Disponible". (Locale permite que varias situaciones estén activas, pero cada tipo de acción (por ejemplo, Google Talk) solo se ejecutará una vez).

Estoy luchando por replicar esto en Tasker. La configuración de prioridad en una tarea solo parece afectar el orden en que se ejecutan múltiples tareas, mientras que me gustaría que este complemento en particular se ejecute una vez por cambio de situación, con solo un estado (el que tiene la prioridad más alta) incluso si dos las situaciones son activas. También me falta un lugar para poner la configuración predeterminada "Disponible" (las tareas de salida no son realmente adecuadas).

Ejemplo: empiezo a conducir al trabajo. Estado "Conduciendo". Me acerco a la oficina. El estado debe seguir siendo "Conduciendo" (prioridad más alta). Llego y desconecto del coche. El estado ahora debería ser "En el trabajo".

... mientras que si ingenuamente coloco el complemento en cada situación y configuro las tareas de salida como "Disponible", obtendré "En el trabajo" cuando me acerque a la oficina y "Disponible" cuando salga del automóvil (desde la tarea de salida de la situación de conducción).

Soy reacio a volver a Locale porque Tasker es más flexible para las otras condiciones y configuraciones que estoy usando, y porque tiene más condiciones integradas (por ejemplo, fuente de alimentación principal/USB), lo que significa que se necesitan menos complementos de condiciones de Locale. mantenerse ejecutándose en la memoria.

Gran pregunta y emocionante desafío. voy a tener una ponderacion..

Respuestas (1)

Tasker no puede simular eso fácilmente, pero debería ser posible. El truco más probable es trabajar con variables, un enfoque que encontrará descrito en Grupos de Google: ¿ Cómo establecer un perfil predeterminado? (ver la publicación de Nikita Popov).

Ese ejemplo simplemente define un único perfil predeterminado al que recurrir si no hay otro perfil activo. Un ejemplo más complejo haría uso de variables como %PACTIVE(perfil actualmente activo), de la forma en que un perfil de "prioridad más baja" contendría la condición en la que no está contenido el más alto %PACTIVE(por lo que solo se convierte en el perfil activo si no " el perfil de "prioridad más alta" se está ejecutando actualmente).