# 2 PIO

**Module d'automatisation embarqué et connecté 4 entrées / 2 sorties**

**Exporter la notice**<span> (complète ou partielle) </span>**pour une consultation hors ligne :**  
<span>Utilisez la fonction </span>**Exporter**, accessible dans le menu à droite de l’écran sur ordinateur ou depuis l’onglet **Informations**<span> sur smartphone</span>

# Photos

[![2pio_dessus_br_fond_etoile.jpg](https://modlink.fr/help/uploads/images/gallery/2026-10/scaled-1680-/2pio-dessus-br-fond-etoile.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-10/2pio-dessus-br-fond-etoile.jpg)

[![2pio_dessus_br_fond_etoile_bis.jpg](https://modlink.fr/help/uploads/images/gallery/2026-10/scaled-1680-/2pio-dessus-br-fond-etoile-bis.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-10/2pio-dessus-br-fond-etoile-bis.jpg)

# Module de démonstration en ligne

### <span style="color: rgb(0, 0, 0);">1- Se connecter au module de test</span>

<span style="color: rgb(52, 73, 94);">Pour découvrir l'interface 2PIO et tester ses fonctionnalités dans des conditions proches d'une installation réelle, cliquez sur le lien : **<span style="background-color: rgb(194, 224, 244);">*[Module de démonstration en ligne](http://2pio07d8.modlink.fr "Accès au module de démonstration en ligne")*</span>**  
*Aucune installation de logiciel n’est nécessaire ; l’accès s’effectue depuis un navigateur Internet*</span>

<p class="callout success">Utilisez les identifiants suivants pour vous connecter :  
Nom d'utilisateur : **<span style="background-color: rgb(194, 224, 244);"><span style="background-color: rgb(45, 194, 107);">demo</span>  
</span>**Mot de passe : <span style="background-color: rgb(45, 194, 107);">**demo**</span></p>

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

<p class="callout info">**Limitations du mode démonstration :**  
le module est configuré pour permettre l’exploration et le test de ses principales fonctionnalités, tout en préservant sa configuration.  
- les scénarios ne **peuvent pas être modifiés**  
- certaines fonctions de configuration **ne sont pas accessibles**  
- les fonctions liées à la sécurité et à la gestion des comptes **sont limitées**</p>

### 2- Découvrir l'interface

Après connexion, le module affiche le **tableau de bord**, qui regroupe les **widgets d’exploitation** permettant de piloter l’installation et de visualiser l’état des équipements :

- commander les sorties du module
- visualiser l’état des relais et des entrées
- modifier certains paramètres directement depuis l’interface

Le bouton **« Gérer les widgets »** ouvre directement le menu *Widgets*, qui permet d’organiser les widgets affichés sur le tableau de bord.

Les **différents menus** donnent accès aux fonctions de configuration, de supervision et de gestion du module.

*Pour plus d’informations, consultez la page* [*Interface d’administration*](https://modlink.fr/help/link/195#bkmrk-page-title)*.*

### 3 – Télérupteur avec double temporisation : tester les commandes et les widgets

Le module de démonstration permet de découvrir un scénario préconfiguré et de comprendre son interaction avec les widgets d’exploitation.

Vous pouvez notamment :

- déclencher le scénario depuis les widgets
- observer les changements d’état des équipements
- modifier les paramètres proposés et constater leurs effets sur le fonctionnement du scénario

#### 3.1- Fonctionnement du scénario d'automatisation

Le scénario préconfiguré utilise normalement un bouton-poussoir et un capteur de détection de présence, raccordés aux entrées du module.

Dans le mode démonstration, ces entrées ne sont pas utilisées pour déclencher le scénario. Les widgets permettent de simuler les commandes correspondantes depuis l’interface Web, sans avoir à raccorder ni à actionner de bouton-poussoir ou de capteur physique.

Le scénario repose sur deux temporisations :

- Temporisation courte : durée réglable dans le scénario
- Temporisation longue : durée réglable directement depuis un widget, sans modifier le scénario

<p class="callout info">En mode démonstration, les durées des temporisations sont volontairement réduites à quelques secondes afin de faciliter la compréhension et l’observation du fonctionnement</p>

Le scénario peut également tenir compte de données contextuelles, notamment des horaires du lever et du coucher du soleil, calculés à partir de la position géographique du module.

#### 3.2- Widgets de pilotage

Plusieurs widgets permettent de tester le fonctionnement du scénario et d’observer l’état du module.

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

Ces widgets permettent notamment de :

- **simuler les commandes** du bouton-poussoir et du capteur de présence ;
- **commander l’éclairage** selon deux modes : allumage de courte durée ou de longue durée ;
- **régler la durée de l’allumage longue durée** à l’aide du curseur, sans modifier le scénario ;
- **commander les relais et visualiser leur état** directement depuis l’interface.

Cette démonstration illustre plusieurs fonctions du module 2PIO : commandes manuelles, simulation de détection, temporisations différenciées, réglage d’un paramètre depuis un widget et prise en compte de données contextuelles.

*Pour approfondir les fonctions de configuration, d’automatisation et de communication, consultez les chapitres correspondants de la documentation du module 2PIO.*

# Présentation

Pilotage - Supervision - Communication

# Présentation fonctionnelle

Le 2PIO est un module d’automatisation IP compact avec serveur Web intégré, conçu pour automatiser et piloter des équipements techniques, ainsi que pour communiquer avec d’autres systèmes.

### 1- Programmation graphique et boucle d'exécution

Le 2PIO intègre une interface graphique de programmation permettant de créer des automatismes sans écrire de code.   
Les scénarios sont construits à partir de **blocs fonctionnels.**

Les principales fonctions comprennent :

- **La gestion des entrées et des sorties** : acquisition des états et des mesures, commande des équipements raccordés et suivi de leur fonctionnement
- **La gestion des variables** : mémorisation, traitement et échange d’informations utilisées par les automatismes
- **L’exécution des scénarios** : réalisation des actions selon les conditions et la logique configurées
- **La planification** : programmation d’actions en fonction de dates ou d’horaires
- **Le pilotage par widgets** : commande des équipements et visualisation des informations depuis le tableau de bord

Les blocs fonctionnels permettant de définir :

- **des tests** : vérification d’un changement d’état d’une entrée, d’une modification de variable, d’une valeur mesurée, d’une date ou d’un horaire
- **des actions** : commande des relais, modification des variables, envoi de notifications, pilotage d’ouvrants avec gestion et suivi de la position
- **des temporisations** : gestion des délais et des durées selon la logique configurée.
- **de la régulation** : régulation de grandeurs telles que la température ou la luminosité, en mode tout ou rien (TOR) ou par modulation de largeur d’impulsion (PWM), avec fonction d’auto-apprentissage
- **des compteurs** : incrémentation ou décrémentation d’une valeur pour comptabiliser des événements ou suivre une quantité

*Pour plus d'informations sur les blocs de fonction, consultez : [Utiliser les blocs de fonction](https://modlink.fr/help/link/220#bkmrk-page-title)*

Les scénarios s’exécutent **en boucle de manière continue**. Ils analysent les entrées, les mesures, les sorties et les variables du système afin d’appliquer les actions prévues par la logique configurée.

Les tests sont évalués dans l’ordre défini et les actions correspondantes sont exécutées lorsque les conditions requises sont remplies.

Chaque module 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.

<p class="callout success">Tel un agent de sécurité qui effectue des rondes, un scénario vérifie en permanence différents points de contrôle dans un ordre défini :  
**Les entrées** : boutons, détecteurs, capteurs et mesures environnementales  
**Les sorties** : éclairage, vannes, équipements commandés ou dispositifs d’alerte  
**Les variables** : informations et états utilisés par les scénarios (rapports des agents précédents)  
*Lorsque les conditions définies sont remplies, les actions correspondantes sont exécutées. Le scénario poursuit ensuite ses vérifications et recommence le cycle en continu*</p>

### 2- Fonctionnement autonome : Edge Automation

Le 2PIO repose sur une architecture d’**Edge Automation** : les données sont traitées et les scénarios exécutés directement par le module, au plus près des équipements pilotés.

Les automatismes locaux peuvent ainsi continuer à fonctionner sans connexion Internet et sans dépendre d’un serveur central ou d’un service SaaS, sous réserve que les équipements et les ressources nécessaires à leur fonctionnement restent disponibles.

Le module peut fonctionner de manière autonome ou s’intégrer à un réseau de modules ModLink grâce au partage de variables.

### 3- Gestion et partage de variables

Les variables permettent de **mémoriser et d’échanger des informations** utilisées par les scénarios : état d'un équipement, valeur d'une mesure, résultat d’un calcul ou état intermédiaire d’un automatisme.  
Lorsqu’elles sont partagées entre plusieurs modules, elles permettent à leurs scénarios respectifs d’échanger des informations et de coordonner leurs actions sans nécessiter de serveur central en cloud.

Ce mécanisme contribue à une **architecture d’automatisation décentralisée**, dans laquelle chaque module exécute ses propres scénarios tout en pouvant interagir avec les autres modules du réseau.

### 4- Connectivité IP et découverte des modules

Le 2PIO communique sur un réseau **Wi-Fi utilisant les protocoles TCP/IP**. L’intégration au réseau est facilitée par le **DHCP**, qui permet l’attribution automatique des adresses IP, et le **mDNS**, qui permet de découvrir les équipements sur le réseau local sans avoir à saisir leur adresse IP.

Ces mécanismes facilitent l’accès au module et la communication entre les équipements du réseau.

*Pour plus d'information sur l'accès au module [Accès au module](https://modlink.fr/help/link/211#bkmrk-page-title) et sur les modalités de découverte des modules, consultez [Rechercher un module](https://modlink.fr/help/link/257#bkmrk-page-title)*

### 5. Accès distant sécurisé

Le 2PIO intègre un mécanisme d’accès distant reposant sur un **tunnel SSH sécurisé**, qui permet d’accéder au module via Internet sans nécessiter de redirection de ports sur le routeur.

Lorsque le tunnel SSH est activé et autorisé, l’interface Web du module est accessible à distance depuis un navigateur Web, sans logiciel spécifique à installer.

*Pour plus d'informations sur le tunnel SSH consultez : [Utilisation du tunnel SSH](https://modlink.fr/help/link/259#bkmrk-5.2--utilisation-du-)*

### 6- Communication et intégration

Grâce à sa connectivité IP et à ses interfaces de communication, le 2PIO peut échanger des données avec des équipements et des systèmes tiers, notamment dans les domaines de l’automatisation, de la gestion technique du bâtiment (GTB/GTC), de la supervision et de la domotique.

Selon la configuration et les interfaces utilisées, les possibilités d’intégration comprennent notamment :

- **Home Assistant**, pour exploiter les données du module dans une installation domotique ;
- **Modbus TCP**, pour échanger des données avec des équipements et des systèmes compatibles ;
- **OPC UA**, pour l’intégration à des systèmes de supervision et de gestion technique ;
- **HTTP**, pour transmettre des informations ou déclencher des actions sur des systèmes tiers.

Le 2PIO conserve sa propre logique d’automatisation : son fonctionnement local ne nécessite pas qu’un système externe assure en permanence le pilotage des scénarios.

Pour plus d'informations sur la communication, consultez : [Protocoles de communication et interopérabilité](https://modlink.fr/help/books/2-pio/page/protocoles-de-communication-et-interoperabilite "Protocoles de communication et interopérabilité")

<p class="callout warning">**Pour être utilisées par un système tiers, les variables concernées doivent être préalablement exposées** dans la configuration du 2PIO, conformément aux paramètres requis par l’interface de communication utilisée</p>

### 7- Architecture réseau[![architecture 2PIO.png](https://modlink.fr/help/uploads/images/gallery/2026-10/scaled-1680-/architecture-2pio.png)](https://modlink.fr/help/uploads/images/gallery/2026-10/architecture-2pio.png)

# Schéma d'architecture

[![schema-2pio.webp](https://modlink.fr/help/uploads/images/gallery/2026-10/scaled-1680-/XNTschema-2pio.webp)](https://modlink.fr/help/uploads/images/gallery/2026-10/XNTschema-2pio.webp)

# 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.

[![2pi_capot.jpg](https://modlink.fr/help/uploads/images/gallery/2026-10/2pi-capot.jpg)](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>

Voir [Raccordement électrique](https://modlink.fr/help/link/128#bkmrk-page-title)

### 3- Navigation avec le bouton de configuration

<div id="bkmrk--4">  
</div>Chaque module est équipé d'un bouton permettant d'exécuter certaines fonctions directement sur l'appareil, sans passer par l'interface Web.

<span style="background-color: rgb(251, 238, 184);">(photo du bouton)</span>

La navigation s'effectue à l'aide de différents types d'appuis sur le bouton :

- **Appui simple**
- **Double appui**
- **Appui long**

Le tableau ci-dessous récapitule les différentes actions disponibles

<table id="bkmrk-%C3%89tat-action-sur-le-b"><thead><tr><th><span style="color: rgb(52, 73, 94);">État</span></th><th>Action sur le bouton</th><th>Fonction</th><th>LED</th></tr></thead><tbody><tr><td>***hors menu***</td><td class="align-left">Double appui</td><td>Accès au **menu 1**</td><td>bleu foncé</td></tr><tr><td>**menu 1**</td><td class="align-left">Appui simple</td><td>Accès au **menu 2**</td><td>jaune</td></tr><tr><td> </td><td class="align-left">Double appui</td><td>Lance le mode appairage</td><td>bleu clignotant</td></tr><tr><td> </td><td class="align-left">Appui long</td><td>Transfert de la configuration Wi-Fi (SSID et mot de passe) ainsi que de la clé de chiffrement</td><td>  
</td></tr><tr><td>**menu 2**</td><td class="align-left">Appui simple</td><td>Accès au **menu 3**</td><td>violet</td></tr><tr><td> </td><td class="align-left">Double appui</td><td>Quitte le mode **Slave/Wireless**</td><td>  
</td></tr><tr><td> </td><td class="align-left">Appui long</td><td>Redémarre le module</td><td>  
</td></tr><tr><td>**menu 3**</td><td class="align-left">Appui simple</td><td>Quitte le menu</td><td>bleu clair</td></tr><tr><td> </td><td class="align-left">Double appui</td><td>Active ou désactive le mode **Wireless**,  
puis quitte le mode **Slave**</td><td>  
</td></tr><tr><td> </td><td class="align-left">Appui long</td><td>Réinitialisation complète du module  
(configuration usine)</td><td>  
</td></tr></tbody></table>

# Caractéristiques techniques

### Matériel (hardware)

- **Microcontrôleur** double cœur (dual core)

<span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 2.333em; font-weight: 400;">Entrées et sorties</span>

- **Entrées basse tension** : 2 entrées configurables en TOR (tout ou rien) ou en courant 4–20 mA, avec alimentation capteurs 24 V CC (25 mA max. par entrée)
- **Entrées secteur** : 2 entrées TOR 230 V CA, activées par application de la tension secteur
- **Sorties relais de puissance** : 2 relais bistables à contacts libres de potentiel
    
    
    - Courant maximal par sortie : 32 A pour les charges résistives et capacitives ; 25 A pour les charges inductives.
    - Tension maximale de commutation : 277 V CA
    - Mesure intégrée du courant en continu (DC) et en alternatif (AC)
    - Commutation synchronisée sur le zéro de la tension de référence du module, afin de réduire les pics de courant et les arcs électriques
    - Durée de vie électrique : 200 000 cycles

### Automatisation et fonctions intégrées

- **Edge automation** : scénarios exécutés en boucle continue, avec stockage local (pas de cloud) [Scénario](https://modlink.fr/help/link/243#bkmrk-page-title)
- **Interface Web** : pilotage et visualisation depuis un navigateur Web, avec prise en charge du mode PWA (application Web progressive)
- **Horloge temps réel (RTC)** : horloge intégrée avec batterie rechargeable
- **Watchdog matériel** : redémarrage automatique du microcontrôleur en cas de blocage
- **Planification des actions** : programmation journalière, hebdomadaire, mensuelle et annuelle, avec prise en compte des jours fériés et gestion des priorités
- **Notifications** : envoi de notifications par e-mail et SMS

### Connectivité et protocoles de communication

- **Réseau IP** : communication TCP/IP via Wi-Fi
- **Connectivité Wi-Fi** : IEEE 802.11 b/g/n, bande de fréquence 2,4 GHz
- **Configuration réseau** : adressage IP automatique par DHCP et découverte des équipements par mDNS
- **Protocoles de communication** : TCP/IP, HTTP/HTTPS, Modbus TCP (serveur), SMTP et OPC UA (serveur)
- **Intégration** : Home assistant
- **API HTTP** : interface de programmation permettant l’échange de données et l’interaction avec le module via les méthodes HTTP GET, POST, PUT et DELETE
- **Communication intermodules** : échanges directs de données en pair-à-pair (*peer-to-peer*), avec découverte automatique par mDNS et partage de variables sur le réseau local, sans serveur central
- **Accès distant sécurisé** : tunnel SSH sortant, sans redirection de ports sur le routeur ni dépendance à un cloud public

### Sécurité des communications

- **Chiffrement AES-128** des échanges
- **Protection anti-rejeu (anti replay) par nonce et compteur de séquence**

### Alimentation et consommation

- **Tension d’alimentation** : 230 V CA
- **Puissance consommée** : 6 W

### Caractéristiques physiques

- **Montage** : rail DIN
- **Température de fonctionnement** : −20 °C à +60 °C
- **Dimensions (L × H × P)** : 54 × 90 × 60 mm
- **Poids** : 200 g
- **Boîtier** : polycarbonate, classement de réaction au feu UL 94 V-0

### Garantie 2 ans

# Consignes de sécurité

- - Ne démontez pas le boîtier et manipulez-le 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, 2PIO 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 le module ni d'accéder à d'autres appareils sur votre réseau local.

2PIO prend 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 2PIO 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. S'il 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 du module (pour limiter l'accès à certaines adresses IP).

# Installation et accès au module

# 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 2PIO 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 doivent être synchrones</p>


### 1.3- Entrées

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

- Raccorder le retour de la **phase à piloter** au bornier à insertion   
    \- entrée AC 1 **<span style="color: rgb(230, 126, 35);">(A6)</span>**  
    \- entrée AC 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">En **mode analogique**, les entrées doivent être configurées depuis l'interface Web, dans le menu « *I/O* ».  
  
Une entrée basse tension 4-20 mA peut être divisée en **deux canaux distincts A et B**, permettant ainsi de disposer d'une entrée supplémentaire.  
*L'utilisation de ce mode nécessite un **câblage spécifique** au niveau des capteurs. Veillez à respecter les préconisations de câblage*</p>


#### <span style="color: rgb(0, 0, 0);">Raccordement des capteurs</span>

[![Branchement 4-20mA.webp](https://modlink.fr/help/uploads/images/gallery/2026-10/scaled-1680-/cXvbranchement-4-20ma.webp)](https://modlink.fr/help/uploads/images/gallery/2026-10/cXvbranchement-4-20ma.webp)


#### <span style="color: rgb(0, 0, 0);">Raccordement des entrées BT en mode 2 canaux</span>

<span style="color: rgb(0, 0, 0); background-color: rgb(249, 239, 121);">**MANQUE LE SCHEMA** </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 l'état des 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 doit être effectuée **en local, à proximité du module**. Elle consiste à :</span>
> 
> - <span style="color: rgb(35, 111, 161);">mettre le module sous tension </span>
> - <span style="color: rgb(35, 111, 161);">configurer la connexion Wi-Fi</span>
> 
> <span style="color: rgb(35, 111, 161);">Cette étape est **indispensable pour permettre l’accès à distance au module**</span>

<details id="bkmrk-pr%C3%A9requis-avant-la-m"><summary>Prérequis à la mise en service</summary>

Avant de procéder à la mise en service du module, vérifiez que les opérations suivantes ont été effectuées :

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

Pour plus de détails sur le câblage et les raccordements, consultez le chapitre [Raccordement électrique](https://modlink.fr/help/link/128#bkmrk-page-title).

Une fois ces vérifications effectuées, le module peut être mis sous tension et configuré.

</details><span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 2.333em; font-weight: 400;">1 – Démarrage du module</span>

Dès sa mise sous tension, le module démarre automatiquement et lance sa séquence d’initialisation, qui peut durer jusqu’à 60 secondes.  
Pendant cette phase, le voyant *Process Information* clignote en vert.   
Une fois l’initialisation terminée, il passe au vert fixe, indiquant que le module est opérationnel.

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

### 2- Identification du module

Pour identifier le module :

- Soulever le capot amovible
- Relevez l’identifiant indiqué sur le module

<p class="callout info">Chaque module possède un **identifiant unique** au format **<span style="background-color: rgb(53, 152, 219);">2pioxxxx</span>** où `XXXX` correspond à une combinaison de quatre lettres et chiffres.  
Cet identifiant est utilisé pour accéder au module, aussi bien **en local qu’à distance**  
</p>

### 3- Configuration de la connexion WiFi

Lors de la première mise en service, le module crée automatiquement son propre **réseau Wi-Fi temporaire**, qui permet d’accéder à son interface de configuration.  
Le voyant "*Wi-Fi mode"* clignote en vert lorsque le module fonctionne en mode point d’accès Wi-Fi.  
La configuration peut être réalisée à l’aide d’un smartphone, d’une tablette ou d’un ordinateur équipé du Wi-Fi.

<p class="callout success">**Remarque concernant la sécurité du navigateur**  
La connexion locale au module utilise le protocole **HTTP, sans chiffrement**.   
Selon le navigateur utilisé, un avertissement de sécurité / absence de connexion Internet peut s’afficher.  
*Ces messages sont liés au mode de connexion utilisé lors de la configuration initiale.*   
Autorisez l’accès au site ou poursuivez vers la page proposée par le navigateur.</p>

#### 3.1- Connexion au réseau Wi-Fi du module

1. **Activez le Wi-Fi** sur l’appareil utilisé pour la configuration.
2. **Sélectionnez le réseau Wi-Fi du module** dans la liste des réseaux disponibles.
    
    Lors de la première connexion, le nom du réseau (SSID) apparaît sous la forme **Modlink\_2pioXXXX**, où `XXXX` correspond à l’identifiant du module.  
    *un message "réseau non sécurisé" peut s'afficher - ce comportement est normal et il n'y a aucun risque*
3. **Accédez au portail captif** en sélectionnant le réseau Wi-Fi du module. La page de configuration peut s’ouvrir automatiquement ou nécessiter un délai avant son affichage, selon l’appareil utilisé.
    
    *Si une notification indique que le réseau Wi-Fi n’a pas accès à Internet, restez connecté à ce réseau pour poursuivre la configuration.*
4. **Sélectionnez le réseau Wi-Fi** auquel le module doit se connecter.
    
    *Vérifiez que le signal Wi-Fi est suffisamment puissant pour assurer une connexion stable. Un niveau de signal d’au moins 25% est recommandé.*
5. **Saisissez le mot de passe du réseau Wi-Fi**, puis cliquez sur **Appliquer**

#### 3.2- Vérification de la connexion Wi-Fi

Après l’application des paramètres, le voyant "*Wi-Fi mode"* indique l’état de la connexion :

- **rouge fixe** : le module est connecté au réseau Wi-Fi (il cesse de fonctionner en mode point d'accès WiFi et disparaît de la liste des réseaux WiFi disponibles)
- **violet fixe** : le tunnel SSH est actif
- **vert clignotant** : le module reste en mode point d’accès Wi-Fi. La connexion au réseau configuré a échoué ou n’a pas abouti (vérifiez le nom du réseau, le mot de passe et la qualité du signal). Le portail captif s'affiche à nouveau

<p class="callout warning">**Important : modification des paramètres Wi-Fi** Le module utilise les paramètres Wi-Fi enregistrés lors de sa configuration, notamment le nom du réseau (SSID) et son mot de passe.  
Si ces paramètres sont modifiés sur le routeur, le module ne pourra plus se reconnecter au réseau avec les informations enregistrées (le voyant *Wi-Fi mode* clignotera en vert) et une nouvelle configuration Wi-Fi en local sera alors nécessaire.   
  
Pour faciliter la maintenance et limiter les dépendances au réseau principal, il est recommandé de réserver au module 2PIO un **SSID et un mot de passe spécifiques**</p>

### 4- Connexion et configuration initiale

#### 4.1- Accès à l'interface Web

L’interface Web permet de configurer, de paramétrer et de superviser le module.

Ouvrez un navigateur Web sur un smartphone, une tablette ou un ordinateur, puis saisissez l’adresse correspondant au mode d’accès souhaité dans la barre d’adresse.

##### Accès depuis le réseau local

L’appareil utilisé pour accéder au module doit être connecté au **même réseau local que le module**.

Saisissez directement l’adresse suivante dans la barre d’adresse du navigateur : `<strong>2pioXXXX.local</strong>`  
*Remplacez XXXX par l’identifiant du module, composé de quatre caractères (lettres et chiffres).*

##### Accès à distance via Internet

Saisissez directement l’adresse suivante dans la barre d’adresse du navigateur : `<strong>2pioXXXX.modlink.fr</strong>`  
*Remplacez XXXX par l’identifiant du module, composé de quatre caractères (lettres et chiffres).*

#### 4.2- Authentification et sécurisation des accès

L'écran de connexion s'affiche, saisissez les identifiants par défaut :

<p class="callout success">**Identifiant :** `admin`  
**Mot de passe :** `admin`</p>

Un avertissement indiquant que le certificat de sécurité n’est pas valide peut apparaître. Confirmez l’exception de sécurité pour poursuivre vers l’interface Web.

##### Personnalisation des identifiants

Pour sécuriser l’accès au module, il est fortement recommandé de modifier les identifiants par défaut dès la première connexion.

Vous pouvez également créer différents **profils utilisateurs** et leur attribuer les droits d’accès correspondant à leurs fonctions.  
Consultez le chapitre [Comptes utilisateurs](https://modlink.fr/help/link/225#bkmrk-page-title) pour plus d’informations.

##### Configuration du profil gestionnaire

Dans **Paramètres &gt; Informations &gt; Profil &gt; Gestionnaire**, renseignez les données de géolocalisation du module.  
Ces informations permettent de déterminer les heures locales de lever et de coucher du soleil, utilisées notamment par les scénarios d’automatisation de l’éclairage.

Renseignez également l’adresse e-mail du gestionnaire afin de recevoir les notifications automatiques envoyées par le module lorsqu’une erreur est détectée.

### 5- Utilisation d'un scénario préconfiguré



<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" id="bkmrk--2"></section><div class="qMYqUG_convSearchResultHighlightRoot" id="bkmrk-une-fois-connect%C3%A9-%C3%A0-"><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-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é à l'interface Web du module, configurez les différents éléments nécessaires au fonctionnement de l'installation, notamment :</section></div></div>- 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 préconfiguré](https://modlink.fr/help/books/2-pio/page/scenarios-preconfigures "Scénarios préconfigurés")
- 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>

# Accès au module

Le module 2PIO est accessible localement, via un réseau Wi-Fi existant ou son propre point d’accès.   
L’accès à distance via Internet est également possible lorsque le module dispose d’une connexion Internet et que les fonctions d’accès distant sont bien activées.

### 1- Accès local

#### 1.1- Connexion directe en mode point d'accès (AP)

Dans certaines situations, le module 2PIO peut être utilisé sans connexion Internet. Lorsqu'aucun réseau Wi-Fi configuré n'est disponible, il bascule automatiquement en mode point d'accès (AP-routeur) au bout de 30 secondes.

Ce mode permet de se connecter directement au module depuis un ordinateur, une tablette ou un smartphone, via le réseau Wi-Fi qu’il émet.  
Le nom du réseau Wi-Fi (SSID) prend la forme suivante : `Captive Portal + 2pioID`.

<p class="callout info">Le **mode point d’accès** est particulièrement utile lors de la première mise en service ou lorsqu’aucun réseau Wi-Fi configuré n’est disponible.  
Le module reste opérationnel en local (les scénarios et automatismes configurés continuent de s’exécuter) mais aucun accès à distance n'est possible</p>

<span style="text-decoration: underline;"><span style="color: rgb(0, 0, 0); text-decoration: underline;">Procédure de connexion :</span></span>

1. Activez le Wi-Fi sur votre appareil
2. Recherchez les réseaux Wi-Fi disponibles
3. Sélectionnez le réseau du module, identifié par son SSID
4. Si votre appareil indique que le réseau Wi-Fi ne dispose pas d’un accès à Internet, cela est normal dans ce mode. Connectez-vous au réseau du module, même si votre appareil signale l’absence d’Internet.
5. Lorsque le portail captif s'affiche, suivez les instructions pour accéder à l'interface du module

#### 1.2- Accès via un réseau Wi-Fi (mode standard*)*

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

- Le module est alimenté et connecté au réseau Wi-Fi local
- L'appareil utilisé pour la connexion est connecté au même réseau local que le module
- Vous disposez de l’identifiant du module, indiqué sous le capot de la face avant

</details>Le module peut être connecté à différents types de réseaux :

- **Réseau Wi-Fi local** : réseau existant sur le site
- **Réseau Wi-Fi dédié aux équipements IoT** : réseau distinct du réseau principal, permettant d'isoler les équipements techniques
- **Routeur cellulaire 4G/5G** : équipement fournissant une connexion Internet via le réseau mobile et un accès Wi-Fi local

<p class="callout success">Un réseau **Wi-Fi dédié aux équipements IoT** permet de séparer les équipements techniques du réseau principal.   
Cette séparation facilite l’administration du réseau et peut renforcer la sécurité, selon la configuration mise en place. Lorsque les identifiants du réseau Wi-Fi principal sont modifiés, la connexion des modules au réseau IoT dédié n’est pas affectée.</p>

<span style="text-decoration: underline;">Procédure de connexion</span>

1. Connectez votre ordinateur, tablette ou smartphone au même réseau local que le module
2. Ouvrez un navigateur Web
3. Saisissez l’adresse du module dans la barre d'adresse du navigateur suivi de .local  
    `2pioXXXX.local`  
    Remplacez `XXXX` par l’identifiant unique du module, composé de quatre caractères alphanumériques.

4. Sur la page de connexion, saisissez le nom d’utilisateur et le mot de passe

<p class="callout success">**identifiant par défaut** : admin  
**mot de passe** **par défaut** : admin *Modifiez les identifiants par défaut lors de la mise en service afin de limiter les accès non autorisés*</p>

<p class="callout info">La **connexion locale** utilise le protocole HTTP. Selon le navigateur, un avertissement de sécurité peut apparaître pour indiquer l'absence de chiffrement HTTPS. Vérifiez que l’adresse saisie correspond bien au module puis autorisez l'accès au site / page selon les options proposées</p>

> 💡 **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

<p class="callout info">Une fois la configuration Wi-Fi effectuée et le module connecté à Internet, celui-ci devient **accessible à distance**.  
Par défaut, **le tunnel SSH est activé** afin de permettre cet accès distant</p>

<p class="callout warning">En l'**absence de connexion Internet**, le module 2PIO continue d'assurer le **fonctionnement local de l'installation** :  
- Les scénarios, temporisations et automatismes configurés continuent de s'exécuter  
- Les interfaces et les équipements connectés au module restent opérationnels sur le réseau local  
- L'administration et le pilotage restent possibles localement,  
*L'accès distant via Internet n'est pas disponible tant qu'une connexion Internet opérationnelle n'est pas rétablie*</p>

#### 1.3- Par adresse IP

Il est également possible d'accéder à l'interface web d'un module en utilisant directement son adresse IP.

##### Consulter l’adresse IP du module

L’adresse IP du module est consultable dans l’interface Web, dans le menu **Paramètres &gt; Informations &gt; Résumé système**.

Cette page regroupe également les principales informations d’identification du module :

- Numéro de série
- Adresse MAC
- Adresse IP
- Clé sécurisée
- Informations relatives au réseau Wi-Fi

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

##### Accéder à l’interface Web

1. Connectez votre ordinateur, tablette ou smartphone au même réseau local que le module 2PIO
2. Ouvrez un navigateur Web
3. Saisissez l’adresse IP du module dans la barre d’adresse du navigateur
4. Sur la page de connexion, saisissez votre nom d’utilisateur et votre mot de passe

L’adresse IP permet ainsi d’accéder à l’interface Web du module sans utiliser son nom d’hôte local.

<p class="callout info">l’adresse IP attribuée par le réseau peut changer, notamment après une reconnexion ou un redémarrage du module.</p>

Pour conserver une adresse IP constante, vous pouvez configurer une adresse IP statique dans **Paramètres &gt; Connectivité &gt; Connexion Internet &gt; Configurer**, puis activer l’option **Utiliser une IP statique**.

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

### 2- Accès à distance

<details id="bkmrk-conditions-pr%C3%A9alable-1"><summary>Prérequis</summary>

- 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
- Le tunnel SSH est opérationnel pour l'accès à distance au module

</details>#### 2.1- Via un navigateur Web

- Ouvrez votre navigateur (Chrome, Safari, Edge, Firefox ...)
- Dans la barre d'adresse, saisissez l'adresse du module sous la forme : **`2pioXXXX.modlink.fr`**
    
    *XXXX = 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 à la page d'accueil de l'interface web du dispositif.

#### 2.2- Accès temporaire via un partage de connexion mobile

<p class="callout warning">Dans certains cas d’usage, un accès à distance peut être mis en place temporairement **en l’absence de connexion Internet permanente sur site**, grâce au partage de connexion mobile d’un smartphone.  
Ce mode d’accès nécessite la présence d’un intervenant sur place pour activer le partage de connexion et établir la liaison. Il est destiné à des interventions ponctuelles, telles que la mise en service ou la programmation du module. 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>

**Mise en œuvre :**

1. L’intervenant sur site active le partage de connexion Wi-Fi de son smartphone
2. Il connecte le module à ce réseau Wi-Fi temporaire
3. Le technicien à distance peut alors accéder au module, sous réserve que les fonctions d’accès distant nécessaires soient configurées et opérationnelles

#### 2.3- Désactiver la connexion à distance

<p class="callout warning">**Par défaut, l’accès à distance au module 2PIO est activé** **via le tunnel SSH.**  
Ce tunnel est partagé entre l’accès distant à l’interface Web du module 2PIO et l’accès distant via OPC UA. Il ne peut être utilisé que par une seule de ces fonctionnalités à la fois.  
Lorsque le tunnel SSH est affecté à l’accès OPC UA distant, l’accès distant à l’interface Web du module est désactivé. L’accès local au module reste disponible.</p>

Si vous ne souhaitez pas que le module soit accessible depuis l'extérieur du réseau local :

- accédez au menu "*Paramètres*" &gt; "*Connectivité*" &gt; *"Accès à distance"*
- appuyer sur le bouton *Configurer*
- cochez l'option "*Désactiver le SSH*".

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

- Une fois l'option activée, l'état de la connexion est mis à jour et affiche « *SSH désactivé* », confirmant que l'accès à distance est désormais désactivé

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

### 3- Page d'accueil et tableau de bord

Après connexion, l’interface Web du 2PIO affiche la page d’accueil, organisée sous forme de **tableau de bord**.

La barre de navigation, située en haut de l’écran, permet d’accéder aux différents **menus** de l’interface : Scénarios, I/O, Widgets, Planification et Paramètres.

La page d’accueil regroupe des **raccourcis vers les principales fonctions du module**, ainsi qu’une zone dédiée aux **widgets** configurés. Ces derniers permettent notamment de commander les équipements, de consulter l’état des entrées et des sorties et de visualiser les mesures disponibles.

Le bouton **« Gérer les widgets »** permet d’accéder à leur configuration afin de personnaliser le tableau de bord.

### 4- Mode application sur smartphone (PWA)


<p class="callout info">L’interface Web du 2PIO peut être utilisée en **mode application (PWA)** sur smartphone.   
Un raccourci est ajouté à l’écran d’accueil **pour accéder directement à l'interface du module**, sans avoir à ouvrir le navigateur ni à saisir son adresse.  
*Cette fonctionnalité ne nécessite aucune installation depuis un magasin d’applications*</p>

#### Installation sur smartphone Android

*La procédure ci-dessous a été validée avec **Firefox sur Android**. Les intitulés des menus peuvent varier selon la version du navigateur et du système.*

**1. Ouvrir l’interface Web du 2PIO**

Depuis Firefox, accéder à l’interface Web du module.

[![Screenshot_20260907_113010_Firefox.jpg](https://modlink.fr/help/uploads/images/gallery/2026-09/scaled-1680-/screenshot-20260907-113010-firefox.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-09/screenshot-20260907-113010-firefox.jpg)

**2. Ouvrir le menu du navigateur**

Appuyer sur le menu de Firefox, puis sélectionner l’option permettant d’ajouter ou d’installer la page sur l’écran d’accueil.

[![Screenshot_20260907_112934_Firefox.jpg](https://modlink.fr/help/uploads/images/gallery/2026-09/scaled-1680-/screenshot-20260907-112934-firefox.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-09/screenshot-20260907-112934-firefox.jpg)

**3. Nommer le raccourci**

Saisir le nom souhaité pour identifier le module sur l’écran d’accueil, puis valider.

[![Screenshot_20260907_112955_Firefox.jpg](https://modlink.fr/help/uploads/images/gallery/2026-09/scaled-1680-/screenshot-20260907-112955-firefox.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-09/screenshot-20260907-112955-firefox.jpg)

**4. Accéder au 2PIO depuis l’écran d’accueil**

Une nouvelle icône apparaît sur l’écran d’accueil du smartphone. Appuyer dessus pour ouvrir directement l’interface Web du 2PIO en mode application (cette icône constitue un raccourci vers l’interface Web du module, elle ne correspond pas à une application native à télécharger et à installer).

# Réseau et communication

Les modules 2PIO peuvent être interconnectés pour former un réseau de communication sécurisé, dès lors qu’ils partagent la même clé de chiffrement. Ils échangent des informations en temps réel et partagent leurs variables, permettant de coordonner leurs automatismes et d’utiliser des entrées ou des sorties distantes sans câblage supplémentaire.

Le réseau peut être étendu à tout moment par l’ajout de nouveaux modules, et les échanges avec des systèmes tiers permettent d’intégrer le 2PIO à des solutions de supervision et de gestion technique du bâtiment.

# Rechercher et ajouter un module

<details id="bkmrk-%C2%A0"><summary>Prérequis</summary>

Avant de rechercher et d’ajouter un module, vérifiez :

- **Connexion Wi-Fi :** le module doit être sous tension et connecté au réseau Wi-Fi local
- **Appairage :** si le module doit rejoindre un réseau ModLink existant, l’appairage et le transfert de la clé de chiffrement doivent avoir été effectués au préalable
- **Droits d’accès :** vous devez disposer des autorisations nécessaires pour modifier la configuration du module

</details>### 1- Découverte automatique par mDNS

Le protocole mDNS permet de rechercher les modules disponibles sur le **réseau local** sans avoir à saisir manuellement leur adresse.

1. Dans le menu "*I/O"*, sélectionnez *"Distant"* dans le champ Valeur
2. Cliquez sur "mDNS" pour lancer la recherche des modules présents sur le réseau local
3. Dans la liste des résultats, cochez les modules que vous souhaitez ajouter
4. Cliquez sur *"Importer la sélection"* pour les ajouter à la liste des modules distants

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

<p class="callout warning">Avant toute importation, **transférez les clés de chiffrement vers les modules** afin de sécuriser les communications.   
Une fois cette opération réalisée, vous pouvez lancer la découverte mDNS et importer les modules souhaités  
  
*[Transférer les clés de chiffrement](https://modlink.fr/help/link/184#bkmrk-3--transfert-des-cl%C3%A9)*  
</p>

Une fois importé, le module apparaît dans la liste des modules connectés.   
Pour chaque module, il est possible de consulter les **informations de connexion** (ports, adresse MAC, clé API), la **liste des I/O** et des **variables** partagées.   
Cliquez sur les listes déroulantes pour développer leur contenu et afficher les informations disponibles.

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

### 2. Ajout manuel d’un module

Si vous connaissez l'identifiant du module, vous pouvez **l'ajouter manuellement** sans effectuer de scan mDNS

1. Dans le menu **I/O &gt; Distant**, cliquez sur **+ Ajouter un appareil  
    [![Capture d’écran 2026-07-07 165512.jpg](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/capture-decran-2026-07-07-165512.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-07/capture-decran-2026-07-07-165512.jpg)**
2. Renseignez les champs **Nom de l’appareil et Nom d'hôte** au format attendu, par exemple `2pioXXXX.modlink.fr`
3. Sélectionnez le protocole **HTTP**
4. Cliquez sur **Ajouter l’appareil** pour confirmer

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

### 3- Consulter les informations de connexion

Après l’ajout d’un module, vous pouvez consulter les informations disponibles dans la liste des modules distants, notamment les ports, l’adresse MAC, la clé API, les entrées/sorties et les variables.

Pour consulter les informations réseau du module lui-même, ouvrez **Paramètres &gt; Informations &gt; Résumé système**. Cette page affiche notamment :

- le numéro de série
- l’adresse MAC
- l’adresse IP
- la clé sécurisée
- les informations relatives à la connexion Wi-Fi

# Appairer les modules et créer un réseau

Cette procédure décrit comment créer un réseau de communication entre plusieurs modules 2PIO ou intégrer un nouveau module à un réseau existant.

Deux méthodes sont disponibles :

- **Appairage manuel**, à l’aide du bouton de configuration des modules.
- **Appairage via les interfaces Web**, pour effectuer les opérations en local depuis un navigateur Web

Ces deux méthodes permettent de transférer les clés de chiffrement et de configurer la connexion Wi-Fi du nouveau module.  
Pour que l’intégration soit effective, la configuration doit être sauvegardée et le module redémarré.

<details id="bkmrk-pr%C3%A9requis-avant-de-c"><summary>Prérequis</summary>

Avant de commencer, vérifiez les points suivants :

- **Installation :** le ou les nouveaux modules sont installés et raccordés conformément aux recommandations du chapitre [Raccordement électrique](https://modlink.fr/help/books/2-pio/page/raccordement-electrique)
- **Fonctionnement :** les voyants indiquent un fonctionnement normal des modules  
    Consultez le chapitre [État des voyants](https://modlink.fr/help/link/179#bkmrk-%C2%A0) si nécessaire
- **Droits d'accès :** vous disposez d'un accès au module déjà configuré et votre profil possède la permission "Appairage de modules"
- **Partage des variables** : les variables à échanger entre les modules doivent être exposées. Les variables non exposées restent internes au module et ne sont pas accessibles aux autres modules du réseau

</details><p class="callout warning">**Conditions d'appairage et de transfert de la clé de chiffrement :**  
L'appairage nécessite une **intervention sur place** (y compris lorsqu'il est effectué via les interfaces Web).   
Pour des raisons de sécurité, les modules doivent se trouver **à proximité immédiate** les uns des autres et le transfert de la clé de chiffrement doit être effectué dans les **2 minutes suivant** l'activation de l'appairage.   
Passé ce délai, relancez la procédure d'appairage avant de tenter à nouveau le transfert</p>

### 1. Appairage manuel avec le bouton de configuration

Consultez le chapitre [navigation avec le bouton de configuration](https://modlink.fr/help/link/264#bkmrk-page-title) pour connaître le fonctionnement des boutons,

#### 1.1. Préparer le module à ajouter (récepteur)

Sur le module à intégrer au réseau :

1. Effectuez un **double appui** sur le bouton de commande ; la LED *Wireless mode* s'allume en bleu foncé
2. Effectuez ensuite un **appui simple** ; la LED *Wireless mode* se met alors à clignoter en bleu

Le mode appairage est alors **activé pour une durée de deux minutes**

Répétez cette opération pour chaque module supplémentaire à intégrer au réseau.

#### 1.2. Transférer les informations depuis le module déjà configuré (émetteur)

Sur le module déjà configuré :

1. Effectuez un **double appui** sur le bouton de configuration ; la LED *Wireless mode* s'allume en bleu foncé
2. Effectuez ensuite un **appui long** pour lancer le transfert de la clé de chiffrement et de la configuration Wi-Fi (SSID et mot de passe) vers le ou les modules à ajouter

Vérifiez que le transfert a été correctement effectué en contrôlant l'état des voyants <span style="text-decoration: underline;">sur le module récepteur</span> :

- la LED *"Process info"* passe au **vert fixe**
- la LED "WiFi mode*"* passe au **violet.** Si elle reste **verte clignotante,** cela signifie que le transfert a échoué. Dans ce cas, recommencez l'intégralité de la procédure : activez à nouveau l'appairage sur le module récepteur, puis relancez le transfert depuis le module émetteur.

### 2. Appairage via les interfaces Web en local

Cette méthode permet de configurer la connexion Wi-Fi du nouveau module, de transférer les clés de chiffrement et d'intégrer les modules au réseau depuis leurs interfaces Web en local.

#### 2.1. Connecter le module à ajouter au réseau Wi-Fi

##### Se connecter au réseau Wi-Fi temporaire du module

1. Activez le Wi-Fi sur votre smartphone ou sur l’équipement utilisé pour la configuration.
2. Recherchez les réseaux Wi-Fi disponibles.
3. Sélectionnez le réseau temporaire du module à ajouter. Son nom correspond au SSID « Captive Portal », suivi de l’identifiant du module.  
    *Si un message indique que le réseau n’est pas sécurisé ou qu’il ne dispose pas d’une connexion Internet, maintenez la connexion à ce réseau Wi-Fi.*

La page du portail captif s’affiche automatiquement. Son ouverture peut prendre quelques instants.

##### Configurer la connexion Wi-Fi 

1. Sur le portail captif, sélectionnez le réseau Wi-Fi auquel le module doit se connecter  
    *Vérifiez que la qualité du signal est suffisante pour assurer une connexion stable. Le niveau recommandé est d'au moins **25%**.*
2. Saisissez le mot de passe du réseau Wi-Fi puis cliquez sur *« Appliquer »*

Contrôlez ensuite l'état de la LED **Wi-Fi mode** :

- elle passe au rouge lorsque le module se connecte au Wi-Fi
- elle passe ensuite au violet fixe lorsque le tunnel SSH est actif

Si le mot de passe est incorrect ou si le signal Wi-Fi est insuffisant, la LED peut continuer à clignoter en vert et le portail captif peut s'afficher à nouveau. Dans ce cas, vérifiez les paramètres de connexion et recommencez la configuration si nécessaire.

Une fois la connexion établie, ouvrez un navigateur Web et saisissez l'adresse locale du module dans la barre d'adresse : **`2pioXXXX.local`**   
*Remplacez `XXXX` par l’identifiant du module*

#### 2.2. Ouvrir l'appairage sur le module déjà configuré

Depuis l'interface Web du module déjà configuré :

1. Ouvrez le menu *"I/O"*
2. Sélectionnez le mode "*Wireless"*, puis l'onglet "*Clés"*
3. Dans la section "*Clé et appairage sécurisé"*, cliquez sur "*Ouvrir l'appairage"*

L'appairage est alors ouvert sur le module principal

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

#### 2.3. Demander l'intégration du nouveau module

Depuis l'interface Web du module à ajouter :

1. Ouvrez le menu "*I/O"*
2. Sélectionnez le mode "*Wireless",* puis l'onglet *"Clés"*
3. Dans la section "*Clé et appairage sécurisé"*, cliquez sur "*Demander à rejoindre"*

Cette opération permet au nouveau module de demander son intégration au réseau

#### 2.4. Transférer la clé de chiffrement

Revenez sur l'interface Web du module déjà configuré :

1. Dans la section *"Transférer les clés chiffrées"*, cliquez sur *"Transférer les clés"*
2. Vérifiez que le transfert a bien été pris en compte sur le module à ajouter

<span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 1.666em; font-weight: 400;">[![Capture d’écran 2026-07-06 160612.jpg](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/capture-decran-2026-07-06-160612.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-07/capture-decran-2026-07-06-160612.jpg)</span>

<p class="callout warning">le transfert doit être effectué dans **les deux minutes suivant l'ouverture de l'appairage** sur le module principal. Si le délai expire, relancez la procédure d'appairage</p>

Si l'interface signale que la clé est manquante, cliquez sur *« Actualiser l'état »*. Si nécessaire, vérifiez la disponibilité des clés dans **Paramètres &gt; Sécurité &gt; Clés** avant d'envisager leur régénération.

#### 2.5. Détecter et importer les modules

Une fois les clés transférées, les modules doivent être détectés et importés dans la configuration du réseau.

Depuis l'interface Web :

1. Ouvrez le menu *"I/O", s*électionnez le mode *"Distant"*
2. Cliquez sur *"Scanner mDNS"* pour lancer la détection des modules présents sur le réseau
3. Dans la liste des appareils détectés, repérez le module à ajouter, cochez-le puis cliquez sur *"Importer la sélection"*
4. Cliquez sur *"Sauvegarder"* pour enregistrer la configuration

### 3. Finaliser l'intégration au réseau

Toute modification de la composition du réseau de modules — ajout, suppression ou remplacement — nécessite un redémarrage pour appliquer la nouvelle configuration.

Après avoir enregistré les modifications :

1. Cliquez sur le bouton *"Redémarrer"* dans la barre de navigation
2. Attendez que le module redémarre et vérifiez l'état des voyants
3. Vérifiez que les modules communiquent correctement au sein du réseau

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

Une fois les modules appairés et le réseau de communication établi, il est nécessaire de définir le rôle de chaque module.  
Consultez le chapitre [définir le rôle d'un module](https://modlink.fr/help/link/263#bkmrk-page-title) pour poursuivre

<p class="callout success">Toute modification de la composition du réseau de modules (ajout, suppression ou remplacement) nécessite un redémarrage afin d'appliquer la nouvelle configuration</p>

# Remplacer un module défaillant

Dans une installation comportant plusieurs modules, il est possible de remplacer un module défaillant sans avoir à reconfigurer l'ensemble du réseau.

Pour cela, attribuez au nouveau module **le nom et le numéro de série du module défaillant**, puis restaurez sa configuration à partir d’une sauvegarde. Les autres modules pourront ainsi retrouver automatiquement le module de remplacement et poursuivre leurs échanges sans modification supplémentaire du réseau.

## 1. Renommer le module de remplacement

Dans l’interface Web du nouveau module, accédez à **Paramètres &gt; Informations &gt; Identité**, puis cliquez sur "*Changer de nom"*, à côté du champ *Nom de l’appareil*.

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

Reportez les informations du module défaillant :

- **Nouveau nom** : saisissez le nom de l’ancien module
- **Numéro de série** : saisissez le numéro de série de l’ancien module. Celui-ci figure sur l’étiquette d’identification située sous le capot du module
- Confirmez la demande de remplacement

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

<p class="callout info">Le **numéro de série** du module s'affiche dans l’interface Web, sous Paramètres &gt; Informations &gt; Identité &gt; Résumé système, il figure également sur l'étiquette d'identification située sous le capot amovible</p>

### 2- Restaurer la configuration de l'ancien module

Pour restaurer la configuration du module défaillant :

1. Accédez à **Paramètres &gt; Informations &gt; Maintenance**.
2. Dans la section *Sauvegardes*, cliquez sur **Restaurer** pour restaurer la dernière sauvegarde  
    une sauvegarde du module défaillant.

Les cinq dernières sauvegardes sont conservées. Vous pouvez donc choisir une sauvegarde antérieure si nécessaire.

Une fois le remplacement effectué et la configuration restaurée, le nouveau module reprend le fonctionnement de l’ancien, sans qu’il soit nécessaire de reconfigurer les autres modules du réseau ni les scénarios enregistrés dans la sauvegarde.

**Remarque :** si le module défaillant est réparé puis remis en service, il ne retrouvera pas son nom initial. Au démarrage, il prendra automatiquement le nom attribué au module de remplacement.

- Accédez au menu "*Paramètres"*
- Sélectionnez l'onglet "*Informations"*, puis cliquez sur "*Maintenance"*
- Dans la section *Sauvegardes,* cliquez sur le bouton *Restaurer* afin de restaurer la dernière sauvegarde disponible.  
    *Les cinq dernières sauvegardes restent toutefois disponibles et peuvent être restaurées si nécessaire*

<p class="callout success">Une fois le changement de nom effectué et la configuration restaurée, le nouveau module remplacera automatiquement le module défaillant et pourra être utilisé sans nécessiter de reconfiguration du réseau ni des scénarios</p>

<p class="callout info">Si le module défaillant est réparé puis remis en service, il ne reprendra pas son nom d'origine.   
Au démarrage, **il prendra automatiquement le nom du module de remplacement**</p>

# Protocoles de communication et interopérabilité

Le module 2PIO permet d’échanger des données avec des systèmes externes à l’aide de différents protocoles et services de communication, notamment **Modbus TCP, Home Assistant, OPC UA et HTTP**.

Ces interfaces permettent notamment de transmettre les données du module à des systèmes tiers, de les exploiter dans des applications de supervision ou de domotique et, selon les fonctionnalités disponibles, de déclencher des actions à distance.


<details id="bkmrk-pr%C3%A9requis-avant-de-c"><summary>Prérequis</summary>

Avant de configurer une intégration, **exposez les variables qui doivent être utilisées par les systèmes tiers**.

Les variables non exposées restent internes au module et ne sont pas accessibles aux services tiers concernés. L’exposition doit être configurée en fonction du protocole ou du service utilisé.  
[Exposer les variables](https://modlink.fr/help/link/291#bkmrk-page-title)

</details>### 1- Intégration ModBus TCP

Modbus est un protocole de communication industriel ouvert, largement utilisé pour l’échange de données entre des équipements d’automatisation : automates, contrôleurs, capteurs, compteurs et systèmes de supervision.

#### 1.1. Activation de l’accès Modbus distant

Pour autoriser les échanges Modbus à distance :

1. Ouvrez le menu *« Paramètres »*
2. Sélectionnez l’onglet *« Connectivité »*, puis cliquez sur *« Configurer »*
3. Dans la fenêtre qui s’affiche, repérez la section *« Commande Modbus »*
4. Activez l’option *« Modbus distant »*

Une fois cette option activée, les échanges Modbus à distance sont autorisés sur le module.

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

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

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

<p class="callout warning">Seules les variables préalablement exposées à Modbus sont accessibles via ce protocole</p>

### 2- Intégration avec Home Assistant

Home Assistant est une plateforme open source de domotique permettant de centraliser et d’automatiser la gestion de nombreux équipements connectés au sein d’une interface unique.

L’intégration du module 2PIO permet de consulter ses états, d’exploiter ses mesures et de commander ses sorties depuis Home Assistant. Les variables exposées peuvent être utilisées dans les tableaux de bord et les automatisations de la plateforme.

<details id="bkmrk-pr%C3%A9requis-l%E2%80%99int%C3%A9grat"><summary>Prérequis</summary>

L’intégration du 2PIO dans Home Assistant nécessite une **installation fonctionnelle de** **Home Assistant** **sur un ordinateur** ainsi que l**’installation de l’intégration Alcante via HACS** (*Home Assistant Community Store*).

</details>#### 2.1. Configuration du module 2PIO

1. Ouvrez le menu *« Paramètres »*
2. Sélectionnez l’onglet *« Connectivité »*
3. Choisissez *« Home Assistant »*
4. Cliquez sur *« Configurer »*

*Une fenêtre d'appairage s'ouvre alors avec un code de validation*

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

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

#### 2.2- Ajout du module 2PIO dans Home assistant

Dans Home Assistant :

1. Ouvrez *« Paramètres »*, puis *« Appareils et services »*
2. Ajoutez l’intégration *Alcante*
3. Suivez la procédure de **découverte automatique** ou de **configuration manuelle** pour ajouter le module

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

##### Découverte automatique

1. Home Assistant recherche automatiquement les modules disponibles sur le réseau local
2. Sélectionnez le ou les modules à ajouter
3. Consultez l’interface d’administration du module pour récupérer le code de validation à 6 chiffres
4. Saisissez ce code dans la fenêtre de configuration de Home Assistant pour confirmer l’intégration

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

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

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

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

Une fois la validation effectuée, le module est ajouté à Home Assistant. Les variables exposées deviennent disponibles pour la consultation, le pilotage et les automatisations, selon leur configuration.

##### Configuration manuelle

Si le module n’est pas détecté automatiquement, vous pouvez procéder à une configuration manuelle.

Lors de l’ajout de l’intégration, **renseignez la clé** ou les **informations d’authentification** demandées par l’interface, puis validez la configuration.

Une fois la connexion établie, Home Assistant ajoute le module à l’intégration.

La **fréquence de rafraîchissement**, configurable en secondes, détermine l’intervalle entre deux mises à jour des variables transmises à Home Assistant. Adaptez cette valeur aux besoins de l’installation.

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



### 4- Intégration HTTP

Le module 2PIO permet d’envoyer des requêtes HTTP à des systèmes tiers à l’aide de **variables d’action HTTP**. Ces variables permettent de déclencher une requête lorsqu’une valeur leur est affectée depuis un scénario, un widget ou une planification.

Les méthodes disponibles sont **GET, POST et PUT**. La requête est envoyée à l’URL configurée et peut inclure des paramètres supplémentaires ainsi qu’un mécanisme d’authentification, selon les possibilités proposées.

#### 4.1. Configuration des variables d’action HTTP

Pour créer et configurer une variable d’action HTTP :

1. Ouvrez le menu *« Paramètres »* du module
2. Sélectionnez l’onglet *« Connectivité »*
3. Dans la section *« Variables action HTTP »*, cliquez sur *« Configurer »*
4. Cliquez sur *« Nouvelle variable »*

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

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

Renseignez ensuite les paramètres de la variable :

- **Nom de la variable** : indiquez un nom permettant d’identifier l’action HTTP
- **Méthode** : sélectionnez la méthode HTTP à utiliser : GET, POST ou PUT
- **URL** : renseignez l’adresse du système tiers à interroger. Le champ accepte le paramètre `{value}`, qui sera remplacé par la valeur affectée à la variable
- **Paramètres ajoutés à toutes les requêtes** *(facultatif)* : indiquez les paramètres supplémentaires à ajouter aux requêtes, par exemple un jeton d’authentification si le système distant le prévoit
- **Valeurs faciles** *(facultatif)* : définissez des valeurs prédéfinies permettant d’associer des valeurs écrites à des fragments ajoutés à la requête
- **Authentification** : sélectionnez le type d’authentification requis par le système tiers et renseignez les informations demandées
- **TLS (HTTPS)** : configurez les paramètres de sécurisation de la connexion lorsque le système tiers utilise HTTPS

Enregistrez la configuration de la variable.

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

#### 4.2. Utilisation dans un scénario

Une fois créée, la variable d’action HTTP peut être utilisée dans un scénario, un widget ou une planification.

Lorsqu’une valeur lui est affectée, le 2PIO envoie automatiquement la requête HTTP configurée au système tiers. La valeur affectée à la variable est transmise dans la requête, notamment à l’emplacement du paramètre `{value}` dans l’URL.

La réponse du système tiers n’est pas exploitée par le 2PIO : la lecture de la variable renvoie la dernière valeur qui lui a été affectée.

Cette fonction permet notamment de déclencher une action sur un système externe à partir d’un scénario du 2PIO, sans nécessiter de connexion matérielle directe entre les équipements.


### 5- Intégration OPC UA

OPC UA (*Open Platform Communications Unified Architecture*) est un standard de communication permettant l’échange sécurisé de données entre différents équipements et logiciels industriels.

Dans le domaine de la GTB/GTC, il facilite l’interconnexion entre les équipements techniques, les systèmes de contrôle et les logiciels de supervision.

L’intégration OPC UA permet de mettre à disposition des systèmes compatibles les variables, les états et les mesures du module pour leur exploitation, notamment en supervision. Les possibilités de pilotage dépendent des fonctions prises en charge et des droits configurés.

#### 5.1- Activation du serveur OPC UA

1. Ouvrez le menu *"Paramètres"*
2. Sélectionnez l'onglet *"Connectivité"*
3. Dans la section *"OPC UA"*, cliquez sur le bouton "*Configurer"*
4. Dans la fenêtre qui s’ouvre, activez l’option *« Serveur »*

Les indicateurs **« Activé »** et **« Actif »** s’affichent alors pour confirmer que le serveur est activé et opérationnel.

<p class="callout success">Seules les **variables exposées à OPC UA** sont accessibles depuis les systèmes externes</p>

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

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

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

#### 5.2- Utilisation du tunnel SSH

Le tunnel SSH est partagé entre l’accès distant au 2PIO et l’accès distant à OPC UA. Il ne peut être affecté qu’à **une seule de ces fonctionnalités à la fois**.

Lorsque le tunnel SSH est affecté à l’accès OPC UA distant, l’accès distant à l’interface Web du 2PIO est désactivé. Le module reste alors accessible via son interface Web uniquement depuis le réseau local.

# Variables

<span>Les variables permettent aux scénarios, aux widgets et aux systèmes externes d'interagir avec le module. Elles se répartissent en deux catégories : les </span>**variables d'état**<span>, qui reflètent l'état d'un équipement ou d'une fonction, et les </span>**variables d'action**, qui permettent de commander ou de modifier cet état.  
Une utilisation appropriée de ces variables facilite la création de scénarios, le pilotage de l'installation et son intégration avec des systèmes tiers.

# Gestion des variables

<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 (températures, états des relais, consignes, compteurs ...)</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.

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>

<p class="callout info"><span style="color: rgb(35, 111, 161);">Les variables peuvent être :  
- **préconfigurées** et disponibles immédiatement sur un module  
- créées par l'utilisateur selon les besoins du scénario   
- utilisées localement, **partagées entre les modules d'un réseau** ou **exposées vers les systèmes tiers**</span></p>

</details><p class="callout success"><span style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Bonnes pratiques</span> :  
*une variable bien définie et correctement documentée sera plus facile à comprendre, à configurer et à utiliser*  
</span>**<span style="color: rgb(0, 0, 0);">  
</span>**- **Définir le besoin** : déterminer précisément ce que la variable doit mesurer, représenter ou contrôler dans le scénario  
- **Vérifier les variables préconfigurées** : identifier celles qui sont déjà disponibles afin d’éviter de créer des doublons  
- **Choisir un nom explicite** : utiliser une appellation qui reflète clairement la fonction de la variable et facilite son identification dans les scénarios  
- **Vérifier le type de variable** : s’assurer qu’il est compatible avec les actions et les scénarios prévus (numérique, booléen, texte, etc.)  
- **Définir une valeur initiale** : attribuer une valeur à la variable avant de l’utiliser  
- **Préciser son rôle** : renseigner un commentaire décrivant sa fonction afin de faciliter la compréhension et la maintenance de la configuration  
</p>

### 1- Afficher les variables

Pour afficher les variables d'un module :

- allez dans le menu "*I/O*"
- puis sélectionner le mode "*Local*"

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

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

### 2- 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 « *I/O* »
- Cliquer sur le bouton "*<span style="background-color: rgb(53, 152, 219);">+Ajouter</span>*"

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

- Compléter les informations pour la création de la nouvelle variable

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

<p class="callout info">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. </p>

#### 2.1- Paramétrer une variable

- Sélectionner la variable que vous souhaitez configurer et cliquer sur *l’icône pinceau.*

[![Capture d’écran 2026-11-03 174632.jpg](https://modlink.fr/help/uploads/images/gallery/2026-11/scaled-1680-/0grcapture-decran-2026-11-03-174632.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-11/0grcapture-decran-2026-11-03-174632.jpg)

- Renseignez ensuite les informations de la variable dans la fenêtre qui s'ouvre

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

- **le nom**  
    il est recommandé d'utiliser un nom explicite afin d’identifier clairement la variable dans les scénarios et la supervision

<p class="callout warning">Choisissez soigneusement le nom des variables lors de leur création.   
Si une variable est renommée par la suite, **son nouveau nom ne sera pas automatiquement mis à jour dans les scénarios et les widgets qui l'utilisent** et il faudra nécessairement la remplacer manuellement</p>

- **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
- **un commentaire, descriptif personnalisé** 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
- les **options d'exposition et de diffusion** sur le réseau  
    Permettent de définir la visibilité des variables sur d'autres interfaces, avec d'autres protocoles  
    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  
    - **Wireless***  
    Autorise l’échange direct avec les modules 2PIO 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>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*

Appuyer sur le bouton "<span style="background-color: rgb(53, 152, 219); color: rgb(0, 0, 0);">Sauvegarder</span>" pour enregistrer les modifications

#### 2.2- Configurer les valeurs d'une variable


<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">
[![Capture d’écran 2026-07-24 154404.jpg](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/capture-decran-2026-07-24-154404.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-07/capture-decran-2026-07-24-154404.jpg)

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><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"></section>
<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--2"></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--8"></section>### 3- Supprimer une variable

[![Capture d’écran 2026-07-24 154404.jpg](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/hL4capture-decran-2026-07-24-154404.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-07/hL4capture-decran-2026-07-24-154404.jpg)

<div class="TyagGW_tableContainer" id="bkmrk--10"></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-utiliser-le-bouton-r">Utiliser le bouton rouge (corbeille) 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>

# Variables préconfigurées

2PIO 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 "*I/O"*, 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)**

# Partager et exposer les variables

### 1- Réseau de modules

Le partage de variables permet aux modules 2PIO d’un même réseau ModLink **d’échanger des informations et de coordonner leurs automatismes**, sans câblage supplémentaire entre les équipements concernés.

<details id="bkmrk-pr%C3%A9requis-le-r%C3%A9seau-"><summary>Prérequis</summary>

Le **réseau de modules** doit avoir été créé au préalable. Les modules concernés doivent être appairés, partager la même clé de chiffrement et être configurés pour se connecter au même réseau Wi-Fi.  
Pour plus d'information [Appairer et créer un réseau de modules ](https://modlink.fr/help/link/184#bkmrk-page-title)

</details>Pour **partager les variables d'un module** avec les autres modules du réseau :

- <span style="color: rgb(68, 68, 68);">Dans le menu "I/O", sélectionner le mode "*Distant*" </span>
- <span style="color: rgb(68, 68, 68);">Cliquer sur "*ajouter*"</span>

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

<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 *"ajouter l'appareil"* 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)

#### Configuration de l'exposition d'une variable

- Ouvrez le menu "*I/O"*
- Sélectionnez la variable à partager
- Cliquez sur l'icône "*Modifier"* (pinceau) pour accéder à sa configuration
- Cochez les options d'exposition souhaitées : 
    - exposition Modbus
    - exposition OPC UA
    - exposition Home Assistant
- Enregistrez la configuration

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

- La variable devient alors accessible via les protocoles et services sélectionnés.   
    Pour plus d'information, vous pouvez consulter [Configurer une variable](https://modlink.fr/help/link/221#bkmrk-2--personnaliser-une)

### 2- API publique des variables

L’API publique des variables permet à un système tiers de lire ou d’écrire certaines variables d'un module.

#### 2.1- Le principe en trois étapes

1. **Autoriser la variable** coche l’exposition *« Non sécurisé »* pour la variable concernée. Voir [Options d'exposition des variables](https://modlink.fr/help/link/289#bkmrk-personnalisation-d%E2%80%99u)
2. **Récupérer le lien** L’interface génère un lien de lecture ou d’écriture. Ce lien contient déjà la clé externe de la carte, lorsque le compte connecté est autorisé à la consulter.
3. **Appeler le lien depuis le système externe** Une requête HTTP `GET` suffit. Aucun compte utilisateur ni mot de passe n’est nécessaire : la clé contenue dans le lien sert d’autorisation.

```
GET https://<appareil>/api/public/variable?scenario_id=<scénario>&variable_name=<variable>&key=<clé_externe>
```

#### 2.2- Ce que l’utilisateur contrôle

- **Les variables accessibles :** seules celles qui sont marquées « Non sécurisé »
- **Les personnes ou systèmes autorisés :** seuls ceux qui disposent de la clé externe
- **La durée d’accès :** la régénération de la clé externe révoque immédiatement tous les liens déjà communiqués

#### 2.3- Ce que l’API publique ne permet pas

- Elle ne donne pas accès aux variables qui n’ont pas été autorisées. La carte répond alors avec le code HTTP `403`.
- Elle ne permet pas de modifier la configuration, les scénarios, le réseau ou les utilisateurs de la carte.
- Une variable en lecture seule ne peut pas être écrite, même si elle est exposée.
- Une variable dont la valeur provient d’une autre carte ne peut pas être écrite depuis la carte qui la reçoit. L’écriture doit être effectuée sur la carte qui possède cette variable.

#### 2.4- Quelle API utiliser selon le besoin ?

<div id="bkmrk-usage-route-authenti"><div><div><table><thead><tr><th>Usage</th><th>Route</th><th>Authentification</th></tr></thead><tbody><tr><td>Systèmes externes (présente documentation)</td><td>`/api/public/variable`</td><td>Clé externe</td></tr><tr><td>Home Assistant (appairage intégré)</td><td>`/api/ha/*`</td><td>Clé externe</td></tr><tr><td>Communication entre cartes 2PIO</td><td>`/api/v2/*`, `/subscribe/*`</td><td>Réservée aux cartes ; la clé externe est refusée</td></tr><tr><td>Interface Web de la carte</td><td>Toutes les autres routes</td><td>Session utilisateur</td></tr></tbody></table>

</div></div></div>Seules les routes publiques et celles de Home Assistant sont destinées aux systèmes externes. Les autres routes sont internes et peuvent évoluer sans préavis.

#### 2.5- Format de l’API

L’API publique est volontairement simple : les échanges utilisent des requêtes HTTP `GET` avec des paramètres dans l’URL, y compris pour l’écriture. Il est ainsi possible d’utiliser directement un lien dans un navigateur, un raccourci ou un bouton d’automatisation.

# Scénarios d'automatisation

Le **serveur Web intégré**<span> permet de créer des scénario personnalisés ; aucun logiciel supplémentaire n'est nécessaire.</span>  
Créez facilement des tâches basées sur le temps, l’état des entrées et des sorties ...  
<span>Utilisez un </span>**ordinateur**<span> pour l'édition, la modification et la création de scénarios de fonctionnement. (L'édition sur Smartphone peut entraîner des problèmes d'affichage ou une visibilité limitée des paramètres avancés).</span>

# Gestion des scénarios

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

Les scénarios sont représentés graphiquement 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.

Les scénarios chargés sur le module sont accessibles depuis le menu *« Scénarios ».* Ils apparaissent dans le bandeau latéral situé à gauche de l'écran.

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 info">Chaque module peut contenir un maximum de **3 scénarios**  
Seuls les scénarios **chargés sur le module** sont affichés dans l'interface d'administration</p>

Depuis le menu "Scénario" il est possible de :

- **éditer** un scénario - la mention *« Scénario ouvert »* s'affiche alors
- **activer ou désactiver** un scénario
- **supprimer** un scénario
- **modifier les informations** d'un scénario (nom, description, etc.) à l'aide du bouton *« Modifier »*
- **exporter** un scénario vers un ordinateur local ou un emplacement distant
- **importer** un scénario modèle depuis le serveur distant

Pour quitter le mode édition sans enregistrer les modifications effectuées, cliquez sur *« <span style="background-color: rgb(224, 62, 45);">Abandonner</span> ».*   
Pour conserver les modifications apportées au scénario, cliquez sur *« <span style="background-color: rgb(53, 152, 219);">Sauvegarder</span> ».*

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

# 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- scénario préconfiguré 1  
<span style="background-color: rgb(249, 239, 121);">Télérupteur avec ou sans temporisation</span>

<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>### 2- Scénario préconfiguré 2

### 3- Utiliser, désactiver ou supprimer un scénario préconfiguré

Si le fonctionnement du scénario préconfiguré correspond aux besoins de votre installation, vous pouvez l'utiliser tel quel sans aucune configuration supplémentaire.

- Le scénario est activé et prêt à l’emploi
- Les variables et widgets sont déjà créés  
    *<span lang="EN-US" style="mso-ansi-language: EN-US;">→ </span>Idéal pour se familiariser avec l'univers 2PIO*

 S'il ne correspond pas à vos besoins, vous pouvez soit le "désactiver", soit le "<span style="background-color: rgb(224, 62, 45);">supprimer</span>" dans le bandeau situé à gauche de l'écran.

### 4- Modifier un scénario préconfiguré

- 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

voir [Créer un scénario personnalisé](https://modlink.fr/help/link/213#bkmrk-page-title)

<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>

# Utiliser les blocs de fonction

Dans le menu “Scénario”, les blocs de fonctions apparaissent dans le bandeau latéral à gauche de l'écran, à la suite des scénarios chargés sur le module.   
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.

<p class="callout info">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**.</p>

### 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 avec temporisation

Ce bloc permet de commander une sortie pendant une durée déterminée.  
Lorsque le bloc est exécuté, la sortie passe à l'état **ON** et la temporisation démarre. À l'expiration du délai configuré, la sortie repasse automatiquement à l'état **OFF**.  
Chaque nouvelle exécution de ce bloc relance intégralement la temporisation ; le décompte repart alors de zéro pour la durée configurée et la sortie reste à l'état **ON** tant que le bloc est réactivé avant l'expiration du délai.

Ce bloc est particulièrement adapté aux commandes temporisées, telles que l'allumage d'un éclairage pendant une durée définie, l'activation momentanée d'un relais, l'ouverture d'une gâche électrique ou toute autre commande nécessitant un arrêt automatique après un délai.

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

- lumière s'allume pendant 2 minutes
- 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- Additionner deux variables

Ce bloc permet **d’additionner deux variables et de stocker le résultat** dans l'une d'elles.

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

- Variable "source"
- Variable "cible"
- Le résultat viendra s'additionner dans la variable "cible"

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

- Calcul de totaux (ex : consommation cumulée)

<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>### 7- 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.

##### 7.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

##### 7.2- Variable timer

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

<p class="callout warning">une fois que la commande est lancée dans un scénario, il n'est pas possible de l'annuler ni de la redémarrer</p>

<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

##### 7.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

##### 7.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

##### 7.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>### 8- 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.

##### 8.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

##### 8.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

##### 8.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

<span style="color: rgb(34, 34, 34); font-family: 'Noto Sans', sans-serif; font-size: 1.4em; font-weight: 400;">8.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

##### 8.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

##### 8.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>[![image.png](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/image.png)](https://modlink.fr/help/uploads/images/gallery/2026-06/image.png)

# Timers

Les Timers ou temporisations permettent de gérer le temps dans les scénarios.  
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.

### 1- Blocs "Timers" disponibles

#### 1.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.

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

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

#### 1.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.

#### 1.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.

*Par exemple :*

- Autoriser une action uniquement entre 08h00 et 18h00
- Maintenir une sortie active pendant 10 minutes
- Déclencher une action après un délai de 30 secondes
- Vérifier qu'une condition est remplie pendant une certaine durée

<p class="callout info">**Les timers** permettent de gérer les temporisations **à l'intérieur d'un scénario**.  
Ils interviennent dans la logique d'exécution en introduisant des délais, des temporisations ou des actions différées entre les différentes étapes du scénario</p>

<p class="callout warning">**La planification**, permet de définir **quand un scénario doit être exécuté**.   
Elle sert à programmer le lancement automatique d'un scénario selon un calendrier (heure, jour, date, etc ...)</p>

### 2- Configurer un "Timer" dans un scénario

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.

Pour chaque timer disponible, <span style="text-decoration: underline;">trois éléments doivent être configurés</span> :

#### 2.1-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

#### 2.2- Intervalle

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

- Unité : secondes
- Le timer se déclenche à chaque intervalle écoulé

**Exemples :**

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

#### 2.3- É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

> **Contrairement aux planifications, qui déterminent les dates et heures d'exécution d'un scénario, les Timers sont utilisés au sein même des scénarios pour gérer des plages horaires, des délais ou des temporisations. Ils permettent d'ajouter une logique temporelle sans avoir à créer de planification dédiée**

## 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">Bonnes pratiques :  
- 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>

# Scénarios modèles

Contrairement aux scénarios préconfigurés qui sont installés par défaut sur le module et peuvent être utilisés immédiatement, les **scénarios modèles** doivent être téléchargés depuis le serveur distant.  
Une fois importé sur le module, un scénario modèle peut être utilisé tel quel ou bien modifié afin de répondre aux besoins spécifiques de l'installation.

Les scénarios modèles couvrent les **cas d'usage les plus courants** et constituent une solution rapide pour tester les entrées/sorties (I/O), les relais ou certaines fonctions du système.   
Ils intègrent déjà les variables, les widgets et la logique de fonctionnement nécessaires, ce qui permet une **mise en œuvre rapide** sans avoir à créer un scénario à partir de zéro.  
Ils représentent également un excellent support d'apprentissage pour découvrir l'environnement 2PIO, comprendre la structure d'un scénario et se familiariser avec les différents blocs de fonction disponibles.

<p class="callout info"><span style="text-decoration: underline;">Objectif des scénarios modèles</span> :  
- 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</p>

## 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- Scénario variables

<p class="callout success">**Usage :** - ???</p>

### 1.2- Scénario ouvrant

<p class="callout success">**Usage :** - ???</p>

### 1.3- Scénario Test

<p class="callout success">**Usage :** - ???</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 type d'import  
    Choisissez import local ou import distant
4. Sélectionner le scénario à importer dans la liste des scénarios modèles disponibles
5. Choisir la destination
    
    
    - **Remplacer** : remplace un scénario existant du module
    - **Créer** : génère un nouveau scénario sans affecter les existants
6. 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.

<p class="callout info">**Avantages d'un scénario modèle :** - Mise en place immédiate  
- Logique déjà validée  
- Réduction du risque d’erreur</p>

### [3- Modifier un scénario modèle](https://modlink.fr/help/books/2-pio/page/scenarios-modeles "Scénarios modèles")

- 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)

Voir [Créer un scénario personnalisé](https://modlink.fr/help/link/213#bkmrk-page-title)

# Créer un scénario personnalisé

<p class="callout info"><span role="text">Pour créer ou modifier un scénario, 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

Les scénarios personnalisés permettent d'adapter le fonctionnement du module à des besoins spécifiques qui ne sont pas couverts par les scénarios préconfigurés ou les scénarios modèles.   
Ils offrent une grande souplesse pour automatiser des actions en fonction d'événements, de mesures, d'états ou de conditions définies par l'utilisateur.

<p class="callout warning">Avant de commencer un scénario, assurez-vous que :  
- vous disposez des **droits d'accès** nécessaires  
- les **entrées et sorties** sont correctement configurées dans la section « I/O »  
- les **variables associées** sont bien définies</p>

<section class="docs-section svelte-oa2hur" id="bkmrk-1.-pr%C3%A9parer-un-sc%C3%A9na">### 2- Préparer le scénario

Pour créer un scénario personnalisé, il n'est pas nécessaire de partir de zéro. Un scénario préconfiguré ou un scénario modèle peut servir de base de travail. Il suffit alors de modifier les paramètres, les conditions ou les actions existantes afin d'adapter le fonctionnement aux besoins spécifiques de l'installation.   
Cette méthode facilite la prise en main et accélère la création de nouveaux scénarios.

#### 2.1- Modifier un scénario préconfiguré

- Depuis l'accueil, "éditez" un scénario préconfiguré ; cliquer sur "modifier" pour personnaliser les informations du nouveau scénario et "sauvegardez" vos modifications
- Enregistrez et activez le nouveau scénario personnalisé

#### 2.2- Importer et modifier un scénario modèle

Vous pouvez aussi "importez un scénario" depuis une bibliothèque de scénarios modèles sur le serveur distant de 2PIO ou bien en local depuis l'ordinateur utilisé.  
 Il faudra adapter et personnaliser les paramètres du scénario modèle à la configuration de l'installation.

- Cliquez sur "import distant" puis choisissez le scénario modèle que vous souhaitez importer
- Cliquer sur "créer un nouveau scénario"

#### 2.3- Construire un nouveau scénario

créer un scénario de toutes pièces pour répondre à un besoin spécifique.

- Depuis le bandeau de gauche, cliquez sur "*nouveau scénario*" puis sur "*éditer*" pour commencer
- ajoutez des blocs de fonction
- configurez les paramètres des blocs
- créez et utilisez les variables
- vérifiez et activez le scénario


</section><section class="docs-section svelte-oa2hur" id="bkmrk-2.-construire-le-flu">##### 2.3.1- Construire le flux

Créez la logique de votre scénario en utilisant les blocs de fonction disponibles dans la barre latérale.  
Repérez les blocs qui correspondent aux actions que vous voulez effectuer :

- **Glissez-déposez** les blocs pour construire votre logique  
    *Utilisez des **blocs de test** pour créer des conditions et des embranchements clairs*
- **Reliez** tous les blocs entre eux via les points de connexion (ronds rouges)
- Ajoutez des **commentaires** dans les champs prévus afin de faciliter la maintenance et la compréhension du scénario
- Vérifiez que la logique est cohérente et complète

<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>

</section><span style="text-decoration: underline;"><span role="text" style="background-color: rgb(241, 196, 15);">Insérer un bloc "Test d’entrée"</span></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 style="text-decoration: underline;"><span role="text" style="background-color: rgb(241, 196, 15);">Ajouter un bloc de condition "Test variables"</span></span>

Les blocs de "tests" permettent de vérifier des états et de contrôler la logique du scénario avant d’exécuter une action. Ils peuvent porter sur :

- les variables locales,
- les variables distantes d'autres modules,
- l'état des entrées
- l'état des sorties

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

💡 Astuce : Les blocs de tests peuvent avoir plusieurs sorties pour gérer différents chemins selon le résultat du test.

<span style="text-decoration: underline;"><span role="text" style="background-color: rgb(241, 196, 15);">Ajouter un bloc de sortie "Contact sortie"</span></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)

💡 Astuce : Plusieurs blocs de sortie peuvent être utilisés pour des actions différentes selon les conditions

<span style="text-decoration: underline;"><span role="text" style="background-color: rgb(241, 196, 15);">Ajouter des blocs d’action sur les variables</span></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

<span style="text-decoration: underline;"><span role="text" style="background-color: rgb(241, 196, 15);">Ajouter des blocs de régulation du chauffage</span></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


<span style="text-decoration: underline;"><span role="text" style="background-color: rgb(241, 196, 15);">Ajouter des sauts</span></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

##### 2.3.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.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.3.4- Effectuer les connexions

<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>

- 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, les paramètres et les liaisons (assurez-vous que le flux respecte la séquence souhaitée et que tous les blocs nécessaires sont connectés)  
    - Vérifier que le scénario forme une boucle complète

##### 2.3.5- Tester le scénario

Sauvegardez votre scénario et redémarrez le module pour synchroniser les scénarios et appliquer les modifications.  
Testez le comportement du scénario via les widgets ou les entrées physiques reliées

<section class="docs-section svelte-oa2hur" id="bkmrk-1.-pr%C3%A9parer-un-sc%C3%A9na-2"></section><section class="docs-section svelte-oa2hur" id="bkmrk-2.-construire-le-flu-2"><p class="callout info">**Un **redémarrage**** du module est nécessaire pour appliquer un nouveau scénario</p>

</section>
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


[![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)

# Scénarios modèles*** (vérif si utilisé)

<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>

## 1. Scénarios modèles disponibles

Les scénarios modèles 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>

# Widgets

# Widgets d'exploitation

Les widgets sont des éléments de l’interface Web du module 2PIO qui permettent aux opérateurs et aux utilisateurs finaux de **piloter les équipements et de visualiser leur état**, directement depuis le tableau de bord.

Associés aux variables du module, ils permettent d’**envoyer des commandes, de consulter des états ou d’afficher des mesures,** sans avoir à accéder directement aux variables ou aux scénarios.

### 1 – Types de widgets

Différents widgets sont disponibles selon les besoins de l’installation :

- **Interrupteur** : commande marche/arrêt d’un équipement
- **Switch à glissière** : sélection entre plusieurs états ou modes de fonctionnement
- **Variateur** : réglage d’une valeur sur une plage définie
- **Variateur d’ouvrant** : commande de la position d’un ouvrant (volet, brise-soleil orientable…)
- **Capteur** : affichage d’une mesure ou d’une valeur
- **Voyant d’état** : visualisation de l’état d’une variable (marche/arrêt, défaut, alarme…)
- **Régulation** : pilotage d’un équipement à partir d’une consigne et d’une mesure

Les widgets disponibles permettent ainsi de créer une interface adaptée aux besoins de pilotage et de consultation de l’installation.

### 2 – Liaison avec les variables

Chaque widget est associé à une ou plusieurs variables du module, en local ou à distance. Selon son type et les variables utilisées, il permet de consulter une information, de transmettre une commande ou d’assurer ces deux fonctions.

### 3- Accès direct aux widgets en mode application sur smartphone

L’interface Web du module 2PIO peut être utilisée en mode application sur smartphone. Une icône placée sur l’écran d’accueil permet d’accéder rapidement à la page Widgets, sans avoir à ouvrir le navigateur et à saisir l’adresse du module.

L’utilisateur peut sélectionner l’option *« Rester connecté »* pour conserver sa session et accéder plus rapidement aux widgets lors des utilisations suivantes.

Pour découvrir les étapes d’installation et d’utilisation, consultez la page :[ accès en mode application sur smartphone](https://modlink.fr/help/link/211#bkmrk-3--acc%C3%A8s-en-mode-app)

# Gestion des widgets

Les widgets sont administrés depuis la page d'accueil du tableau de bord en cliquant le bouton **Gérer les widgets**, ou directement depuis le menu *"Widgets".*   
Ce gestionnaire permet d'ajouter, de modifier, de réorganiser et de supprimer les widgets.

### 1- Créer un widget

<p class="callout warning">La création de widgets est réservée aux utilisateurs disposant des droits appropriés</p>

1. 1. Apuyez sur <span style="background-color: rgb(53, 152, 219); color: rgb(0, 0, 0);">+ Ajouter un widget</span>
    2. Une nouvelle fenêtre s'ouvre, configurez les paramètres du widget :
        
        
        - **Nom** du widget ;
        - **Variable d'entrée** associée ;
        - **Scénario** à associer (si applicable) ;
        - **Type de widget**.
        
        Les autres champs sont facultatifs et permettent de personnaliser l'affichage du widget, notamment :
        
        
        - son **emplacement** ;
        - son **icône** ;
        - l'**unité** de la valeur affichée

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

Le nouveau 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  
- Consultez régulièrement les widgets d'état pour contrôler le bon fonctionnement du système et détecter rapidement toute anomalie </p>

#### 1.1- Modifier ou supprimer un widget

Une fois le widget créé, vous pouvez à tout moment le modifier ou le supprimer

- - Pour **modifier** un widget, cliquez sur l'icône **Modifier**, apportez les modifications souhaitées, puis enregistrez-les
- [![Capture d’écran 2026-07-30 142750.jpg](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/capture-decran-2026-07-30-142750.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-07/capture-decran-2026-07-30-142750.jpg)
    - Si vous n'avez plus besoin d'un widget, cliquez sur l'icône **Supprimer**, puis confirmez l'opération  
        Le widget est alors retiré du gestionnaire et ne sera plus affiché sur le tableau de bord

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

## 2- Configurer les mappages d'état et d'action

<p class="callout info">**Le mappage d'état** permet de **personnaliser l'affichage des widgets d'état** en associant <span style="text-decoration: underline;">à chaque valeur d'une variable</span> une **icône**, une **couleur** et un **libellé**.   
*Il permet ainsi de représenter visuellement les différents états de la variable de manière adaptée à votre application*</p>

<p class="callout info">**Le mappage d'action** permet d'**associer chaque valeur lue à la commande de sortie** à exécuter.   
*Le **libellé** décrit l'action qui sera envoyée lorsque cette valeur est sélectionnée ou reçue*</p>

- Pour définir le mappage, cliquez sur l’icône **Réglages** du widget  
    Une fenêtre de configuration s’ouvre

[![Capture d’écran 2026-07-28 173733.jpg](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/vjvcapture-decran-2026-07-28-173733.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-07/vjvcapture-decran-2026-07-28-173733.jpg)

- Pour ajouter une correspondance, cliquez sur **Ajouter un état / Ajouter un mappage** (selon le type de widget)


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

- Cliquez sur chaque état / action nouvellement créé pour saisir les paramètres de configuration

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

- Paramétrez un <span style="text-decoration: underline;">affichage visuel</span> pour chaque état configuré 
    - **Icône** : symbole affiché dans le widget ;
    - **Couleur** : couleur associée à cet état ;
    - **Libellé** : texte affiché pour identifier l’état
- Paramétrez un <span style="text-decoration: underline;">libellé personnalisé</span> pour chaque action configurée

[![Capture d’écran 2026-07-30 120040.jpg](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/DXJcapture-decran-2026-07-30-120040.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-07/DXJcapture-decran-2026-07-30-120040.jpg)


<p class="callout warning">Le mappage est prioritaire sur la configuration générale des états.   
Lorsqu’un état possède un mappage personnalisé, ses paramètres d’affichage remplacent ceux définis dans la configuration des états  
</p>

### 3- Outils de gestion des widgets

Dépliez le widget pour afficher l'ensemble des informations, notamment tous les états associés  
Plusieurs fonctions facilitent également l'administration des widgets.  
Vous pouvez rechercher un widget, le filtrer selon son type, réorganiser son affichage, l'exporter ou l'importer afin de simplifier sa gestion et son déploiement.

- **Rechercher un widget**  
    Permet de retrouver rapidement un widget en saisissant tout ou partie de son nom dans le champ de recherche
- **Filtrer les widgets**  
    Permet d'afficher uniquement les widgets d'un type donné (interrupteur, interrupteur à glissière, bouton, widget d'état, etc.) afin de faciliter leur gestion
- **Réorganiser les widgets**  
    Permet de modifier l'ordre d'affichage des widgets dans le gestionnaire ou sur le tableau de bord
- **Exporter des widgets**  
    Permet d'exporter un ou plusieurs widgets afin de les sauvegarder ou de les réutiliser sur une autre installation
- **Importer des widgets**  
    Permet d'importer des widgets afin de les intégrer rapidement dans une nouvelle configuration

# 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.

#### 1- Widgets disponibles

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.

# Planification

La planification permet d'automatiser l'exécution des scénarios selon des dates, des horaires ou des périodes prédéfinis.  
<span>Elle offre une gestion centralisée des </span>**plages de fonctionnement récurrentes** pouvant être utilisées par un ou plusieurs scénarios.

**Par exemple :**

- **Tous les jours à 08h00**
- **Du lundi au vendredi à 18h00**
- **Les jours fériés à 10h00**

# Généralités

**La planification** permet de programmer l'exécution automatique d'un scénario à des dates et heures définies. Elle permet de déclencher un scénario selon un calendrier, de manière ponctuelle ou récurrente, sans intervention de l'utilisateur.  
Les événements peuvent être programmés selon différentes périodicités :

- quotidienne
- hebdomadaire
- mensuelle
- annuelle

Il est également possible d’adapter les programmations en fonction du type de jour :

- Jours ouvrés
- Jours fériés
- Périodes spéciales (vacances, fermetures exceptionnelles ...)

Cette flexibilité permet de créer des planifications adaptées aux besoins récurrents comme aux situations particulières.

Les actions configurées dans ce menu sont **exécutées automatiquement** par le module aux **dates et heures définies**.

<p class="callout info">Contrairement aux **timers**, qui gèrent des délais ou des temporisations directement au sein d'un scénario, les programmations horaires sont configurées indépendamment et peuvent être réutilisées par plusieurs scénarios  
</p>

# Créer une planification, un jour férié ou un calendrier spécial

En bas de page, le bouton "<span style="background-color: rgb(53, 152, 219);">*+ Ajouter*</span>" permet de créer :

- une **nouvelle programmation**
- un **jour férié**
- une **période spéciale** (vacances, fermeture exceptionnelle, maintenance ...)

Les jours fériés et les périodes spéciales peuvent être pris en compte dans les règles de planification afin d'adapter automatiquement le comportement du module à ces périodes particulières.

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

### 1- Ajouter une nouvelle programmation

Sélectionnez l'onglet "*Programmations*", cliquez sur le bouton "*<span style="background-color: rgb(53, 152, 219);">+</span><span style="background-color: rgb(53, 152, 219);">Ajouter</span>***"**

Renseignez les informations demandées dans la fenêtre qui s'affiche

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

- **Libellé** de la programmation
- **Type de jour** (classique ou jour férié)
- **L'heure de déclenchement**
- **Type de récurrence** (quotidienne, hebdomadaire, mensuelle ou annuelle)
- **Sélectionnez les jours concernés**
- **Horaire d'exécution**
- **Scénario à exécuter**
- **Variable à mettre à jour**
- La **valeur à appliquer** lors du déclenchement de l'événement

Une fois enregistrée, la programmation sera exécutée automatiquement par le module aux dates et horaires définis.

### 2- Ajouter un jour férié

Dans l'onglet "*jours fériés"*, il est possible d'ajouter de nouveaux jours fériés en cliquant sur le bouton "<span style="background-color: rgb(53, 152, 219);">*+ Ajouter"*</span>.

Renseignez les informations demandées dans la fenêtre qui s'affiche.

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

Les jours fériés préconfigurés sont fournis par défaut avec le système et ne peuvent pas être supprimés.   
Ils peuvent néanmoins être **désactivés** à tout moment depuis la liste des jours fériés afin d'adapter le calendrier aux besoins de l'installation.

### 3- Ajouter une période spéciale

Depuis l’onglet *« Période spéciale »*, il est possible de définir des périodes particulières (par exemple, les vacances).   
Pour cela, cliquez sur <span style="background-color: rgb(53, 152, 219);">*« + Ajouter »*</span>, puis renseignez les informations dans la fenêtre qui s’ouvre.

<div class="z-0 flex min-h-[46px] justify-start" id="bkmrk--5">[![Capture d’écran 2026-06-19 155435.jpg](https://modlink.fr/help/uploads/images/gallery/2026-06/scaled-1680-/capture-decran-2026-06-19-155435.jpg)](https://modlink.fr/help/uploads/images/gallery/2026-06/capture-decran-2026-06-19-155435.jpg)</div><div class="mt-3 w-full empty:hidden" id="bkmrk--6"><div class="text-center"><div>  
</div></div></div>

# Activer, désactiver, modifier et supprimer une planification

L'**ensemble des planifications configurées** s'affiche en bas de la page à la suite du calendrier.  
Chaque programmation peut être activée ou désactivée à tout moment à l'aide du **bouton bleu** situé à sa gauche.

Il est également possible de modifier une programmation existante (icône pinceau) ou de la supprimer (icône corbeille).

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

# Consulter la programmation

Lorsque vous accédez au menu "*Planification***"**, une vue du calendrier du mois en cours s'affiche permettant de repérer rapidement les événements planifiés.  
Les flèches de navigation situées en haut à droite permettent d’afficher les programmations des mois précédents ou suivants.  
  
Les jours comportant une programmation sont **clairement identifiés**.   
Une couleur spécifique est associée à chaque type de récurrence (quotidienne, hebdomadaire, mensuelle ou annuelle), tandis que le nombre affiché indique le total des planifications prévues pour la journée.

Un simple survol de la planification permet de consulter l’ensemble des événements programmés pour la journée.

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

# Configuration avancée

# Entrées et sorties

L'interface permet de **configurer** et de **visualiser en temps réel l'état** de chaque entrée et de chaque sortie, facilitant le diagnostic, la mise en service et le suivi du fonctionnement du module.

### 1- Configurer les entrées et les sorties

Les entrées et les sorties du module peuvent être visualisées et configurées depuis le menu *« I/O »*, à la suite des variables du système.  
Pour chaque entrée et sortie, les paramètres suivants peuvent être personnalisés :

- **Nom** : permet d'attribuer un nom explicite à l'entrée ou à la sortie afin de faciliter son identification
- **Accessible** : lorsque cette option est cochée, l'I/O est diffusé et devient visible sur le réseau
- **Commentaire** : ce champ est renseigné par défaut avec la référence de la borne à laquelle l'entrée ou la sortie est raccordée. Il peut être modifié pour ajouter des informations complémentaires

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

#### 1.1- Paramétrage spécifique des entrées analogiques en double canal

Lorsqu'une entrée est utilisée en mode analogique :

1. Cochez l'option **« Analogique »**
2. Si nécessaire, cochez **« Séparer en 2 entrées A et B »** afin de créer deux canaux analogiques distincts
3. Activez l'option **« Valeur moyenne »** pour lisser les mesures, puis renseignez la **fenêtre de moyenne** en millisecondes (durée pendant laquelle il faut faire la moyenne)
4. Renseignez les **valeurs minimale et maximale** correspondant à la plage de mesure du capteur (par exemple : -20 °C à +40 °C pour une sonde de température)
5. Ajustez l'**offset** si nécessaire afin de corriger un éventuel décalage de mesure observé sur le capteur

Une fois la configuration terminée, appuyer sur "<span style="background-color: rgb(220, 40, 197);">Sauvegarder</span>" pour enregistrez vos modifications.   
Chaque entrée peut être *sauvegardée individuellement* ou l'ensemble de la configuration peut être enregistré en une seule opération à l'aide du bouton *« <span style="background-color: rgb(45, 194, 107);">Sauvegarder toutes les I/O </span>».*

Pour diffuser les "I/O" sur le réseau, cochez l'option *« Diffuser sur le réseau (mDNS) après sauvegarde »* avant d'enregistrer la configuration. Les I/O marqués comme *« Accessible »* seront alors publiés sur le réseau et pourront être découverts et utilisés par les équipements ou services compatibles. Un redémarrage du module est nécessaire pour que les changements soient pris en compte.

Après avoir enregistré les modifications et activé leur diffusion, un redémarrage du module est nécessaire pour que les changements soient pris en compte.

<p class="callout warning">L'utilisation d'une entrée en **mode analogique** nécessite une configuration préalable dans le menu *« I/O ».*   
L'option *« Séparer en 2 entrées A et B »* requiert un **câblage spécifique du capteur** [Câblage d'une entrée analogique en mode double canal](https://modlink.fr/help/link/179#bkmrk--4)  
</p>

#### 1.2- Etat des relais

Par défaut, les relais 1 et 2 sont éteints au démarrage du module.

Pour modifier la configuration par défaut des relais,

- accédez au menu **Paramètres &gt; Informations &gt; Sorties**
- puis, dans le menu "**État par défaut des relais"**, définissez l'état à appliquer au prochain démarrage.   
    La modification sera effective après un redémarrage du module.

### 2- Vérifier le fonctionnement des entrées et sorties

Le **câblage des entrées et des sorties** peut être vérifié directement sur le module à l'aide des voyants d'état [Etat des voyants](https://modlink.fr/help/link/179#bkmrk-%C2%A0) . Ceux-ci permettent de contrôler visuellement l'activation des entrées et des relais et constituent un moyen simple de valider les raccordements réalisés avant toute phase de configuration ou de mise en service.

Le menu *« I/O »* permet de **contrôler en temps réel l'état** des entrées et des sorties du module à travers **les variables associées.**

Lorsqu'une action est effectuée sur une entrée - par exemple en réalisant une boucle ou en activant un contact - la valeur de la variable correspondante est mise à jour instantanément dans l'interface.   
Cette visualisation permet de vérifier rapidement le bon fonctionnement de l'entrée et de valider sa configuration.

De la même manière, l'état des sorties peut être observé afin de confirmer leur activation ou leur désactivation et de faciliter les opérations de mise en service et de diagnostic.

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

# Gestion des comptes utilisateurs

<details id="bkmrk-g%C3%A9n%C3%A9ralit%C3%A9s-%C2%A0"><summary>Rôles, permissions et accès aux pages</summary>

Le module 2PIO permet de créer des comptes utilisateurs afin de contrôler l'accès à son interface Web et à ses fonctionnalités. Chaque compte est associé à un **identifiant, un mot de passe et un rôle**.   
Ses droits d'accès sont définis par les permissions et les pages autorisées.

#### Rôles et profils

Deux rôles prédéfinis sont disponibles :

- **Installateur** : destiné aux professionnels chargés de l'installation, de la configuration et de la maintenance du module. Selon les permissions qui lui sont accordées, il peut notamment accéder à la gestion des utilisateurs, aux sauvegardes et aux fonctions avancées de configuration.
- **Utilisateur** : destiné à l'exploitation du module. Ses droits peuvent être limités au pilotage des équipements, à la consultation de leur état et aux autres fonctions qui lui sont autorisées.

<p class="callout info">Le système permet de créer jusqu’à **5 comptes "Installateur"** et **10 comptes "Utilisateur"**</p>

#### Permissions et accès aux pages

Les droits d’accès reposent sur deux éléments complémentaires :

- **Les permissions** définissent les actions autorisées, comme la modification des variables, la gestion des scénarios ou la mise à jour du firmware.
- **Les accès aux pages** déterminent les rubriques de l'interface Web que le compte est autorisé à consulter.

<p class="callout info">Le rôle sélectionné ne détermine donc pas, à lui seul, l'ensemble des droits du compte.   
Les **permissions** et les **accès aux pages** permettent d'adapter ces droits aux responsabilités de chaque utilisateur</p>

</details>Pour accéder à la gestion des comptes :

1. Ouvrez le menu **Paramètres**
2. Sélectionnez l'onglet **Sécurité**
3. Cliquez sur **Accès**
4. Dans la rubrique **Authentification et utilisateurs**, cliquez sur **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)**

<p class="callout warning">l'accès aux fonctions du menu « Paramètres » dépend du rôle et des permissions attribués au compte connecté</p>

### 1- Créer un compte

Dans la fenêtre "créer un utilisateur"

1. Renseignez un **identifiant** et un **mot de passe**
2. Sélectionnez le rôle souhaité : **Installateur** ou **Utilisateur**
3. Sélectionnez les **permissions** à accorder et les **pages** auxquelles le compte pourra accéder
4. Cliquez sur **Créer l'utilisateur**

[![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)

#### cas particulier du compte installateur :

La création d'un compte Installateur nécessite des droits spécifiques.  
Par défaut, seules les **permissions minimales** prévues pour ce profil sont activées :  
\- la mise à jour du firmware  
\- le changement de nom d'un appareil  
\- uen connexion OPC UA  
Aucun autre accès aux pages de l'interface n'est accordé tant qu'il n'a pas été **explicitement autorisé par l'utilisateur disposant des droits nécessaires**.

<p class="callout info">**Bonnes pratiques :**   
- accordez uniquement les permissions et les accès nécessaires à chaque utilisateur  
- standardisez les rôles et limitez les droits administratifs  
- vérifier régulièrement les comptes existants et supprimez ceux qui ne sont plus utilisés</p>

### <span role="text">2- Afficher les comptes</span>

La **liste des comptes utilisateurs** apparaît directement sous le bloc de création d'un utilisateur.  
Elle permet de consulter les comptes existants ainsi que les informations disponibles sur leurs rôles et leurs droits d'accès.

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

### <span role="text">3- Modifier un compte</span>

<p class="callout info"><span role="text"><span style="color: rgb(52, 73, 94);">Les actions disponibles dépendent des droits attribués au compte connecté</span></span></p>

Selon les autorisations disponibles, il est possible de modifier les informations et les droits d'un compte utilisateur, notamment

- son identifiant
- son mot de passe
- son rôle
- ses permissions
- les pages auxquelles il peut accéder

### 4- Supprimer un compte

La suppression d'un compte est réservée aux utilisateurs disposant des droits nécessaires.  
Cette **opération est** **définitive** : le compte supprimé ne peut plus être utilisé pour accéder à l'interface Web du module.

# Modifier la configuration WiFi

### <span style="color: rgb(68, 68, 68);">1- Le module est toujours connecté à Internet</span>

Si le module est encore connecté au réseau Wi-Fi et accessible depuis l'interface, la modification de la configuration Wi-Fi peut être réalisée directement depuis les paramètres du module.

Accédez au menu "*Paramètres***"**, puis à l'onglet "*Connectivité",* dans la section "Connexion Internet" cliquez sur le bouton "<span style="background-color: rgb(53, 152, 219); color: rgb(0, 0, 0);">*Configurez*</span>"  
Vous pourrez alors scanner les réseaux WiFi à proximité, en sélectionner un nouveau puis renseigner les informations de connexion correspondantes.

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

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

### 2- Le module n'est plus connecté à Internet

<p class="callout info">Le voyant Wi-Fi du module clignote en vert s'il n'est plus connecté à Internet</p>

Si le module n'est plus connecté au réseau Wi-Fi (suite à un changement de box Internet, à la modification du mot de passe ou encore au déplacement du module ...), alors **il n'est pas possible de modifier la configuration à distance.**   
La nouvelle configuration Wi-Fi devra être réalisée en local afin de reconnecter le module au réseau.

- Activez le Wi-Fi dans les paramètres de l'appareil utilisé pour la configuration du module (Smartphone, ordinateur, tablette ...)
- 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 et c'est normal.  
    <span style="color: rgb(52, 73, 94);">Une fenêtre peut apparaître aussi 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)
- Connectez-vous en local à l'interface Web du module **2pioXXX.local** Une fois connecté, allez dans le menu « *Paramètres* », cliquez sur l’onglet « *Connectivité* » puis dans la section   
    « *Connexion Internet* », appuyer sur le bouton « <span style="color: rgb(0, 0, 0);">*<span style="background-color: rgb(53, 152, 219);">Configurer</span>*</span> »

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

- Cliquez ensuite sur "<span style="background-color: rgb(53, 152, 219); color: rgb(0, 0, 0);">*Scanner les réseaux*</span>"

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

- La liste des réseaux disponibles s'affiche en bas de page  
    Sélectionnez le réseau que le module utilisera pour se connecter  
    *Vérifiez que la qualité du signal réseau est suffisante pour garantir une connexion stable du module (à minima 25 %)*
- Saisissez le mot de passe du réseau puis appuyez sur "<span style="background-color: rgb(53, 152, 219); color: rgb(0, 0, 0);">*Appliquer*</span>" pour valider la configuration  
    *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*

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


<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**, 2PIO 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 en cas de changement des paramètres du réseau Wi-Fi local*</p>

# Ouvrants / BSO

Le pilotage des **ouvrants motorisés** (volets roulants, rideaux métalliques, stores...) et des **BSO** nécessite un paramétrage préalable dans le menu "Paramètres" &gt; "Informations" &gt; "Sorties".  
Lors de cette configuration, **le module crée automatiquement les variables nécessaires** au pilotage de l'actionneur.   
Ces variables sont ensuite disponibles dans les scénarios.

[![image.png](https://modlink.fr/help/uploads/images/gallery/2026-07/scaled-1680-/image.png)](https://modlink.fr/help/uploads/images/gallery/2026-07/image.png)

<p class="callout warning">lorsqu'une paire de **relais est affectée à une configuration "BSO ou Ouvrant"**, ces deux relais sont réservés au pilotage de cet actionneur et ne peuvent plus être utilisés par d'autres scénarios ou fonctions</p>

<p class="callout success">Les ouvrants motorisés peuvent être équipés de **fins de course réglables** intégrées au moteur.   
Si ce n'est pas le cas, il est possible d'installer des **butées de fin de course** afin de définir précisément les positions d'ouverture et de fermeture</p>

### 1- Créer une nouvelle configuration

1. Saisissez un **nom de configuration** permettant d'identifier facilement l'actionneur (par exemple : *BSO Salon*, *Volet bureau*, *Store Terrasse*)
2. Sélectionnez le **mode de fonctionnement** : 
    - **Relais** : utilisation classique des sorties sans gestion d'ouvrant
    - **Ouvrant** : pilotage d'un volet roulant, d'un store ou de tout autre ouvrant motorisé
    - **BSO** : pilotage d'un brise-soleil orientable avec gestion de l'orientation des lames
3. Un **ID technique** est automatiquement généré à partir du nom de la configuration. Cet identifiant est utilisé dans les blocs de scénario via le paramètre `config_id`
4. Sélectionner le **relais utilisé pour le haut et pour le bas**
5. Si l'option "**Butées**" est activée, indiquez les entrées raccordées aux butées haute et basse
6. Dans les champs "*Extra montée"* et "*Extra descente"* indiquez un **décalage temporel** en millisecondes afin d'ajuster précisément les positions d'ouverture et de fermeture
7. Une fois la configuration terminée, cliquez sur **Enregistrer** pour la sauvegarder dans le module.   
    Vous pouvez également **exporter** les configurations au format JSON afin de les sauvegarder ou de les réutiliser sur un autre module, ou **importer** un fichier JSON existant pour restaurer ou compléter les configurations.

La liste des configurations enregistrées s'affiche en bas de page. Il est possible de sélectionner une configuration pour la modifier, la recalibrer ou la supprimer

### 2- Centralisation des ouvrants

La centralisation permet de **piloter simultanément plusieurs ouvrants** à l'aide d'une seule commande.   
Cette fonction est particulièrement utile pour ouvrir ou fermer l'ensemble des ouvrants d'un bâtiment, d'un étage ou d'une zone, sans avoir à les commander individuellement.

Les ouvrants peuvent être centralisés de deux façons :

- à l'aide d'un widget Position/Stop
- à l'aide d'un scénario personnalisé

#### 2.1- Centralisation à l'aide d'un widget

Le widget **Position/Stop** permet de commander simultanément tous les ouvrants appartenant au groupe de centralisation.   
Les ordres d'ouverture, de fermeture, de positionnement et d'arrêt sont automatiquement transmis à l'ensemble des ouvrants concernés.

#### 2.2- Centralisation à l'aide d'un scénario

La centralisation peut également être réalisée au moyen d'un scénario, ce qui permet d'adapter le comportement aux besoins de l'installation.

Le principe consiste à utiliser l'ouvrant local (celui du module exécutant le scénario) comme référence, puis à reproduire la même commande sur les autres ouvrants.

Le scénario est construit de la manière suivante :

1. Tester l'état de l'ouvrant local à l'aide d'un bloc Test d'état
2. Déterminer la commande à exécuter en fonction de l'état détecté (ouverture, fermeture, arrêt, position, etc.)
3. Commander les autres ouvrants à l'aide du bloc "***Variable multiple***". Ce bloc envoie directement la commande aux autres ouvrants du groupe, sans vérifier leur état ou leur position actuelle

<p class="callout info">seul l'état de l'ouvrant local est analysé. Les autres ouvrants reçoivent directement la commande correspondante afin de garantir une exécution rapide de la centralisation.</p>

#### 2.3- Exclure un ouvrant du groupe de centralisation

Il possible d'exclure un ou plusieurs ouvrants afin qu'ils ne répondent pas aux commandes de centralisation, tout en conservant leur pilotage individuel.  
L'ouvrant continuera à fonctionner normalement et pourra toujours être commandé individuellement ou par d'autres scénarios, mais il ne recevra plus les commandes envoyées au groupe de centralisation.

<span style="text-decoration: underline;">Pour exclure un ouvrant</span> :

- accédez au menu Paramètres &gt; Informations &gt; Sorties
- sélectionnez la variable "*Position**"*** de l'ouvrant concerné, puis cochez l'option *"Désactiver la variable"*

# 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, les modules 2PIO s'adaptent à tous vos besoins

# Gestion de deux pompes de relevage

<p class="callout success"><span style="color: rgb(68, 68, 68);"><span style="text-decoration: underline;">Objectif</span> :</span>  
Assurer la gestion auto<span style="color: rgb(68, 68, 68);">matisée de deux po</span>mpes de relevage en fonction du niveau d'eau dans un réservoir, avec alternance des pompes, fonctionnement en renfort et détection des situations de défaut.  
Le **2PIO <span style="color: rgb(68, 68, 68);">assure </span>localement et de manière autonome la gestion de l'installation**. Les informations provenant des capteurs de niveau sont traitées par un scénario qui pilote les pompes selon des seuils et des conditions de fonctionnement prédéfinis.  
L'automatisme est exécuté directement par le module, sans nécessiter de serveur central ni de service cloud. La communication avec un système tiers, notamment une GTB, peut être ajoutée pour la remontée des informations et le suivi de l'installation.</p>

### Configuration

- **Entrées :** capteurs de niveau d'eau et, selon l'installation, retours d'état ou informations de défaut des pompes
- **Sorties :** relais de commande des deux pompes
- **Variables :** mémorisation des états de fonctionnement, gestion de l'alternance et traitement des informations nécessaires à la détection des défauts
- **Scénario :** gestion des seuils de démarrage et d'arrêt, de l'alternance des pompes, du fonctionnement simultané et des situations anormales
- **Widgets :** visualisation des niveaux, des états des pompes et des éventuels défauts, avec accès aux commandes autorisées

### Principe de fonctionnement

- **Surveillance du niveau :** le 2PIO surveille en continu le niveau d'eau dans le réservoir à partir des informations transmises par les capteurs raccordés
- **Démarrage de la première pompe :** lorsque le niveau atteint le seuil de démarrage, le scénario active la pompe prioritaire selon la logique d'alternance définie
- **Démarrage de la seconde pompe :** si le niveau continue de monter et atteint un second seuil, la deuxième pompe est également activée afin d'augmenter la capacité de relevage
- **Alternance des pompes :** à chaque nouveau cycle, la pompe prioritaire change afin de répartir les durées d'utilisation et de limiter l'usure liée à un fonctionnement déséquilibré  
    Cycle 1 : démarrage prioritaire de la pompe 1  
    Cycle 2 : démarrage prioritaire de la pompe 2
- **Gestion des défauts :** en cas d'anomalie détectée (absence de consommation, surconsommation ou défaut signalé par un équipement), le scénario peut déclencher une alerte et commander le basculement sur l'autre pompe, selon les conditions configurées. Des notifications peuvent être transmises par e-mail ou SMS. Les informations de défaut peuvent également être communiquées à une GTB ou à un système tiers.
- **Exploitation et suivi :** l'interface Web du 2PIO permet, selon le niveau d'autorisation de l'utilisateur, de consulter en temps réél les informations de fonctionnement, notamment l'état des entrées, des sorties et des pompes, ainsi que les éventuels défauts. Les commandes disponibles permettent également d'intervenir sur l'installation dans les limites des droits attribués.

### Fonctionnement autonome et communication

Le scénario est exécuté directement par le 2PIO et continue de fonctionner localement, indépendamment de la disponibilité d'une connexion Internet ou d'un système de supervision externe.

La connexion à une GTB ou à un autre système tiers permet de remonter les états de fonctionnement et les alarmes pour leur exploitation centralisée, sans intervenir dans l'exécution de l'automatisme local.

# Surveillance d'une chambre froide

<p class="callout success">**<span style="text-decoration: underline;">Objectif</span> :** Surveiller en continu la température d’une chambre froide et détecter rapidement une situation anormale</p>

#### Fonctionnement

- La température est <span style="text-decoration: underline;">analysée en continu</span> via une sonde connectée au système
- Des seuils sont définis afin d’identifier une température trop élevée ou toute autre situation nécessitant une intervention
- L’état correspondant est affiché dans le widget
- En cas de dépassement du seuil, une action ou une alerte peut être déclenchée selon la configuration

 par exemple :

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

#### Action automatique : déclenchement d'alerte en cas d'anomalie

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

- 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

#### Configuration

- Entrée : information provenant de la sonde ou du dispositif de mesure
- Variable : température
- Scénario : surveillance des seuils
- Widget : affichage de la température et des états associés

#### Résultat

L’état de la chambre froide est facilement identifiable depuis l’interface d'administration et les situations anormales peuvent être détectées.

# Redémarrage automatique de systèmes (watchdog)

<p class="callout success">**<span style="text-decoration: underline;">Objectif</span> :**  
Surveiller automatiquement le bon fonctionnement d’un équipement et provoquer son redémarrage en cas de dysfonctionnement, afin de limiter les interruptions de service et les interventions manuelles  
</p>

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

Le dispositif 2PIO surveille un signal attestant du bon fonctionnement de l’équipement. Si ce signal n’est plus détecté pendant le délai défini, il considère que l’équipement est potentiellement bloqué et déclenche automatiquement une séquence de redémarrage.

#### Configuration

- Entrée : signal de fonctionnement ou de présence de l’équipement à surveiller
- Variable : mémorisation de l’état ou du signal de surveillance
- Scénario : surveillance du signal et gestion du délai d’absence
- Temporisation : durée d'absence du signal au delà de laquelle une anomalie est détectée
- Sortie : commande permettant de couper puis de rétablir l’alimentation de l’équipement

#### Fonctionnement

1. 2PIO surveille régulièrement le signal de fonctionnement de l'équipement
2. Tant que le signal est présent, l'équipement est considéré comme opérationnel
3. Si le signal reste absent au delà du délai configuré, 2PIO détecte une anomalie
4. 2PIO déclenche alors la séquence de redémarrage en commandant la sortie associée
5. L’alimentation est coupée pendant la durée définie, puis rétablie
6. l'équipement redémarre automatiquement
7. 2PIO reprend la surveillance du signal de fonctionnement

#### Résultat

Le système peut retrouver automatiquement un fonctionnement normal après un blocage, sans intervention sur site.   
2PIO assure ainsi une **surveillance autonome et un redémarrage automatique des équipements**.

> **Exemple : redémarrage automatique d’un équipement réseau**  
> 2PIO surveille périodiquement un équipement qui doit rester opérationnel en permanence. En l’absence du signal attendu pendant une durée définie, il coupe son alimentation puis la rétablit afin de provoquer son redémarrage.   
> Une fois le fonctionnement rétabli, la surveillance reprend automatiquement.

# Système de secours et continuité de service

<p class="callout success"><span style="text-decoration: underline;">**Objectif**</span> :  
Garantir la continuité de service d’un équipement ou d’une installation en basculant automatiquement vers un système de secours en cas de défaillance du système principal  
</p>

#### Configuration

- Entrée(s) : informations permettant de surveiller l’état ou le bon fonctionnement du système principal
- Variables : mémorisation et traitement des états nécessaires au contrôle
- Scénario : détection d'une défaillance et gestion du basculement
- Sorties : commande du système principal et du système de secours
- Temporisation : définition du délai avant le déclenchement du basculement

#### Fonctionnement

1. 2PIO surveille en permanence le fonctionnement du système principal
2. Tant que celui-ci fonctionne normalement, le système de secours reste en attente
3. En cas de défaillance, 2PIO détecte l’anomalie selon les conditions définies dans le scénario
4. A l'issue du délai configuré, 2PIO commande le basculement vers le système de secours
5. Le système de secours prend le relais afin d’assurer la continuité du service
6. Le retour au système principal peut être géré selon la configuration définie

#### Résultat

En cas de défaillance du système principal, 2PIO commande automatiquement le basculement vers le système de secours, limitant ainsi l’interruption de service et le besoin d’une intervention immédiate.

# Maintenance

<span>Le menu </span>**Maintenance**<span> est accessible depuis </span>**Paramètres &gt; Informations**<span> et permet d’accéder aux fonctions dédiées à la maintenance du module.</span>

# Redémarrer le système

Le redémarrage permet de **relancer le système** du module afin d’appliquer certaines modifications de configuration et de réinitialiser les services en cours d’exécution.

Pour redémarrer le module :

1. Dans le menu *"Paramètres"* accédez à *"Informations"* puis *"Maintenance"*
2. Dans *"Redémarrage* du système" appuyez sur le bouton "Redémarrer"

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

<p class="callout warning">Le redémarrage interrompt temporairement le fonctionnement du module.   
Les scénarios et les équipements pilotés sont donc momentanément indisponibles pendant cette opération</p>

# Centre d'erreurs

Le centre d’erreurs permet de consulter les erreurs détectées par le module afin d’identifier les éventuels dysfonctionnements et d’en faciliter le diagnostic.

Le Centre d’erreurs affiche :

- les erreurs **non acquittées**
- le nombre **total d’erreurs**
- les **erreurs critiques**
- **l’état général de santé** du module
- **l’historique** des erreurs

Les erreurs affichées peuvent notamment concerner :

- les scénarios
- les variables
- les entrées et sorties
- la communication
- le système

<p class="callout info">Lorsqu’une erreur est détectée, la LED "Process information" clignote en rouge.  
En cas d'erreur critique, toutes les LEDS du module passent au rouge</p>

Lorsqu'une erreur est détectée, un e-mail est automatiquement envoyé au **gestionnaire du compte** afin de l'en informer.  
L'adresse e-mail utilisée pour ces notifications est celle renseignée dans : **Paramètres &gt; Informations &gt; Profil &gt; Gestionnaire**

### 1- Consulter les erreurs

Depuis le menu Paramètres, accédez à **Informations &gt;** **Maintenance &gt; Centre d’erreurs**

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

La liste des événements peut être filtrée selon leur niveau :

- **Tous les niveaux** : affiche les événements de tous les niveaux
- **Critique** : signale un événement nécessitant une attention prioritaire
- **Erreur** : signale une anomalie détectée
- **Avertissement** : indique une situation nécessitant une vigilance particulière
- **Information** : affiche les événements informatifs

Pour affiner l'affichage, plusieurs commandes sont disponibles :

- **Rafraîchir** : actualise la liste des événements.
- **Afficher aussi les acquittées** : inclut les événements déjà acquittés dans la liste.

Sélectionner le niveau souhaité pour consulter les événements correspondants.

### 2- Acquitter une erreur

Lorsqu’une erreur a été prise en compte, elle peut être acquittée afin de ne plus apparaître comme erreur non acquittée.

- le bouton <span style="background-color: rgb(53, 152, 219);">**Acquitter**</span> permet d’acquitter individuellement une erreur
- le bouton <span style="background-color: rgb(53, 152, 219);">**Acquitter tout**</span> permet d’acquitter simultanément l’ensemble des erreurs affichées

Pour chaque erreur, les informations disponibles peuvent notamment indiquer :

- le niveau de l’erreur (critique, erreur, avertissement, information)
- le type d’équipement ou de fonction concerné
- la description de l’erreur
- la source à l’origine de l’erreur ;
- le nombre d’occurrences ;
- la date et l’heure de détection.

> **Remarque :** l’acquittement d’une erreur ne corrige pas nécessairement la cause du problème. Il permet uniquement de signaler que l’erreur a été prise en compte. Si la cause persiste, l’erreur peut réapparaître

Le bouton **Rafraîchir** permet de mettre à jour la liste des erreurs et d'afficher les éventuelles nouvelles occurrences.

# Sauvegardes

La fonction **Sauvegardes** permet de créer et de restaurer des copies de la configuration du module.   
Les sauvegardes sont chiffrées et stockées sur le serveur afin de pouvoir récupérer la configuration du module en cas de besoin.

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

### 1- Créer une sauvegarde

Le système effectue automatiquement une sauvegarde quotidienne de l’ensemble de la configuration du module (scénarios, variables, widgets, paramétrages ...).

Il est également possible de créer manuellement une sauvegarde à tout moment en cliquant sur le bouton **<span style="background-color: rgb(53, 152, 219);">Créer un backup</span>**.

<div class="flex max-w-full flex-col gap-4 grow" id="bkmrk-acc%C3%A9dez-%C3%A0-maintenanc"><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="6fd34f86-e2b5-499d-b20f-82cb5f8b726f" data-message-model-slug="gpt-5-6" 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">1. Accédez à *"Paramètres"* &gt; *"Informations"* &gt; *"Maintenance"* &gt; *"Sauvegardes"*
2. Cliquez sur <span style="background-color: rgb(53, 152, 219);">**Créer un backup**</span>
3. La sauvegarde est créée et ajoutée à la liste des sauvegardes disponibles

</div></div></div></div>Le module conserve jusqu’à 5 sauvegardes. Lorsque cette limite est atteinte, les sauvegardes les plus anciennes sont remplacées par les nouvelles.

### 2- Restaurer une sauvegarde

La restauration permet de rétablir la configuration du module à partir d’une sauvegarde existante.  
Pour restaurer une sauvegarde :

1. Accédez à *"Paramètres"* &gt; *"Informations"* &gt; *"Maintenance"* &gt; *"Sauvegardes"*
2. Sélectionnez dans la liste la sauvegarde à restaurer  
    *la date et l’heure de création de chaque sauvegarde est indiquée*
3. Cliquez sur le bouton <span style="background-color: rgb(236, 240, 241);">**Restaurer**</span>
4. Confirmez la restauration lorsque cela est demandé
5. Attendez la fin de l’opération avant d'effectuer toute autre action sur le module.  
    Un redémarrage du système peut être nécessaire.

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

> **Attention :** la restauration remplace la configuration actuelle du module par celle enregistrée dans la sauvegarde. Vérifiez la date de la sauvegarde avant de lancer l’opération.

#### 2.1- Sauvegardes provenant d’une autre carte

Certaines sauvegardes peuvent avoir été créées avec une autre carte et donc une autre clé de chiffrement. Elles ne peuvent être restaurées que si le serveur dispose de la clé de chiffrement correspondante (escrow).

Un message d’avertissement est affiché lorsqu’une sauvegarde est concernée.

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

### 3- Actualiser la liste des sauvegardes

Cliquez sur le bouton <span style="background-color: rgb(236, 240, 241);">**Rafraîchir**</span> pour mettre à jour la liste et afficher les sauvegardes disponibles.

<div class="flex max-w-full flex-col gap-4 grow" id="bkmrk--3"><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="6fd34f86-e2b5-499d-b20f-82cb5f8b726f" data-message-model-slug="gpt-5-6" data-turn-start-message="true" dir="auto" tabindex="0">  
</div></div>

# FAQ - Questions fréquentes

# 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 2PIO 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

# Remplacer un module défaillant dans un réseau de modules

Dans une installation comportant plusieurs modules, il est possible de remplacer rapidement un module défaillant sans avoir à reconfigurer l'ensemble du système.

Pour cela, **attribuez au nouveau module le même nom que celui du module défectueux**. Les autres modules pourront ainsi le retrouver automatiquement sur le réseau et poursuivre leurs échanges sans nécessiter de modifications supplémentaires.

Cette méthode permet de remplacer un module tout en conservant le fonctionnement existant de l'installation, sans re-paramétrage des communications entre modules.

Pour modifier le nom d'un module, accédez au menu "*Paramètres*" &gt; "*Informations*" &gt; "*Identité*", puis cliquez sur "*Changer de nom*" à côté du champ "*Nom de l'appareil"*.

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

Renseignez ensuite le **numéro de série du module défaillant** (indiqué sous le capot) et confirmez la modification. Le nouveau module pourra alors être utilisé sans nécessiter de reconfiguration.   
Attribuez ensuite au nouveau module le nom du module défaillant afin de conserver automatiquement les communications existantes.

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