Le plugin BACnet Stack Server transforme votre Jeedom en passerelle BACnet bidirectionnelle. Il fonctionne à la fois en mode serveur (exposer vos équipements Jeedom sur le réseau BACnet) et en mode client (lire et écrire des valeurs sur des devices BACnet externes).
Le plugin s’appuie sur bacnet-stack, une implémentation open source du protocole BACnet. Un binaire compilé est téléchargé automatiquement lors de l’installation des dépendances.
Jeedom Réseau BACnet
┌─────────────────────┐ ┌──────────────────┐
│ │ ←→ │ GTB / Automate │
│ Mode Serveur │ │ (lit/écrit les │
│ (objets exposés) │ │ objets Jeedom) │
│ │ └──────────────────┘
│ Mode Client │ ←→ ┌──────────────────┐
│ (lit/écrit des │ │ Device BACnet │
│ devices externes) │ │ (capteur, CVC…) │
└─────────────────────┘ └──────────────────┘
Accédez à la page de configuration via le menu du plugin. Cette interface vous permet de lier vos commandes Jeedom à des objets BACnet visibles sur le réseau.
Une barre de recherche en haut du tableau filtre instantanément les lignes par type, instance, nom ou commande liée. Utile sur de grandes configurations.
| Colonne | Description |
|---|---|
| Type BACnet | Type d’objet BACnet (analog-value, analog-input, binary-value, etc.) |
| Instance | Numéro d’instance unique pour ce type d’objet (≥ 1, sauf schedule/trendlog ≥ 0) |
| Nom BACnet | Nom de l’objet visible sur le réseau BACnet |
| Commande Jeedom liée | Commande info ou action à exposer |
| Valeur initiale | Valeur de démarrage de l’objet BACnet |
| Sync auto | Mise à jour automatique depuis Jeedom (cron) |
| Actions | Supprimer l’objet ou configurer l’action |
analog-value / analog-input : valeurs numériques (température, consommation…)binary-value / binary-input : états ON/OFFmulti-state-value : états multiplesQuand une commande action est liée à un objet BACnet, cliquez sur “Config” pour définir le comportement lors d’une écriture BACnet :
22.5 → thermostat reçoit 22.51 (pour activer)Le bouton “Valeurs live” dans l’en-tête du tableau interroge instantanément le daemon BACnet pour afficher la valeur courante de chaque objet directement dans la colonne correspondante.
| Bouton | Effet |
|---|---|
| Sauvegarder | Enregistre la configuration dans un fichier temporaire, sans l’appliquer au serveur |
| Sauvegarder et Appliquer | Crée un backup automatique, puis applique à chaud la configuration (pas de redémarrage) |
| Synchroniser maintenant | Lance une synchronisation manuelle immédiate de toutes les valeurs liées |
1. Cron (Sync auto)
2. Callback temps réel
Le plugin peut se comporter en client BACnet : il se connecte à un device BACnet présent sur le réseau (automate, capteur, régulateur CVC…) pour lire ses valeurs et/ou lui envoyer des consignes.
4194302)192.168.1.100:47808). Le port 47808 est ajouté automatiquement si absent.Chaque commande info d’un équipement client correspond à un objet BACnet du device distant :
| Paramètre | Description |
|---|---|
| Type d’objet | analog-input, analog-value, binary-input, etc. |
| Instance | Numéro d’instance de l’objet sur le device |
| Propriété | Propriété à lire (par défaut : present-value) |
Les valeurs sont lues automatiquement à chaque cycle du cron. L’unité de mesure est récupérée depuis le device et appliquée automatiquement sur la commande Jeedom.
Chaque commande action permet d’écrire une valeur sur un objet BACnet du device distant :
| Paramètre | Description |
|---|---|
| Type d’objet | analog-value, analog-output, binary-value, etc. |
| Instance | Numéro d’instance de l’objet cible |
| Propriété | Propriété à écrire (par défaut : present-value) |
| Priorité d’écriture | Priorité BACnet (1–16, défaut : 8) |
Le plugin surveille automatiquement la disponibilité de chaque device client :
La page Supervision (accessible depuis l’accueil du plugin via la tuile orange) offre une vue centralisée de l’état du plugin.
Le bouton Rafraîchir met à jour l’ensemble de la page.
La section Derniers événements liste les 200 derniers événements enregistrés par le plugin, triés du plus récent au plus ancien.
Types d’événements :
| Type | Description |
|---|---|
| Connectivité | Device qui passe hors-ligne ou qui revient en ligne |
| Écriture | Écriture BACnet reçue sur le serveur ou envoyée par le client |
| Timeout | Dépassement du délai d’attente lors d’une lecture client |
| Connexion | Erreur de connexion au daemon |
Filtres disponibles :
Un badge coloré est affiché en permanence dans l’en-tête du plugin :
Il se rafraîchit automatiquement toutes les 30 secondes.
Depuis la page de mapping, vous pouvez :
Besoin : Exposer la température du salon à une GTB
analog-input — Instance : 3001 — Nom : “Température Salon”➜ La GTB peut lire la température via BACnet sur l’instance 3001
Besoin : Permettre à une GTB de modifier la consigne de chauffage
analog-value — Instance : 3002 — Nom : “Consigne Chauffage Salon”➜ Quand la GTB écrit sur l’instance 3002, le thermostat Jeedom est commandé
Besoin : Afficher dans Jeedom la température d’un capteur BACnet (device ID 100, IP 192.168.1.50)
100, IP 192.168.1.50:47808analog-input — Instance : 1Besoin : Modifier la consigne d’un régulateur BACnet depuis un scénario Jeedom
analog-value — Instance : 3 — Priorité : 8Le plugin génère des logs dans la page de logs Jeedom :
| Canal | Contenu |
|---|---|
bacnetStackServer |
Lectures/écritures client, connectivité, cron |
callbackBacnetStackServer |
Écritures reçues sur le serveur depuis le réseau BACnet |
Niveaux :
Q : Quelle est la différence entre analog-value et analog-input ?
R : analog-input est en lecture seule par convention BACnet, analog-value est en lecture/écriture. Pour commander depuis BACnet, utilisez analog-value.
Q : Pourquoi ma checkbox “Sync auto” est grisée ? R : La synchronisation automatique n’est disponible que pour les commandes info. Les commandes action réagissent aux écritures BACnet en temps réel, sans nécessiter de sync auto.
Q : Que se passe-t-il si je ne lie pas de commande Jeedom à un objet serveur ? R : L’objet BACnet existe avec une valeur statique définie dans “Valeur initiale”. Il ne sera pas mis à jour automatiquement.
Q : Puis-je utiliser la même instance pour plusieurs objets ? R : Non, chaque couple Type + Instance doit être unique sur le serveur BACnet.
Q : Les backups prennent-ils de la place ? R : Le plugin garde automatiquement les 10 derniers backups et supprime les plus anciens.
Q : Que signifie “Appliquer à chaud” ? R : Le serveur BACnet met à jour sa configuration sans redémarrage — les connexions actives ne sont pas interrompues.
Q : Comment savoir si un device client est accessible ? R : Consultez la page Supervision → colonne Statut du tableau des devices. La commande “Connectivité” de l’équipement est également disponible pour les scénarios et alertes. Un device est marqué hors-ligne après 3 cycles consécutifs sans réponse.
Q : Quelle est la librairie BACnet utilisée ? R : Le plugin utilise bacnet-stack, une implémentation open source et portable du protocole BACnet/IP.