# Généralités

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

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

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

Les variables peuvent être :

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

Les variables sont utilisées pour :

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

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

### 1- Afficher les variables

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

Pour <span style="text-decoration: underline;">afficher les variables</span> d'un module :

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

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

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

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

### 2- Personnaliser une variable

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

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

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