# Timers

Les **timers ou temporisations** permettent de gérer le temps dans les scénarios et d’automatiser des actions avec des délais, des durées ou des répétitions.

#### 1- Temporisation avant action

Permet de déclencher une action après un délai défini.  
👉 Exemple : allumer une lumière 30 secondes après la détection de mouvement.

#### 2- Temporisation cyclique (répétition)

Exécute une action à intervalles réguliers.  
👉 Exemple : envoyer une information toutes les 5 minutes.

#### 3- Durée d’état (maintien)

Maintient une sortie active pendant une durée donnée, puis revient à l’état initial.  
👉 Exemple : activer un relais pendant 10 secondes.

#### 4- Retard à l’arrêt / à l’enclenchement

- **Retard à l’enclenchement** : l’action ne démarre que si la condition reste vraie pendant un certain temps.
- **Retard à l’arrêt** : l’action reste active encore un moment après la disparition de la condition.  
    👉 Exemple : éviter les déclenchements intempestifs d’un capteur.

<p class="callout success"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
- Utiliser les timers pour **stabiliser les événements** (anti-rebond, filtrage)  
- Nommer clairement les temporisations pour faciliter la maintenance  
- Adapter les durées selon l’usage réel (confort, sécurité, économie d’énergie)</p>

### Gestion des timers dans les scénarios

Les scénarios permettent l’utilisation de **10 créneaux de temporisation (timers)** maximum par scénario. Ces timers servent à exécuter des actions à intervalles réguliers ou différés.

---

#### 1. Principe général

Chaque timer est associé à une exécution automatique basée sur un intervalle de temps.  
Il permet de déclencher une **étape cible du scénario** de manière répétitive ou temporisée.

#### 2. Paramétrage d’un timer

Pour chaque timer disponible, l’installateur doit configurer les trois éléments suivants :

##### Nom du timer

Champ libre permettant d’identifier le timer dans le scénario.  
Il est recommandé d’utiliser un nom explicite lié à la fonction.

**Exemples :**

- Surveillance chauffage
- Relance éclairage
- Contrôle présence

##### Intervalle (secondes)

Définit la périodicité d’exécution du timer.

- Unité : secondes
- Valeur : entière positive
- Le timer se déclenche à chaque intervalle écoulé

**Exemples :**

- 10 → exécution toutes les 10 secondes
- 60 → exécution toutes les minutes

##### Étape cible

Correspond à l’étape du scénario exécutée lors du déclenchement du timer.

Cette étape peut être :

- une action
- un test logique
- une séquence de blocs

## 3. Fonctionnement

Une fois activé dans le scénario :

- le timer démarre automatiquement selon sa configuration
- à chaque échéance, il exécute l’étape cible définie
- plusieurs timers peuvent fonctionner simultanément dans un même scénario

<p class="callout success"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
- Donner des **noms explicites** à chaque timer pour faciliter le débogage  
- Limiter les intervalles très courts afin d’éviter une surcharge de traitement  
- Bien associer chaque timer à une étape précise pour garder un scénario lisible  
- Eviter les doublons de timers pour des fonctions identiques</p>