Intégration BACnet/IP
BACnet/IP (ASHRAE 135) est le protocole du CVC tertiaire : centrales de traitement d'air (CTA), boîtes VAV, groupes froids, régulateurs de pompes à chaleur, compteurs d'énergie et systèmes de gestion technique du bâtiment (GTB). HyperVisu lit et écrit les objets des appareils BACnet — une entrée analogique pour une température, une valeur analogique pour une consigne, une valeur binaire pour une autorisation, une valeur multi-états pour une vitesse de ventilation — sur UDP à travers le réseau local. Les valeurs arrivent par souscription sur changement de valeur (COV) lorsque l'appareil la prend en charge, et par scrutation (polling) partout ailleurs ; le choix s'effectue automatiquement par objet.
Ce dont vous avez besoin : le service BACnet/IP activé (voir « Services & Protocoles »), l'adresse IP de l'appareil (ou l'adresse du routeur BACnet en amont), son port UDP (standard 47808), éventuellement son instance d'appareil (device instance), ainsi que les objets souhaités (type et instance) — ou laissez la découverte et le sélecteur d'objets les trouver.
Connexions. BACnet/IP est multi-connexion : une connexion par appareil BACnet (voir « Connexions »). Le serveur ouvre un unique socket UDP pour l'ensemble. Champs :
| Champ | Description |
|---|---|
| Adresse de l'appareil | Adresse IP de l'appareil BACnet, ou du routeur en amont. |
| Port | Le port UDP sur lequel l'appareil écoute (standard 47808). |
| Instance de l'appareil | L'instance d'objet appareil BACnet (0–4194302). Laissez vide pour ignorer la vérification ; si configurée, un appareil répondant avec une autre instance est signalé comme incorrect. |
| Durée de souscription COV | Durée de validité d'une souscription sur changement de valeur avant son renouvellement. Laissez vide pour la valeur par défaut du service (600 s). |
| Intervalle de scrutation (secondes) | Fréquence de relecture des points sans souscription COV (par défaut 30 s). Le COV étant la voie rapide, une scrutation lente est normale ici. |
Création de la connexion. Dans Ajouter une connexion, sélectionnez la carte BACnet puis saisissez un Nom d'instance et l'Adresse de l'appareil ; le Port et l'Instance de l'appareil sont facultatifs (un port vide correspond au standard 47808). La boîte de dialogue ne propose pas de scan réseau et ne crée pas de connexion sans adresse : si vous ne connaissez pas encore l'adresse, saisissez-en une provisoire et corrigez-la ensuite avec le scan. Cliquez sur Créer la connexion ; la nouvelle connexion s'ouvre dans ses paramètres.
Scanner le réseau. Le scan existe uniquement sur une connexion enregistrée. À côté de Où se connecter, cliquez sur Scanner le réseau. La boîte de dialogue Appareils BACnet sur le réseau diffuse une requête Who-Is (broadcast) et liste chaque appareil ayant répondu — Appareil 192.168.1.255) lorsque les broadcasts sont filtrés entre VLANs, ou un appareil spécifique (192.168.1.70:47808) pour l'interroger directement — la seule façon d'atteindre un appareil sur un port non standard. Scanner à nouveau relance le scan ; le dernier résultat est conservé lorsque la boîte de dialogue est fermée.
📘 Remarque : Déjà configuré signale un appareil vers lequel une connexion pointe déjà, par adresse et port ou par instance d'appareil. La connexion en cours d'édition est prise en compte, votre propre régulateur peut donc porter cette mention.
Tester envoie un Who-Is ciblé à l'appareil et vérifie la réponse — y compris l'instance d'appareil si vous en avez défini une. Le résultat indique l'instance d'appareil ayant répondu ; si le mauvais appareil répond, le test échoue et affiche les deux instances. Dans la boîte de dialogue Ajouter une connexion, Tester vérifie les valeurs saisies. Sur une connexion enregistrée, il vérifie les valeurs sauvegardées, pas les champs modifiés non encore enregistrés : cliquez d'abord sur Enregistrer la connexion, puis sur Tester.

Liaison d'un objet (voir « Liaison BACnet/IP » ci-dessous). Pour chaque objet, vous choisissez le Type d'objet et le Numéro d'instance ; l'administration stocke l'adresse sous la forme <connexion>:<type>:<instance>, par exemple 5:AV:12 (Valeur analogique 12 sur la connexion 5). Types d'objets :
| Type | Objet BACnet | Valeur | Remarques |
|---|---|---|---|
AI / AO / AV | Entrée / sortie / valeur analogique | Nombre | AO est commandable. |
BI / BO / BV | Entrée / sortie / valeur binaire | 0/1 | BO est commandable. |
MSI / MSO / MSV | Entrée / sortie / valeur multi-états | Nombre entier, commençant à 1 | MSO est commandable. |
La chaîne de type de données de l'objet intègre les options offertes par l'éditeur : [TYPE][:PROP=<id>][:PRIORITY=<1-16>][:COV=AUTO | Y | N][:SCALE=<f>][:OFFSET=<f>] :
| Champ | Stocké sous | Signification |
|---|---|---|
| Type de valeur | REAL / BOOL / UINT / INT / ENUM | Le type de données BACnet utilisé lors de l'écriture. Laissez sur Automatique — il est déduit du type d'objet — sauf si vous ciblez une propriété inhabituelle. |
| Identifiant de propriété | PROP= | 85 correspond à present-value, ce que recherchent presque toutes les liaisons. Ne le modifiez que pour des propriétés propriétaires. |
| Échelle / Offset | SCALE= / OFFSET= | En lecture : valeur = brut × échelle + offset ; l'écriture utilise l'inverse. Cela s'exécute au sein du protocole, avant toute transformation sur l'objet (voir « Transformations de valeurs & État de santé ») — n'appliquez pas d'échelle aux deux endroits. |
| Souscription sur changement de valeur | COV= | Automatique — souscrire, basculer sur scrutation en repli (défaut). Requis — avertir si l'appareil refuse. Jamais — toujours scruter. Une souscription ne rapporte que la propriété 85 (present-value) ; pour toute autre propriété, le point est scruté. Visible sous Arrivée des mises à jour, sur les objets en lecture. |
| Priorité d'écriture | PRIORITY= | Priorité de commande BACnet 1–16 pour les objets commandables. Laissez vide pour n'en envoyer aucune, ce que l'appareil traite comme 16. Visible sous Commande, sur les objets en écriture. |
📘 Remarque : Les valeurs multi-états BACnet commencent à 1, les modes HyperVisu à 0. Définissez l'offset à
-1sur une liaison multi-états sauf si l'appareil commence réellement à 0 — l'éditeur vous le rappelle. Les valeurs brutes basées sur 1 sont délibérément conservées pour que l'affichage corresponde à ce que montre YABE ou la GTB.
Sélecteur d'objets. Lorsque la connexion est active, l'éditeur liste les Objets sur cet appareil — la liste d'objets propre à l'appareil avec nom, type et instance, valeur actuelle et unité (ex. AI:0 · SupplyAirTemp · 21.5 °C). Utilisez Rechercher un objet pour filtrer par nom, description ou AV:12, cliquez sur une ligne pour renseigner le type et l'instance (ainsi que les Unités, si le champ est encore vide et que le régulateur fournit une unité), puis Relire pour actualiser. La liste d'objets est conservée une minute ; Relire force une nouvelle lecture. Le type et l'instance restent modifiables : si la liste indique Liste d'objets indisponible ou si l'appareil refuse l'énumération, le point reste configurable manuellement.

Comportements à connaître
- COV d'abord, scrutation en sécurité. Les points souscrits sont signalés par l'appareil à chaque changement et sortent de la scrutation périodique ; la souscription est renouvelée avant expiration. Un appareil refusant la souscription est scruté à la place. Une scrutation lente de vérification (tous les 10 intervalles) continue de lire les points souscrits, détectant les souscriptions perdues silencieusement après le redémarrage d'un appareil.
- La scrutation est groupée (plusieurs propriétés par requête) et bascule sur une lecture individuelle par propriété pour les appareils ne gérant pas le groupement.
- Retour d'écriture. Après une écriture, un point sans souscription COV active affiche immédiatement la valeur écrite au lieu de revenir à l'ancienne jusqu'à la prochaine scrutation ; avec le COV, la notification de l'appareil lui-même sert de confirmation.
- État. UDP étant sans connexion, en ligne signifie « a répondu récemment » (dans la limite de deux fois l'intervalle de scrutation, au minimum 90 s) et hors ligne signifie l'absence de réponse ; un appareil ne répondant plus fait l'objet de nouvelles tentatives (toutes les 30 s après cinq échecs) et repasse en ligne automatiquement.
- Tableaux de priorités. Un objet commandable gère 16 niveaux de priorité. Un système de GTB écrivant avec un numéro de priorité inférieur masque HyperVisu, et l'appareil semble ignorer le widget — l'éditeur le signale sur les types commandables ; la Priorité d'écriture permet de contourner cela.
Liaisons types : un commutateur sur BV/BO ; un variateur ou une position de volet sur AV/AO (0–100) ; la température d'un équipement climatique sur AI (In), sa consigne sur AV (In/Out) et son mode sur MSV avec un offset de -1 ; un compteur sur AI avec l'échelle correspondant à l'unité de l'appareil ; une vitesse de ventilation sur MSV/MSO avec un offset de -1.
Exemple pratique — un régulateur de centrale de traitement d'air
Le régulateur est l'appareil BACnet 1234 à l'adresse 192.168.1.70:47808 avec température de soufflage AI:0, consigne AV:1, marche/arrêt BV:2 et vitesse de ventilation MSV:3 (1–4).
- Activez BACnet/IP dans Services (voir « Services & Protocoles »).
- Créez une connexion BACnet (voir « Connexions ») : dans Ajouter une connexion, saisissez l'Adresse de l'appareil
192.168.1.70et cliquez sur Créer la connexion. Sur la connexion enregistrée, cliquez sur Scanner le réseau, choisissez Appareil 1234 et cliquez sur Utiliser cet appareil ; laissez l'intervalle de scrutation à30. Cliquez sur Enregistrer la connexion, puis sur Tester : le résultat indique l'instance d'appareil 1234. - Dans Appareils, ajoutez une Entrée analogique « CTA Soufflage » et sélectionnez votre connexion BACnet sous Protocole — dans son objet de valeur, choisissez
AI:0depuis le sélecteur d'objets. - Ajoutez une Sortie analogique « CTA Consigne » : objet
AV:1, direction In/Out, type de valeur Automatique. - Ajoutez un Interrupteur « CTA Marche » : objet
BV:2. - Ajoutez un appareil Sortie analogique nommé « CTA-2 Vitesse ventilateur » pour la vitesse de ventilation : liez son objet de valeur à
MSV:3avec un offset de-1(les états BACnet 1–4 deviennent 0–3). Un objet multi-états nécessite un widget numérique — le widget Ventilation pilote ses vitesses par des objets marche/arrêt séparés et ne peut donc pas recevoir une valeur multi-états. - Cliquez sur Enregistrer l'objet sur chaque objet, puis cliquez sur Appliquer les modifications dans la barre latérale et confirmez. La température de soufflage arrive par COV dès modification ; les autres points suivent la scrutation ou leur propre souscription.
Liaison BACnet/IP
Les objets BACnet se configurent dans la boîte de dialogue des paramètres d'objet (voir « Paramètres d'objet, journalisation & notifications »). Les sections sont :
Objet BACnet
| Champ | Description |
|---|---|
| Objets sur cet appareil | La liste propre des objets de l'appareil — AI:0 · nom · valeur actuelle unité — avec Rechercher un objet (nom, description ou AV:12) et Relire. Cliquez sur une ligne pour renseigner les deux champs ci-dessous. Visible lorsque la connexion est activée et que le service BACnet/IP fonctionne ; sinon, saisissez le type et l'instance manuellement. |
| Type d'objet | Entrée / sortie / valeur analogique (AI/AO/AV), Entrée / sortie / valeur binaire (BI/BO/BV), Entrée / sortie / valeur multi-états (MSI/MSO/MSV). |
| Numéro d'instance | L'instance de l'objet sur l'appareil (0–4194302). L'adresse enregistrée est <connexion>:<type>:<instance>, par exemple 5:AV:12. |
Valeur et mise à l'échelle
| Champ | Description |
|---|---|
| Type de valeur | Automatique (déduit du type d'objet — REAL pour analogique, ENUM pour binaire, UINT pour multi-états) ou un type explicite REAL / BOOL / UINT / INT / ENUM, utilisé lors de l'écriture. |
| Identifiant de propriété | 85 correspond à present-value et convient à la quasi-totalité des liaisons. Ne le modifiez que pour des propriétés propriétaires. |
| Échelle / Offset | valeur = brut × échelle + offset en lecture, l'inverse en écriture. S'exécute dans le protocole, avant toute transformation sur cet objet (voir « Transformations de valeurs & État de santé ») — n'appliquez pas d'échelle aux deux endroits. Sur un objet multi-états, l'éditeur vous rappelle de régler l'offset à -1 (les états BACnet commencent à 1, les modes HyperVisu à 0). |
Arrivée des mises à jour
| Champ | Description |
|---|---|
| Souscription sur changement de valeur | Automatique — souscrire, basculer sur scrutation en repli (défaut), Requis — avertir si l'appareil refuse, ou Jamais — toujours scruter. Les souscriptions ne rapportent que present-value, toute liaison sur une autre propriété est donc scrutée. |
Commande (types d'objets commandables)
| Champ | Description |
|---|---|
| Priorité d'écriture | Priorité de commande BACnet 1–16. Laissez vide pour n'en envoyer aucune, ce que l'appareil traite comme 16. Un autre système écrivant avec un numéro de priorité inférieur masque HyperVisu et l'appareil semble ignorer le widget. |
Les types d'objets, la chaîne de format des données et un exemple pratique figurent dans le chapitre BACnet/IP ci-dessus.
