Utilisation des filtres avec les actions

Utilisation de filtres simples

Voici des exemples d'utilisations du filtre simple :

Utilisez l'option de délai pour retarder l'exécution d'une action pendant une durée spécifiée après ajout ou suppression d'un périphérique dans un dossier.

Utilisation du filtre Déclencher lorsqu'elle est définie sur Active

Choisissez le filtre Déclencher lorsqu'elle est définie sur Active pour définir une action afin d'exécuter une commande uniquement lorsqu'une condition devient Active. Par exemple, si vous contrôlez l'événement Tiroir manquant et que quelqu'un retire un tiroir d'une imprimante contrôlée, l'imprimante génère un événement Tiroir manquant avec un état Actif. L'état Actif satisfait la condition du filtre et l'action spécifiée est exécutée. Lorsque le tiroir est remplacé, l'imprimante génère un autre événement Tiroir manquant avec un état Effacé. L'état Effacé ne satisfait pas la condition du filtre et l'action n'est pas exécutée.

Utilisation du filtre Déclencher lorsqu'elle est définie sur Active ou Effacée

Choisissez le filtre Déclencher lorsqu'elle est définie sur Active ou Effacée pour définir l'exécution d'une action chaque fois qu'une condition devient active ou est supprimée. Par exemple, utilisez le filtre pour créer un journal de tous les bourrages papier d'imprimante afin de déterminer leur délai moyen d'élimination. Lorsqu'un bourrage papier se produit, l'imprimante génère un événement avec l'état Actif. Ceci satisfait la condition du filtre et exécute l'action. Lorsque le bourrage papier est éliminé, l'imprimante génère un autre événement avec l'état Effacé. Cet événement satisfait également la condition du filtre et exécute l'action. Le fichier journal comporte désormais deux lignes, une avec l'heure à laquelle le bourrage papier s'est produit et une autre avec l'heure à laquelle il a été éliminé.

Utilisation de filtres personnalisés

Utilisez un filtre personnalisé pour définir comment une action s'exécute. Téléchargez un fichier de script ou écrivez-en un nouveau. MarkVision Messenger fournit un langage de script très simple pour définir des filtres. La liste suivante répertorie les instructions et conditions pouvant être utilisées dans un filtre personnalisé :

Instructions :

Conditions :

Exemple de script - Filtre Déclencher lorsqu'elle est définie sur Active

Voici un exemple de représentation en script du filtre intégré Déclencher lorsqu'elle est définie sur Active :

IfThen (EventDataIs("état", "ACTIVE"))
Distribute

L'effet de la condition EventDataIs consiste à demander à l'événement la valeur de son mot clé état. Ce mot clé peut être inséré dans des lignes de commande et des messages électroniques. L'instruction IfThen exécute l'instruction suivante si la condition EventDataIs ("état", "ACTIVE") est vraie. La condition EventDataIs est vraie si la valeur du mot clé (état) correspond à la valeur indiquée (ACTIVE). L'instruction suivante, Distribute, entraîne l'exécution de la commande.

Exemple de script - Filtre Déclencher lorsqu'elle est définie sur Active avec un délai de 30 secondes

Voici un exemple de script utilisé lorsque l'action du filtre Déclencher lorsqu'elle est définie sur Active est retardée de 30 secondes :

{
WaitUntil (TimeIsAfter(30))
IfThen(EventDataIs("état", "ACTIVE"))
Distribute
}

Les accolades ({}) sont utilisées pour grouper des instructions dans une liste. Elles n'étaient pas nécessaires dans l'exemple précédent car les instructions IfThen et suivantes étaient considérées comme une seule instruction.

L'instruction WaitUntil entraîne une pause dans l'exécution du script jusqu'à ce que la condition soit vraie. La condition TimeIsAfter vérifie si la condition est vraie uniquement une fois le nombre de secondes spécifié écoulé. Si l'événement est toujours actif après 30 secondes, l'instruction Distribute exécute la commande.

Exemple de script - Filtre Déclencher lorsqu'elle est définie sur Active ou Effacée

Voici une représentation en script du filtre intégré Déclencher lorsqu'elle est définie sur Active ou Effacée pour les circonstances suivantes : l'événement Tiroir manquant est sélectionné pour le tiroir 3, il y a un délai de 20 minutes avant l'exécution de la commande, et la commande se répète toutes les 20 minutes si la condition reste Active.

While (And(EventDataIs("état", "ACTIVE"), EventDataIs("emplacement", "Tiroir 3")))
{
WaitUntil(TimeIsAfter(1200))
IfThen(EventDataIs("état", "ACTIVE"))
Distribute
}

Dans cet exemple, And a servi à construire une condition composée. La boucle While est déclenchée ou répétée uniquement si l'événement est actif pour le tiroir 3. Le code figurant dans la boucle est identique à celui du filtre Déclencher lorsqu'elle est définie sur Active, sauf que la condition TimeIsAfter est définie pour attendre 1200 secondes (20 minutes).