# 2 PIO

**Automate programmable connecté autonome IIoT**  
4 entrées / 2 sorties

# Présentation du produit

Pilotage, supervision, redémarrage à distance

# Description fonctionnelle

> <span style="font-size: 9.0pt; mso-bidi-font-size: 11.0pt; font-family: 'Arial',sans-serif; mso-fareast-font-family: 'Times New Roman'; color: black; mso-fareast-language: FR;"><span style="color: rgb(35, 111, 161);">**Modlink est un IoT professionnel interactif et autonome entièrement configurable et sans serveur central (cloud)**</span>  
> </span>

<span style="color: rgb(68, 68, 68);">ModLink 2PIO est une **solution d’automatisation connectée** compacte avec serveur Web intégré.  
L'accès aux fonctions de configuration, de supervision et de commande se fait depuis un simple navigateur Internet sans nécessiter d'application dédiée ni de logiciel supplémentaire.</span>

Il représente une alternative simple et économique aux automates programmables industriels (API / PLC) pour des applications "light" d'automatisation, de supervision et d'efficience énergétique.

### 1- Programmation

<span style="color: rgb(68, 68, 68);">ModLink utilise une approche graphique basée sur des **scénarios**, sans programmation de type automate programmable.</span>

<span style="color: rgb(68, 68, 68);">Les automatismes sont créés en assemblant des **blocs fonctionnels** représentant des tests, des conditions, des actions, des temporisations ou encore des notifications. Cette méthode simplifie la conception, la maintenance et l'évolution des applications tout en conservant une grande souplesse de fonctionnement.</span>

<span style="color: rgb(68, 68, 68);">Les scénarios s'exécutent **en boucle de manière continue** afin d'analyser les événements, les entrées, les sorties et les variables du système. Ils utilisent des **variables internes ou externes, partagées** entre plusieurs scénarios et même entre plusieurs modules.</span>

<span style="color: rgb(68, 68, 68);">Chaque ModLink peut gérer jusqu'à **3 scénarios indépendants**, exécutés de façon autonome et pouvant être activés ou désactivés individuellement selon les besoins de l'application.</span>

<p class="callout success">Tel un agent de sécurité qui effectue des rondes, le scénario surveille en permanence différents points de contrôle dans un ordre défini :  
- les entrées (voyants, ouvrants, environnement ...)  
- les sorties (interrupteur, vanne, alerte ...)  
- les variables (rapports des agents précédents)  
Une fois l’ensemble des vérifications effectué, le cycle se répète en permanence</p>

### 2- Fonctionnement autonome

<span style="color: rgb(68, 68, 68);">Grâce à son serveur Web intégré, ModLink est accessible en **local ou à distance** depuis n'importe quel ordinateur, tablette ou Smartphone équipé d'un navigateur Internet. Aucun logiciel spécifique n'est nécessaire pour accéder au module, à sa configuration ou à sa programmation.</span>

<span style="color: rgb(68, 68, 68);">ModLink fonctionne **sans abonnement ni serveur central (cloud)**. Les échanges avec les autres équipements s'effectuent directement entre appareils, sans intermédiaire, ce qui réduit les dépendances externes et améliore la fiabilité ainsi que la robustesse du système.</span>  
<span style="color: rgb(68, 68, 68);">Cette architecture garantit la continuité de fonctionnement des automatismes, même en cas d'indisponibilité d'un service distant ou d'une connexion Internet.</span>

<p class="callout info">Chaque module peut exécuter sa logique **localement** et **interagir** de manière transparente avec d’autres modules du même réseau</p>

### **<span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 2.333em; font-weight: 400;">3- Communications</span></span>**

ModLink dispose de fonctions de communication avancées facilitant son intégration dans les infrastructures existantes et l'accès à distance.

La communication réseau repose sur les **protocoles TCP/IP via Wi-Fi**. L'intégration au réseau est simplifiée grâce au **DHCP** pour l'attribution automatique des adresses IP et au **mDNS** permettant la découverte automatique des équipements.

Pour l'accès distant, ModLink intègre un **tunnel SSH sécurisé** permettant d'accéder au module sans configuration complexe du réseau ni redirection de ports sur le routeur.

Le serveur **OPC UA** intégré assure une compatibilité native avec les systèmes de GTB/GTC, les plateformes **SCADA** et les logiciels de supervision industrielle, facilitant l'échange de données et l'interopérabilité avec les équipements du marché.

# Description du boîtier

### 1- Etat des voyants

Le dispositif comporte **6 voyants LED** permettant de visualiser l’état du système, des communications et des entrées/sorties.

[![2pio3.jpeg](https://modlink.fr/help/uploads/images/gallery/2026-02/scaled-1680-/2pio3.jpeg)](https://modlink.fr/help/uploads/images/gallery/2026-02/2pio3.jpeg)

#### 1.1- <span style="color: rgb(0, 0, 0);">Voyant "Process information" - S</span><span style="color: rgb(0, 0, 0);">cénario </span>

<div class="TyagGW_tableContainer" id="bkmrk-%C3%89tat-du-voyant-signi"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table border="1" class="w-fit min-w-(--thread-content-width)" data-end="768" data-start="445" style="width: 109.048%; height: 122.4px; border-collapse: collapse; border-color: rgb(0, 0, 0);"><thead data-end="500" data-start="445"><tr data-end="500" data-start="445" style="height: 29.6px; background-color: rgb(206, 212, 217);"><th class="align-center" data-col-size="sm" data-end="462" data-start="445" style="width: 26.95%; height: 29.6px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">État du voyant</span>**</th><th class="align-center" data-col-size="sm" data-end="478" data-start="462" style="width: 28.3539%; height: 29.6px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Signification</span>**</th><th data-col-size="md" data-end="500" data-start="478" style="width: 44.6961%; height: 29.6px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Action recommandée</span>**</th></tr></thead><tbody data-end="768" data-start="555"><tr data-end="651" data-start="555" style="height: 33.6px;"><td data-col-size="sm" data-end="577" data-start="555" style="width: 26.95%; height: 33.6px; background-color: rgb(45, 194, 107); border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">vert</span>**<span style="color: rgb(0, 0, 0);"> clignotant</span>**</td><td data-col-size="sm" data-end="612" data-start="577" style="width: 28.3539%; height: 33.6px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Démarrage</span></td><td data-col-size="md" data-end="651" data-start="612" style="width: 44.6961%; height: 33.6px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Attendre la fin de l’initialisation</span></td></tr><tr><td style="width: 26.95%; background-color: rgb(45, 194, 107); border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">vert **fixe**</span></td><td style="width: 28.3539%; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Fonctionnement normal</span></td><td style="width: 44.6961%; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">  
</span></td></tr><tr style="height: 29.6px;"><td style="width: 26.95%; height: 29.6px; background-color: rgb(224, 62, 45); border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">rouge **clignotant**</span></td><td style="width: 28.3539%; height: 29.6px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Erreur survenue</span></td><td style="width: 44.6961%; height: 29.6px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Réinitialiser le voyant depuis le menu "Paramètres"</span></td></tr></tbody></table>

</div></div>#### <span style="color: rgb(0, 0, 0);">1.2- Voyant "Wireless mode" - T</span><span style="color: rgb(0, 0, 0);">ransmissions vers les autres modules </span>


<table border="1" class="w-fit min-w-(--thread-content-width)" data-end="768" data-start="445" id="bkmrk-%C3%89tat-du-voyant-signi-1" style="width: 99.881%; height: 118.892px; border-collapse: collapse; border-color: rgb(0, 0, 0);"><thead><tr data-end="500" data-start="445" style="height: 29.7869px; background-color: rgb(206, 212, 217);"><td class="align-center" data-col-size="sm" data-end="462" data-start="445" style="width: 38.0597%; height: 29.7869px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">État du voyant</span>**</td><td class="align-center" data-col-size="sm" data-end="478" data-start="462" style="width: 61.9403%; height: 29.7869px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Signification</span>**</td></tr></thead><tbody data-end="768" data-start="555"><tr style="height: 29.7017px;"><td style="width: 38.0597%; background-color: rgb(53, 152, 219); border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">bleu **fixe**</span></td><td style="width: 61.9403%; border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">Transmissions activées </span></td></tr><tr style="height: 29.7017px;"><td style="width: 38.0597%; background-color: rgb(53, 152, 219); border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">bleu **clignotant**</span></td><td style="width: 61.9403%; border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">mode "appairage"</span></td></tr><tr style="height: 29.7017px;"><td style="width: 38.0597%; background-color: rgb(224, 62, 45); border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">rouge **fixe**</span></td><td style="width: 61.9403%; border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">Transmissions désactivées</span></td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">1.3- Voyant "Wi-Fi mode" - Connectivité</span>  


<table border="1" id="bkmrk-%C3%89tat-du-voyant-signi-2" style="border-collapse: collapse; width: 100%; height: 148.736px; border-width: 1px; border-color: rgb(0, 0, 0);"><colgroup><col style="width: 37.779%;"></col><col style="width: 62.2102%;"></col></colgroup><thead><tr style="background-color: rgb(206, 212, 217); height: 29.7585px;"><td class="align-center" data-col-size="sm" data-end="462" data-start="445" style="width: 18.5234%; height: 29.7585px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">État du voyant</span>**</td><td class="align-center" data-col-size="sm" data-end="478" data-start="462" style="width: 45.98%; height: 29.7585px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Signification</span>**</td></tr></thead><tbody><tr style="height: 29.7585px;"><td style="height: 29.7585px; background-color: rgb(45, 194, 107); border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">vert **fixe**</span></td><td style="height: 29.7585px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Connexion Wi-Fi active</span></td></tr><tr style="height: 29.7585px;"><td style="height: 29.7585px; background-color: rgb(45, 194, 107); border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">vert **clignotant**</span></td><td style="height: 29.7585px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">mode AP - routeur </span></td></tr><tr style="height: 29.7585px;"><td style="height: 29.7585px; background-color: rgb(185, 106, 217); border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">violet **fixe**</span></td><td style="height: 29.7585px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Tunnel SSH actif</span></td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px; border-color: rgb(0, 0, 0); background-color: rgb(230, 126, 35);"><span style="color: rgb(0, 0, 0);">orange **clignotant**</span>

</td><td style="height: 29.7017px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">Tunnel SSH inactif</span></td></tr><tr><td style="border-color: rgb(0, 0, 0); background-color: rgb(224, 62, 45);"><span style="color: rgb(0, 0, 0);">rouge **fixe**</span>

</td><td style="border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">absence de connexion Wi-Fi</span></td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">1.4- Voyant "Out" - Relais</span>

<table border="1" id="bkmrk-%C3%89tat-du-voyant-signi-3" style="border-collapse: collapse; width: 100%; height: 148.508px; border-width: 1px; border-color: rgb(0, 0, 0);"><colgroup><col style="width: 37.1824%;"></col><col style="width: 62.8176%;"></col></colgroup><thead><tr style="height: 29.7017px; background-color: rgb(206, 212, 217);"><td class="align-center" data-col-size="sm" data-end="462" data-start="445" style="width: 18.5234%; height: 29.7017px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">État du voyant</span>**</td><td class="align-center" data-col-size="sm" data-end="478" data-start="462" style="width: 45.98%; height: 29.7017px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Signification</span>**</td></tr></thead><tbody><tr style="height: 29.7017px;"><td style="border-color: rgb(0, 0, 0); height: 29.7017px;">**<span style="color: rgb(0, 0, 0);">Eteint</span>**</td><td style="border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">contacts 1 et 2 ouverts</span></td></tr><tr style="height: 29.7017px;"><td style="border-color: rgb(0, 0, 0); background-color: rgb(224, 62, 45); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">rouge **fixe**</span></td><td style="border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">contact 1 fermé / contact 2 ouvert</span></td></tr><tr style="height: 29.7017px;"><td style="border-color: rgb(0, 0, 0); background-color: rgb(53, 152, 219); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">bleu **fixe**</span></td><td style="border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">contact 2 fermé / contact 1 ouvert</span>

</td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px; border-color: rgb(0, 0, 0); background-color: rgb(185, 106, 217);"><span style="color: rgb(0, 0, 0);">violet **fixe**</span></td><td style="height: 29.7017px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">contacts 1 et 2 fermés</span></td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">1.5- Voyant "IN BT" - En</span><span style="color: rgb(0, 0, 0);">trées basse tension 24V </span>

<table border="1" id="bkmrk-%C3%89tat-du-voyant-signi-4" style="border-collapse: collapse; width: 100%; height: 148.508px; border-width: 1px; border-color: rgb(0, 0, 0);"><colgroup><col style="width: 37.183%;"></col><col style="width: 62.817%;"></col></colgroup><thead><tr style="height: 29.7017px; background-color: rgb(206, 212, 217);"><td class="align-center" data-col-size="sm" data-end="462" data-start="445" style="width: 18.5234%; height: 29.7017px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">État du voyant</span>**</td><td class="align-center" data-col-size="sm" data-end="478" data-start="462" style="width: 45.98%; height: 29.7017px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Signification</span>**</td></tr></thead><tbody><tr style="height: 29.7017px;"><td style="height: 29.7017px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">**Eteint**</span>

</td><td style="height: 29.7017px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">entrée 1 et 2 ouvertes</span></td></tr><tr style="height: 29.7017px;"><td style="height: 29.7017px; background-color: rgb(224, 62, 45); border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">rouge **fixe**</span>

</td><td style="height: 29.7017px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">entrée 1 fermée / entrée 2 ouverte</span></td></tr><tr style="height: 29.7017px;"><td style="background-color: rgb(53, 152, 219); border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">bleu **fixe**</span>

</td><td style="border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">entrée 2 fermée / entrée 1 ouverte</span></td></tr><tr style="height: 29.7017px;"><td style="background-color: rgb(185, 106, 217); border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">Violet **fixe**</span>

</td><td style="border-color: rgb(0, 0, 0); height: 29.7017px;"><span style="color: rgb(0, 0, 0);">entrée 1 et 2 fermées</span></td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">1.6- Voyant "IN AC" - E</span><span style="color: rgb(0, 0, 0);">ntrées 220 V</span>

<table border="1" id="bkmrk-%C3%89tat-du-voyant-signi-5" style="border-collapse: collapse; width: 100%; height: 119.188px; border-width: 1px; border-color: rgb(0, 0, 0);"><colgroup><col style="width: 37.5409%;"></col><col style="width: 62.4591%;"></col></colgroup><thead><tr style="background-color: rgb(206, 212, 217); height: 29.7969px;"><td class="align-center" data-col-size="sm" data-end="462" data-start="445" style="width: 18.5234%; height: 29.7969px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">État du voyant</span>**</td><td class="align-center" data-col-size="sm" data-end="478" data-start="462" style="width: 45.98%; height: 29.7969px; border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Signification</span>**</td></tr></thead><tbody><tr><td style="border-color: rgb(0, 0, 0);">**<span style="color: rgb(0, 0, 0);">Eteint</span>**</td><td style="border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">entrées 1 et 2 ouvertes</span></td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px; border-color: rgb(0, 0, 0); background-color: rgb(224, 62, 45);"><span style="color: rgb(0, 0, 0);">rouge **fixe**</span></td><td style="height: 29.7969px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">entrée 1 fermée / entrée 2 ouverte</span></td></tr><tr><td style="border-color: rgb(0, 0, 0); background-color: rgb(53, 152, 219);"><span style="color: rgb(0, 0, 0);">bleu **fixe**</span></td><td style="border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">entrée 2 fermée / entrée 1 ouverte</span></td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px; border-color: rgb(0, 0, 0); background-color: rgb(185, 106, 217);"><span style="color: rgb(0, 0, 0);">violet **fixe**</span></td><td style="height: 29.7969px; border-color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">entrée 1 et 2 fermées</span></td></tr></tbody></table>

### 2- Bloc de jonction à insertion

Le bloc de jonction à ressort est composé de 18 bornes réparties sur 2 rangées :

- Rangée du haut : bornes A1 à A9
- Rangée du bas : bornes B1 à B9

Il permet le raccordement rapide et sans vis (insertion directe) des alimentations, entrées, sorties relais et commandes.

[![Borniers.jpg](https://modlink.fr/help/uploads/images/gallery/2026-04/scaled-1680-/borniers.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-04/borniers.jpg)

#### 2.1- Affectation des bornes

<table border="1" id="bkmrk-18%C2%A0-%C2%A0-230-ac-%C2%A0-rla-1" style="border-collapse: collapse; width: 100%; border-width: 1px; height: 283px;"><colgroup><col style="width: 8.5796%;"></col><col style="width: 10.367%;"></col><col style="width: 10.4862%;"></col><col style="width: 10.0095%;"></col><col style="width: 10.9633%;"></col><col style="width: 12.154%;"></col><col style="width: 9.53289%;"></col><col style="width: 14.1802%;"></col><col style="width: 13.4652%;"></col></colgroup><tbody><tr style="background-color: rgb(236, 240, 241);"><td class="align-center" colspan="9"><span style="color: rgb(0, 0, 0);">*rangée haute*</span></td></tr><tr style="height: 29.7017px; background-color: rgb(230, 126, 35);"><td style="height: 29.7017px; border-color: rgb(255, 255, 255); border-style: solid; background-color: rgb(174, 100, 35);">**<span style="color: rgb(255, 255, 255);">A1</span>**

**<span style="color: rgb(0, 0, 0);">Phase</span>**

</td><td style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);">**<span style="color: rgb(255, 255, 255);">A2</span>**

**<span style="color: rgb(0, 0, 0);">Relais 1 COM</span>**

</td><td style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);">**<span style="color: rgb(255, 255, 255);">A3</span>**

**<span style="color: rgb(0, 0, 0);">Relais 1  
NO</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);">**<span style="color: rgb(255, 255, 255);">A4</span>**

**<span style="color: rgb(0, 0, 0);">Relais 2</span>**

**<span style="color: rgb(0, 0, 0);">COM</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);">**<span style="color: rgb(255, 255, 255);">A5</span>**

**<span style="color: rgb(0, 0, 0);">Relais 2</span>**

**<span style="color: rgb(0, 0, 0);">NO</span>**

</td><td class="align-center" style="height: 29.7017px;">**<span style="color: rgb(255, 255, 255);">A6</span>**

**<span style="color: rgb(0, 0, 0);">Entrée 220V</span>**

**<span style="color: rgb(0, 0, 0);">1</span>**

</td><td style="height: 29.7017px; background-color: rgb(126, 140, 141);">**<span style="color: rgb(255, 255, 255);">A7</span>**

**<span style="color: rgb(0, 0, 0);">GND</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);">**<span style="color: rgb(255, 255, 255);">A8</span>**

**<span style="color: rgb(0, 0, 0);">Alim 24V 1</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);">**<span style="color: rgb(255, 255, 255);">A9</span>**

**<span style="color: rgb(0, 0, 0);">Alim 24V 2</span>**

</td></tr><tr style="background-color: rgb(236, 240, 241);"><td class="align-center" colspan="9" style="border-color: rgb(236, 240, 241); border-style: solid;"><span style="color: rgb(0, 0, 0);">*rangée basse*</span></td></tr><tr style="height: 29.7017px; background-color: rgb(230, 126, 35);"><td style="height: 29.7017px; border-color: rgb(255, 255, 255); border-style: solid; background-color: rgb(53, 152, 219);">**<span style="color: rgb(255, 255, 255);">B1</span>**

**<span style="color: rgb(0, 0, 0);">Neutre</span>**

</td><td class="align-center" style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);">**<span style="color: rgb(255, 255, 255);">B2</span>**

**<span style="color: rgb(0, 0, 0);">Relais 1</span>**

**<span style="color: rgb(0, 0, 0);">COM</span>**

</td><td class="align-center" style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);">**<span style="color: rgb(255, 255, 255);">B3</span>**

**<span style="color: rgb(0, 0, 0);">Relais 1</span>**

**<span style="color: rgb(0, 0, 0);">NO</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);">**<span style="color: rgb(255, 255, 255);">B4</span>**

**<span style="color: rgb(0, 0, 0);">R</span><span style="color: rgb(0, 0, 0);">elais 2</span>**

**<span style="color: rgb(0, 0, 0);">COM</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);">**<span style="color: rgb(255, 255, 255);">B5</span>**

**<span style="color: rgb(0, 0, 0);">Relais 2</span>**

**<span style="color: rgb(0, 0, 0);">NO</span>**

</td><td class="align-center" style="height: 29.7017px;">**<span style="color: rgb(255, 255, 255);">B6</span>**

**<span style="color: rgb(0, 0, 0);">Entrée 220V</span>**

**<span style="color: rgb(0, 0, 0);">2</span>**

</td><td style="height: 29.7017px; background-color: rgb(126, 140, 141);">**<span style="color: rgb(255, 255, 255);">B7</span>**

**<span style="color: rgb(0, 0, 0);">GND</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);">**<span style="color: rgb(255, 255, 255);">B8</span>**

**<span style="color: rgb(0, 0, 0);">Entrée BT 1</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);">**<span style="color: rgb(255, 255, 255);">B9</span>**

**<span style="color: rgb(0, 0, 0);">E</span><span style="color: rgb(0, 0, 0);">ntrée BT 2</span>**

</td></tr><tr style="background-color: rgb(22, 145, 121);"><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**230 AC**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 1**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 1**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 2**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 2**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**2 in AC**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**GND**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**in 1 BT**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**in 2 BT**</span>

</td></tr></tbody></table>

- <span style="color: rgb(0, 0, 0);">Vérifier la **correspondance des tensions** avant raccordement (notamment l’entrée 230 V)</span>
- <span style="color: rgb(0, 0, 0);">Respecter les **sections de câbles** adaptées au courant utilisé</span>
- <span style="color: rgb(0, 0, 0);">S’assurer du bon enclenchement des conducteurs dans les bornes à ressort</span>
- <span style="color: rgb(0, 0, 0);">Couper l’alimentation avant toute intervention</span>

# Caractéristiques techniques

- **2 entrées 24 V configurables** (analogique / numérique)  
    \- ToR  
    \- 4/20 mA
- **2 entrées universelles numériques 220V**
- **2 sorties ToR 32A**  
    \- contacts libres de potentiel  
    \- mesure de courant intégrée  
    \- commutation au zéro crossing (moins d'arcs, moins de parasites)
- Logique autonome stockée sur l'objet, scénarios en boucle continue
- Pilotage et visualisation via navigateur Web (pas d'application mobile)
- 2 entrées 12/48 V configurables (ToR ou 4-20mA)
- Horloge en temps réel (RTC)
- Planification
- Journalisation
- Notifications par email et SMS
- Redémarrage automatique
- Montage : rail DIN / mural
- Protocoles : HTTP, XML, Modbus TCP/IP, SNMP, SMTP, Services distants
- Communication en peer-to-peer pour un partage des données en temps réél
- Caractéristiques physiques  
    \- température de fonctionnement : -40°C à 65.5°C  
    \- dimensions : ??mm de large,?? mm de hauteur, ?? mm de profondeur- Poids : ??grammes  
    \- matière du boîtier : plastique polycarbonate  
    \- résistance du boîtier à la flamme : UL94 V0
- Alimentation  
    \- voltage :  
    \- courant :
- Relais 1  
    \- voltage max :  
    \- courant max :  
    \- type de contact :  
    \- type de charge :  
    \- résistance du contact :  
    \- fonctionnement : ON / OFF ou impulsionnel  
    \- durée du temporisation d'impulsion :
- Entrée 1  
    \- type : isolation optique  
    \- plage de tension :  
    \- voltage :
- Connectivité   
    \- Communication TCP / IP (Ethernet / WiFi)  
     *installation sans câblage complexe  
    -* Adressage simplifié (DHCP / mDNS)  
     *pour une intégration réseau fluide  
    -* Serveur OPC UA  
     compatibilité immédiate avec les serveurs GTB / GTC et SCADA  
    \- Communication inter-modules sur le même réseau (découverte auto mDNS)  
     v*ariables partagées entre modules sans serveur central  
    -* Accès distant via tunnel SSH sortant (pas de cloud public)  
     *accès sécurisé sans redirection de ports  
    -* Connexions chiffrées  
     *TLS et protections anti-rejeu actives*
- Pas de câblage complexe

# Garantie

Le matériel est garanti 2 ans (pièces et main d'oeuvre)

# Notions clés de ModLink

**Présentation des concepts fondamentaux nécessaires à la compréhension du fonctionnement du système.**  
**Ces notions sont utilisées dans l’ensemble de la configuration et de l’exploitation.**

# Interface d'administration

L’interface d’administration constitue le point d’accès central aux fonctions de **configuration, de supervision et de maintenance** de l’installation. Elle permet à l’intégrateur de paramétrer les équipements, configurer le WiFi, gérer les variables et concevoir les scénarios d’automatisation.   
L’accès à l’interface se fait directement depuis un navigateur internet - que ce soit sur un ordinateur ou un smartphone - sans nécessiter de télécharger une application dédiée. Pour certaines opérations, comme la conception et la gestion des scénarios, il est toutefois recommandé d’utiliser un ordinateur afin de bénéficier d’une meilleure visibilité et d’un confort d’édition optimal.

La **page d’accueil** se présente sous la forme d’un tableau de bord regroupant des **raccourcis d’accès direct** aux fonctionnalités principales de l’interface. Ces raccourcis permettent de naviguer et d'accéder rapidement aux fonctions essentielles pour effectuer des opérations de configuration, de diagnostic ou de maintenance :

- widgets
- scénarios
- objets
- variables

[![Capture d’écran 2026-06-04 181045.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-04-181045.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-04-181045.jpg)

### 1- Administration d’un ou de plusieurs modules

L’intégrateur peut utiliser l’interface pour administrer :

- **Un module unique** : accéder et configurer directement les paramètres, variables et scénarios spécifiques à ce module
- **Un groupe de modules** : appliquer des configurations communes, synchroniser des scénarios ou superviser plusieurs modules simultanément

Cette flexibilité permet de gérer efficacement des installations individuelles comme des parcs multi-modules.

### 2- Paramètres d’affichage et de langue

L’interface permet également de personnaliser l’expérience utilisateur :

- **Choix de la langue** de l’interface
- **Mode d’affichage** : possibilité de choisir entre **mode clair** et **mode sombre** pour optimiser la lisibilité et le confort visuel selon l’environnement

### 3- Navigation et ergonomie

<p class="callout info">La **barre d’icônes de visualisation** affichée sur la droite de l'écran permet de :  
- agrandir la vue  
- réduire la vue  
- recentrer l’affichage sur la zone des blocs scénario  
- verrouiller et déverrouiller les blocs  
- réinitialiser l'édition de blocs</p>

# Connectivité et accès distant

### 1- Accès distant au module ModLink

- Se connecter au réseau Wi‑Fi du module
- Dans un navigateur, entrer directement dans la barre d'adresse : ### <span style="color: rgb(52, 73, 94);">**2pio\_ \_ \_ \_.modlink.fr** </span>
    
    **\_ \_ \_ \_** *étant l'identifiant du module (4 caractères, chiffres &amp; lettres)*
- Le portail web du module s’ouvre automatiquement sans configuration IP préalable  
    *simplifie l'accès et évite les erreurs liées à l'adresse IP*

<p class="callout success">- fonctionne en mode AP et en mode client (sur le même réseau local)  
- aucun cloud applicatif  
- chaque module ouvre un tunnel SSH sortant vers un serveur  
- accès sécurisé depuis n'importe où</p>

### 2- Modes de connexion à Internet

- **Mode AP** avec portail captif  
    \- ModLink crée son propre réseau Wi‑Fi  
    \- Connexion directe via portail captif pour accéder à Internet
- **Mode client / serveur** - connexion via un routeur Wi‑Fi   
    \- réseau local existant  
    \- réseau isolé dédié aux IoT  
    ModLink se connecte comme client à un réseau local Wi-Fi
- Connexion via un **routeur 4G** ModLink se conncte à Internet via un réseau cellulaire

<p class="callout success">**Bonnes pratiques** :   
- Utiliser le mode AP pour la *configuration initiale*  
- Privilégier un *réseau isolé* pour les IoT  
- *Sécuriser* les réseaux, documenter les paramètres, vérifier la *stabilité du signal*</p>

### 3- Adressage IP

- DHCP avec annonce mDNS
- Possibilité de configuration avec une adresse fixe
- Découverte automatique des autres modules par mDNS

# Comptes utilisateurs, rôles et permissions

Les **comptes utilisateurs** permettent d’identifier les personnes accédant au système et de définir leurs droits.   
Chaque compte possède un identifiant, un mot de passe et un rôle déterminant les actions autorisées.  
Le système permet de créer, modifier et supprimer des comptes, d’attribuer des rôles, des permissions et de restreindre l'accès aux pages de l'interface.

Deux **rôles** sont disponibles pour les comptes utilisateurs :

### 1- Installateur

<p class="callout info"><span style="color: rgb(52, 73, 94);">Nombre d'accès autorisés : 5  
  
</span><span style="color: rgb(52, 73, 94);">Destiné aux personnes chargées de l'installation, de la configuration et de la maintenance du système.   
Ce rôle permet d'accéder à </span><span style="color: rgb(52, 73, 94);">l'ensemble des fonctions avancées de configuration, d'administration et de mise en service selon les permissions accordées</span>  
</p>

### 2- Utilisateur

<p class="callout info"><span style="color: rgb(52, 73, 94);">Nombre d'accès autorisés : 10  
  
Destiné à l'exploitation quotidienne du système par l'utilisateur final.   
Ce rôle dispose d'un accès limité aux fonctionnalités et ne peut pas accéder à la gestion ni à l'administration des comptes</span></p>

# Entrées et sorties

### 1- Entrées

- **2 entrées basse tension configurables** :  
    \- ToR  
    \- 4 / 20 mA
- **2 entrées haute tension 220V**

<p class="callout info">Les entrées sont accessibles dans le système sous forme de **variables lisibles** Leur exploitation dépend des **droits** et de l'**exposition**</p>

### 2- Sorties

<span style="font-size: 10.0pt; mso-bidi-font-size: 12.0pt; font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font: 7.0pt 'Times New Roman';"> </span></span></span>**<span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">2 sorties de puissance</span>** :  
\- courant maximal <span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">50 A  
</span>- contacts <span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">libres de potentiel  
<span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">- m</span>esure de courant intégrée  
</span><span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">- commutation au zéro crossing</span> (réduction des contraintes électriques et des perturbations)

<p class="callout info">Les sorties sont commandées par **écriture de variables** La communication est réalisée au **zéro crossing** La **mesure de courant** peut être exploitée dans les scénarios</p>

# Les variables

Les **variables** sont des éléments essentiels du système, elles permettant de **suivre, stocker et transmettre des informations** au sein de l’installation.   
Elles peuvent représenter l’état d’un équipement, une mesure, une valeur calculée ou tout autre paramètre nécessaire à la gestion des scénarios et des automatismes.

<p class="callout info">Une **variable**, c'est comme une lampe témoin sur un tableau de bord</p>

### 1- Types de variables

<p class="callout info">On distingue deux principaux types de variables :  
- Les **variables d’état** (variables en lecture) reflètent une situation ou l'état d'un équipement, d'un processus  
- Les **variables de commande** (variables en écriture) utilisées pour piloter un équipement ou modifier un état</p>

Une variable peut représenter :

- l'état ou la commande d'une entrée
- l’état ou la commande d’une sortie
- une valeur intermédiaire de calcul
- un état destiné à l’interface utilisateur

#### <span role="text">1.1- Variables pour un interrupteur</span>

Un interrupteur peut avoir des variables liées à son état et à son fonctionnement. Ces variables sont souvent mises à jour automatiquement par le système en temps réel.

- **État** : ON / OFF (1 ou 0)
- **Historique** : dernière action, timestamp du dernier changement
- **Mode** : manuel / automatique / scénario
- **Durée d’activation** : combien de temps il est resté actif

*Exemple de nommage* : `interrupteur_salon_etat`, `interrupteur_chambre_mode`

#### <span role="text">1.2- Variables pour un capteur</span>

Ces variables stockent des valeurs numériques ou textuelles utilisées dans les calculs ou scénarios, elles peuvent être modifiées manuellement ou automatiquement par le système.  
Selon le type de capteur, on peut créer des variables spécifiques :

- **Capteur de mouvement** : 
    - `mouvement_detecte` (booléen)
    - `derniere_detection` (timestamp)

- **Capteur de température / humidité** : 
    - `temperature_salon` (float, en °C)
    - `humidite_salon` (float, en %)

- **Capteur de luminosité** : 
    - `luminosite_salon` (lux)
    - `luminosite_seuil` (valeur pour déclencher scénario)

#### 1.3- Variables combinées pour scénarios

Ces variables sont utilisées pour piloter la logique des scénarios d’automatisation. Elles peuvent servir de conditions ou de déclencheurs pour activer des actions spécifiques.  
On peut ainsi créer des variables logiques basées sur plusieurs entrées :

- `presence_detectee = mouvement_detecte AND luminosite_salon < seuil`
- `interrupteur_auto = ON si presence_detectee = true`

### 2- Communication entre modules : les drapeaux partagés

<p class="callout info">Lorsque plusieurs modules sont utilisés ensemble, ils peuvent échanger des informations grâce au **partage de variables et de scénarios**</p>

<p class="callout success">Imaginez deux agents indépendants qui font leur ronde chacun dans leur coin : *ils ne se parlent pas directement mais ils peuvent voir les mêmes lampes témoin sur leur tableau de bord respectif.*  
  
C'est comme un *fil électrique invisible entre deux modules*. Lorsqu'un scénario sur le premier module « lève un drapeau » en modifiant une variable partagée, le second module voit ce changement et peut immédiatement exécuter les actions prévues dans son propre scénario. Les variables partagées servent ainsi de moyen de communication entre les modules</p>

#### 2.1- Exposition des variables

Lors de la création ou du paramétrage, chaque variable peut être exposée vers :

- scénarios locaux
- autres modules ModLink
- Modbus
- OPC UA
- accès non sécurisé (si autorisé)

La **<span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">portée</span>** (locale ou distante) dépend exclusivement de ce paramétrage.

#### 2.2- Utilisation des variables

- Les variables permettent de **centraliser les informations** et de les rendre accessibles à différents modules et scénarios
- Les variables disponibles et préconfigurées s’affichent directement sur la page d’accueil sous forme de raccourcis. Seules les 7 premières s'affichent, pour consulter l’ensemble des variables, cliquer sur **“Afficher plus”** pour ouvrir le menu **Variables** et visualiser toutes les variables disponibles
- Elles facilitent la **supervision et le diagnostic**, car l’intégrateur peut vérifier les valeurs en temps réel pour identifier des dysfonctionnements ou ajuster les comportements des scénarios

<p class="callout info"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
  
- Nommer les variables de manière **claire et cohérente** pour faciliter leur identification  
- Définir **précisément la valeur** et le type d'unité le cas échéant pour éviter les erreurs dans les scénarios  
- Utiliser les variables comme **points de contrôle pour les commandes** </p>

# Scénario (automation)

### 1- Définition

Un **scénario** est un ensemble de règles qui détermine le comportement d'un module.

<p class="callout info">Le **scénario**, c'est la liste des consignes que le module exécute à chaque cycle de fonctionnement</p>

ModLink peut gérer jusqu'à **3 scénarios**, exécutés de manière autonome et pouvant être **activés** ou **désactivés** indépendamment.

<p class="callout info">Lorsque plusieurs modules sont utilisés ensemble, ils peuvent échanger des informations grâce au **partage des variables, des entrées et des sorties**  
</p>

### 2- Principe de fonctionnement

Un scénario fonctionne selon le principe d’une **boucle d’exécution continue**

- les conditions sont analysées en permanence,
- les tests sont exécutés dans l'ordre défini,
- lorsqu'une condition est satisfaite, l'action correspondante est exécutée,
- dans le cas contraire, le scénario poursuit son exécution selon la logique configurée

<p class="callout success">Tel un agent de sécurité qui effectue des rondes, le scénario surveille en permanence différents points de contrôle dans un ordre défini :  
- les <span style="text-decoration: underline;">entrées</span> (voyants, ouvrants, environnement ...)  
- les <span style="text-decoration: underline;">sorties</span> (interrupteur, vanne, alerte ...)  
- les <span style="text-decoration: underline;">variables</span> (rapports des agents précédents)  
Une fois l’ensemble des vérifications effectué, le cycle se répète en permanence</p>

<details id="bkmrk-comprendre-le-princi"><summary>Comprendre le principe de fonctionnement d'un scénario</summary>

<span style="color: rgb(52, 73, 94);">**Cette section présente un *exemple de scénario.*  
Le *visuel* est accompagné d'une *description des différents blocs utilisés*, afin de faciliter la compréhension de leurs rôles et de leurs interactions.**</span>

##### **Surveillance d'une pompe de relevage** 

<span style="text-decoration: underline;">Fonctionnement général</span> :  
Ce scénario pilote une pompe de relevage (sortie 1) et surveille son bon fonctionnement : la pompe démarre lorsque le niveau haut est atteint et s'arrête lorsque le niveau bas est atteint.   
Le scénario surveille deux capteurs :  
\- capteur niveau haut (entrée 1) : indique que la cuve est pleine et qu'il faut démarrer la pompe  
\- capteur niveau bas (entrée 2) : indique que la cuve est suffisamment vidée et que la pompe peut être arrêtée  
Le scénario stoppe le processus et envoie un SMS d'alerte si la cuve n'a pas commencé à se vider après 60 secondes. Il vérifie également qu'aucun défaut n'est déjà signalé avant de lancer un nouveau cycle.

[![Scénario exemple pompe.png](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/ebWscenario-exemple-pompe.png)](https://modlink.fr/help/uploads/images/gallery/2026-06/ebWscenario-exemple-pompe.png)

- **<span style="color: rgb(52, 73, 94);"><span style="background-color: rgb(194, 224, 244);">Label "DEBUT"  
    </span>*Point de départ du scénario (lors de la mise sous tension du module et du redémarrage du système)*   
    </span>**
- **<span style="color: rgb(52, 73, 94);"><span style="background-color: rgb(194, 224, 244);">Bloc 9 "TEST VARIABLE" / Test état de la pompe</span>  
    *Vérifie la variable "état de la pompe"* </span>**<span style="color: rgb(52, 73, 94);">*- égale à 1 "pompe fonctionnelle" <span style="color: rgb(186, 55, 42);">→ va au bloc 1 "TEST STATE"</span>*</span><span style="color: rgb(52, 73, 94);"> *- égale à 0 "pompe en défaut" <span style="color: rgb(186, 55, 42);">→ retour au début du scénario "LABEL DEBUT"  
    </span>*<span style="color: rgb(68, 68, 68);">le processus est arrêté jusqu'à ce que l'agent de maintenance réinitialise le défaut (à l'aide du widget "état de la pompe")</span>  
      
    </span>
- **<span style="color: rgb(52, 73, 94);"><span style="background-color: rgb(194, 224, 244);">Bloc 1 : "TEST STATE" / Test niveau haut atteint</span>  
    </span>*****Teste le capteur de niveau haut (entrée 1) - le niveau haut est-il atteint ?***  
    \- si ON (la cuve est pleine) <span style="color: rgb(186, 55, 42);">→ va au bloc 2 "SORTIE SIMPLE"</span>  
    \- si OFF (la cuve n'est pas pleine) <span style="color: rgb(186, 55, 42);">→ retour au début du bloc 1 "TEST STATE"</span>
- **<span style="background-color: rgb(194, 224, 244);">Bloc 2 "SORTIE SIMPLE" / Pompe ON</span>  
    *Active la sortie 1* la pompe démarre et commence à évacuer l'eau *<span style="color: rgb(186, 55, 42);">→ </span>***<span style="color: rgb(186, 55, 42);">va ensuite au bloc 3 "TEST TIMER"</span>
- **<span style="background-color: rgb(194, 224, 244);">Bloc 4 "TEST TIMER" / Temporisation avant défaut</span> *Lance une temporisation de 60 secondes, au bout de laquelle s'il n'y a pas eu de changement d'état du capteur de niveau haut (entrée 1), on estime qu'il y a une anomalie de la pompe, on continue alors vers le bloc 7 "ENVOI SMS"*** <span style="color: rgb(22, 145, 121);">"*Condition par défaut / test en cours*"</span> <span style="color: rgb(186, 55, 42);">→ </span><span style="color: rgb(186, 55, 42);">va au bloc 3 "TEST STATE" tant que le décompte n'est pas terminé</span>  
    <span style="color: rgb(22, 145, 121);">*"GOTO1 time elapsed"* </span>: une fois le temps écoulé, si l'état de la variable "niveau haut" n'a toujours pas changé (le niveau de la cuve n'a pas diminué malgré le fonctionnement de la pompe) on estime qu'il y a un défaut <span style="color: rgb(186, 55, 42);">→ va au bloc 7 "ENVOI SMS"</span>
- <span style="background-color: rgb(194, 224, 244);">**Bloc 3 "TEST STATE" Test vidange commencée** </span>***Teste le niveau du capteur haut (entrée 1)** On s'attend à ce que le niveau du capteur baisse. Si le niveau n'a pas changé au bout de 60 secondes, on sort en anomalie au niveau du bloc 4.* si ON (contact fermé : le capteur haut n'a pas changé d'état) *<span style="color: rgb(186, 55, 42);">**→** </span>*<span style="color: rgb(186, 55, 42);">retourne</span>*<span style="color: rgb(186, 55, 42);"> </span>*<span style="color: rgb(186, 55, 42);">au bloc 4 "TEST TIMER"   
    <span style="color: rgb(52, 73, 94);">si OFF (contact ouvert : le niveau a baissé avant les 60 secondes) </span></span>*<span style="color: rgb(186, 55, 42);">**→** </span>*<span style="color: rgb(186, 55, 42);">va</span>*<span style="color: rgb(186, 55, 42);"> </span>*<span style="color: rgb(186, 55, 42);">au bloc 6 "TEST NIVEAU BAS ATTEINT"   
      
    </span>**<span style="color: rgb(52, 73, 94);"><span style="background-color: rgb(194, 224, 244);">Bloc 6 : "TEST STATE" / Test niveau bas atteint</span>  
    </span>*****Teste le capteur de niveau bas (entrée 2) - le niveau bas est-il atteint ?***  
    \- si ON (le niveau bas n'est pas encore atteint : la cuve n'est pas encore vide ) <span style="color: rgb(186, 55, 42);">→ retour au début du bloc 6 "TEST STATE"</span>  
    \- si OFF (le niveau bas est atteint : la cuve est vide) <span style="color: rgb(186, 55, 42);">→ va au bloc 10 "SORTIE SIMPLE"  
      
    </span>
- **<span style="background-color: rgb(194, 224, 244);">Bloc 10 "SORTIE SIMPLE" / Pompe Off</span>  
    *Arrête la sortie 1*** la pompe est stoppée ***<span style="color: rgb(186, 55, 42);">→ </span>***<span style="color: rgb(186, 55, 42);">va ensuite au bloc 11 "GOTO START"</span>
- <span style="background-color: rgb(194, 224, 244);">**Bloc 7 "ENVOI SMS" / ENVOI SMS**</span>  
    ***Envoie une alerte par SMS*** <span style="color: rgb(186, 55, 42);">***→*** va ensuite au bloc 5 "VALEUR VARIABLE"</span>  
    personnalisation du message et du numéro de Smartphone
- <span style="background-color: rgb(194, 224, 244);">**Bloc 5 "VALEUR VARIABLE" / Pompe en défaut**</span>  
    ***Fixe la valeur de l'état de la pompe à 1 (pompe en défaut) <span style="color: rgb(186, 55, 42);">→ </span>***<span style="color: rgb(186, 55, 42);">va ensuite au bloc 8 "GOTO START"  
    </span>*Visualisation de l'état de la pompe depuis l'application et possibilité pour le technicien de bloquer le processus de fonctionnement*
- **<span style="background-color: rgb(194, 224, 244);">Bloc 8 "GOTO START" / Retour au début</span>  
    *Retour au début du scénario (boucle) <span style="color: rgb(52, 73, 94);"><span style="color: rgb(186, 55, 42);">→ </span></span>****<span style="color: rgb(52, 73, 94);"><span style="color: rgb(186, 55, 42);">va au bloc 9 "TEST VARIABLE"</span></span>*

<p class="callout warning">Ce scénario nécessite la création préalable d'une variable nommée **« état de la pompe »**</p>

##### <span style="color: rgb(68, 68, 68);">**Widgets : </span>

<span style="color: rgb(68, 68, 68);">Pour ce scénario, 4 widgets ont été créés</span>

- ##### <span style="color: rgb(126, 140, 141);"><span style="color: rgb(68, 68, 68);"><span style="color: rgb(126, 140, 141);">Widget pour l'</span>**<span style="background-color: rgb(236, 240, 241); color: rgb(126, 140, 141);">état de la pompe</span>**</span></span>

<span style="color: rgb(126, 140, 141);">Il permet au technicien d'**activer** ou bien de **mettre en défaut** la pompe de relevage, après la réception du SMS d'alerte</span>

[![Widget Anomalie pompe fonctinnelle bis.PNG](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/widget-anomalie-pompe-fonctinnelle-bis.PNG)](https://modlink.fr/help/uploads/images/gallery/2026-06/widget-anomalie-pompe-fonctinnelle-bis.PNG)

<span style="color: rgb(224, 62, 45);">**OU**</span>

[![Widget Anomalie pompe en defaut bis.PNG](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/widget-anomalie-pompe-en-defaut-bis.PNG)](https://modlink.fr/help/uploads/images/gallery/2026-06/widget-anomalie-pompe-en-defaut-bis.PNG)

- ##### <span style="color: rgb(126, 140, 141);">Widgets de visualisation des <span style="background-color: rgb(236, 240, 241);">**niveaux de la cuve**</span> :</span>

[![Widget niveau haut atteint.PNG](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/widget-niveau-haut-atteint.PNG)](https://modlink.fr/help/uploads/images/gallery/2026-06/widget-niveau-haut-atteint.PNG)

<span style="color: rgb(224, 62, 45);">**OU**</span>

<span style="color: rgb(224, 62, 45);">**[![Widget niveau haut intermediaire.PNG](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/widget-niveau-haut-intermediaire.PNG)](https://modlink.fr/help/uploads/images/gallery/2026-06/widget-niveau-haut-intermediaire.PNG)**</span>

---

[![Widget niveau bas intermediaire.PNG](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/widget-niveau-bas-intermediaire.PNG)](https://modlink.fr/help/uploads/images/gallery/2026-06/widget-niveau-bas-intermediaire.PNG)

**<span style="color: rgb(224, 62, 45);">OU</span>**

[![Widget niveau bas atteint.PNG](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/widget-niveau-bas-atteint.PNG)](https://modlink.fr/help/uploads/images/gallery/2026-06/widget-niveau-bas-atteint.PNG)

<p class="callout info">Ce scénario est fourni à titre d'exemple et présente un cas d'usage simple.   
Selon les besoins de l'installation, il peut être enrichi par des fonctions avancées telles que la surveillance de la tension ou du courant de la pompe, l'envoi d'alertes par e-mail, l'affichage de défauts sur d'autres modules, la gestion d'une pompe de secours, ou toute autre logique de contrôle adaptée à l'application.</p>

<span style="color: rgb(230, 126, 35);">**Pour plus d'information, consulter [Gestion des scénarios](https://modlink.fr/help/books/2-pio/chapter/gestion-des-scenarios "Gestion des scénarios")**</span>

</details>

# Widgets utilisateurs

Les widgets sont principalement destinés aux **<span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">opérateurs et utilisateurs finaux</span>**.  
Ils permettent :

- le contrôle des appareils
- la visualisation des données des capteurs

### 1- Types de widgets disponibles

- interrupteur
- switch à glissière
- variateur
- variateur d'ouvrant
- capteur
- voyant d'état

### 2- Liaison avec les variables

Chaque widget est lié à une ou plusieurs variables, locales ou distantes selon les droits définis.

# Cas d'usages

De la surveillance industrielle à la gestion énergétique, en passant par la maintenance prédictive, le suivi environnemental ou encore le contrôle d'accès, ModLink s'adapte à tous vos besoins

# Supervision en milieu industriel, Industrie 4.0

## **<span style="font-size: 12.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Commande à distance :</span>**

<span style="font-size: 12.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">contrôle d'équipements sur mesure   
\- éclairages  
\- vannes  
\- pompes  
\- moteurs</span>

- <span style="font-size: 12.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="text-decoration: underline;">Exemples de cas d'usages</span> :  
    - Surveillance des machines en temps réel, pilotage automatique avec seuils configurables ...  
    </span><span style="font-size: 12.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">- Historique et rapports de maintenance ; intervention préventive en cas d'anomalie  
    - Détection de défauts : pilotage automatique avec seuils configurables  
    - Economies d'énergie  
    - Gestion des alarmes techniques : notifications instantanées en cas d'anomalie  
    </span><span style="font-size: 12.0pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">- Gestion des contrôles d'accès</span>


### *Exemple de cas d'usage :*  
Gestion de deux pompes de relevage

**ModLink** est utilisé pour piloter et sécuriser le fonctionnement de deux pompes de relevage en alternance et en secours.

#### Fonctionnement

- Deux pompes sont installées : **Pompe 1** et **Pompe 2**.
- Le système surveille en continu le niveau d’eau via un capteur de niveau.
- Lorsque le niveau d’eau dépasse le seuil haut, une pompe est activée.

#### Logique de fonctionnement

- En fonctionnement normal, les pompes fonctionnent **en alternance** pour équilibrer l’usure : 
    - Cycle 1 → Pompe 1 active
    - Cycle 2 → Pompe 2 active
- Si une pompe est en défaut, la seconde prend automatiquement le relais (**mode secours**).

#### Sécurité

- Si le niveau d’eau reste élevé trop longtemps, une alarme peut être déclenchée.
- En cas de défaut des deux pompes, une alerte est envoyée.

#### Action automatique

En cas d’anomalie (défaut pompe ou niveau critique persistant) :

- envoi d’un **email d’alerte automatique**
- possibilité d’activation d’un relais d’alarme externe

# Smartbuilding / GTB

- **Gestion de l'énergie : surveillance des consommation et ajustement selon les besoins**
- - Contrôle et régulation intelligente des systèmes CVC  
    \- Gestion intelligente de l'éclairage  
    \- Optimisation énergétique automatique  
    \- Pilotage BSO intelligent  
    \- Programmation horaire  
    \- Gestion des systèmes d'alerte intrusion

# Logistique et gestion de parc/multisite

<p class="callout success">- Suivi des équipements en temps réel  
- Notifications en cas d’anomalies  
- Automatisation des processus de surveillance et de maintenance</p>

# Redémarrage automatique de systèmes

<p class="callout info">ModLink est conçu pour fonctionner comme un **contrôleur de redémarrage** et offre de nombreuses options.  
Il peut être utilisé pour redémarrer à distance des serveurs, des ordinateurs et d'autres appareils via Internet, ou il peut être configuré pour redémarrer automatiquement les appareils lorsqu'ils ne répondent pas aux pings envoyés.</p>

- onduleurs, routeurs
- serveurs
- caméras IP
- appareils intelligents
- ordinateurs, postes de travail
- ouvre-portes de parkings

*Il existe trois façons de connecter ModLink à un appareil pour le redémarrer.*   
Les trois méthodes de redémarrage ont des exigences différentes en matière de connexion physique et de synchronisation du relais.

- ModLink peut être connecté en série avec la source d'alimentation de l'appareil et simplement allumer et  
    éteindre l'alimentation
- ModLink peut être connecté en parallèle avec l'interrupteur d'alimentation de l'appareil. Cela est utile pour les  
    appareils qui ne démarrent pas automatiquement lorsqu'ils sont mis sous tension. Ces appareils nécessitent que l'utilisateur appuie sur un interrupteur d'alimentation avant que l'appareil ne démarre.
- La troisième option consiste à connecter ModLink au circuit de réinitialisation d'un appareil. Dans cette configuration, le dispositif ne met pas l'appareil hors tension, mais provoque simplement sa réinitialisation.

# Continuité de service

<p class="callout info">Continuité de service garantie et intervention humaine programmée</p>

- monitoring permanent d'un équipement via l'entrée 220V
- détection de panne et identification automatique de la défaillance
- basculement sur équipement de secours
- notification immédiate

# Systèmes de secours modulaires

<p class="callout success">Basculement automatique entre alimentations</p>

# Contrôle et surveillance en temps réél

<p class="callout info">- Solution de contrôle / commande qui s'adapte à tout système  
- Facilite l'intégration de fonctionnalités liées au concept d'industrie 4.0  
- <span class="a_GcMg font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none">Logique en boucle, cycle d’exécution continu et en temps réel  
</span>- S<span class="a_GcMg font-feature-liga-off font-feature-clig-off font-feature-calt-off text-decoration-none text-strikethrough-none">urveillance et rafraîchissement constant des données</span></p>

- Capteurs (température, environnement ...)
- Contacts secs
- Contrôles d'accès
- Centres de données
- Niveaux (liquides, solides, pression ...)

### Exemple de cas d'usage :   
*Surveillance continue de la température d’une chambre froide et déclenchement d' alerte en cas d’anomalie*

#### Fonctionnement

- La température est **analysée en continu** via une sonde connectée au système.
- Le système vérifie si la température reste dans une plage définie : **entre -17°C et -20°C**.
- Cette plage correspond à une zone de fonctionnement normal.

#### Détection d’anomalie

Une alerte est déclenchée si la température sort de la plage définie, par exemple :

- supérieure à -17°C
- inférieure à -20°C

#### Action automatique

En cas de détection d’anomalie :

- un **email d’alerte est envoyé automatiquement** aux personnes concernées
- l’information permet une intervention rapide pour sécuriser la chaîne du froid

# Envoi de SMS, emails

# Installation et configuration

# Consignes de sécurité

- - Ne démontez pas le boîtier  
    \- Manipulez le boîtier avec précaution lorsqu'il est sous tension  
    \- L'appareil doit être installé par du personnel qualifié  
    \- L'appareil ne doit pas être installé directement à l'extérieur  
    \- L'appareil ne doit pas être utilisé à des fins médicales, pour sauver des vies ou à toute autre fin où sa défaillance pourrait causer des blessures graves ou la mort  
    ***Le non-respect de ces consignes entraîne l’annulation de la garantie du matériel***

#### Remarques relatives à la sécurité

De par sa conception, ModLink est très sécurisé. Il ne prend pas en charge les programmes de transfert de fichiers ou de terminaux tels que telnet, ftp, ssh, etc. Cela signifie qu'il est impossible pour quiconque de « s'introduire » dans ModLink et d'accéder à d'autres appareils sur votre réseau local.

ModLink prend pas en charge la mise à jour à distance du micrologiciel de manière très sécurisée, rendant impossible l'installation à distance de logiciels malveillants.   
La simplicité de ModLink en fait un appareil très sécurisé. Comme pour tout appareil à installer sur un réseau, certaines précautions de sécurité doivent être respectées. Si ModLink est installé sur Internet, il est recommandé de changer le mot de passe par défaut pour l'accès à l'interface Web. Veillez à utiliser des mots de passe sécurisés composés d'au moins 8 caractères et d'une combinaison de lettres majuscules, de lettres minuscules et de chiffres. N'utilisez pas de mots de passe faciles à deviner.   
Pour plus de sécurité, nous vous conseillons de mettre en place un pare-feu sur le routeur utilisé pour la connexion Internet de ModLink (pour limiter l'accès à certaines adresses IP).

# Montage et fixation

Monter le(s) module(s) dans le tableau électrique.

### 1- Préparation

\- Assurez-vous que l’alimentation électrique du réseau est coupée pour garantir la sécurité  
\- Portez les équipements de protection individuelle si nécessairE

### 2- Fixation du module sur le rail DIN

\- Vérifiez que le rail DIN est correctement installé et stable  
\- Placez le clip supérieur du module sur le bord supérieur du rail  
 *orientez le module de manière à ce que le clip de fixation arrière soit aligné avec le rail DIN  vérifiez que le module est positionné dans le bon sens par rapport aux autres modules ou au flux du réseau* - Appuyez doucement sur la partie inférieure du module jusqu’à ce que le clip inférieur se verrouille sur le rail  
 *vérifiez que le module est bien clipsé et qu’il ne bouge pas*

#####   
Vérification

\- Contrôlez que tous les modules sont correctement alignés et fixés sur le rail DIN

<p class="callout info">- placer le module ModLink dans un endroit sec et ventilé  
- éviter une exposition directe aux rayons du soleil et à l'humidité</p>

# Raccordement électrique

<p class="callout warning"><span style="color: rgb(106, 40, 2);">Assurez-vous que l'alimentation électrique est coupée avant de procéder au câblage.  
Respectez le schéma de câblage</span></p>

<p class="callout info"><span style="color: rgb(0, 0, 0);"><span style="color: rgb(52, 73, 94);">- Utilisez des câbles de section appropriée : 1,5 mm 16A / 2,5 mm 20A</span>  
<span style="color: rgb(52, 73, 94);">- Enficher les fils dans le bornier à insertion directe jusqu’en butée</span>  
<span style="color: rgb(52, 73, 94);">- Pour les retirer, appuyer sur le bouton orange du bornier et extraire le fil</span></span></p>

### 1- Tableau de raccordement

<span style="color: rgb(0, 0, 0);">Réaliser les connexions en vous référant au tableau suivant :</span>

<table border="1" id="bkmrk-18%C2%A0-%C2%A0-230-ac-%C2%A0-rla-1" style="border-collapse: collapse; width: 100%; border-width: 1px; height: 283px;"><colgroup><col style="width: 8.5796%;"></col><col style="width: 10.367%;"></col><col style="width: 10.4862%;"></col><col style="width: 10.0095%;"></col><col style="width: 10.9633%;"></col><col style="width: 12.154%;"></col><col style="width: 9.53289%;"></col><col style="width: 14.1802%;"></col><col style="width: 13.4652%;"></col></colgroup><tbody><tr style="background-color: rgb(236, 240, 241);"><td class="align-center" colspan="9"><span style="color: rgb(0, 0, 0);">*rangée haute*</span></td></tr><tr style="height: 29.7017px; background-color: rgb(230, 126, 35);"><td style="height: 29.7017px; border-color: rgb(255, 255, 255); border-style: solid; background-color: rgb(174, 100, 35);"><span style="color: rgb(255, 255, 255);">A1</span>

**<span style="color: rgb(0, 0, 0);">Phase</span>**

</td><td style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);"><span style="color: rgb(255, 255, 255);">A2</span>

**<span style="color: rgb(0, 0, 0);">Relais 1 COM</span>**

</td><td style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);"><span style="color: rgb(255, 255, 255);">A3</span>

**<span style="color: rgb(0, 0, 0);">Relais 1  
NO</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);"><span style="color: rgb(255, 255, 255);">A4</span>

**<span style="color: rgb(0, 0, 0);">Relais 2</span>**

**<span style="color: rgb(0, 0, 0);">COM</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);"><span style="color: rgb(255, 255, 255);">A5</span>

**<span style="color: rgb(0, 0, 0);">Relais 2</span>**

**<span style="color: rgb(0, 0, 0);">NO</span>**

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(255, 255, 255);">A6</span>

**<span style="color: rgb(0, 0, 0);">Entrée 220V</span>**

**<span style="color: rgb(0, 0, 0);">1</span>**

</td><td style="height: 29.7017px; background-color: rgb(126, 140, 141);"><span style="color: rgb(255, 255, 255);">A7</span>

**<span style="color: rgb(0, 0, 0);">GND</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);"><span style="color: rgb(255, 255, 255);">A8</span>

**<span style="color: rgb(0, 0, 0);">Alim 24V 1</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);"><span style="color: rgb(255, 255, 255);">A9</span>

**<span style="color: rgb(0, 0, 0);">Alim 24V 2</span>**

</td></tr><tr style="background-color: rgb(236, 240, 241);"><td class="align-center" colspan="9" style="border-color: rgb(236, 240, 241); border-style: solid;"><span style="color: rgb(0, 0, 0);">*rangée basse*</span></td></tr><tr style="height: 29.7017px; background-color: rgb(230, 126, 35);"><td style="height: 29.7017px; border-color: rgb(255, 255, 255); border-style: solid; background-color: rgb(53, 152, 219);"><span style="color: rgb(255, 255, 255);">B1</span>

**<span style="color: rgb(0, 0, 0);">Neutre</span>**

</td><td class="align-center" style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);"><span style="color: rgb(255, 255, 255);">B2</span>

**<span style="color: rgb(0, 0, 0);">Relais 1</span>**

**<span style="color: rgb(0, 0, 0);">COM</span>**

</td><td class="align-center" style="height: 29.7017px; border-color: rgb(236, 240, 241); border-style: solid; background-color: rgb(186, 55, 42);"><span style="color: rgb(255, 255, 255);">B3</span>

**<span style="color: rgb(0, 0, 0);">Relais 1</span>**

**<span style="color: rgb(0, 0, 0);">NO</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);"><span style="color: rgb(255, 255, 255);">B4</span>

**<span style="color: rgb(0, 0, 0);">R</span><span style="color: rgb(0, 0, 0);">elais 2</span>**

**<span style="color: rgb(0, 0, 0);">COM</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(224, 62, 45);"><span style="color: rgb(255, 255, 255);">B5</span>

**<span style="color: rgb(0, 0, 0);">Relais 2</span>**

**<span style="color: rgb(0, 0, 0);">NO</span>**

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(255, 255, 255);">B6</span>

**<span style="color: rgb(0, 0, 0);">Entrée 220V</span>**

**<span style="color: rgb(0, 0, 0);">2</span>**

</td><td style="height: 29.7017px; background-color: rgb(126, 140, 141);"><span style="color: rgb(255, 255, 255);">B7</span>

**<span style="color: rgb(0, 0, 0);">GND</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);"><span style="color: rgb(255, 255, 255);">B8</span>

**<span style="color: rgb(0, 0, 0);">Entrée BT 1</span>**

</td><td class="align-center" style="height: 29.7017px; background-color: rgb(243, 162, 26);"><span style="color: rgb(255, 255, 255);">B9</span>

**<span style="color: rgb(0, 0, 0);">E</span><span style="color: rgb(0, 0, 0);">ntrée BT 2</span>**

</td></tr><tr style="background-color: rgb(22, 145, 121);"><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**230 AC**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 1**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 1**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 2**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**RLA 2**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**2 in AC**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**GND**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**in 1 BT**</span>

</td><td class="align-center" style="height: 29.7017px;"><span style="color: rgb(236, 240, 241);">**in 2 BT**</span>

</td></tr></tbody></table>


### <span style="color: rgb(0, 0, 0);">1.1- Alimentation</span>

- <span style="color: rgb(0, 0, 0);">Raccorder le fil de **neutre <span style="color: rgb(53, 152, 219);">(B1)</span>** et le fil de **phase<span style="color: rgb(186, 55, 42);"> <span style="color: rgb(106, 40, 2);">(A1)</span></span>** pour mettre le module sous tension.  
    *La phase sert de synchronisation pour le zéro crossing.*</span>

<p class="callout warning"><span style="color: rgb(106, 40, 2);">Il est conseillé d'utiliser des **disjoncteurs distincts** pour l’alimentation (commande) et la puissance</span></p>

### 1.2- Sorties / relais

Les contacts sont libres de potentiel et fonctionnent comme des interrupteurs mécaniques ; ils ne fournissent aucune tension.  
Les contacts peuvent au maximum couper du 277 VAC avec 30A ou 30 VDC avec 20A.

- raccorder **la phase de puissance (alimentation)** au bornier à insertion   
    <span style="color: rgb(186, 55, 42);"><span style="color: rgb(0, 0, 0);">- relais 1</span> **(A2 / B2)** </span>contacts en parallèle, l'un au dessus de l'autre  
    <span style="color: rgb(186, 55, 42);"><span style="color: rgb(0, 0, 0);">- relais 2 </span><span style="color: rgb(224, 62, 45);">**(A4 / B4)** </span></span>contacts en parallèle, l'un au dessus de l'autre
- raccordez la **phase de la charge** de l'autre côté du bornier   
    <span style="color: rgb(186, 55, 42);"><span style="color: rgb(0, 0, 0);">- relais 1</span> **(A3 / B3)** </span>contacts en parallèle, l'un au dessus de l'autre  
    <span style="color: rgb(186, 55, 42);"><span style="color: rgb(0, 0, 0);">- relais 2 </span><span style="color: rgb(224, 62, 45);">**(A5 / B5)** </span></span>contacts en parallèle, l'un au dessus de l'autre
- raccorder le **neutre de la charge au neutre de puissance (alimentation)** - *ils ne passent pas par le module*

<p class="callout warning">- Pour que les relais puissent commuter au **zéro crossing**, la phase utilisée pour l'alimentation du module et de la charge  
 doit être synchronisée  
- Il est conseillé d'utiliser des **disjoncteurs distincts** pour l’alimentation (commande) et la puissance</p>


### 1.3- Entrées

#### Entrées HT (220V)

- Raccorder le retour de la **phase à piloter** au bornier à insertion   
    \- entrée HT 1 **<span style="color: rgb(230, 126, 35);">(A6)</span>**  
    \- entrée HT 2 **<span style="color: rgb(230, 126, 35);">(B6)</span>**

<p class="callout info"><span style="color: rgb(52, 73, 94);">Le neutre de référence est celui qui est raccordé sur l'alimentation 220 V du module</span></p>

#### Entrées BT TOR

- Raccorder le **contact à piloter** au bornier à insertion   
    \- entrée BT 1 <span style="color: rgb(0, 0, 0);">**<span style="color: rgb(241, 196, 15);">entre A8 et B8</span>** <span style="color: rgb(68, 68, 68);">(A8 sortie 24V / B8 entrée)</span></span>  
    \- entrée BT 2 <span style="color: rgb(241, 196, 15);">**entre A9 et B9<span style="color: rgb(0, 0, 0);"> </span>**<span style="color: rgb(68, 68, 68);">(A9 sortie 24V / B9 entrée)</span></span>

#### Entrées BT à boucle de courant (analogiques) 4/20mA

<p class="callout warning">Lorsqu'une entrée est utilisée en analogique, il faut obligatoirement la déclarer sur l'interface Web  
[Installation et configuration](https://modlink.fr/help/books/2-pio/chapter/installation-et-configuration "Installation et configuration")  
<span style="background-color: rgb(241, 196, 15);">A PRECISER</span></p>

- Raccorder le **capteur à piloter** au bornier à insertion 
    - **entrée BT 1 (capteur 2 fils)**  
        \- alimentation (+) du capteur sur <span style="color: rgb(241, 196, 15);">**A8**   
        </span>- sortie (-) du capteur sur <span style="color: rgb(241, 196, 15);">**B8** </span>
    - **entrée BT 2 (capteur 2 fils)** - alimentation (+) du capteur sur <span style="color: rgb(241, 196, 15);">**A9**   
        </span>- sortie (-) du capteur sur <span style="color: rgb(241, 196, 15);">**B9**</span>

- - **entrée BT 1 (capteur 4 fils)**  
        \- alimentation (+) du capteur sur <span style="color: rgb(241, 196, 15);">**A8 (24V)** <span style="color: rgb(68, 68, 68);">-</span> <span style="color: rgb(68, 68, 68);">si la consommation du capteur est &gt; 20mA, utilisez une alimentation externe</span></span><span style="color: rgb(241, 196, 15);">  
        </span>- alimentation (-) et la sortie (-) du capteur sur <span style="color: rgb(68, 68, 68);">**<span style="color: rgb(126, 140, 141);">A7 (GND)</span>**</span><span style="color: rgb(241, 196, 15);">  
        </span>- sortie (+) du capteur sur <span style="color: rgb(241, 196, 15);">**B8 (entrée)** </span>
    - **entrée BT 2 (capteur 4 fils)** - alimentation (+) du capteur sur <span style="color: rgb(241, 196, 15);">**A9 (24V)** <span style="color: rgb(68, 68, 68);">-</span> <span style="color: rgb(68, 68, 68);">si la consommation du capteur est &gt; 20mA, utilisez une alimentation externe</span></span><span style="color: rgb(241, 196, 15);">  
        </span>- alimentation (-) et la sortie (-) du capteur sur <span style="color: rgb(68, 68, 68);">**<span style="color: rgb(126, 140, 141);">B7 (GND)</span>**</span><span style="color: rgb(241, 196, 15);">  
        </span>- sortie (+) du capteur sur <span style="color: rgb(241, 196, 15);">**B9 (entrée)**</span>


### 2- Vérification des entrées et des sorties

- Remettez l’alimentation et vérifiez que le voyant vert s'allume bien en fixe au démarrage du module.
- Pour vérifier que les entrées et sorties réagissent bien, visualiser les voyants sur la façade du module  
    [Description du boîtier](https://modlink.fr/help/books/2-pio/page/description-du-boitier "Description du boîtier")

# Première mise en service

> <span style="color: rgb(35, 111, 161);">La mise en service initiale doit être effectuée en local, à proximité immédiate du module, elle consiste à :  
> \- **mettre le module sous tension**  
> \- **configurer le réseau Wi-Fi**  
> Cette étape est **obligatoire et conditionne l’accès à distance au module**</span>

### 1- Prérequis

Avant la mise en service du module, les opérations suivantes doivent être réalisés :

- le raccordement de l’alimentation
- le raccordement des entrées
- le raccordement des sorties
- la vérifications du câblage et des protections électriques

L’ensemble des informations de câblage et de raccordement est détaillé dans le chapitre « *Raccordements* ».

Le module peut ensuite être démarré puis configuré.

### 2- Démarrage du module

Une fois le module mis sous tension (alimentation raccordée), celui-ci démarre automatiquement et lance sa séquence d’initialisation.

Au démarrage, le voyant « Process Information » clignote en vert ; il passe ensuite au vert fixe indiquant un fonctionnement normal du module.

La phase de démarrage du module peut durer jusqu’à 60 secondes.

<p class="callout info">Le comportement et la **signification des voyants** sont détaillés [dans « *Description du boîtier* »](https://modlink.fr/help/books/2-pio/page/description-du-boitier "Description du boîtier") </p>

### 3- Identification du module

- Soulever le capot amovible du module
- Noter le numéro d’identification unique indiqué

<p class="callout info">Chaque module est identifié par un **ID unique** au format **<span style="background-color: rgb(194, 224, 244);">2pioXXXX</span>** *XXXX étant composé de 4 caractères (lettres et chiffres)*</p>

Cet identifiant permet d’accéder au module en local et à distance.

### 4- Configuration Wi-Fi

<span style="color: rgb(52, 73, 94);">Le module génère automatiquement son propre réseau Wi-Fi temporaire (</span>le témoin lumineux "*Wi-Fi mode*" clignote en vert pour indiquer que le module est en mode routeur Wi-Fi).

Vous pouvez utiliser un Smartphone, un ordinateur ou une tablette disposant d'un accès Wi-Fi pour configurer le réseau.

<p class="callout success">La **connexion locale** au module s’effectue en **HTTP en mode non sécurisé  
*Selon le navigateur utilisé, un avertissement de sécurité peut s'afficher ; il est nécessaire d’autoriser l’accès au site ou de continuer vers la page selon les options proposées*</p>

- Activez le Wi-Fi dans les paramètres de l'appareil utilisé
- Dans la liste des réseaux sans fils disponibles, sélectionnez celui du module que vous voulez configurer.  
    Lors de la première connexion, le SSID du module apparait sous la forme "**Modlink*****\_2pioXXXX**"*    
    un message "réseau non sécurisé" s'affiche et c'est normal (pas d'inquiétude, il n'y a aucun risque).
- Ouvrez la page du portail captif en appuyant sur le SSID actif ou bien attendez qu'elle s'ouvre automatiquement - cela peut prendre un certain temps  
    *Une fenêtre peut s'afficher pour indiquer que le réseau Wi-Fi sélectionné n'est pas connecté à Internet, il faut rester en Wi-Fi et conserver la connexion*
- Choisissez le réseau Wi-Fi que le module utilisera pour se connecter   
    *Vérifier que la puissance du réseau est suffisante pour assurer une connexion suffisamment stable du module (à minima 25%)* Saisissez le mot de passe du réseau et appuyer sur "connecter"  
    Le voyant "Wi-Fi mode" passe en rouge (connecté à Wi-Fi) puis en violet fixe (tunnel SSH actif).  
    S'il y a un problème de connexion au Wi-Fi (erreur de mot de passe ou signal faible), alors le voyant continue de clignoter en vert et la page "portail captif" devrait de nouveau s'afficher.

<p class="callout info">Le module devient **accessible à distance** une fois la configuration du Wi-Fi effectuée.  
*Il cesse alors de fonctionner en mode point d'accès (routeur) et n’apparaît plus sur la liste des réseaux disponibles*</p>

<p class="callout warning">Le module utilise exclusivement les paramètres Wi-Fi enregistrés lors de la configuration initiale (SSID et mot de passe).  
En cas de modification du SSID et/ou du mot de passe du réseau, **la reconnexion automatique ne sera plus possible (la LED verte clignotte)** et une reconfiguration Wi-Fi du module sera requise   
  
Pour plus de sécurité, vous pouvez dédier un **SSID et un mot de passe exclusifs** au module ModLink </p>

Une fois la configuration du réseau Wi-Fi effectuée, il est possible de se connecter avec un navigateur Web au site du module en local ou à distance.

### 5- Connection à l'interface de configuration Web

L’interface permet d’accéder aux fonctions de configuration, de paramétrage et de supervision du module.

- Ouvrez votre navigateur Internet
- dans la barre d'adresse / URL

#### 5.1- Depuis le réseau local

<p class="callout info">le dispositif utilisé pour se connecter (Smartphone, ordinateur) doit être sur le même réseau que le module</p>

- Saisissez directement l’adresse : **2pio numéro d'identification.local**
- <span style="color: rgb(0, 0, 0);"><span style="color: rgb(230, 126, 35);">**`2pio`**`<em><strong>numéro</strong> <strong>d'identification du module</strong></em>`</span>**`.local`**</span>   
    *le numéro d'identification du module comporte 4 caractères (chiffres et lettres)*

#### 5.2- A distance (Internet)

- Saisissez directement l’adresse : <span style="color: rgb(0, 0, 0);">**`2pio`**`<em><strong>numéro</strong> <strong>d'identification du module</strong></em>`**`.modlink.fr`**</span>   
    *le numéro d'identification du module comporte 4 caractères (chiffres et lettres)*
- L’écran de connexion s’affiche, et vous devez entrer l'identifiant et le mot de passe par défaut
- un avertissement de certificat de sécurité non valide peut s’afficher ; confirmez pour accéder à l’interface Web de configuration

Pour accéder à l’interface de configuration, il est nécessaire de saisir l’identifiant et le mot de passe par défaut.

<p class="callout success">**<span style="text-decoration: underline;">Codes de connexion par défaut </span>**:  
  
identifiant : **admin**  
mot de passe : **admin**</p>


#### 5.3- Personnalisation des codes d'accès

<div class="qMYqUG_convSearchResultHighlightRoot" id="bkmrk-pour-s%C3%A9curiser-l%E2%80%99acc"><div class="" data-is-intersecting="true" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4"><section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&:has([data-writing-block])>*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-44" data-turn="assistant" data-turn-id="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" dir="auto">Il est recommandé de modifier l'identifiant et mot de passe provisoires afin de sécuriser l’accès au module et de gérer les droits des utilisateurs selon les différentes fonctionnalités.

### 6- Fonctionnement avec un scénario préconfiguré

<div class="qMYqUG_convSearchResultHighlightRoot" id="bkmrk-une-fois-connect%C3%A9-au"><div class="" data-is-intersecting="true" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4"><section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&:has([data-writing-block])>*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-44" data-turn="assistant" data-turn-id="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" dir="auto">Une fois connecté au serveur Web du module, les paramètres nécessaires à son fonctionnement doivent être configurés.</section></div></div>Cela comprend notamment :

- les variables
- les scénarios
- les widgets

Ces éléments permettent de définir le comportement du module ainsi que les fonctions de commande, d’automatisation et de supervision accessibles depuis l’interface Web.

**Deux scénarios sont préconfigurés** et chargés par défaut dans le module.  
S’ils correspondent au fonctionnement souhaité, ils peuvent être utilisés immédiatement, sans programmation supplémentaire.

[Scénarios préconfigurés](https://modlink.fr/help/books/2-pio/page/scenarios-preconfigures "Scénarios préconfigurés")</section><section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&:has([data-writing-block])>*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-44" data-turn="assistant" data-turn-id="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" dir="auto">  
<p class="callout success">**Avantages d'un scénario préconfiguré :  
-** Mise en place immédiate  
- Logique déjà validée  
- Réduction du risque d’erreur</p>

Dans le cas contraire, il est possible :

- de modifier un scénario existant afin de l’adapter aux besoins de l’installation [Modifier un scénario déjà configuré](https://modlink.fr/help/books/2-pio/page/modifier-un-scenario-modele "Modifier un scénario déjà configuré")
- de créer un nouveau scénario entièrement personnalisé [Créer un scénario personnalisé](https://modlink.fr/help/books/2-pio/page/creer-un-scenario-personnalise "Créer un scénario personnalisé")

</section></div></div>### 6- Configuration des variables

<details id="bkmrk-rappel-sur-les-varia"><summary>Rappel sur les variables</summary>

Les variables sont des éléments essentiels pour le fonctionnement des scénarios.   
Elles permettent de :

- mémoriser l’état d’un appareil
- suivre des mesures
- gérer des délais ou événements
- déclencher des actions automatiques

</details><p class="callout success"><span style="background-color: rgb(241, 196, 15);">Bonnes pratiques : à mettre dans </span>  
<span style="background-color: rgb(241, 196, 15);">- identifier rapidement les **variables préconfigurées** pour éviter de recréer des éléments déjà disponibles</span>  
<span style="background-color: rgb(241, 196, 15);">- **nommer les nouvelles variables de manière claire et cohérente** pour simplifier leur utilisation dans les scénarios</span>  
<span style="background-color: rgb(241, 196, 15);">- vérifier la **compatibilité des types de variables** avec les actions et scénarios prévus (ex. : numérique, booléen, texte)</span>  
<span style="background-color: rgb(241, 196, 15);">- les variables doivent avoir une **valeur initiale** avant utilisation</span>  
<span style="background-color: rgb(241, 196, 15);">- identifier et noter le rôle de chaque variable pour faciliter la maintenance</span></p>

# Modifier la configuration Wi-Fi

Le module n'est pas connecté à un réseau Wi-FI (le voyant "Wi-FI" clignote en vert) :

- Activez le Wi-Fi dans les paramètres de l'appareil utilisé pour la configuration
- Dans la liste des réseaux sans fils disponibles, sélectionnez celui du module que vous voulez configurer.  
    <span style="color: rgb(52, 73, 94);">Le SSID du module apparait sous la forme "</span>***<span style="background-color: rgb(206, 212, 217);">2pioXXXX</span>**"*    
    un message "réseau non sécurisé peut s'afficher (c'est normal)  
    <span style="color: rgb(52, 73, 94);">Une fenêtre peut s'afficher pour indiquer que le réseau Wi-Fi sélectionné n'est pas connecté à Internet, il faut rester en Wi-Fi et </span>conserver la connexion
- Si la connexion est validée, le réseau 2pioXXXX apparait comme étant le réseau actif avec les informations "connecté sans internet / non sécurisé" (comportement normal)
- Il faut ensuite modifier la connexion Internet sur le serveur Web de ModLink  
    Ouvrir un navigateur Web sur l’appareil utilisé pour la configuration
- Saisir le numéro unique du module dans la barre d’adresse du navigateur suivi de ****`.local`**   
    **`2pioXXXX.local`**** La page d'authentification s’ouvre et il faut saisir les identifiants : nom d’utilisateur et mot de passe  
    S'il s'agit d'une première connexion, utilisez l’identifiant et le mot de passe par défauts **(admin / admin)**
- Depuis le serveur Web du module, accéder au menu « Paramètres », puis à l’onglet « Connectivité ».  
    Dans la section « Connexion Internet », appuyer sur le bouton « Configurer ».

<p class="callout info">Le module devient **accessible à distance** une fois la configuration du Wi-Fi effectuée.  
*Il cesse alors de fonctionner en mode point d'accès (routeur) et n’apparaît plus sur la liste des réseaux disponibles*</p>

Pour la **connexion à distance**, Modlink peut utiliser :

- le réseau Wi-Fi local
- un réseau Wi-Fi indépendant (souvent dédié aux IoT)
- un routeur 4G


<p class="callout warning">*<span style="text-decoration: underline;">Attention</span>* :  
Le module utilise exclusivement les paramètres Wi-Fi enregistrés lors de la configuration initiale (SSID et mot de passe).  
En cas de modification du SSID et/ou du mot de passe du réseau, **la reconnexion automatique ne sera plus possible** et une reconfiguration du module sera requise  
  
**réseau local dédié = plus de sécurité**  
*fonctionne même si les paramètres du réseau Wi-Fi local changent*</p>


### <span style="background-color: rgb(251, 238, 184);">6- Configuration des variables</span>

Les variables sont des éléments essentiels pour le fonctionnement des scénarios. Elles permettent de :

- mémoriser l’état d’un appareil
- suivre des mesures
- gérer des délais ou événements
- déclencher des actions automatiques

<p class="callout success">Bonnes pratiques :  
- identifier rapidement les **variables préconfigurées** pour éviter de recréer des éléments déjà disponibles  
- **nommer les nouvelles variables de manière claire et cohérente** pour simplifier leur utilisation dans les scénarios  
- vérifier la **compatibilité des types de variables** avec les actions et scénarios prévus (ex. : numérique, booléen, texte)  
- les variables doivent avoir une **valeur initiale** avant utilisation  
- identifier et noter le rôle de chaque variable pour faciliter la maintenance</p>

#### 6.1- Variables préconfigurées

Les modules contiennent des variables déjà configurées en usine ou lors de l’installation.   
Ces variables peuvent être utilisées telles quelles dans les scénarios sans modification.  
Il est également possible, selon les besoins, de modifier ces variables existantes pour adapter leurs valeurs, plages ou noms à la configuration spécifique.  
Pour gérer les variables d’un module et les partager sur le réseau, utilisez les options "**Local"** ou "**Distant"** dans le menu "*Objet***"** et activez la diffusion après sauvegarde.

##### <span style="text-decoration: underline;">Utilisation en local sur un module</span>

Sélectionner la valeur "*Local*" puis cocher "*Diffuser sur le réseau après sauvegarde*"

##### <span style="text-decoration: underline;">Utilisation / diffusion vers un ou plusieurs modules du réseau</span>

Sélectionner la valeur "*Distant*" puis cocher "*Diffuser sur le réseau après sauvegarde*"

#### 6.2 - création de nouvelle variable

Pour assurer le bon fonctionnement de vos scénarios, il est parfois nécessaire de créer de nouvelles variables.   
Ces variables permettent de :  
\- Suivre des paramètres supplémentaires (température, humidité, état d’un capteur ...)  
\- Piloter des fonctions spécifiques (activation d’un appareil, déclenchement d’une alerte, ajustement d’un scénario ...)

<span style="text-decoration: underline;">Conseils pour créer une variable</span> :  
\- définir le besoin : identifiez exactement ce que la variable doit mesurer ou contrôler dans le scénario  
\- choisir un type adapté : par exemple, numérique, booléen, texte ou horaire, selon la donnée à gérer  
\- donner un nom explicite : le nom doit refléter clairement la fonction de la variable pour faciliter sa lecture et son utilisation  
 dans les scénarios.

En suivant ces étapes, chaque variable sera facile à comprendre, à configurer et à utiliser dans vos modules ModLink.


### 7- Logique de scénario et automatisation

Un <span class="font-semibold" data-streamdown="strong">scénario</span> permet de <span class="font-semibold" data-streamdown="strong">configurer, planifier et exécuter des suites logiques d’actions automatiques</span> selon des critères précis, sans intervention manuelle.  
Chaque module peut gérer jusqu'à **3 scénarios de fonctionnement** distincts.  
Les scénarios peuvent être activés, modifiés ou désactivés indépendamment selon les besoins opérationnels.

#### 7.1- Accès aux scénarios

Pour accéder aux scénarios, ouvrez le menu *« Scénarios »* de l’interface principale.   
Les scénarios configurés apparaissent dans le bandeau latéral gauche.  
Un scénario est représenté sous forme de blocs fonctionnels d'entrée et de sortie interconnectés illustrant la logique d’exécution et les relations entre les différentes conditions, actions et temporisations.  
Vous pouvez naviguer dans la zone de travail pour visualiser la structure et la logique du scénario.

Utiliser le bandeau latéral à gauche de l'écran pour sélectionner un scénario déjà configuré  
Sélectionnez un scénario, puis cliquez sur *« Éditer »* pour ouvrir l’éditeur graphique  
En mode édition (mention affichée en bas de l'écran) tous les blocs du scénario sont affichés dans la zone de travail, et vous pouvez naviguer librement dans cet espace pour analyser la structure et la logique du scénario.  
Une mini-fenêtre de visualisation, située en bas à droite de l’écran, offre un aperçu global des blocs.  
Un clic sur l'icone de visualisation à droite de l'écran permet également de recentrer automatiquement la vue sur les blocs de scénario.

<p class="callout info">La **barre d’icônes de visualisation** affichée sur la droite de l'écran permet de :  
- agrandir la vue  
- réduire la vue  
- recentrer l’affichage sur la zone des blocs scénario  
- verrouiller et déverrouiller les blocs  
- réinitialiser l'édition de blocs</p>

#### 7.1 - Utiliser un scénario modèle

Depuis le menu "scénario" cliquer sur "importer un scénario"  
Sélectionner le type d'import : local ou distant  
Choisissez "distant" si vous souhaitez utiliser un scénario préconfigurés ou un scénario chargé depuis un module distant

#### 7.2 - Modifier un scénario modèle


#### 7.3 - Configurer un nouveau scénario

<p class="callout success">Utilisez un ordinateur pour l'édition et la modification des scénario de fonctionnement  
Le serveur Web intégré permet de créer des scénario de fonctionnement personnalisés (aucun logiciel supplémentaire n'est nécessaire)  
</p>

# Paramètrages***

Le menu "Paramètres", accessible depuis le menu de navigation situé en haut de la page, permet d’accéder à la configuration avancée du module Modlink.  
Il regroupe l’ensemble des réglages nécessaires au fonctionnement et à l’adaptation du module à votre installation.

Depuis ce menu, il est possible de configurer :

- les paramètres de sécurité
- les timers et les temporisations
- les paramètres de connectivité
- la communication LoRa
- ainsi que d’autres informations et réglages système du module

Vous pouvez accéder aux différentes configurations en cliquant directement sur les menus à bulles

### 1- Menu sécurité

#### 1.1 - Authentification 

Le menu Sécurité permet de gérer les accès utilisateurs et les droits associés.  
En cliquant sur le bouton "gérer" il est possible de :

1. Créer, modifier et supprimer des comptes utilisateurs
2. Définir les **rôles utilisateurs** :  
    \- super Administrateur : accès complet à toutes les fonctionnalités et paramètres (1 seul compte)  
    \- installateur : accès aux fonctions de configuration et de maintenance (jusqu’à 5 comptes)  
    \- utilisateur : accès limité à l’exploitation et à la supervision (jusqu’à 10 comptes)
3. Attribuer les autorisations et niveaux d’accès en fonction du rôle défini
4. Configurer les règles de sécurité des mots de passe : création, modification et renouvellement

> ⚠️ Certains utilisateurs **n’ont pas accès aux paramètres** en fonction du rôle et des droits attribués.  
> La gestion des accès permet de sécuriser l’exploitation du module tout en garantissant une séparation claire des responsabilités entre les différents profils d’utilisateurs.

### Gestion des comptes

Vous pouvez **visualiser tous les comptes utilisateurs**, ainsi que leur **rôle** et les **permissions associées**.  
Selon vos droits, vous pouvez :

- **Supprimer** un compte utilisateur,
- **Modifier les permissions** attribuées à un compte,
- **Changer le mot de passe** d’un utilisateur.

> ⚠️ Les actions disponibles dépendent de votre rôle et des droits qui vous ont été attribués.

#### 1.2 - Gestion du site

#### 1.3 - Mises à jour

### 2- Timers et temporisation

Pour la gestion des créneaux horaires dans les scénarios

### 3- Connectivité

### 4- Communication LoRa

# Connectivité

Cette section explique comment accéder au module Modlink pour superviser, contrôler et configurer vos équipements :

- Visualiser l’état des entrées/sorties
- Recevoir les alertes et notifications
- Piloter vos équipements à distance

### 1- Accès local

#### Conditions préalables 

- Le module est alimenté
- Le module est connecté à Internet via le réseau local et l'appareil utilisé pour la connexion est sur le même réseau
- Vous avez relevé le numéro unique du module, indiqué sous le capot de la face avant

1. Ouvrir un navigateur Web sur l’appareil connecté au réseau local
2. Saisir le numéro unique du module dans la barre d’adresse du navigateur suivi de **<span style="background-color: rgb(251, 238, 184);">.local</span>  
    **`2pio<span style="color: rgb(230, 126, 35);">XXXX</span>.local`**** *<span style="color: rgb(230, 126, 35);">XXXX </span>= ID unique du module composé de 4 caractères (chiffres et lettres)*
3. La page de connexion s’affiche automatiquement
4. Saisir vos identifiants (nom d’utilisateur et mot de passe) pour accéder à l’interface locale   
    S'il s'agit d'une première connexion, utilisez l’identifiant et le mot de passe provisoires puis modifiez-les immédiatement pour des raisons de sécurité  
    <span style="background-color: rgb(251, 238, 184);">***identifiant** par défaut : admin*</span>  
    <span style="background-color: rgb(251, 238, 184);">***mot de passe** par défaut : admin*</span>

> 💡 **Astuce** : si la page de connexion n’apparaît pas, vérifiez que l’appareil et le module sont bien sur le même réseau, que le numéro unique est correct et que la mise en service a été réalisée.

### 2 - Mode autonome (sans Internet)

Modlink peut fonctionner de manière totalement autonome, sans connexion à Internet, grâce à :

1. Son point d'accès Wi-Fi  
    \- le module créé son propre réseau Wi-Fi local  
    \- un ordinateur ou un appareil mobile peut se connecter directement à ce réseau pour accéder à l’interface de Modlink
2. Son navigateur web intégré   
    \- accessible directement depuis un ordinateur connecté au réseau local, sans connexion à des services Cloud  
    \- toutes les fonctions de configuration et de contrôle en local restent disponibles
3. Sa propre horloge RTC (Real-Time Clock)  
    \- assure le fonctionnement des timers, scénarios et automatismes même en l’absence de connexion réseau  
    \- les actions programmées sont exécutées correctement selon l’heure locale définie par le module

##### Comportement du système

En l’absence de connexion Internet :

- le module assure le fonctionnement local complet de l’installation
- les scénarios, timers et automatismes configurés sont exécutés normalement
- les interfaces et équipements connectés au module restent opérationnels sur le réseau local

##### Accès et connectivité

- Aucun accès distant n’est possible sans connexion Internet
- l’administration, la configuration et le pilotage du module sont accessibles uniquement en local
- l’accès local s’effectue via une connexion directe au module en mode AP

##### Limitations

- Les fonctions nécessitant une communication externe (accès distant, supervision, mises à jour à distance, services tiers ...) sont indisponibles

<p class="callout warning">En mode autonome (absence de connexion Internet), Modlink reste pleinement opérationnel en local, mais **aucun accès distant n’est possible**. L’administration et le pilotage se font uniquement via le réseau local.</p>

### 3 - Accès distant

#### 3.1- Conditions préalables

Avant de pouvoir se connecter au module depuis un appareil distant, assurez-vous que :

- Le module est alimenté et a été préalablement mis en service
- Le module est connecté à Internet via le réseau local
- Vous avez relevé le numéro unique du module (indiqué sous le capot de la face avant)
- L’appareil utilisé pour la connexion distante possède une connexion Internet active et un navigateur compatible
- Vous disposez des identifiants d'accès (nom d'utilisateur et mot de passe) et avez les droits d’accès à distance

#### 3.2 - Connexion avec un navigateur Web

- Ouvrez votre navigateur (Chrome, Safari, Edge, Firefox ...)
- Dans la barre d'adresse, saisissez l'adresse du module sous la forme : **`2pio<span style="color: rgb(230, 126, 35);">XXXX</span>.modlink.fr`**
    
    *<span style="color: rgb(230, 126, 35);">XXX <span style="color: rgb(0, 0, 0);">= </span></span>ID unique composé de 4 caractères (chiffres et lettres)*
- Entrez vos identifiants : *nom d’utilisateur et mot de passe*
- Cliquez sur *"se connecter"*
- Une fois connecté, vous accédez au tableau de bord Modlink

# Modèles de scénarios à importer

<p class="callout info">Les **scénarios modèles** couvrent les cas d'usages les plus courants, ce sont des outils rapides et fiables pour tester les I/O et les relais.  
Ils permettent de tester rapidement le fonctionnement du système sans avoir à créer une logique de commande complète.  
Ces scénarios **peuvent être utilisés tels quels,** **ou bien modifiés** pour réponde à des besoins spécifiques.</p>

##### Objectif des scénarios modèles :

- Vérifier le bon câblage des entrées et des sorties
- Tester le fonctionnement des relais
- Valider la communication entre les modules
- Faciliter la mise en service (commissioning)

## 1. Scénarios modèles disponibles

Les scénarios préconfigurés sont fournis afin de simplifier la mise en service, les tests fonctionnels et le diagnostic des modules.  
Ils couvrent les cas d’usage standards liés aux entrées, aux relais et à la connectivité.

## 1.1 Test des entrées (Inputs)

### Lecture d’entrée

- Surveillance de l’état d’une entrée digitale
- Affichage temps réel de l’état (0 / 1)
- Historisation des changements d’état

<p class="callout success">**Usage :** - Validation du câblage  
- Test capteur, bouton, contact sec</p>

## 1.2 Test des relais (Outputs)

### Commande manuelle de relais

- Activation / désactivation manuelle d’un relais
- Commande depuis l’interface

<p class="callout success">**Usage :** - Test du relais  
- Validation actionneur (lampe, moteur, contacteur)</p>

### Commande temporisée de relais

- Activation du relais pendant une durée définie
- Retour automatique à l’état OFF

<p class="callout success">**Usage :** - Test de temporisation  
- Simulation d’impulsion</p>

## 1.3 Test Entrée → Relais (I/O binding)

### Entrée digitale → relais (mode suivi)

**Scénario standard**

- Entrée = 1 → relais ON
- Entrée = 0 → relais OFF

<p class="callout success">**Usage :** - Test complet DI/DO  
- Validation bout-en-bout  
- Commissioning</p>

### Entrée digitale → relais (logique inversée)

- Entrée = 1 → relais OFF
- Entrée = 0 → relais ON

<p class="callout success">**Usage :** - Cas de sécurité  
- Adaptation logique terrain</p>

## 1.4 Scénarios conditionnels

### Seuil sur entrée analogique

- Si valeur &gt; seuil → activer relais
- Si valeur &lt; seuil → désactiver relais

<p class="callout success">**Usage :** - Alarmes  
- Régulation simple</p>

### Entrée → relais avec temporisation

- Entrée = 1
- Délai configurable
- Activation relais

<p class="callout success">**Usage :** - Anti-rebond  
- Séquencement simple</p>

## 1.5 Scénarios de connectivité et supervision

### Test de connectivité réseau

- Vérification connexion Wi-Fi / Ethernet
- Test ping ou heartbeat
- Remontée état connecté / déconnecté

<p class="callout success">**Usage :** - Diagnostic réseau  
- Validation accès plateforme</p>

### Heartbeat / watchdog

- Envoi périodique d’un message de vie
- Mise en sécurité du relais en cas de perte de communication

<p class="callout success">**Usage :** - Sécurité  
- Supervision industrielle</p>

## 2. Importer un scénario modèle

### 2.1. Utiliser un scénario modèle tel quel

- Accessible directement depuis la liste des scénarios disponibles sur le serveur Web
- Recommandé pour les tests simples et les validations rapides.
- **Exemple typique :**
    
    
    - Entrée digitale (DI) = 1 → Relais (DO) activé
    - Entrée digitale (DI) = 0 → Relais (DO) désactivé

**Avantages :**

- Mise en place immédiate
- Logique déjà validée
- Réduction du risque d’erreur

### 2.2 Modifier un scénario modèle existant

- Duplication d’un scénario préconfiguré pour créer un scénario personnalisé.
- Permet d’adapter la logique aux besoins spécifiques de l’application.
- **Modifications courantes :**
    
    
    - Ajout de temporisation ou délai anti-rebond
    - Inversion logique (1 → OFF, 0 → ON)
    - Ajout de conditions supplémentaires (ex. seuils, état réseau, watchdog)
    - Ajout de log ou métriques pour monitoring

**Avantages :**

- Flexibilité totale
- Possibilité d’intégrer la logique métier
- Compatible avec un déploiement industriel ou production

# Accéder au dispositif

<span>ModLink prend en charge </span>**plusieurs modes de communication**<span> :</span>

- Communication locale : accès et échanges au sein d’un réseau local
- Mode autonome : fonctionnement sans connexion Internet, avec accès local direct au module
- Communication à distance : accès via une connexion Internet (réseau existant, réseau dédié ou routeur 4G)

# Accès local

ModLink utilise une connexion Internet sans fil. Cette connexion peut être assurée :  
\- par le réseau Wi-Fi local  
\- par un réseau Wi-Fi indépendant (dédié aux IoT)  
\- par un routeur cellulaire (pour se connecter à Internet sans dépendre du réseau Wi-Fi local)

<p class="callout success">**Réseau IoT isolé = plus de sécurité**  
*Les changements sur le réseau Wi-Fi principal n'affectent pas l'IoT*</p>

### Via le réseau Wi-Fi local ou dédié (*mode standard)*

<details id="bkmrk-conditions-pr%C3%A9alable"><summary>Conditions préalables</summary>

- Le module est alimenté
- Le module est connecté à Internet via le réseau local et l'appareil utilisé pour la connexion est sur le même réseau
- Vous avez relevé le numéro unique du module, indiqué sous le capot de la face avant

</details>1. Ouvrir un navigateur Web sur l’appareil connecté au réseau local
2. Saisir le numéro unique du module dans la barre d’adresse du navigateur suivi de ****`.local`**   
    **`2pioXXXX.local`**** *<span style="background-color: rgb(251, 238, 184);">XXXX</span> = ID unique du module composé de 4 caractères (chiffres et lettres)*
3. La page de connexion s’affiche automatiquement
4. Saisir vos identifiants (nom d’utilisateur et mot de passe) pour accéder à l’interface locale

S'il s'agit d'une première connexion, utilisez l’identifiant et le mot de passe par défaut.  
Pour des raisons de sécurité, pensez à les personnaliser.  
***identifiant par défaut** : admin*  
***mot de passe** **par défaut** : admin*

> La **connexion locale** au module s’effectue en **HTTP** Selon le navigateur utilisé, un avertissement de sécurité peut s'afficher ; il est nécessaire d’autoriser l’accès au site ou de continuer vers la page selon les options proposées

<p class="callout warning">Si la page de connexion n’apparaît pas, vérifiez :  
- que la connexion n'est pas sécurisée (attention, certains navigateurs n'autorisent pas une connexion en HTTP)  
- que l’appareil et le module sont bien sur le même réseau local  
- que le numéro unique est correct et que la mise en service a été réalisée</p>

# Mode autonome

### Connexion directe au module *(mode AP, routeur)*

Dans certains cas d’usages spécifiques, il est possible d'accéder au module sans réseau Internet local.  
Ce mode de connexion est destiné à des situations particulières, notamment lorsque :

- il n'y a pas de réseau Internet sur place  
    dans ce cas, le module bascule automatiquement en mode AP-routeur au bout de 30 secondes
- l’accès à distance au module n’est pas nécessaire

Dans ce cas, le module peut fonctionner comme un point d’accès Wi-Fi.  
L’utilisateur se connecte alors directement au réseau Wi-Fi émis par le module à l’aide d’un ordinateur, d’une tablette ou d’un smartphone.

Une fois alimenté, le module génère automatiquement son propre réseau Wi-Fi temporaire.  
Le SSID prend la forme suivante : *"Captive Portal + 2pioID"*

- Connectez-vous au module ModLink via le navigateur web en entrant **`2pioXXXX.local`** dans la barre d’adresse
- Activez le Wi-Fi dans les paramètres de l'appareil utilisé pour la connexion
- Rechercher la liste des réseaux sans fils disponibles
- Sélectionner le SSID du réseau Wi-Fi du module ("Captive Portal" + numéro d'identification du module)  
    *le message "réseau non sécurisé - pas de connexion Wi-Fi" s'affiche*
- La page du portail captif s’affiche automatiquement

<p class="callout info">Le mode de connexion via **point d'accès (AP)** est un cas d’usage isolé.  
Dans la majorité des installations, le module est connecté au réseau Internet local afin de permettre l’accès à distance et l’exploitation complète des fonctionnalités</p>

# Accès distant

Une fois la configuration WI-Fi effectuée (lors de la mise en service initiale), le module devient **accessible à distance.**  
Il cesse alors de fonctionner en mode point d'accès (routeur) et n’apparaît plus sur la liste des réseaux disponibles.  
Plusieurs modes de connexion sont alors possibles.

- via le réseau Wi-Fi local
- via un réseau dédié aux objets connectés (IoT)
- à l’aide d’un routeur 4G

#### Conditions préalables

Avant de pouvoir se connecter au module depuis un appareil distant, assurez-vous que :

- Le module est alimenté et a été préalablement mis en service
- Le module est connecté à Internet
- Vous avez relevé le numéro unique du module (indiqué sous le capot de la face avant)
- L’appareil utilisé pour la connexion distante possède une connexion Internet active et un navigateur compatible
- Vous disposez des identifiants d'accès (nom d'utilisateur et mot de passe) et avez les droits d’accès à distance

### 1- Connexion avec un navigateur Web

- Ouvrez votre navigateur (Chrome, Safari, Edge, Firefox ...)
- Dans la barre d'adresse, saisissez l'adresse du module sous la forme : **`2pio<span style="color: rgb(230, 126, 35);">XXXX</span>.modlink.fr`**
    
    *<span style="color: rgb(230, 126, 35);">XXX <span style="color: rgb(0, 0, 0);">= </span></span>ID unique composé de 4 caractères (chiffres et lettres)*
- Entrez vos identifiants : *nom d’utilisateur et mot de passe*
- Cliquez sur *"se connecter"*

Une fois connecté, vous accédez au tableau de bord Modlink

<p class="callout warning">Dans certains cas d’usage spécifiques, un accès à distance peut être mis en place temporairement **en l’absence de réseau Internet sur site**, à condition qu’une personne soit présente sur place pour activer un partage de connexion mobile.  
Ce mode d’accès nécessite la présence d’un intervenant sur site et une connexion mobile active. Il est destiné à des usages ponctuels (mise en service, programmation) et ne constitue pas un mode de fonctionnement permanent.</p>

### 2- Connexion via un partage de connexion mobile

Dans certains cas, lorsqu’aucun réseau Internet n’est disponible sur site, il est possible d’assurer un accès à distance temporaire au module en utilisant un partage de connexion depuis un smartphone.

Ce mode de fonctionnement peut être utilisé, par exemple, lorsque :

- un intervenant est présent sur site pour installer et raccorder le module,
- un technicien doit se connecter à distance pour effectuer la configuration ou la programmation du module.

Dans ce cas, l’intervenant sur site active un partage de connexion (Wi-Fi) sur son smartphone et connecte le module à ce réseau de manière temporaire.  
Le technicien à distance peut alors accéder au module pendant la durée du partage de connexion.

<p class="callout info">Ce mode de connexion temporaire est destiné à des cas d’usage ponctuels.  
Il ne remplace pas une connexion Internet locale permanente et peut être soumis aux limitations du réseau mobile (débit, stabilité, consommation de données)</p>

# Réseau de modules

Fonctionnement et configuration requis dans le cas d'un réseau de modules

# Ajouter et configurer un nouvel équipement

### 1- Installation et raccordement

- Placez le module sur un rail DIN
- Effectuez tous les raccordements électriques nécessaires  
    *Raccorder le fil de neutre et le fil de phase pour mettre le module sous tension*

*[Raccordement électrique](https://modlink.fr/help/books/2-pio/page/raccordement-electrique "Raccordement électrique")*

### 2- Configuration Wi-Fi en local

<div class="flex flex-col text-sm pb-25" id="bkmrk-configurez-chaque-mo"><article class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-26" data-turn="assistant" data-turn-id="request-WEB:0136e0d3-3905-4653-890a-1926f0dfdef1-16" dir="auto" tabindex="-1">Configurez chaque module pour qu’il se connecte au réseau Wi-Fi.

</article></div><p class="callout info">la **configuration Wi-Fi des modules secondaires** ne peut être effectuée qu'**en local**</p>

<span style="text-decoration: underline;">Sur le(s) module(s) à ajouter </span>:

- soulever le capot et **appuyer brièvement** sur le bouton "appairage" situé entre la LED rouge et la LED verte
- Le **mode appairage** est activé (LED bleue clignotante) et il est possible de dupliquer des informations provenant du dispositif Master pendant une **durée de 2 minutes**
- répéter l'opération sur tous les modules à ajouter

<span style="text-decoration: underline;">sur le module existant</span> (c*elui pour lequel le Wi-Fi a déjà été configuré*) :

- Soulever le capot puis **appuyer longuement** sur le bouton "appairage" situé entre la LED rouge et la LED verte (*rester appuyé pendant 2 secondes puis relâcher*)

Les informations du réseau Wi-Fi (SSID + mot de passe) sont alors dupliquées vers le(s) module(s) secondaire(s).

<p class="callout warning">Le transfert de la configuration Wi-Fi ne peut être effectuée que pendant les **2 minutes** suivant l’ouverture de l’appairage sur le module principal.   
Passé ce délai, le processus doit être relancé depuis le module principal.  
Astuce : préparer les appareils à proximité et démarrer l’appairage immédiatement pour éviter toute interruption</p>

Une fois la configuration Wi-Fi effectuée, le module devient accessible à distance via son serveur Web.

<span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 2.333em; font-weight: 400;">3- Transfert des clés de cryptage entre modules</span>

<p class="callout info"><span style="color: rgb(52, 73, 94);">Lors de l’ajout d’un nouveau module à un réseau ModLink déjà opérationnel, il est impératif de **transférer la clé de chiffrement utilisée par les modules existants vers le nouveau module.** L'objectif est d'assurer la sécurité et la communication entre modules</span></p>

<span style="text-decoration: underline;">Sur le(s) module(s) à ajouter  
</span>- connectez-vous au serveur Web  
\- depuis la page d'accueil allez dans le menu "*Objet*"  
\- sélectionner la valeur "<span style="background-color: rgb(241, 196, 15);">*Local*</span>" ou "*<span style="background-color: rgb(241, 196, 15);">Wireless</span>*"  
\- dans l'onglet "clés et appairage sécurisé" cliquer sur "*ouvrir l'appairage*"  
*le mode appairage est activé pendant une durée de 2 mn  
Il est également possible d'ouvrir l'appairage directement depuis le module, en appuyant sur le bouton blanc situé sur la carte entre la Led rouge et la Led verte*

<span style="text-decoration: underline;">Sur le module principal  
</span>- connectez-vous au serveur Web  
\- sur la page d'accueil, allez dans le menu "*objet*" puis dans le champs valeur, sélectionner "*Local*"  
\- dans l'onglet "*transférer les clés chiffrées*", appuyer sur "*transférer les clés*"

<p class="callout warning">Le transfert des clés de cryptage doit être effectué pendant les **2 minutes** qui suivent l’ouverture de l’appairage sur le(s) module(s) à ajouter. Passé ce délai, le processus doit être relancé.  
<span style="text-decoration: underline;">Astuce</span> :   
préparer les appareils à proximité et démarrer l’appairage immédiatement pour éviter toute interruption.</p>

### 4- Définition du rôle du module

Configurez le module selon la topologie du réseau et la fonction souhaitée

- - **Maître** : module principal qui gère le réseau
    - **Esclave** : module secondaire qui suit les instructions du maître
    - **Neutre** : module qui n’assume aucun rôle particulier mais reste connecté au réseau

### 5- Redémarrage du module

- Après avoir terminé la configuration (Wi-Fi, clé de cryptage, rôle) **effectuez un redémarrage du module**
- Le redémarrage permet de **valider et d'appliquer toutes les configurations**
- Vérifiez que le module **apparaît correctement dans le réseau** et que tous les paramètres sont actifs après le redémarrage  
    \- depuis la page d'accueil, cliquez sur le bouton situé en haut à droite (à côté de celui permettant de choisir la langue)  
    \- ou bien aller dans le menu *"Paramètres",* cliquer sur l'onglet *"Informations"* puis *"Maintenance"* et appuyer sur *"Redémarrer"* pour redémarrer le système

# Remplacer, supprimer un module

# Etat des entrées et des relais

# Visualisation des entrées et des relais*** à supprimer

La liste des entrées et des relais utilisées sur le module est accessible depuis la page d’accueil, après l’affichage des widgets.

Elle est également disponible dans le menu **« Objets »**, après l’affichage des variables.

L’interface permet de visualiser en temps réel l’état de chaque entrée et de chaque relais, facilitant le diagnostic et le suivi du fonctionnement du module.

Les états peuvent être sauvegardés puis diffusés sur le réseau.  
Après avoir sauvegardé les objets et activé leur diffusion sur le réseau, un redémarrage du module est indispensable pour la prise en compte des modifications.

---

**<span style="background-color: rgb(230, 126, 35);">VERIFIER</span>**

Il est possible de vérifier le fonctionnement des entrées et des sorties depuis l’interface web.

Depuis la page d’accueil, dans la section « Objets », la liste des entrées et des sorties est affichée avec leur correspondance au niveau des connexions.

Cette interface permet notamment :

- de visualiser l’état des entrées et des sorties
- de vérifier les raccordements réalisés
- de tester le bon fonctionnement des équipements connectés

# Les variables

# Généralités

<details id="bkmrk-rappel-sur-les-varia"><summary>Rappel sur les variables</summary>

<p class="callout info">Une variable est une zone mémoire contenant une **valeur susceptible d’évoluer** au cours du temps.</p>

Les variables sont des **éléments essentiels** pour le fonctionnement **des scénarios,** elles permettent de stocker, échanger et exploiter les informations par le module local ou être diffusées sur le réseau pour être partagées avec d'autres modules ModLink.

Les variables peuvent être :

- **Lues** → utilisées dans des blocs de test pour prendre des décisions
- **Modifiées** → via des blocs d’action
- **Comparées** → pour orienter le déroulement

Les variables sont utilisées pour :

- **mémoriser** des valeurs ou l'état d'un appareil
- réaliser des **tests et des conditions**
- déclencher des **actions** ;
- **échanger des information**s entre modules du réseau.
- <span style="color: rgb(0, 0, 0);">E<span style="color: rgb(68, 68, 68);">ffectuer des **calculs simples**</span></span>
- <span style="color: rgb(68, 68, 68);">Gérer des **temporisations et des compteurs**</span>

</details><p class="callout success"><span style="text-decoration: underline;">Bonnes pratiques</span> :   
  
- identifier rapidement les ****variables préconfigurées**** pour éviter de recréer des éléments déjà disponibles **- nommer** les nouvelles variables de manière claire et cohérente pour simplifier leur utilisation dans les scénarios **-** vérifier la **compatibilité des types de variables** avec les actions et scénarios prévus (ex. : numérique, booléen, texte) **-** les variables doivent avoir une **valeur initiale** avant utilisation **-** identifier et noter le **rôle** de chaque variable pour faciliter la maintenance</p>

### 1- Afficher les variables

<p class="callout info">Les variables peuvent être :  
**- préconfigurées** et disponibles immédiatement sur un module  
- **créées par l'utilisateu**r selon les besoins du scénario   
- utilisées **localement ou partagées sur le réseau** entre plusieurs modules</p>

Pour afficher les variables d'un module :

- allez dans le menu "*Objet*"
- puis sélectionner "*local*" dans le champ "*valeur*"

[![Capture d’écran 2026-06-09 152826.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-09-152826.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-09-152826.jpg)

<span style="color: rgb(68, 68, 68);">Les **variables disponibles** sur le module s'affichent alors</span>

### [![Capture d’écran 2026-06-09 150447.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-09-150447.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-09-150447.jpg)

### 2- Personnaliser une variable

Une variable peut être personnalisée afin de faciliter son identification et son utilisation dans les scénarios.  
Une configuration claire des variables facilite la création, la maintenance et la compréhension des automatismes.

Dans le menu "*Objet*" sélectionner la variable que vous souhaitez personnaliser et cliquer sur l’icône en forme de pinceau.   
Vous pouvez alors personnaliser les informations suivantes :

- définir un **nom** explicite
- attribuer une **valeur par défaut**
- définir l'**unité** et le **type d'unité**
- définir une variable **Home Assistant** le cas échéant
- configurer les **paramètres d'exposition et de diffusion** sur le réseau  
    *permet de définir la visibilité des variables : sur un module distant, en local sur le module lui-même, dans Home assistant, via Modbus, sur le site web ou encore via OPC UA*
- configurer les **droits d'accès** (*lecture seule, écriture seule ou lecture et écriture)*
- ajouter un **commentaire descriptif personnalisé**
- **sauvegarder** pour enregistrer les modifications

---

- **le nom**  
    il est recommandé d'utiliser un nom explicite afin d’identifier clairement la variable dans les scénarios et la supervision.
- **la valeur par défaut**  
    Valeur appliquée à la variable lors du démarrage du module ou après un redémarrage.  
    Ce paramètre permet de garantir un état de fonctionnement sûr au lancement.
- **l’unité et le type d’unité**  
    Précise l’unité de mesure associée à la variable (par exemple : température et degrés celcius).  
    Important pour la cohérence des scénarios et l’affichage correct dans la supervision.
- **le type de variable Home Assistant**  
    Ce paramètre est essentiel pour assurer la bonne communication et l’interopérabilité avec les plateformes domotiques
- **les droits d’accès**  
    Ils permettent de définir comment la variable peut être utilisée :
    
    \- lecture seule : elle peut être consultée mais non modifiée
    
    \- écriture seule : elle peut être modifiée sans possibilité de lecture
    
    \- lecture et écriture : elle peut être à la fois consultée et modifiée
    
    Ce paramétrage garantit un contrôle sécurisé de l’utilisation des variables dans les scénarios et les interfaces externes
- **commentaire** Champ libre permettant de saisir tout type de remarque ou d'information complémentaire pour documenter l’usage spécifique ou les particularités de la variable
- **options d'exposition** Elles permettent de définir sur quelles interfaces et protocoles la variable est accessible. Elles facilitent l’intégration avec des systèmes tiers et le pilotage à distance
- **Scénario distant**  
    Permet l’utilisation de la variable par des scénarios exécutés à distance (supervision ...)
- **Home Assistant**  
    Expose la variable dans <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Home Assistant</span></span>.  
    *Exemple : récupération d’un état (alarme, disjoncteur) ou commande d’un équipement depuis Home Assistant.*
- **ESP-NOW**  
    Autorise l’échange direct avec des modules ModLink distants
- **Modbus**  
    Expose la variable via le protocole <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Modbus</span></span>, largement utilisé en automatisme, GTB
- **Site Web**  
    Rend la variable accessible depuis l’interface Web locale ou distante du système
- **OPC UA**  
    Permet l’intégration avec des superviseurs industriels (SCADA, GTB ...)
- **Non sécurisé**  
    Permet un accès simplifié à la variable sans mécanisme de sécurité renforcé.  
    *À utiliser uniquement dans des environnements maîtrisés*

# Variables préconfigurées

ModLink met à disposition un **ensemble de variables préconfigurées** reflétant l'état des entrées, des sorties ainsi que les différentes mesures et informations internes du module.

Disponibles par défaut, elles permettent de créer des scénarios sans avoir à définir ou configurer les variables nécessaires au préalable.

Accessibles depuis le menu "*Objet"*, ces variables **peuvent être personnalisées** selon les besoins (voir [Personnaliser une variable](https://modlink.fr/help/link/221#bkmrk-2--personnaliser-une))  
Les variables affichant<sub> [![9790368.png](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/9790368.png)](https://modlink.fr/help/uploads/images/gallery/2026-06/9790368.png) </sub>sont associées aux scénarios préconfigurés et peuvent être supprimées.   
Les autres sont liées au fonctionnement du module et ne peuvent pas être supprimées.

### 1- Variables des sorties

Elles indiquent **l'état des relais** **(ON / OFF)**.

- ##### Sortie 1
- ##### Sortie 2

<span style="text-decoration: underline;">Utilisation</span> :

- Vérification de l’état d’un relais
- Synchronisation de plusieurs sorties
- Création de logiques dépendantes d’un état de sortie

### 2- Variables des entrées 12V

Elles représentent **l’état des entrées basse tension (ON / OFF).**

- ##### Entrée 12V 1
- ##### Entrée 12V 2

<span style="text-decoration: underline;">Utilisation</span> :

- Détection de contacts secs
- Lecture de capteurs ou boutons

### 3- Variables des entrées 220V

Ces variables **indiquent la présence de tension secteur sur les entrées**

- ##### Entrée 220V 1
- ##### Entrée 220V 2

<span style="text-decoration: underline;">Utilisation</span> :

- Détection de présence secteur
- Surveillance d’alimentation
- Déclenchement de scénarios de sécurité

### 4- Variables de courant

Ces variables **mesurent le courant consommé sur les sorties** associées.

- ##### Sortie 1
- ##### Sortie 2

<span style="text-decoration: underline;">Utilisation</span> :

- Suivi de consommation
- Détection de surcharge ou sous-consommation
- Diagnostic de fonctionnement d’un équipement

### 5- Compteur de boucle

Cette variable **comptabilise le nombre de passages dans une boucle de scénario**.

**Utilisation :**

- Limitation du nombre de répétitions
- Suivi d’exécution d’un scénario
- Sécurisation contre les boucles infinies

### 6- Disjoncteur

Cette variable permet de remonter l’**état du disjoncteur dans les scénarios** (état normal, déclenché ou ouvert selon configuration).  
Elle contribue ainsi à la sécurité globale de l’installation et à la protection des équipements.

<span style="text-decoration: underline;">Utilisation</span> :

- Détection de coupure d’alimentation et arrêt automatique des équipements
- Détection de surcharge électrique
- Mise en sécurité du système
- Notification d'alerte pour intervention maintenance
- Blocage du redémarrage automatique tant que le défaut n’est pas acquitté

<details id="bkmrk-r%C3%A9capitulatif-variab"><summary>Récapitulatif VARIABLES PRÉCONFIGURÉES</summary>

<table border="1" style="border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94);"><thead><tr style="background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><th style="border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Variable**</span></th><th style="border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Principe**</span></th><th style="border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Utilisation**</span></th></tr></thead><tbody><tr><td style="border-color: rgb(52, 73, 94);">**Bouton télérupteur ⚙️**</td><td style="border-color: rgb(52, 73, 94);">Mémorise l'état du bouton poussoir (ON / OFF)</td><td style="border-color: rgb(52, 73, 94);">lié au scénario "télérupteur"</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Compteur de boucle 🔒**</td><td style="border-color: rgb(52, 73, 94);">Compte le nombre de passages dans une boucle de scénario</td><td style="border-color: rgb(52, 73, 94);">Limitation de répétition, contrôle de boucle</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Courant relais 1 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique le courant consommé sur le relais 1</td><td style="border-color: rgb(52, 73, 94);">Surveillance de charge, détection de surcharge</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Courant relais 2 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique le courant consommé sur le relais 2</td><td style="border-color: rgb(52, 73, 94);">Analyse de consommation, diagnostic</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Disjoncteur 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique l’état du disjoncteur (actif / déclenché)</td><td style="border-color: rgb(52, 73, 94);">Sécurité, détection de coupure ou surcharge</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Temporisation télérupteur ON / OFF ⚙️**</td><td style="border-color: rgb(52, 73, 94);">Applique la temporisation ou non</td><td style="border-color: rgb(52, 73, 94);">  
</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Sortie 1 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique l’état de la sortie 1 (ON / OFF)</td><td style="border-color: rgb(52, 73, 94);">Vérification d’état d’un actionneur</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Sortie 2 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique l’état de la sortie 2 (ON / OFF)</td><td style="border-color: rgb(52, 73, 94);">Synchronisation et contrôle logique</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Entrée 220V 1 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique la présence de tension sur l’entrée 220V 1</td><td style="border-color: rgb(52, 73, 94);">Détection alimentation secteur</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Entrée 220V 2 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique la présence de tension sur l’entrée 220V 2</td><td style="border-color: rgb(52, 73, 94);">Surveillance réseau électrique</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Entrée 12V 1 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique l’état de l’entrée 12V 1</td><td style="border-color: rgb(52, 73, 94);">Lecture de capteurs ou contacts secs</td></tr><tr><td style="border-color: rgb(52, 73, 94);">**Entrée 12V 2 🔒**</td><td style="border-color: rgb(52, 73, 94);">Indique l’état de l’entrée 12V 2</td><td style="border-color: rgb(52, 73, 94);">Détection d’événements ou commandes externes</td></tr></tbody></table>

</details>🔒 **Variable système (non supprimable)**

**⚙️ Variable de scénario préconfiguré (supprimable si inutilisée)**

# Partage de variables sur le réseau

<p class="callout warning"><span style="text-decoration: underline;">Prérequis</span> :   
avant de configurer le partage de variables, assurez-vous que la **clé de cryptage** a été dupliquée et appliquée sur chaque module du réseau. Sans cette configuration, les modules ne pourront pas communiquer ni échanger leurs données  
</p>

Pour **partager les variables d'un module** sur les autres modules du réseau :

- <span style="color: rgb(68, 68, 68);">Dans le menu "Objet", sélectionner la valeur "*Distant*" </span>
- <span style="color: rgb(68, 68, 68);">Cliquer sur "<span style="background-color: rgb(53, 152, 219);">*ajouter*</span>"</span>

<span style="color: rgb(68, 68, 68);">[![Capture d’écran 2026-06-09 143043.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-09-143043.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-09-143043.jpg)</span>

<span style="color: rgb(68, 68, 68);">**Ajouter manuellement un module** (si vous connaissez son identifiant)</span>

- <span style="color: rgb(68, 68, 68);">dans "*nom de l'appareil"* saisissez l'identifiant du module vers lequel vous souhaitez partager les variables   
    <span style="background-color: rgb(241, 196, 15);">**2pio\_ \_ \_ \_**</span> (4 caractères)   
    </span>
- <span style="color: rgb(68, 68, 68);">Cliquer sur *"<span style="background-color: rgb(53, 152, 219);">ajouter l'appareil</span>"* pour confirmer votre choix</span>

<span style="color: rgb(68, 68, 68);">[![Capture d’écran 2026-06-09 143150.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-09-143150.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-09-143150.jpg)</span>

<span style="color: rgb(68, 68, 68);">**ou bien scanner le réseau** pour afficher directement les modules du réseau :</span>

- <span style="color: rgb(68, 68, 68);">cliquez sur *"<span style="background-color: rgb(45, 194, 107);">scanner en mDNS</span>"*</span>
- <span style="color: rgb(68, 68, 68);">sélectionnez les appareils vers lesquels vous souhaitez partager les variables</span>
- <span style="color: rgb(68, 68, 68);">cliquer sur *"<span style="background-color: rgb(53, 152, 219);">importer la sélection</span>"*</span>

[![Capture d’écran 2026-06-09 144554.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-09-144554.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-09-144554.jpg)

- <span style="color: rgb(68, 68, 68);">une nouvelle fenêtre *"gestion des appareils"* s'affiche, cliquez sur *"<span style="background-color: rgb(220, 40, 197);">sauvegarder"</span>* pour enregistrer la configuration</span>

[![Capture d’écran 2026-06-09 144953.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-09-144953.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-09-144953.jpg)

# Créer et supprimer une variable

<p class="callout success"><span style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
</span>  
<span style="color: rgb(0, 0, 0);">- **Définir le besoin** : identifiez exactement ce que la variable doit mesurer ou contrôler dans le scénario  
- **vérifier les variables préconfigurées** pour éviter de recréer des éléments déjà disponibles</span>  
<span style="color: rgb(0, 0, 0);">- Donner un nom explicite : le nom doit refléter clairement la fonction de la variable pour faciliter sa lecture et son  
 utilisation dans les scénarios</span>  
<span style="color: rgb(0, 0, 0);">- vérifier la **compatibilité des types de variables** avec les actions et scénarios prévus (ex. : numérique, booléen, texte)</span>  
<span style="color: rgb(0, 0, 0);">- les variables doivent avoir une **valeur initiale** avant utilisation</span>  
<span style="color: rgb(0, 0, 0);">- identifier et noter le rôle de chaque variable pour faciliter la maintenance (dans commentaire)  
  
<span style="color: rgb(68, 68, 68);">*En suivant ces étapes, chaque variable sera facile à comprendre, à configurer et à utiliser dans vos modules*</span>  
</span></p>

### 1- Créer une nouvelle variable

Certaines variables sont préconfigurées sur le module et peuvent être utilisées immédiatement dans les scénarios. Elles couvrent les besoins les plus courants et ne nécessitent aucune configuration préalable.

Toutefois, pour répondre à des **besoins fonctionnels spécifiques** ou mettre en œuvre des **logiques d'automatisation plus avancées**, il peut être nécessaire de créer des variables supplémentaires. Ces variables personnalisées permettent d'adapter précisément le fonctionnement des scénarios aux exigences de l'installation.

- Aller dans le menu « *Objet* »
- Cliquer sur le bouton "*<span style="background-color: rgb(53, 152, 219);">+Ajouter</span>*"

La variable créée apparaitra à la suite des variables déjà configurées.  
Le nombre de variables maximal est limité à 32.  
Une variable peut être utilisée simultanément dans plusieurs scénarios.

#### 1.1- Paramétrer la nouvelle variable

Les paramètres à renseigner lors de la création d’une variable permettent de définir précisément son comportement et son intégration dans les scénario et modules distants.  
Cliquer sur l'icône pinceau pour ouvrir la fenêtre de configuration et renseigner les éléments suivants :

- **le nom**  
    il est recommandé d'utiliser un nom explicite afin d’identifier clairement la variable dans les scénarios et la supervision.
- **la valeur par défaut**  
    Valeur appliquée à la variable lors du démarrage du module ou après un redémarrage.  
    Ce paramètre permet de garantir un état de fonctionnement sûr au lancement.
- **l’unité et le type d’unité**  
    Précise l’unité de mesure associée à la variable (par exemple : température et degrés celcius).  
    Important pour la cohérence des scénarios et l’affichage correct dans la supervision.
- **le type de variable Home Assistant**  
    Ce paramètre est essentiel pour assurer la bonne communication et l’interopérabilité avec les plateformes domotiques
- **les droits d’accès**  
    Ils permettent de définir comment la variable peut être utilisée :
    
    \- lecture seule : elle peut être consultée mais non modifiée
    
    \- écriture seule : elle peut être modifiée sans possibilité de lecture
    
    \- lecture et écriture : elle peut être à la fois consultée et modifiée
    
    Ce paramétrage garantit un contrôle sécurisé de l’utilisation des variables dans les scénarios et les interfaces externes
- **commentaire** Champ libre permettant de saisir tout type de remarque ou d'information complémentaire pour documenter l’usage spécifique ou les particularités de la variable
- **options d'exposition** Elles permettent de définir sur quelles interfaces et protocoles la variable est accessible. Elles facilitent l’intégration avec des systèmes tiers et le pilotage à distance
- **Scénario distant**  
    Permet l’utilisation de la variable par des scénarios exécutés à distance (supervision ...)
- **Home Assistant**  
    Expose la variable dans <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Home Assistant</span></span>.  
    *Exemple : récupération d’un état (alarme, disjoncteur) ou commande d’un équipement depuis Home Assistant.*
- **ESP-NOW**  
    Autorise l’échange direct avec des modules ModLink distants
- **Modbus**  
    Expose la variable via le protocole <span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Modbus</span></span>, largement utilisé en automatisme, GTB
- **Site Web**  
    Rend la variable accessible depuis l’interface Web locale ou distante du système
- **OPC UA**  
    Permet l’intégration avec des superviseurs industriels (SCADA, GTB ...)
- **Non sécurisé**  
    Permet un accès simplifié à la variable sans mécanisme de sécurité renforcé.  
    *À utiliser uniquement dans des environnements maîtrisés*

<div class="relative basis-auto flex-col -mb-(--composer-overlap-px) pb-(--composer-overlap-px) [--composer-overlap-px:28px] grow flex" id="bkmrk-1.2--configurer-les-"><div class="flex flex-col text-sm"><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto [content-visibility:auto] supports-[content-visibility:auto]:[contain-intrinsic-size:auto_100lvh] R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-20" data-turn="assistant" data-turn-id="request-WEB:cd531812-22c7-41a6-983f-660fdcbfd53e-9" dir="auto"><div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)"><div class="[--thread-content-max-width:40rem] @w-lg/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn"><div class="flex max-w-full flex-col gap-4 grow"></div></div></div>#### 1.2- Configurer les valeurs de la variable

En cliquant sur le bouton vert (lien), une fenêtre de configuration s’ouvre et permet de définir les valeurs associées à une variable pour les rendre plus lisibles dans les scénarios.  
Il est possible d’ajouter autant de lignes que nécessaire afin de détailler les différentes valeurs et leurs significations.   
Chaque ligne doit comporter :

- un champ **valeur**
- un **libellé associé**

Cette configuration facilite la compréhension et l’interprétation des variables lors de la programmation des scénarios, en associant chaque valeur à une action ou un état clairement identifié.

<span style="text-decoration: underline;">Exemple :</span>

- Valeur : 1 → Libellé : Allumage
- Valeur : 2 → Libellé : Extinction

</section><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto [content-visibility:auto] supports-[content-visibility:auto]:[contain-intrinsic-size:auto_100lvh] R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-20" data-turn="assistant" data-turn-id="request-WEB:cd531812-22c7-41a6-983f-660fdcbfd53e-9" dir="auto"></section></div></div>### 2- Supprimer une variable

<div class="TyagGW_tableContainer" id="bkmrk--1"></div><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto [content-visibility:auto] supports-[content-visibility:auto]:[contain-intrinsic-size:auto_100lvh] R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-32" data-turn="assistant" data-turn-id="request-WEB:cd531812-22c7-41a6-983f-660fdcbfd53e-15" dir="auto" id="bkmrk-seules-les-variables">Utiliser le bouton rouge pour supprimer une variable créée par un utilisateur, sous réserve des droits d’accès octroyés.

Les variables préconfigurées nécessaires au fonctionnement du système, ne peuvent pas être supprimées.

</section>

# Gestion des scénarios

<span>Utilisez un </span>**ordinateur**<span> pour l'édition, la modification et la création de scénarios de fonctionnement.</span>  
Le serveur Web intégré permet de créer des scénario personnalisés ; aucun logiciel supplémentaire n'est nécessaire.  
Créez facilement des tâches basées sur le temps, l’état des entrées et des sorties ...

# Editer un scénario

<p class="callout warning">**Accès réservé :**   
seuls les utilisateurs disposant du rôle **Installateur** et des **permissions** associées peuvent accéder à la gestion des scénarios</p>

Depuis le menu "Scénario", vous pouvez **éditer un scénario préconfiguré,** **créer un nouveau scénario ou importer un scénario modèle.**

- Dans le bandeau latéral gauche, cliquez sur "*Éditer"* pour ouvrir le scénario  
    Utilisez l’option "*Modifier"* pour personnaliser les informations du scénario  
    Utilisez les commandes disponibles pour "*créer", "exporter" ou "télécharger"* un nouveau scénario

<p class="callout info">Chaque module peut contenir un maximum de **3 scénarios**  
Seuls les scénarios déjà **chargés sur le module** sont affichés</p>

Les scénarios sont représentés sous forme de **blocs fonctionnels** d'entrée et de sortie **interconnectés**, illustrant le comportement du module et les relations entre les différentes conditions, actions et temporisations.

Vous pouvez naviguer dans la **zone de travail** pour visualiser la structure et la logique du scénario.  
Une mini-fenêtre de visualisation, située en bas à droite de l’écran, offre un aperçu global des blocs.  
  
La **barre d'outils latérale** affichée à la droite de l'écran permet de :  
\- agrandir la vue  
\- réduire la vue  
\- recentrer l’affichage sur la zone des blocs scénario  
\- verrouiller et déverrouiller les blocs  
\- réinitialiser l'édition de blocs

<p class="callout success">Plusieurs options de scénario sont possibles :  
  
- utiliser un **scénario préconfiguré** si son fonctionnement correspond à votre besoin  
- **modifier un scénario modèle** pour l’adapter à votre usage  
- **créer un nouveau scénario** entièrement personnalisé</p>

# Utiliser les blocs de fonction

Dans le menu “Scénario”, les blocs de fonctions apparaissent dans le bandeau latéral à la suite des scénarios déjà configurés. Faites défiler ce bandeau vers le bas pour accéder aux différents blocs de création.

Pour construire un scénario, sélectionnez un bloc puis faites-le glisser vers l’espace de travail. Vous pouvez ensuite le déposer, l’organiser et le relier aux autres blocs afin de définir la logique souhaitée.

Les scénarios sont construits à partir de blocs fonctionnels **interconnectés.**  
Chaque bloc remplit une fonction logique précise dans le traitement des **entrées**, des **variables** et des **sorties**.

### **1- Tests sur les entrées<span style="background-color: rgb(241, 196, 15);">  
</span>**

Ces blocs sont utilisés pour **contrôler l’état ou le comportement des éléments physiques connectés aux entrées du module**. Ils permettent de traiter les différents types de signaux d'entrées provenant des capteurs ou des interrupteurs (impulsions, états logiques, variations ...) avant de déclencher une action.

#### 1.1- impulsion simple

Ce bloc permet de détecter **un appui court et unique** sur une entrée.  
Il génère une action uniquement lors de la détection d’une impulsion, sans maintien de l’état.

#### 1.2- une impulsion double

<div class="flex flex-col text-sm pb-25" id="bkmrk-ce-bloc-d%C3%A9tecte-deux"><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-20" data-turn="assistant" data-turn-id="request-WEB:5df38fd3-bf2f-491f-8d0a-d07fbd8b4472-9" dir="auto">Ce bloc détecte **deux appuis rapides et consécutifs** sur une entrée.   
L’action n’est déclenchée que si les deux impulsions sont reconnues dans un intervalle de temps.

</section></div>#### 1.3- une impulsion longue

Ce bloc détecte **un appui prolongé sur une entrée**.   
L’action est déclenchée uniquement lorsque l’entrée reste activée pendant une durée continue.

#### 1.4- Trois impulsions (simple / double / longue)

Ce bloc permet d’identifier **différents types d’appuis** sur une entrée : **impulsion simple, double impulsion ou appui long**. L’action associée est déclenchée en fonction du type d’appui détecté.

#### 1.5- Test analogique

Ce bloc permet de **comparer une valeur analogique à une valeur définie**.   
Il vérifie **si la valeur de test est supérieure ou égale**, ou **inférieure ou égale** à la valeur définie afin de déclencher les actions associées.

<div class="flex flex-col text-sm" id="bkmrk-les-deux-tests-%28%3E-et"><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-38" data-turn="assistant" data-turn-id="request-WEB:5df38fd3-bf2f-491f-8d0a-d07fbd8b4472-18" dir="auto">Les deux tests (&gt; et &lt;) sont généralement utilisés conjointement afin de définir une zone de fonctionnement (hystérésis). Cela permet d’éviter les déclenchements et arrêts répétés liés aux variations autour du seuil.

<p class="callout warning">Ce bloc de fonction ne s’applique pas à la régulation du chauffage.   
Pour cet usage, un bloc spécifique est disponible dans la section « Régulation ».</p>

</section></div>#### 1.6- Test état front. ON / OFF

Ce bloc détecte un **changement d’état** sur une entrée, en analysant les transitions ON → OFF ou OFF → ON.   
Il permet de déclencher une action uniquement lors du passage d’un état à un autre (front montant ou front descendant).

<p class="callout info">Le bloc devient VRAI uniquement au moment du changement, puis redevient FAUX  
- il ne reste pas actif  
- il déclenche une seule fois par changement</p>

#### 1.7- Test état ON / OFF

Ce bloc permet de **vérifier l’état d’une entrée**.   
Il détecte si l’entrée est en position ON ou OFF et déclenche les actions associées en fonction de l’état constaté.

<p class="callout info">Ce bloc vérifie un **état stable**</p>

#### 1.8- Test contact radar

Ce bloc permet de vérifier l’**état du contact issu d’un détecteur radar**.  
Il détecte la présence ou l’absence de détection et déclenche les actions associées en fonction de l’état du contact.  
Il faut paramétrer le **délai de défaut en minutes**.   
Par exemple, si le capteur reste ouvert pendant une durée supérieure à 30 minutes, il passe automatiquement en état d’erreur.

<details id="bkmrk-rappel-blocs-de-test"><summary>Rappel blocs de tests sur les ENTRÉES</summary>

<table border="1" id="bkmrk-tests-sur-les-entr%C3%A9e" style="border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94); border-width: 1px; width: 99.9748%;"><thead><tr style="border-color: rgb(52, 73, 94); background-color: rgb(241, 196, 15);"><th style="border-color: rgb(52, 73, 94); width: 18.1667%;">**<span style="color: rgb(52, 73, 94);">Bloc</span>**</th><th style="border-color: rgb(52, 73, 94); width: 44.8659%;">**<span style="color: rgb(52, 73, 94);">Type de test</span>**</th><th style="border-color: rgb(52, 73, 94); width: 36.9544%;">**<span style="color: rgb(52, 73, 94);">Utilisation</span>**</th></tr></thead><tbody><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**Impulsion simple**</span></td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Détecte une seule impulsion </span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Déclencher une action sur appui court</span></td></tr><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**Impulsion double**</span></td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Détecte deux impulsions successives rapprochées</span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Utilisé pour commandes type double-clic</span></td></tr><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**Impulsion longue**</span></td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Détecte une impulsion maintenue dans le temps</span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Déclencher une action sur appui long</span></td></tr><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**3 impulsions**</span></td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Détecte trois impulsions successives</span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Commandes spécifiques multi-clic</span></td></tr><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**Test analogique**</span></td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Compare une valeur analogique à un seuil</span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Lecture capteurs (température, luminosité, etc.)</span></td></tr><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**Test état front** </span>

<span style="color: rgb(52, 73, 94);">**ON / OFF**</span>

</td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Détecte un changement d’état (front montant ou descendant)</span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Déclenchement sur transition ON ↔ OFF</span></td></tr><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**Test état   
ON / OFF**</span></td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Vérifie l’état stable d’une entrée</span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Vérifier si une entrée est active ou inactive</span></td></tr><tr><td class="align-left" style="border-color: rgb(52, 73, 94); width: 18.1667%;"><span style="color: rgb(52, 73, 94);">**Test   
contact radar**</span></td><td style="border-color: rgb(52, 73, 94); width: 44.8659%;"><span style="color: rgb(52, 73, 94);">Détecte l’état ou l’activation d’un contact radar</span></td><td style="border-color: rgb(52, 73, 94); width: 36.9544%;"><span style="color: rgb(52, 73, 94);">Utilisation avec détection de présence</span></td></tr></tbody></table>

</details>
### **2- Tests sur les variables**

Ces blocs de test permettent de vérifier l’état ou la valeur d’une variable utilisée dans les scénarios. Ils servent à comparer une variable à une valeur définie (égalité, supériorité, infériorité ou plage de valeurs) afin de déclencher les actions associées selon le résultat du test.

##### 2.1- Test variable simple

Ce bloc permet d’**effectuer un test sur une variable unique avec plusieurs types de conditions** :

- Test d’**égalité** (= valeur définie)
- Test **supérieur à** (&gt; valeur définie)
- Test **inférieur à** (&lt; valeur définie)

Le résultat du test est validé si la/les condition(s) configurée(s) est/sont respectée(s).

##### 2.2- Test changement de variable

<div class="flex flex-col text-sm pb-25" id="bkmrk-ce-bloc-permet-de-d%C3%A9"><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-50" data-turn="assistant" data-turn-id="request-WEB:5df38fd3-bf2f-491f-8d0a-d07fbd8b4472-24" dir="auto">Ce bloc permet de détecter toute **modification de la valeur d’une variable** dans un scénario. Il déclenche les actions associées dès qu’un changement est constaté, indépendamment de la nouvelle valeur.

**Exemple :**  
Dans le scénario *“Accès bâtiment”*, si la variable *“Mode sécurité”* passe de *Désactivé* à *Activé*, le bloc détecte ce changement et peut déclencher l’activation des alarmes et la fermeture des accès.

</section></div>##### 2.3- Test de variables multiples Et / Ou

Ce bloc permet d'**évaluer** **simultanément plusieurs variables dans un scénario** en fonction des opérateurs ET / OU et de déclencher les actions associées lorsque l’ensemble ou une partie des conditions est vérifiée.

- **ET** : toutes les conditions doivent être vraies
- **OU** : au moins une condition doit être vraie

**Exemple** :  
Dans un scénario, si les variables "têtes thermostatiques" sont détectées comme fermées (condition ET), alors le bloc déclenche la fermeture du circuit d'eau.

##### 2.4- Test de variables égales multiples

Ce bloc permet de tester **une variable en définissant plusieurs conditions d’égalité**.  
Pour chaque égalité, une valeur est associée à la variable.  
Le test est validé si la variable correspond à l’une des valeurs définies.

<p class="callout info">Chaque égalité correspond à une valeur possible de la variable.   
Le bloc réalise donc un test d’appartenance à une liste de valeurs définies.</p>

<details id="bkmrk-rappel-blocs-de-test-2"><summary>Rappel blocs de tests sur les VARIABLES</summary>

<table border="1" id="bkmrk-bloc-type-de-test-pr" style="width: 107.857%; height: 373.097px; border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94); border-width: 1px;"><thead><tr style="height: 29.7017px; background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><td class="align-center" style="width: 22.8587%; border-color: rgb(52, 73, 94); height: 29.7017px;"><span style="color: rgb(52, 73, 94);">**Bloc**</span></td><td class="align-center" style="width: 13.0974%; border-color: rgb(52, 73, 94); height: 29.7017px;">**<span style="color: rgb(52, 73, 94);">Type de test</span>**</td><td class="align-center" style="width: 36.8222%; border-color: rgb(52, 73, 94); height: 29.7017px;">**<span style="color: rgb(52, 73, 94);">Principe</span>**</td><td class="align-center" style="width: 27.1823%; border-color: rgb(52, 73, 94); height: 29.7017px;">**<span style="color: rgb(52, 73, 94);">Utilisation</span>**</td></tr></thead><tbody><tr style="height: 63.3097px;"><td class="align-left" style="width: 22.8587%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">**Test variable simple**</span></td><td style="width: 13.0974%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">1 variable</span></td><td style="width: 36.8222%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">Compare une variable à une valeur avec une condition logique (=, &gt;, &lt;)</span></td><td style="width: 27.1823%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">Tester un seuil ou un état précis</span></td></tr><tr style="height: 80.1136px;"><td class="align-left" style="width: 22.8587%; border-color: rgb(52, 73, 94); height: 80.1136px;"><span style="color: rgb(52, 73, 94);">**Test changement** </span>

<span style="color: rgb(52, 73, 94);">**de variable**</span>

</td><td style="width: 13.0974%; border-color: rgb(52, 73, 94); height: 80.1136px;"><span style="color: rgb(52, 73, 94);">1 variable</span></td><td style="width: 36.8222%; border-color: rgb(52, 73, 94); height: 80.1136px;"><span style="color: rgb(52, 73, 94);">Détecte une variation d’état ou de valeur (front montant, descendant ou toute modification)</span></td><td style="width: 27.1823%; border-color: rgb(52, 73, 94); height: 80.1136px;"><span style="color: rgb(52, 73, 94);">Déclencher une action uniquement lors d’un changement</span></td></tr><tr style="height: 63.3097px;"><td class="align-left" style="width: 22.8587%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">**Test variables multiples** </span>

<span style="color: rgb(52, 73, 94);">**ET / OU**</span>

</td><td style="width: 13.0974%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">Plusieurs variables</span></td><td style="width: 36.8222%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">Combine plusieurs variables avec une logique booléenne ET / OU</span></td><td style="width: 27.1823%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">Valider une condition basée sur plusieurs états</span></td></tr><tr style="height: 63.3097px;"><td class="align-left" style="width: 22.8587%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">**Test variable égale multiple**</span></td><td style="width: 13.0974%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">1 variable</span></td><td style="width: 36.8222%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">Permet de définir plusieurs égalités possibles pour une même variable</span></td><td style="width: 27.1823%; border-color: rgb(52, 73, 94); height: 63.3097px;"><span style="color: rgb(52, 73, 94);">Vérifier si une variable correspond à un ensemble de valeurs autorisées</span></td></tr></tbody></table>

</details>### **3- Actions sur les sorties**

<div class="flex flex-col text-sm pb-25" id="bkmrk-les-blocs-contact-so"><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-62" data-turn="assistant" data-turn-id="request-WEB:5df38fd3-bf2f-491f-8d0a-d07fbd8b4472-30" dir="auto">Les blocs contact sorties permettent de **piloter et de gérer l’état des sorties** d’un module dans un scénario. Ils permettent de commander les actionneurs (relais, éclairages, ouvrants ...) selon différents modes de fonctionnement : commande directe (ON / OFF / inversion), temporisée, cyclique ou spécifique à des équipements (BSO, ouvrants).

</section></div>##### 3.1- On / Off / Flip

Ce bloc est utilisé pour **commander directement un actionneur** dans un scénario selon la logique définie.

- **ON** : active la sortie de manière continue
- **OFF** : désactive la sortie
- **FLIP** : inverse l’état actuel de la sortie (ON devient OFF, OFF devient ON)

##### 3.2- Tous les relais (On / Off / Flip)

Ce bloc permet de **piloter simultanément l’ensemble des relais d’un module**. Il est utilisé pour appliquer une action globale sur toutes les sorties relais dans un scénario.

- **ON** : active tous les relais
- **OFF** : désactive tous les relais
- **FLIP** : inverse l’état de chaque relais (les relais actifs passent à OFF et les relais inactifs passent à ON)

<span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 1.4em; font-weight: 400;">3.3- Impulsion cyclique</span>

Ce bloc permet de générer une **succession d’impulsions ON/OFF** sur une sortie **selon un cycle paramétré**.   
Il est nécessaire de définir le *nombre d’impulsions* par cycle, le *nombre de cycles*, la *durée* de chaque impulsion (en ms) ainsi que le *temps entre deux cycles* (en ms).La sortie est activée de manière répétée (clignotement ou alternance)

<span style="text-decoration: underline;">Exemple</span> :  
Pour faire clignoter un voyant d’alerte, on paramètre :

<div class="flex flex-col text-sm pb-25" id="bkmrk-3-impulsions-par-cyc"><section class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-72" data-turn="assistant" data-turn-id="request-WEB:5df38fd3-bf2f-491f-8d0a-d07fbd8b4472-35" dir="auto"><div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)"><div class="[--thread-content-max-width:40rem] @w-lg/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn"><div class="flex max-w-full flex-col gap-4 grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&]:mt-1" data-message-author-role="assistant" data-message-id="65ee51f2-c7ac-4e2f-9062-a5a0e80d4ac5" data-message-model-slug="gpt-5-3-mini" data-turn-start-message="true" dir="auto" tabindex="0"><div class="flex w-full flex-col gap-1 empty:hidden"><div class="markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling">- 3 impulsions par cycle
- 2 cycles
- 500 ms d’impulsion
- 1000 ms entre les cycles

</div></div></div></div></div></div>Le voyant s’allume et s’éteint 3 fois, puis le cycle est répété une deuxième fois après une pause d’1 seconde.

</section></div>##### 3.4- On / Off après temporisation

Ce bloc permet de **commander une sortie** **avec un délai d’exécution**. Le module ne la commande pas immédiatement ;   
il attend un temps défini puis exécute l'action.  
Il est nécessaire de sélectionner la sortie concernée, de définir la fonction (ON ou OFF), puis de paramétrer le temps de temporisation en millisecondes.

<span style="text-decoration: underline;">Exemple d'applications</span> :

- lumière qui s’éteint après 2 minutes
- ventilation qui démarre après 30 secondes
- arrêt automatique différé

##### 3.5- BSO (Brise Soleil Orientable)

Ce bloc permet la **commande de stores à lamelles orientables**.  
Il est nécessaire de définir la configuration du BSO ainsi que la fonction à exécuter (ouvrir, fermer, stop, orientation ...).

<span style="text-decoration: underline;">Exemple</span> :

- ouverture des lames
- fermeture partielle
- ajustement selon soleil

##### 3.6- Ouvrants

Ces blocs permettent de **piloter des équipements motorisés** tels que des volets roulants, des stores, des fenêtres et autres ouvrants.  
Il faut définir la configuration et la fonction (ouvrir, fermer, stop ...).

<details id="bkmrk-rappel-blocs-d%27actio"><summary>Rappel blocs d'action sur les SORTIES</summary>

<table border="1" style="border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94); width: 99.9748%;"><tbody><tr style="background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><td class="align-center" style="border-color: rgb(52, 73, 94); width: 15.3256%;">**Bloc**</td><td class="align-center" style="border-color: rgb(52, 73, 94); width: 13.4709%;">**Type d’action**</td><td class="align-center" style="border-color: rgb(52, 73, 94); width: 39.6743%;">**Principe**</td><td class="align-center" style="border-color: rgb(52, 73, 94); width: 31.5163%;">**Utilisation**</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 15.3256%;">**On / Off / Flip**</td><td style="border-color: rgb(52, 73, 94); width: 13.4709%;">Commande directe</td><td style="border-color: rgb(52, 73, 94); width: 39.6743%;">Active, désactive ou inverse l’état d’une sortie instantanément</td><td style="border-color: rgb(52, 73, 94); width: 31.5163%;">Pilotage simple d’un éclairage, relais ou équipement</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 15.3256%;">**Tous les relais (On / Off / Flip)**</td><td style="border-color: rgb(52, 73, 94); width: 13.4709%;">Commande globale</td><td style="border-color: rgb(52, 73, 94); width: 39.6743%;">Applique une action (ON, OFF ou inversion) à l’ensemble des relais d’un module</td><td style="border-color: rgb(52, 73, 94); width: 31.5163%;">Coupure générale, mise en marche globale, reset des sorties</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 15.3256%;">**Impulsion cyclique**</td><td style="border-color: rgb(52, 73, 94); width: 13.4709%;">Commande cyclique</td><td style="border-color: rgb(52, 73, 94); width: 39.6743%;">Génère une succession d’impulsions ON/OFF selon un cycle paramétré (répétition dans le temps)</td><td style="border-color: rgb(52, 73, 94); width: 31.5163%;">Signalisation lumineuse, alerte, clignotement</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 15.3256%;">**On / Off après temporisation**</td><td style="border-color: rgb(52, 73, 94); width: 13.4709%;">Commande temporisée</td><td style="border-color: rgb(52, 73, 94); width: 39.6743%;">Exécute une action ON ou OFF après un délai défini</td><td style="border-color: rgb(52, 73, 94); width: 31.5163%;">Extinction automatique, démarrage différé, temporisation d’équipement</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 15.3256%;">**BSO**</td><td style="border-color: rgb(52, 73, 94); width: 13.4709%;">Commande spécifique</td><td style="border-color: rgb(52, 73, 94); width: 39.6743%;">Pilote des brise-soleil orientables avec gestion des positions et de l’orientation</td><td style="border-color: rgb(52, 73, 94); width: 31.5163%;">Gestion de la lumière naturelle, confort thermique</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 15.3256%;">**Ouvrants**</td><td style="border-color: rgb(52, 73, 94); width: 13.4709%;">Commande spécifique</td><td style="border-color: rgb(52, 73, 94); width: 39.6743%;">Permet de contrôler des équipements motorisés (ouverture, fermeture, arrêt)</td><td style="border-color: rgb(52, 73, 94); width: 31.5163%;">Volets roulants, stores, fenêtres motorisées</td></tr></tbody></table>

</details>### **4- Actions sur les variables**

Ces blocs agissent directement sur les variables existantes en leur appliquant une modification. Ces actions peuvent être conditionnelles ou exécutées à chaque passage du scénario.

Les blocs d’actions sur les variables permettent de modifier les valeurs utilisées dans un scénario.  
Ils sont indispensables pour gérer des états, effectuer des calculs simples et créer des logiques évoluées.   
Différents types d'actions sont disponibles :

##### 4.1- Actions variables

Ce bloc permet d**’affecter directement une valeur à une variable**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Sélection de la variable
- Choix de la valeur à appliquer (valeur fixe ou issue d’une autre variable)

<span style="text-decoration: underline;">Utilisation</span> :

- Initialisation d’un état
- Changement de mode (ex : absence, présence)

##### 4.2- Valeur variables multiples

Ce bloc permet de **définir la valeur d’une variable en fonction de plusieurs entrées ou conditions**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Définition des variables sources
- Règle de calcul ou de sélection de la valeur finale

<span style="text-decoration: underline;">Utilisation</span> :

- Gestion de modes complexes
- Agrégation de plusieurs états (ex : sécurité, confort, énergie)

##### 4.3- Incrémenter le compteur

Ce bloc **augmente la valeur d’une variable numérique**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Sélection de la variable
- Valeur d’incrément (par défaut +1 ou personnalisée)

<span style="text-decoration: underline;">Utilisation</span> :

- Comptage d’événements (ouvertures, déclenchements)
- Suivi d’occurrences

##### 4.4- Décrémenter le compteur

Ce bloc **diminue la valeur d’une variable numérique**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Sélection de la variable
- Valeur de décrément (par défaut -1 ou personnalisée)

<span style="text-decoration: underline;">Utilisation</span> :

- Gestion de temporisations logiques
- Décompte de cycles ou d’actions restantes

##### 4.5- Ajouter variable à variable

Ce bloc permet **d’additionner deux variables et de stocker le résultat** dans une variable cible.

<span style="text-decoration: underline;">Paramétrage</span> :

- Variable source
- Variable à ajouter
- Variable de destination

<span style="text-decoration: underline;">Utilisation</span> :

- Calcul de totaux (ex : consommation cumulée)
- Agrégation de données

<details id="bkmrk-rappel-des-blocs-d%27a"><summary>Rappel blocs d'action sur les VARIABLES</summary>

<table border="1" style="border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94); width: 100.041%; height: 311.083px;"><thead><tr style="height: 29.4583px; background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><th style="border-color: rgb(52, 73, 94); width: 14.6927%; height: 29.4583px;">**Bloc**</th><th style="border-color: rgb(52, 73, 94); width: 13.8258%; height: 29.4583px;">**Type d’action**</th><th style="border-color: rgb(52, 73, 94); width: 34.0741%; height: 29.4583px;">**Principe**</th><th style="border-color: rgb(52, 73, 94); width: 37.5309%; height: 29.4583px;">**Utilisation**</th></tr></thead><tbody><tr style="height: 63.0417px;"><td style="border-color: rgb(52, 73, 94); width: 14.6927%; height: 63.0417px;">**Action variable**</td><td style="border-color: rgb(52, 73, 94); width: 13.8258%; height: 63.0417px;">Affectation</td><td style="border-color: rgb(52, 73, 94); width: 34.0741%; height: 63.0417px;">Attribue directement une valeur à une variable (fixe ou issue d’une autre variable)</td><td style="border-color: rgb(52, 73, 94); width: 37.5309%; height: 63.0417px;">Initialisation d’un état, changement de mode (présence / absence)</td></tr><tr style="height: 63.0417px;"><td style="border-color: rgb(52, 73, 94); width: 14.6927%; height: 63.0417px;">**Valeur variables multiples**</td><td style="border-color: rgb(52, 73, 94); width: 13.8258%; height: 63.0417px;">Calcul / sélection</td><td style="border-color: rgb(52, 73, 94); width: 34.0741%; height: 63.0417px;">Détermine la valeur d’une variable à partir de plusieurs sources ou conditions</td><td style="border-color: rgb(52, 73, 94); width: 37.5309%; height: 63.0417px;">Gestion de logiques complexes, combinaison de plusieurs états (sécurité, confort, énergie)</td></tr><tr style="height: 46.25px;"><td style="border-color: rgb(52, 73, 94); width: 14.6927%; height: 46.25px;">**Incrémenter le compteur**</td><td style="border-color: rgb(52, 73, 94); width: 13.8258%; height: 46.25px;">Calcul (addition)</td><td style="border-color: rgb(52, 73, 94); width: 34.0741%; height: 46.25px;">Augmente la valeur d’une variable numérique d’un pas défini</td><td style="border-color: rgb(52, 73, 94); width: 37.5309%; height: 46.25px;">Comptage d’événements, suivi d’occurrences</td></tr><tr style="height: 46.25px;"><td style="border-color: rgb(52, 73, 94); width: 14.6927%; height: 46.25px;">**Décrémenter le compteur**</td><td style="border-color: rgb(52, 73, 94); width: 13.8258%; height: 46.25px;">Calcul (soustraction)</td><td style="border-color: rgb(52, 73, 94); width: 34.0741%; height: 46.25px;">Diminue la valeur d’une variable numérique d’un pas défini</td><td style="border-color: rgb(52, 73, 94); width: 37.5309%; height: 46.25px;">Décompte, gestion de cycles restants, temporisations logiques</td></tr><tr style="height: 63.0417px;"><td style="border-color: rgb(52, 73, 94); width: 14.6927%; height: 63.0417px;">**Ajouter variable à variable**</td><td style="border-color: rgb(52, 73, 94); width: 13.8258%; height: 63.0417px;">Calcul (addition entre variables)</td><td style="border-color: rgb(52, 73, 94); width: 34.0741%; height: 63.0417px;">Additionne deux variables et stocke le résultat dans une variable cible</td><td style="border-color: rgb(52, 73, 94); width: 37.5309%; height: 63.0417px;">Calcul de totaux, cumul de consommations, agrégation de données</td></tr></tbody></table>

</details>### **5- Sauts**

Les blocs de saut permettent de modifier le déroulement d’un scénario en **redirigeant l’exécution vers une autre étape**.  
Ils sont utilisés pour créer des boucles, des branchements ou des logiques dynamiques.

##### 5.1- Retour début

Ce bloc renvoie l’**exécution du scénario au bloc numéro 1**.

<span style="text-decoration: underline;">Utilisation</span> :

- Création de boucles simples
- Redémarrage complet du scénario

##### 5.2- Saut avec retour

Ce bloc permet de **sauter vers une autre étape du scénario tout en mémorisant le point de départ.**

<span style="text-decoration: underline;">Fonctionnement</span> :

- Effectue un saut vers une étape définie du scénario
- Mémorise automatiquement le point d’origine du saut
- Met le scénario en attente jusqu’à l’exécution d’un retour
- Le retour s’effectue via le bloc "Retour empilé"

<span style="text-decoration: underline;">Utilisation</span> :

- Exécution de sous-séquences dans un scénario
- Appel de blocs logiques réutilisables
- Organisation de scénarios complexes avec retour au flux principal

##### 5.3- Retour empilé

Ce bloc permet de **revenir au** **dernier point mémorisé par un bloc « saut avec retour »**.

<span style="text-decoration: underline;">Fonctionnement :</span>

- Récupère le dernier point de retour enregistré dans la pile
- Relance l’exécution du scénario à cet emplacement
- Efface l’entrée correspondante de la mémoire de retour

<span style="text-decoration: underline;">Utilisation :</span>

- Retour à la séquence principale après une sous-fonction
- Gestion de scénarios modulaires avec appels imbriqués
- Structuration de logiques complexes avec retours automatiques

##### 5.4- Saut aléatoire

Ce bloc permet de rediriger l’exécution du scénario **vers un bloc cible choisi de manière aléatoire** parmi une liste configurée.

<span style="text-decoration: underline;">Fonctionnement</span> :

- Sélectionne automatiquement un bloc de destination parmi plusieurs cibles définies
- Le choix est effectué de façon aléatoire à chaque exécution
- Le scénario est ensuite redirigé vers le bloc sélectionné

<span style="text-decoration: underline;">Utilisation</span> :

- Création de scénarios dynamiques et non prévisibles
- Simulation de comportements variables (présence, scénarios évolutifs)
- Diversification des séquences d’exécution

##### 5.5- GoTo ciblé

Ce bloc permet de **rediriger l’exécution du scénario vers un bloc précis**.

<span style="text-decoration: underline;"><span style="color: rgb(52, 73, 94); text-decoration: underline;">Fonctionnement</span></span> :

- Oriente l’exécution vers un bloc de destination défini par l’utilisateur
- La cible est sélectionnée lors du paramétrage du bloc
- Le scénario reprend directement à l’étape indiquée

<span style="text-decoration: underline;">Utilisation</span> :

- Création de branchements logiques dans un scénario
- Saut direct vers une étape spécifique
- Simplification de la navigation dans des scénarios complexes

<details id="bkmrk-blocs-de-sauts-%C2%A0"><summary>Rappel blocs de SAUTS</summary>

<table border="1" style="border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94); width: 100%;"><thead><tr style="background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><th style="border-color: rgb(52, 73, 94); width: 13.2282%;">**Bloc**</th><th style="border-color: rgb(52, 73, 94); width: 15.0784%;">**Type d’action**</th><th style="border-color: rgb(52, 73, 94); width: 38.4425%;">**Principe**</th><th style="border-color: rgb(52, 73, 94); width: 33.3745%;">**Utilisation**</th></tr></thead><tbody><tr><td style="border-color: rgb(52, 73, 94); width: 13.2282%;">**Retour début**</td><td style="border-color: rgb(52, 73, 94); width: 15.0784%;">Boucle / réinitialisation</td><td style="border-color: rgb(52, 73, 94); width: 38.4425%;">Renvoie l’exécution du scénario au premier bloc</td><td style="border-color: rgb(52, 73, 94); width: 33.3745%;">Répétition continue, redémarrage du scénario</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 13.2282%;">**Saut avec retour**</td><td style="border-color: rgb(52, 73, 94); width: 15.0784%;">Saut avec mémorisation</td><td style="border-color: rgb(52, 73, 94); width: 38.4425%;">Redirige vers un bloc cible tout en mémorisant le point de départ</td><td style="border-color: rgb(52, 73, 94); width: 33.3745%;">Appel de sous-séquences avec retour au flux principal</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 13.2282%;">**Retour empilé**</td><td style="border-color: rgb(52, 73, 94); width: 15.0784%;">Retour de pile</td><td style="border-color: rgb(52, 73, 94); width: 38.4425%;">Revient au dernier point mémorisé par un “Saut avec retour”</td><td style="border-color: rgb(52, 73, 94); width: 33.3745%;">Retour automatique après exécution d’un sous-scenario</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 13.2282%;">**Saut aléatoire**</td><td style="border-color: rgb(52, 73, 94); width: 15.0784%;">Branchement aléatoire</td><td style="border-color: rgb(52, 73, 94); width: 38.4425%;">Redirige vers un bloc cible choisi aléatoirement parmi plusieurs</td><td style="border-color: rgb(52, 73, 94); width: 33.3745%;">Scénarios dynamiques, comportements variables</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 13.2282%;">**GoTo ciblé**</td><td style="border-color: rgb(52, 73, 94); width: 15.0784%;">Saut direct</td><td style="border-color: rgb(52, 73, 94); width: 38.4425%;">Redirige directement vers un bloc précis défini</td><td style="border-color: rgb(52, 73, 94); width: 33.3745%;">Branchements logiques et navigation dans le scénario</td></tr></tbody></table>

</details>### **6- Régulation**

Ces blocs permettent de **piloter l’activation et l’arrêt d’un processus automatique de régulation** (chauffage, température, humidité ...).

##### 6.1- Démarrer la régulation

Ce bloc permet de **activer le processus de régulation** sur un équipement ou une zone définie.

##### 6.2- Arrêter la régulation

Ce bloc permet de **désactiver le processus de régulation en cours**.

<p class="callout success"><span role="text"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
- </span>Toujours vérifier l’état de régulation avant activation  
- Éviter les démarrages/arrêts répétés rapides  
- Associer la régulation à des conditions claires (horaires, présence, consigne)  
- Documenter les scénarios utilisant ces blocs pour faciliter la maintenance</p>

<details id="bkmrk-rappel-des-blocs-de-"><summary>Rappel blocs de RÉGULATION</summary>

<table border="1" style="border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94); width: 99.9748%;"><thead><tr style="background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><th style="border-color: rgb(52, 73, 94); width: 13.4771%;">**Bloc**</th><th style="border-color: rgb(52, 73, 94); width: 13.9703%;">**Type d’action**</th><th style="border-color: rgb(52, 73, 94); width: 37.836%;">**Principe**</th><th style="border-color: rgb(52, 73, 94); width: 34.8673%;">**Utilisation**</th></tr></thead><tbody><tr><td style="border-color: rgb(52, 73, 94); width: 13.4771%;">**Démarrer la régulation**</td><td style="border-color: rgb(52, 73, 94); width: 13.9703%;">Activation</td><td style="border-color: rgb(52, 73, 94); width: 37.836%;">Lance un processus automatique de régulation sur un équipement ou une zone définie</td><td style="border-color: rgb(52, 73, 94); width: 34.8673%;">Mise en service d’un chauffage, contrôle de température ou d’humidité</td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 13.4771%;">**Arrêter la régulation**</td><td style="border-color: rgb(52, 73, 94); width: 13.9703%;">Désactivation</td><td style="border-color: rgb(52, 73, 94); width: 37.836%;">Stoppe le processus de régulation en cours</td><td style="border-color: rgb(52, 73, 94); width: 34.8673%;">Arrêt manuel ou automatique d’un système de régulation</td></tr></tbody></table>

</details>### **6- Compteur**

Les blocs de type compteur et temporisation **permettent de gérer des délais, des séquences temporelles et des mesures** d’événements dans un scénario.

##### 6.1- Pause

Ce bloc permet d’**interrompre temporairement l’exécution du scénario pendant une durée définie**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Durée de la pause (en millisecondes)

<span style="text-decoration: underline;">Fonctionnement</span> :

- Le scénario est mis en attente pendant la durée spécifiée
- Reprise automatique à la fin du délai

<span style="text-decoration: underline;">Utilisation</span> :

- Temporisation entre deux actions
- Création de séquences différées

##### 6.2- Variable timer

Ce bloc **déclenche un changement de valeur après un délai**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Sélection de la variable timer et du scénario
- Configuration de la valeur et du délai (en ms)

<span style="text-decoration: underline;">Utilisation</span> :

- Mesure de durée d’un événement
- Suivi d’un temps d’activation

##### 6.3- Test timer

Ce bloc permet de **tester la valeur d’un timer afin de conditionner le scénario**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Sélection du timer
- Condition de test (supérieur, égal, inférieur à une valeur)

<span style="text-decoration: underline;">Fonctionnement</span> :

- Compare la valeur du timer à une consigne
- Oriente le scénario selon le résultat du test

<span style="text-decoration: underline;">Utilisation :</span>

- Déclenchement d’actions après un délai
- Surveillance de durées maximales

##### 6.4- Arrêter le timer

Ce bloc permet de **stopper l’évolution d’un timer actif**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Sélection du timer

<span style="text-decoration: underline;">Fonctionnement</span> :

- Le comptage temporel est figé
- La valeur actuelle est conservée

<span style="text-decoration: underline;">Utilisation</span> :

- Fin de mesure de durée
- Arrêt conditionnel d’un chronométrage

##### 6.5- Réinitialiser le timer

Ce bloc permet de **remettre un timer à zéro**.

<span style="text-decoration: underline;">Paramétrage</span> :

- Sélection du timer

<span style="text-decoration: underline;">Fonctionnement</span> :

- La valeur du timer est réinitialisée
- Le timer revient à son état initial

<span style="text-decoration: underline;">Utilisation</span> :

- Réinitialisation de cycle
- Préparation à une nouvelle mesure

<p class="callout info"><span role="text"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
- </span>Nommer clairement les timers selon leur fonction (ex : `Timer_Presence`, `Timer_Delai_Sortie`)  
- Éviter les démarrages multiples simultanés d’un même timer  
- Toujours réinitialiser les timers avant réutilisation dans un nouveau cycle  
- Combiner les timers avec des tests pour structurer les scénarios</p>

<details id="bkmrk-rappel-des-blocs-com"><summary>Rappel blocs COMPTEUR</summary>

<table border="1" style="width: 99.9748%; border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94);"><thead><tr style="background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><th class="align-center" style="width: 12.6065%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Bloc**</span></th><th class="align-center" style="width: 13.9629%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Type d’action**</span></th><th class="align-center" style="width: 37.2047%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Principe**</span></th><th class="align-center" style="width: 36.2128%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Utilisation**</span></th></tr></thead><tbody><tr><td style="width: 12.6065%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Pause**</span></td><td style="width: 13.9629%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Temporisation</span></td><td style="width: 37.2047%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Interrompt l’exécution du scénario pendant une durée définie, puis reprend automatiquement</span></td><td style="width: 36.2128%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Création de délais entre actions, séquences différées</span></td></tr><tr><td style="width: 12.6065%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Variable Timer**</span></td><td style="width: 13.9629%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Mesure / temporisation</span></td><td style="width: 37.2047%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Déclenche ou met à jour une variable Timer après un délai, permettant de suivre une durée</span></td><td style="width: 36.2128%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Mesure d’un temps d’événement, suivi d’une durée d’activation</span></td></tr><tr><td style="width: 12.6065%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Test Timer**</span></td><td style="width: 13.9629%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Condition temporelle</span></td><td style="width: 37.2047%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Compare la valeur d’un Timer à une consigne (&gt;, &lt;, =) pour orienter le scénario</span></td><td style="width: 36.2128%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Déclenchement conditionnel basé sur un temps écoulé, contrôle de durée maximale</span></td></tr><tr><td style="width: 12.6065%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Arrêter le Timer**</span></td><td style="width: 13.9629%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Stop</span></td><td style="width: 37.2047%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Stoppe l’évolution d’un Timer tout en conservant sa valeur actuelle</span></td><td style="width: 36.2128%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Fin de chronométrage, gel d’une mesure en cours</span></td></tr><tr><td style="width: 12.6065%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">**Réinitialiser le Timer**</span></td><td style="width: 13.9629%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Remise à zéro</span></td><td style="width: 37.2047%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Remet un Timer à zéro et restaure son état initial</span></td><td style="width: 36.2128%; border-color: rgb(52, 73, 94);"><span style="color: rgb(52, 73, 94);">Redémarrage de cycle, préparation d’une nouvelle mesure</span></td></tr></tbody></table>

</details>### **7- Utilitaires**

Les blocs utilitaires permettent d’enrichir la logique des scénarios avec des fonctions générales telles que le **repérage**, les **conditions temporelles** ou les **notifications**.   
Ils ne pilotent pas directement des équipements mais servent à structurer, informer ou conditionner le fonctionnement global.

##### 7.1- Début

Ce bloc marque le point d’entrée d’exécution du scénario lorsqu’il ne démarre pas directement au bloc n°1.

<span style="text-decoration: underline;">Fonctionnement</span> :

- Le bloc Début définit le point de départ de l’exécution du scénario
- Il est utilisé uniquement lorsque le scénario ne commence pas au bloc n°1
- Il permet de rediriger le démarrage vers un autre bloc du scénario
- En l’absence de ce bloc, l’exécution démarre automatiquement au bloc n°1

<span style="text-decoration: underline;">Utilisation</span> :

- Définition d’un point d’entrée différent du bloc initial
- Organisation de scénarios avec des débuts conditionnels ou déportés
- Adaptation de la logique d’exécution sans modifier l’ordre des blocs

##### 7.2- Label

Ce bloc permet de définir un **point de repère** dans un scénario et de **s’y rendre directement sans nécessiter de liaison physique entre les blocs**.

<span style="text-decoration: underline;">Fonctionnement</span> :

- Insère un marqueur dans le scénario
- Peut être utilisé comme destination par un saut ou un GoTo
- Permet de rediriger l’exécution vers un autre bloc sans connexion directe entre les blocs dans l’éditeur
- Sert uniquement de point d’ancrage logique

<span style="text-decoration: underline;">Utilisation</span> :

- Accès direct à une étape spécifique du scénario
- Organisation de scénarios complexes sans multiplier les liaisons graphiques
- Simplification des branchements et des redirections logiques

##### 7.3- Test heure

Ce bloc est inséré directement dans le scénario pour permettre un **déclenchement journalier à une heure définie**.

<span style="text-decoration: underline;">Principe</span> :

- Le scénario contient un bloc qui vérifie l’heure système
- Le déclenchement est basé directement sur une heure définie dans le bloc
- Il permet un déclenchement journalier simple et immédiat

<span style="text-decoration: underline;">Paramétrage</span> :

- Heure de déclenchement (horaire fixe journalier)

<span style="text-decoration: underline;">Utilisation</span> :

- Déclenchement automatique quotidien d’un scénario
- Lancement d’actions à heure fixe (éclairage, chauffage, automatisme)
- Mise en place de routines journalières

<p class="callout warning">**Test heure** : bloc intégré directement dans le scénario pour un déclenchement simple et journalier  
**Planification horaire** : logique basée sur des variables testées dans le scénario, offrant plus de flexibilité</p>

<span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 1.4em; font-weight: 400;">7.4- Test coucher / lever</span>

Ce bloc permet de **conditionner l’exécution d’un scénario en fonction des horaires de lever et de coucher du soleil.**

<span style="text-decoration: underline;">Fonctionnement</span> :

- Le système calcule automatiquement les heures de lever et de coucher du soleil selon la localisation (latitude et longitude)
- Permet de tester si le scénario s’exécute en période de jour ou de nuit
- Autorise un décalage (offset) par rapport aux horaires calculés

<span style="text-decoration: underline;">Paramétrage</span> :

- Latitude du site
- Longitude du site
- Offset du lever du soleil (en minutes)
- Offset du coucher du soleil (en minutes)

<span style="text-decoration: underline;">Principe des offsets</span> :

- L’offset permet de **décaler l’heure réelle du lever ou du coucher du soleil**
- Il peut être positif ou négatif selon le besoin d’anticipation ou de retard

<span style="text-decoration: underline;">Utilisation</span> :

- Activation de l’éclairage extérieur avant la nuit réelle
- Fermeture automatique après le coucher du soleil décalé
- Adaptation des scénarios au confort et aux conditions locales

##### 7.5- Envoyer un mail

Ce bloc permet d’**envoyer des notifications par e-mail** depuis un scénario.

<span style="text-decoration: underline;">Fonctionnement</span> :

- Le bloc déclenche l’envoi d’un message électronique vers une adresses définie
- L’envoi est effectué automatiquement lors de l’exécution du scénario

<span style="text-decoration: underline;">Paramétrage</span> :

- Adresse e-mail destinataire
- Sujet du message
- Contenu du message

<span style="color: rgb(0, 0, 0);">Utilisation</span> :

- Notifications d’événements (alarme, défaut, état système)
- Alertes techniques ou informatives
- Envoi de rapports ou messages automatiques

##### 7.6- Envoyer un SMS

Ce bloc permet d’**envoyer des notifications par SMS** depuis un scénario.

<span style="text-decoration: underline;">Fonctionnement</span> :

- Le bloc déclenche l’envoi d’un message SMS vers un ou plusieurs numéros de téléphone définis
- L’envoi est réalisé automatiquement lors de l’exécution du scénario

<span style="text-decoration: underline;">Paramétrage</span> :

- Numéro(s) de téléphone du destinataire
- Contenu du message

<span style="text-decoration: underline;">Utilisation</span> :

- Alertes immédiates (alarme, défaut technique, incident)
- Notifications critiques nécessitant une intervention rapide
- Information en temps réel sur l’état d’un système

<details id="bkmrk-blocs-utilitaires-bl"><summary>Rappel blocs UTILITAIRES</summary>

<table border="1" style="border-collapse: collapse; background-color: rgb(251, 238, 184); border-color: rgb(52, 73, 94); width: 100%;"><thead><tr style="background-color: rgb(241, 196, 15); border-color: rgb(52, 73, 94);"><th style="border-color: rgb(52, 73, 94); width: 11.9901%;">**<span style="color: rgb(52, 73, 94);">Bloc</span>**</th><th style="border-color: rgb(52, 73, 94); width: 13.8459%;">**<span style="color: rgb(52, 73, 94);">Type d’action</span>**</th><th style="border-color: rgb(52, 73, 94); width: 39.8005%;">**<span style="color: rgb(52, 73, 94);">Principe</span>**</th><th style="border-color: rgb(52, 73, 94); width: 34.3634%;">**<span style="color: rgb(52, 73, 94);">Utilisation</span>**</th></tr></thead><tbody><tr><td style="border-color: rgb(52, 73, 94); width: 11.9901%;"><span style="color: rgb(52, 73, 94);">**Début**</span></td><td style="border-color: rgb(52, 73, 94); width: 13.8459%;"><span style="color: rgb(52, 73, 94);">Point d’entrée</span></td><td style="border-color: rgb(52, 73, 94); width: 39.8005%;"><span style="color: rgb(52, 73, 94);">Définit le point de départ du scénario lorsqu’il ne commence pas au bloc n°1</span></td><td style="border-color: rgb(52, 73, 94); width: 34.3634%;"><span style="color: rgb(52, 73, 94);">Organisation du démarrage du scénario et redirection vers un bloc spécifique</span></td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 11.9901%;"><span style="color: rgb(52, 73, 94);">**Label**</span></td><td style="border-color: rgb(52, 73, 94); width: 13.8459%;"><span style="color: rgb(52, 73, 94);">Repère / saut</span></td><td style="border-color: rgb(52, 73, 94); width: 39.8005%;"><span style="color: rgb(52, 73, 94);">Définit un point de repère permettant de sauter directement vers un bloc sans liaison physique</span></td><td style="border-color: rgb(52, 73, 94); width: 34.3634%;"><span style="color: rgb(52, 73, 94);">Simplification des scénarios et accès direct à une étape donnée</span></td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 11.9901%;"><span style="color: rgb(52, 73, 94);">**Test heure**</span></td><td style="border-color: rgb(52, 73, 94); width: 13.8459%;"><span style="color: rgb(52, 73, 94);">Condition horaire</span></td><td style="border-color: rgb(52, 73, 94); width: 39.8005%;"><span style="color: rgb(52, 73, 94);">Déclenche ou conditionne un scénario à une heure définie (journalier)</span></td><td style="border-color: rgb(52, 73, 94); width: 34.3634%;"><span style="color: rgb(52, 73, 94);">Automatisation quotidienne à heure fixe</span></td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 11.9901%;"><span style="color: rgb(52, 73, 94);">**Test coucher / lever**</span></td><td style="border-color: rgb(52, 73, 94); width: 13.8459%;"><span style="color: rgb(52, 73, 94);">Condition astronomique</span></td><td style="border-color: rgb(52, 73, 94); width: 39.8005%;"><span style="color: rgb(52, 73, 94);">Compare l’exécution du scénario aux heures de lever et coucher du soleil avec offsets</span></td><td style="border-color: rgb(52, 73, 94); width: 34.3634%;"><span style="color: rgb(52, 73, 94);">Gestion jour/nuit, éclairage extérieur, scénarios liés à la luminosité</span></td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 11.9901%;"><span style="color: rgb(52, 73, 94);">**Envoyer** </span>

<span style="color: rgb(52, 73, 94);">**un mail**</span>

</td><td style="border-color: rgb(52, 73, 94); width: 13.8459%;"><span style="color: rgb(52, 73, 94);">Notification</span></td><td style="border-color: rgb(52, 73, 94); width: 39.8005%;"><span style="color: rgb(52, 73, 94);">Envoie un e-mail avec destinataire, sujet et contenu</span></td><td style="border-color: rgb(52, 73, 94); width: 34.3634%;"><span style="color: rgb(52, 73, 94);">Alertes, notifications, rapports automatiques</span></td></tr><tr><td style="border-color: rgb(52, 73, 94); width: 11.9901%;"><span style="color: rgb(52, 73, 94);">**Envoyer** </span>

<span style="color: rgb(52, 73, 94);">**un SMS**</span>

</td><td style="border-color: rgb(52, 73, 94); width: 13.8459%;"><span style="color: rgb(52, 73, 94);">Notification</span></td><td style="border-color: rgb(52, 73, 94); width: 39.8005%;"><span style="color: rgb(52, 73, 94);">Envoie un SMS vers un ou plusieurs numéros avec un message défini</span></td><td style="border-color: rgb(52, 73, 94); width: 34.3634%;"><span style="color: rgb(52, 73, 94);">Alertes urgentes et notifications en temps réel</span></td></tr></tbody></table>

</details>

# Scénarios préconfigurés

<p class="callout info">**Deux scénarios préconfigurés** sont intégrés par défaut dans chaque module.   
Ils peuvent être **utilisés immédiatement** sans création de logique ni programmation complémentaire  
  
Les **variables, les blocs de fonction ainsi que les widgets** associés à ces scénario sont également créés et disponibles automatiquement dès leur chargement  
</p>

### 1- Télérupteur avec ou sans temporisation

<div class="qMYqUG_convSearchResultHighlightRoot" id="bkmrk-pour-s%C3%A9curiser-l%E2%80%99acc"><div class="" data-is-intersecting="true" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4"><section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&:has([data-writing-block])>*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-44" data-turn="assistant" data-turn-id="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" dir="auto"><div class="qMYqUG_convSearchResultHighlightRoot" id="bkmrk-le-fonctionnement-de"><div class="" data-is-intersecting="true" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4"><section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&:has([data-writing-block])>*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-44" data-turn="assistant" data-turn-id="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" dir="auto">#### 1.1- Fonctionnement

Le scénario associe :

- une entrée configurée en bouton poussoir,
- une sortie pilotée en mode bistable (marche / arrêt)

A chaque impulsion sur le bouton de commande, la sortie change d'état (ON <span style="font-size: 11.0pt; line-height: 150%; font-family: 'Calibri',sans-serif;">→</span> OFF puis OFF <span style="font-size: 11.0pt; line-height: 150%; font-family: 'Calibri',sans-serif;">→</span> ON).

Le fonctionnement de ce scénario permet deux usages :

- un **appui court** sur le bouton poussoir active la sortie pendant la **durée de temporisation définie (en ms)**, puis   
    celle-ci se désactive automatiquement
- un **appui long** active la sortie **sans temporisation** : la sortie reste alors activée jusqu’à une nouvelle commande

<span style="text-decoration: underline;">Applications courantes :</span>

- éclairage d'une lampe ou d'un groupe de lampes (cage d’escalier, couloir, garage ...)
- commande d’un portail ou d’une gâche électrique ;
- activation temporaire d’une pompe, d’un extracteur d’air ou d’une ventilation ;
- éclairage extérieur avec extinction automatique ;
- commande d’un équipement nécessitant un maintien permanent ponctuel.

</section></div></div></section></div></div>#### 1.2- Variables et widgets préconfigurés

Pour ce scénario, deux variables et deux widgets préconfigurés sont utilisés :

<div class="flex max-w-full flex-col gap-4 grow" id="bkmrk-un-widget-%C2%AB-bouton-t"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&]:mt-1" data-message-author-role="assistant" data-message-id="b48cc1e0-39aa-4689-b858-3381efbfa126" data-message-model-slug="gpt-5-5" data-turn-start-message="true" dir="auto" tabindex="0"><div class="flex w-full flex-col gap-1 empty:hidden"><div class="markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling">- un widget « bouton télérupteur » pour commander la sortie
- un widget « temporisation ON/OFF » pour activer ou non la temporisation et le cas échéant définir sa durée en ms

</div></div></div></div>Les variables associées à ce scénario permettent :

<div class="flex max-w-full flex-col gap-4 grow" id="bkmrk-de-m%C3%A9moriser-l%E2%80%99%C3%A9tat-"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&]:mt-1" data-message-author-role="assistant" data-message-id="b48cc1e0-39aa-4689-b858-3381efbfa126" data-message-model-slug="gpt-5-5" data-turn-start-message="true" dir="auto" tabindex="0"><div class="flex w-full flex-col gap-1 empty:hidden"><div class="markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling">- de mémoriser l’état du télérupteur (sortie activée ou désactivée)
- d'appliquer ou non la temporisation automatique et le cas échéant définir sa durée en ms

</div></div></div></div><div class="qMYqUG_convSearchResultHighlightRoot" id="bkmrk-"><div class="" data-is-intersecting="true" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4"><section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&:has([data-writing-block])>*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="false" data-testid="conversation-turn-44" data-turn="assistant" data-turn-id="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4" dir="auto"></section></div></div><div class="flex max-w-full flex-col gap-4 grow" id="bkmrk--1"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&]:mt-1" data-message-author-role="assistant" data-message-id="b48cc1e0-39aa-4689-b858-3381efbfa126" data-message-model-slug="gpt-5-5" data-turn-start-message="true" dir="auto" tabindex="0"><div class="flex w-full flex-col gap-1 empty:hidden"></div></div></div><div class="qMYqUG_convSearchResultHighlightRoot" id="bkmrk--2"><div class="" data-is-intersecting="true" data-turn-id-container="request-6a0f0b24-c928-83eb-9aa1-7e3c5a8b1daa-4">  
</div></div>

# Modifier un scénario modèle

<p class="callout warning">Avant de commencer un scénario, assurez-vous que :  
- les **objets nécessaires** sont correctement configurés dans la section « Objets »  
- les **variables associées** sont bien publiées et disponibles pour le scénario</p>

Pour construire un scénario, **attrapez les blocs disponibles dans le bandeau latéral**, puis **faites-les glisser vers l’espace de travail dédié** afin de les déposer et les organiser selon la logique souhaitée.

Vous pouvez ensuite les positionner et les relier entre eux pour définir le fonctionnement du scénario.

<section class="docs-section svelte-oa2hur" id="bkmrk-1.-pr%C3%A9parer-un-sc%C3%A9na">### 1. Préparer un scénario

- Depuis l'accueil, ouvrez un scénario existant ou créez-en un nouveau
- Assurez-vous que les **objets nécessaires** sont déjà configurés dans la section Objet
- Vérifiez que les **variables associées** sont publiées pour le scénario

</section><section class="docs-section svelte-oa2hur" id="bkmrk-2.-construire-le-flu">### 2. Construire le flux

Créez la logique de votre scénario en utilisant les blocs disponibles dans la barre latérale :

- **Glissez-déposez** les blocs pour construire votre logique
- **Reliez les blocs** en respectant les limites de connexion propres à chacun
- Utilisez des **blocs de test** pour créer des conditions et des embranchements clairs
- Ajoutez des **commentaires** dans les champs prévus afin de faciliter la maintenance et la compréhension du scénario

### <span role="text">3. Enregistrer et déployer</span>

Une fois le scénario configuré :

- **Sauvegardez** le scénario depuis la barre latérale afin de générer la version compilée
- **Synchronisez** les scénarios avec l’appareil pour appliquer les modifications
- **Testez** le comportement via les widgets ou les entrées physiques reliées

<p class="callout info">**Un **redémarrage**** du module est nécessaire pour appliquer un nouveau scénario</p>

</section><section class="docs-section svelte-oa2hur" id="bkmrk-4.-bonnes-pratiques-">### 4. Bonnes pratiques

- Renommez les blocs avec des noms explicites pour accélérer les revues
- Utilisez les scénarios de test pour valider les flux avant mise en production
- Gardez un scénario de réserve pour les actions critiques afin d'éviter l'indisponibilité

</section>

# Modèles de scénarios

<p class="callout info">Les **scénarios modèles** couvrent les cas d'usages les plus courants, ce sont des outils rapides et fiables pour tester les I/O et les relais.  
Ils permettent de tester rapidement le fonctionnement du système sans avoir à créer une logique de commande complète.  
Ces scénarios **peuvent être utilisés tels quels,** **ou bien modifiés** pour réponde à des besoins spécifiques.</p>

##### Objectif des scénarios modèles :

- Vérifier le bon câblage des entrées et des sorties
- Tester le fonctionnement des relais
- Valider la communication entre les modules
- Faciliter la mise en service (commissioning)

## 1. Scénarios modèles disponibles

Les scénarios préconfigurés sont fournis afin de simplifier la mise en service, les tests fonctionnels et le diagnostic des modules.  
Ils couvrent les cas d’usage standards liés aux entrées, aux relais et à la connectivité.

### 1.1 Test des entrées (Inputs)

#### Lecture d’entrée

- Surveillance de l’état d’une entrée digitale
- Affichage temps réel de l’état (0 / 1)
- Historisation des changements d’état

<p class="callout success">**Usage :** - Validation du câblage  
- Test capteur, bouton, contact sec</p>

### 1.2 Test des relais (Outputs)

#### Commande manuelle de relais

- Activation / désactivation manuelle d’un relais
- Commande depuis l’interface

<p class="callout success">**Usage :** - Test du relais  
- Validation actionneur (lampe, moteur, contacteur)</p>

#### Commande temporisée de relais

- Activation du relais pendant une durée définie
- Retour automatique à l’état OFF

<p class="callout success">**Usage :** - Test de temporisation  
- Simulation d’impulsion</p>

### 1.3 Test Entrée → Relais (I/O binding)

#### Entrée digitale → relais (mode suivi)

**Scénario standard**

- Entrée = 1 → relais ON
- Entrée = 0 → relais OFF

<p class="callout success">**Usage :** - Test complet DI/DO  
- Validation bout-en-bout  
- Commissioning</p>

#### Entrée digitale → relais (logique inversée)

- Entrée = 1 → relais OFF
- Entrée = 0 → relais ON

<p class="callout success">**Usage :** - Cas de sécurité  
- Adaptation logique terrain</p>

### 1.4 Scénarios conditionnels

#### Seuil sur entrée analogique

- Si valeur &gt; seuil → activer relais
- Si valeur &lt; seuil → désactiver relais

<p class="callout success">**Usage :** - Alarmes  
- Régulation simple</p>

#### Entrée → relais avec temporisation

- Entrée = 1
- Délai configurable
- Activation relais

<p class="callout success">**Usage :** - Anti-rebond  
- Séquencement simple</p>

### 1.5 Scénarios de connectivité et supervision

#### Test de connectivité réseau

- Vérification connexion Wi-Fi / Ethernet
- Test ping ou heartbeat
- Remontée état connecté / déconnecté

<p class="callout success">**Usage :** - Diagnostic réseau  
- Validation accès plateforme</p>

#### Heartbeat / watchdog

- Envoi périodique d’un message de vie
- Mise en sécurité du relais en cas de perte de communication

<p class="callout success">**Usage :** - Sécurité  
- Supervision industrielle</p>

### 2. Importer un scénario modèle

1. **Accéder au menu Scénario**  
    Depuis l’interface, ouvrez le menu Scénario
2. Importer un scénario  
    Cliquez sur **Importer un scénario**, puis sélectionnez **Import distant**
3. Sélectionner le modèle  
    Choisissez le modèle de scénario que vous souhaitez utiliser
4. Définir l’action
    
    
    - **Remplacer** : écrase un scénario existant
    - **Créer** : génère un nouveau scénario sans affecter les existants
5. Finaliser l’importation  
    Cliquez sur **Importer** pour charger le scénario dans votre interface

Un redémarrage du système est nécessaire afin de prendre en compte la mise à jour du scénario.

Après redémarrage :

- le scénario apparaît dans le bandeau latéral situé à gauche de l’écran,
- les variables, blocs de fonction et widgets associés sont automatiquement disponibles.

### 3- Modifier un scénario modèle existant

- Dupliquer un scénario modèle pour créer un scénario personnalisé
- Permet d’adapter la logique aux besoins spécifiques de l’application
- **Modifications courantes :**
    
    
    - Ajout de temporisation ou délai anti-rebond
    - Inversion logique (1 → OFF, 0 → ON)
    - Ajout de conditions supplémentaires (ex. seuils, état réseau, watchdog)
    - Ajout de log ou métriques pour monitoring

**Avantages :**

- Flexibilité totale
- Possibilité d’intégrer la logique métier
- Compatible avec un déploiement industriel ou production

# Créer un scénario personnalisé

<p class="callout info"><span role="text">Pour créer ou modifier des scénarios, il est **recommandé d’utiliser un ordinateur**.  
*L’édition sur téléphone peut entraîner des problèmes d’affichage ou une visibilité limitée des paramètres avancés*</span></p>

### 1. Généralités

<p class="callout warning">Avant la création du scénario, les **variables d’état** et les **variables de commande** doivent être définies (menu "*objet*")  
Les **blocs du scénario** viennent ensuite exploiter ces variables pour construire la logique de contrôle</p>

- 

#### 1.2- Programmation par boucles

<p class="callout success">Chaque scénario doit former une **boucle fonctionnelle complète** :  
<span style="color: rgb(22, 145, 121);">**entrée → test / logique → sortie / action → mise à jour variable d’état**</span></p>

Il est impératif de **refermer** la boucle fonctionnelle : toute commande générée par un bloc de sortie doit avoir un impact sur un état ou une variable réutilisable par un bloc d’entrée, garantissant ainsi un fonctionnement cohérent du scénario.  
Un scénario est structuré sous forme de **<span style="mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: major-fareast;">boucles logiques</span>** :

1. Entrée dans une boucle
2. Tests (servant de déclencheurs)
3. Tests de conditions
4. <span style="text-indent: -18pt;">Actions</span>
5. <span style="text-indent: -18pt;">Retour  
    - </span><span style="text-indent: -18pt;">dans la même boucle  
    - d</span><span style="text-indent: -18pt;">ans une autre boucle</span>

#### 1.3- Tests

Les tests remplacent la notion de "trigger"   
Les tests peuvent porter sur :

- variables locales,
- variables distantes (autres modules),
- états d’entrées
- états de sorties

#### 1.4- Actions

Les actions possibles incluent notamment :

- l'écriture de variables
- la commande de sorties
- la modification d’états utilisateurs
- l'envoi d’email
- l'envoi de SMS

### <span role="text">2. Accéder au menu "scénario"</span>

Sélectionnez le menu « **Scénarios** » dans la barre de menus située en haut de l'interface.  
Dans le bandeau de gauche, cliquez sur **« Nouveau scénario »**, puis sur **« Éditer »** pour commencer.

#### 2.1- Sélectionner le type de bloc  


Dans la barre latérale, repérez les blocs qui correspondent aux actions que vous voulez effectuer :

##### <span role="text" style="background-color: rgb(241, 196, 15);">Insérer un bloc "Test d’entrée"</span>

Ces blocs permettent de vérifier l'état d'une entrée (par exemple un capteur, un interrupteur, un bouton ...).  
Ils agissent alors comme un filtre dans votre scénario. Tout ce qui suit ne se déclenche que si la condition définie est remplie.  
Choisissez parmi :

- un **appui** (simple, double, long…),
- un **test d’état**,
- un **test de changement d’état ...**

##### <span role="text" style="background-color: rgb(241, 196, 15);">Ajouter un bloc de condition "Test variables"</span>

Les blocs de conditions permettent de vérifier des états et de contrôler la logique du scénario avant d’exécuter une action.

**Types de blocs de test de variables :**

- **Test variable simple** : vérifie la valeur actuelle d’une variable,
- **Test changement de variable** : détecte si une variable a changé depuis la dernière lecture,
- **Test variable égale** : compare la valeur d’une variable à une valeur précise

**Pour chaque bloc de condition :**

- Sélectionnez le type de test adapté,
- Renseignez les paramètres nécessaires (variable à tester, valeur cible, etc.),
- Donnez un **nom** et un **descriptif** au bloc,
- Reliez-le aux blocs précédents via les **points de connexion (ronds rouges)**.

💡 Astuce : Les blocs de conditions peuvent avoir plusieurs sorties pour gérer différents chemins selon le résultat du test.

##### <span role="text" style="background-color: rgb(241, 196, 15);">Ajouter un bloc de sortie "Contact sortie"</span>

Les blocs de sortie définissent l’action finale ou le résultat du scénario.

**Types de sortie disponibles :**

- **On / Off / Flip** : activation, désactivation ou inversion de l’état d’un module,
- **Impulsion cyclique** : envoie des impulsions répétées selon un intervalle défini,
- **On / Off après temporisation** : déclenche une action avec délai,
- **BSO** : contrôle des brise-soleil orientables,
- **Ouvrant** : commande d’ouverture ou de fermeture d’un ouvrant (volet, porte, fenêtre)

**Pour chaque bloc de sortie :**

- Sélectionnez le type de sortie,
- Renseignez les paramètres spécifiques,
- Donnez un **nom** et un **descriptif**,
- Reliez-le aux blocs précédents via les **points de connexion (ronds rouges)**.

💡 Astuce : Plusieurs blocs de sortie peuvent être utilisés pour des actions différentes selon les conditions

##### <span role="text" style="background-color: rgb(241, 196, 15);">Ajouter des blocs d’action sur les variables</span>

Ces blocs permettent de modifier ou de suivre des variables dans votre scénario.

**Types de blocs d’action sur les variables :**

- **Action variable** : modifier la valeur d’une variable,
- **Incrémenter un compteur** : augmenter la valeur d’une variable compteur,
- **Décrémenter un compteur** : diminuer la valeur d’une variable compteur.

**Pour chaque bloc d’action :**

- Sélectionnez le type d’action,
- Renseignez la variable concernée et la valeur ou l’incrément/décrément,
- Donnez un **nom** et un **descriptif**,
- Reliez-le aux blocs précédents via les **points de connexion (ronds rouges)**.

##### <span role="text" style="background-color: rgb(241, 196, 15);">Ajouter des blocs de régulation du chauffage</span>

Ces blocs permettent de piloter et réguler le chauffage dans un scénario.

**Types de blocs de régulation :**

- **Régulation température consigne** : ajuste la température cible d’une zone,
- **Mode chauffage / arrêt** : active ou désactive le chauffage,
- **Mode confort / éco / hors gel** : sélectionne un programme prédéfini selon les besoins,
- **Pilotage via capteur** : ajuste le chauffage en fonction de la température mesurée, de l’occupation ou d’autres variables.

**Pour chaque bloc de régulation :**

- Sélectionnez le type de régulation,
- Renseignez les paramètres nécessaires (zone, consigne, capteur),
- Donnez un **nom** et un **descriptif**,
- Reliez-le aux blocs précédents via les **points de connexion (ronds rouges)**.

####  

#### 2.2- Insérer et organiser

\- attrapez les différents blocs depuis le bandeau latéral  
\- faites-les glisser vers l’espace de travail dédié et placez-les à l’endroit souhaité

#### 2.3- Configurer les blocs

Renseignez les paramètres suivants :  
*- Nom du bloc (*  
*- Descriptif*  
*- Choix de l'entrée / sortie à tester*  
*- Module associé*  
*- Scénario*  
*- Définissez la condition : par exemple `ON`, `OFF`, ou autre état spécifique selon votre matériel*  
\- *Condition par défaut si tout est faux*

#### 2.4- Effectuer les connexions

\- reliez les blocs entre eux pour définir la logique de fonctionnement du scénario, identifier les points de connexion   
 (ronds de couleur) - chaque bloc possède des entrées et des sorties   
\- Relier les blocs entre eux  
  Cliquez sur la sortie d’un bloc et faites glisser vers l’entrée du bloc suivant.  
 Reliez la sortie du bloc aux actions à exécuter si la condition est vraie et éventuellement à une autre sortie si la  
 condition est fausse  
\- Vérifier la logique  
 Assurez-vous que le flux respecte la séquence souhaitée et que tous les blocs nécessaires sont connectés

#### 2.5- Tester le scénario

Une fois les connexions effectuées, lancez une simulation ou un test pour vérifier que le scénario fonctionne correctement (un redémarrage du module est nécessaire)

<p class="callout info">Disposez les blocs de manière **ordonnée** pour que le f**lux reste clair et lisible** *cela facilitera la compréhension et la maintenance du scénario*</p>

### <span role="text">8. Ajouter des sauts</span>

Les blocs de saut permettent de rediriger le flux du scénario vers un autre bloc, sans exécuter la séquence linéaire.

- Placez le bloc exactement à l’endroit où vous souhaitez insérer le "saut",
- Reliez-le au bloc de départ via les **ronds rouges**,
- Vérifiez que le saut ne crée pas de boucle infinie

### <span role="text">9. Construire la logique du scénario</span>

- Faites glisser les **blocs de fonctions** depuis la barre latérale gauche pour compléter votre scénario,
- Renseignez les paramètres de chaque bloc,
- Reliez tous les blocs entre eux via les **points de connexion (ronds rouges)**,
- Vérifiez que la logique est cohérente et complète

### <span role="text">10. Finaliser et tester</span>

- Vérifiez tous les paramètres et liaisons,
- Sauvegardez votre scénario pour qu’il soit actif,
- Testez-le pour vous assurer que le fonctionnement correspond à vos attentes

# 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>

# A DISTILLER

- <span style="color: rgb(186, 55, 42);">**Serveur Web intégré permettant l'accès au module, à sa configuration et à sa programmation depuis n'importe quel ordinateur connecté à Internet, localement ou à distance, via un simple navigateur Web.**</span>

<span style="color: rgb(186, 55, 42);">Ou de façon plus marketing :</span>

- <span style="color: rgb(186, 55, 42);">**Accédez à votre module, à sa configuration et à sa programmation depuis n'importe où, à l'aide d'un simple navigateur Web, sans logiciel à installer.**</span>

<span style="color: rgb(186, 55, 42);">Ou encore :</span>

- <span style="color: rgb(186, 55, 42);">**Configuration et programmation accessibles localement ou à distance depuis n'importe quel ordinateur connecté à Internet, sans logiciel dédié grâce au serveur Web intégré.**</span>

### Gestion des scénarios

Depuis le menu "Scénario", vous pouvez **activer, désactiver, modifier, créer, importer ou télécharger un scénario.**

<p class="callout warning">**Accès réservé :**   
seuls les utilisateurs ayant le rôle **Super administrateur** ou **Administrateur** peuvent accéder à la gestion des scénarios</p>

L’utilisateur dispose de plusieurs options pour utiliser un scénario :

#### 3.1- Utiliser un scénario chargé par défaut

- Le scénario est prêt à l’emploi et activé
- Idéal pour se familiariser avec l'univers ModLink
- Les variables et widgets sont déjà créés

#### 3.2- Modifier un scénario existant

- Permet d’ajuster un scénario pour un cas particulier sans repartir de zéro (télécharger un modèle depuis le serveur distant ou local)
- L’utilisateur doit vérifier que toutes les variables sont valides et que les entrées et les sorties sont bien configurées

#### 3.3- Créer un scénario personnalisé

- L’utilisateur définit **toutes les variables, blocs et connexions**.
- Nécessite de :
    
    
    - Définir les variables
    - Insérer et connecter les blocs fonctionnels (tests, compteurs, régulation, utilitaires, sorties)
    - Vérifier que le scénario forme une boucle complète pour garantir son fonctionnement

#### 3.4- Importer / exporter un scénario

- Depuis un serveur distant  
    Bibliothèque de scénarios disponible depuis le serveur de ModLink.  
    Il faudra adapter et personnaliser les paramètres à la configuration de l'installation.
- En local depuis l'ordinateur utilisé

<p class="callout info">Pour créer ou modifier des scénarios, il est **recommandé d’utiliser un ordinateur**.  
*L’édition sur téléphone peut entraîner des problèmes d’affichage ou une visibilité limitée des paramètres avancés*</p>

[![Scenario2.png](https://modlink.fr/help/uploads/images/gallery/2026-02/scaled-1680-/scenario2.png) :](https://modlink.fr/help/uploads/images/gallery/2026-02/scenario2.png)

# Comptes utilisateurs

# Gestion des comptes

<p class="callout warning">Pour des raisons de sécurité, il est recommandé de standardiser les rôles, limiter les droits administratifs et vérifier régulièrement les comptes inactifs</p>

Pour accéder aux paramètres des comptes utilisateurs :

- Ouvrez le menu **Paramètres**
- Sélectionnez l'onglet **Sécurité**
- Cliquez sur **Accès**
- Dans "*Authentification et utilisateurs*" cliquez sur le bouton **Gérer**

**[![Capture d’écran 2026-06-04 173545.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-04-173545.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-04-173545.jpg)**

### 1- Création de compte

Pour créer un nouvel utilisateur :

1. Cliquez sur **Ajouter un utilisateur**
2. Renseignez un **identifiant** et un **mot de passe**
3. Sélectionnez le rôle souhaité (**Installateur** ou **Utilisateur**)
4. Cochez les **permissions** et les **accès aux pages** de l'interface que vous souhaitez autoriser
5. **Enregistrez** la configuration

[![Capture d’écran 2026-06-04 174055.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-04-174055.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-04-174055.jpg)

La liste des comptes utilisateurs ainsi que les informations associées apparaissent à la suite de la fenêtre de création d'un compte. Ces informations sont visibles uniquement pour les comptes disposant du rôle Installateur.

[![Capture d’écran 2026-06-04 174319.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-04-174319.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-04-174319.jpg)

<p class="callout info">Lors de la création d'un nouvel espace installateur, seules les permissions minimales requises sont activées par défaut (mise à jour du firmware, changement de nom et connexion OPC UA).   
Aucun accès aux pages de l'interface n'est accordé tant qu'il n'a pas été explicitement autorisé par l'administrateur</p>

### <span role="text">2- Affichage des comptes</span>

La **liste des comptes utilisateurs** apparaît directement sous le bloc **« Créer un utilisateur »**.  
Elle permet de visualiser rapidement tous les comptes existants, leurs rôles et leurs permissions.

Le système prévoit les types de comptes suivants :

- **1 compte Super Administrateur**
- **5 comptes Installateur**
- **10 comptes Utilisateur**

Le rôle **Installateur** offre des possibilités de gestion étendues, telles que :

- Changement de nom d’appareil
- Gestion des utilisateurs
- Gestion des sauvegardes

<p class="callout warning"><span data-end="966" data-start="803">L</span>a création d’un **compte Installateur** nécessite des droits spécifiques.   
Assurez-vous de disposer des autorisations nécessaires avant de créer ce type de compte</p>

### <span role="text">3- Modification et suppression des comptes</span>

- **Modifier un compte** :  
    Vous pouvez changer l’identifiant, le mot de passe, le rôle, les permissions et accès aux pages d’un compte, selon vos droits d’accès.
- **Supprimer un compte** :  
    Seuls les comptes disposant des droits nécessaires peuvent être supprimés. La suppression est **définitive** et entraîne la perte de toutes les permissions associées.

<p class="callout warning">Il est impossible de supprimer le **compte Super Administrateur.**  
Vérifiez la hiérarchie des rôles et les droits d’accès avant toute suppression</p>

# Widgets de contrôle et d'affichage

# Présentation des widgets

Un widget est un élément du tableau de bord qui permet d'interagir avec le système pour :

- piloter les équipements
- visualiser les données issues des capteurs
- accéder aux principales informations de supervision

On distingue deux principaux types de widgets :

- **les widgets de contrôle**   
    graphiques et interactifs, ils permettent d’envoyer des commandes d'actions directement depuis le tableau de bord (par exemple un interrupteur pour allumer et éteindre un appareil).
- **les widgets d’affichage** textuels ou numériques, ils permettent de visualiser des états ou des mesures sans possibilité d'interaction

Selon le type de widget, différentes fonctionnalités peuvent être disponibles :

- affichage d’état,
- commande manuelle,
- variation,
- visualisation de mesures,
- retour d’information,
- pilotage d’équipements

### 1- Widgets de contrôle

- Interrupteur : permet de commander une sortie en ON/OFF.  
    *exemple : éclairage, relais*
- Variateur : permet d’ajuster une valeur sur une plage définie  
    *exemple : variation d’intensité lumineuse, consigne*
- <span style="color: rgb(34, 34, 34);">Variateur d’ouvrant : p</span>ermet de piloter la position d’un ouvrant (volet, BSO…)  
    *exemple : ouverture partielle, fermeture complète*
- <span style="color: rgb(34, 34, 34);">Switch à glissière : p</span>ermet de basculer entre plusieurs états  
    *exemple : auto / manuel / arrêt*

### 2- Widgets d'affichage

- <span role="text">Capteur (affichage de valeur) : a</span>ffiche une mesure issue d’un capteur  
    *exemple : température, humidité, niveau*
- Voyant d’état : indique l’état d’une variable  
    *exemple : marche/arrêt, défaut, alarme*

### <span role="text">3- Widgets avancés</span>

- <span style="color: rgb(34, 34, 34);">Régulation : p</span>ermet de piloter automatiquement un équipement en fonction d’une consigne et d’une mesure  
    *exemple : régulation de température, gestion de ventilation*

# Accès et gestion des widgets

Selon le rôle attribué à l’utilisateur, certains widgets peuvent être accessibles en consultation uniquement ou ne pas être disponibles.

L’accès à la gestion des widgets s’effectue :

- depuis le bouton **« Gérer les widgets »** de la page d’accueil du tableau de bord,
- ou via le menu de navigation **« Widgets »**

<p class="callout info">L’accès, la création et la modification ou la suppression des widgets dépendent des droits attribués à l’utilisateur ainsi que de son rôle</p>

# Widgets préconfigurés

Les widgets préconfigurés sont fournis par défaut avec le système afin de faciliter la mise en service et l’exploitation de l’installation. Ils permettent d’afficher et de piloter rapidement les principales fonctions du module sans nécessiter de configuration avancée.  
Ils apparaissent sur la page d’accueil du tableau de bord ou bien depuis le menu Widget.

Les widgets préconfigurés peuvent être utilisés tels quels ou adaptés selon les besoins de l’installation et les autorisations accordées à l’utilisateur.

#### 4.1- Widgets disponibles

Les widgets peuvent être de différents types :

- **Interrupteur** : permet de contrôler un appareil (allumer / éteindre)
- **Variable** : affiche une valeur numérique ou état logique (température, niveau, pourcentage ...)
- **Capteur** : permet de visualiser les données provenant directement des capteurs connectés au module

Deux widgets préconfigurés sont disponibles par défaut :

- un widget de type **switch ON/OFF** permettant le pilotage d’une sortie bistable
- un widget de type **bouton** permettant l’envoi d’une commande impulsionnelle

Ces widgets permettent une mise en service rapide des fonctions de commande principales sans configuration supplémentaire.

L’accès, la création et la modification des widgets dépendent des droits attribués à l’utilisateur ainsi que de son rôle.

# Création de widget

<p class="callout warning">La création de widgets est réservée aux utilisateurs disposant des droits appropriés (Super administrateur ou Installateur)</p>

1. 1. Accédez au tableau de bord ou aller dans le menu "*Widget*"
    2. Cliquez sur"**gérer les widgets**"
    3. Cliquer sur "**ajouter un nouveau widget**" et configurez les paramètres du widget :  
        \- le nom et le type de widget  
        \- le choix de la variable d'entrée  
        \- l'emplacement et le choix de l'icone   
        \- le lien avec un scénario ...

Le widget est alors ajouté au tableau de bord.

<p class="callout success"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
- Limiter le nombre de widgets afin de conserver une interface lisible  
- Donner un nom explicite à chaque widget  
- Réserver les widgets techniques aux utilisateurs expérimentés  
- Vérifier régulièrement les widgets d’état et de connectivité  
</p>

# Planification horaire

# Nouvelle page

### Planification horaire (via variables)

La planification horaire repose sur l’utilisation de variables et de tests dans le scénario.

**Principe :**

- Une ou plusieurs variables horaires sont définies en amont
- Le scénario teste ensuite la valeur de ces variables
- Le déclenchement dépend du résultat du test de la variable

**Caractéristiques :**

- Basée sur des variables externes au scénario
- Plus flexible et dynamique
- Permet des logiques complexes (multi-plages, conditions combinées)

# Questions fréquemment posées

# Droits et permissions des comptes utilisateurs

Les **administrateurs** disposent de tous les droits, y compris la modification des paramètres du compte et des appareils, tandis que les utilisateurs standards (**gestionnaires et opérateurs**) disposent uniquement des permissions d’accès et d’utilisation, sans possibilité de modifier les paramètres.

# Message "non sécurisé" dans navigateur

Lorsque vous accédez à votre module Modlink via la barre d’adresse du navigateur, il est possible que le message **“non sécurisé”** apparaisse.

<p class="callout info">**Important :** Ce message ne signifie pas que votre réseau ou vos données sont en danger</p>

### Pourquoi ce message apparaît

- Le module utilise une connexion **HTTP non chiffrée** pour optimiser la **rapidité et la réactivité**
- L’activation de HTTPS / SSL sur le module augmenterait la **latence**, ce qui pourrait ralentir le pilotage et la supervision en **temps réel**
- Les navigateurs affichent ce message car la connexion n’est pas chiffrée avec un certificat reconnu, mais cela **n’affecte pas la sécurité** sur un réseau local sécurisé

### Ce que vous pouvez faire

- **Continuer l’accès au module** : cliquez sur “Avancé” puis “Continuer” si le navigateur le propose
- Assurez-vous que votre **réseau local est sécurisé** (Wi-Fi protégé, utilisateurs autorisés)
- Aucune action supplémentaire n’est nécessaire pour un usage normal du module

# 3 profils utilisateurs