DevIOIEEventHub
Introduction
L'interface DevIOIEEventHub permet la réception d'événements entrants (incoming calls) au format JSON dans l'environnement DevIO. Cette interface spécialisée gère la communication asynchrone avec des équipements IoT qui envoient des données de manière non sollicitée, typiquement via des webhooks, des notifications push ou des appels HTTP entrants.
Cas d'usage typiques : - Réception de données IoT via webhooks - Intégration d'équipements envoyant des notifications push - Gestion d'événements asynchrones d'équipements distants - Collecte de données non sollicitées (unsolicited data) - Intégration de systèmes tiers via API callbacks
Compatibilité et prérequis
- Versions supportées : DevIO v6.0 et supérieures (version interface V1.0)
- Environnements : Windows (toutes versions compatibles DevIO)
- Dépendances :
- Équipements capables d'envoyer des données JSON
- Connectivité réseau pour recevoir les appels entrants
- Fichier de configuration JSON obligatoire
- Bibliothèque json_spirit pour parsing JSON
- Support des webhooks ou callbacks HTTP
Fonctionnalités supportées
- Événements entrants : Réception d'appels asynchrones JSON
- Données non sollicitées : Traitement d'unsolicited data
- Configuration JSON : Paramétrage via fichier de configuration
- Clés personnalisables : Mapping flexible des champs JSON
- Historique : Support de la récupération d'historique
- Push périodique : Envoi périodique de données vers DevIO
- Multi-équipements : Gestion de plusieurs équipements par interface
- États de données : Support des états et qualités de données
Configuration de l'interface
Paramètres de ligne de commande
| Paramètre | Description | Valeur par défaut |
|---|---|---|
-SERVER |
Nom du serveur DevIO | (obligatoire) |
-NAME |
Nom interne de l'interface | (obligatoire) |
-H |
Activer la gestion d'historique | (flag) |
-PP |
Période de push vers DevIO (s) | 45 |
-E |
Clé JSON pour l'ID équipement | equipmentName |
-B |
Clé JSON pour l'ID bloc | blocName |
-D |
Clé JSON pour l'ID capteur/donnée | dataName |
-V |
Clé JSON pour la valeur | dataValue |
-S |
Clé JSON pour l'état | dataState |
-T |
Clé JSON pour le timestamp | timestamp |
-CF |
Fichier de configuration | (obligatoire) |
-CN |
Nom de configuration | (vide) |
-LOG |
Activer les logs détaillés | (flag) |
Format JSON attendu
{
"equipmentName": "equipment_address",
"blocName": "bloc_address",
"timestamp": "2024-01-01T12:00:00Z",
"data": [
{
"dataName": "temperature",
"dataValue": "25.5",
"dataState": "OK"
},
{
"dataName": "humidity",
"dataValue": "60.2",
"dataState": "OK"
}
]
}
Exemple de configuration
DevIOIEEventHub.exe -SERVER MonServeurDevIO -NAME EventHub_Interface1 -CF config.json -H -PP 30
Configuration du modèle d'équipement dans DevIO Studio
Création de l'équipement
- Créer un nouvel équipement dans DevIO Studio
- Sélectionner le type : Interface d'échange
- Choisir l'interface : DevIOIEEventHub
- Configurer les paramètres :
- Fichier de configuration : Chemin vers le fichier JSON
- Mapping des clés : Correspondance entre JSON et DevIO
- Période de push : Fréquence d'envoi vers DevIO
- Historique : Activation si nécessaire
Configuration des canaux
- Adresse canal : Nom du champ JSON (dataName)
- Type de données : FLOAT, STRING, BOOL selon la donnée
- Mode : Lecture (données reçues de manière asynchrone)
- État : Support des qualités via dataState
- Historique : Configuration selon les besoins
Fichier de configuration
Le fichier de configuration JSON définit la structure des équipements et leurs canaux :
{
"equipments": [
{
"name": "IoT_Device_01",
"address": "device_01",
"channels": [
{
"name": "temperature",
"type": "FLOAT",
"unit": "°C"
},
{
"name": "status",
"type": "STRING"
}
]
}
]
}
Utilisation et supervision
Démarrage de l'interface
L'interface se lance automatiquement avec DevIO ou peut être démarrée manuellement :
DevIOIEEventHub.exe -SERVER MonServeur -NAME EventHub_Interface -CF config.json -H
Surveillance des connexions
- État de connexion : Visible dans DevIO Studio
- Événements entrants : Monitoring des incoming calls
- Données non sollicitées : Suivi des unsolicited data
- Push périodique : Surveillance de l'envoi vers DevIO
- Parsing JSON : Vérification du décodage des messages
Gestion des événements
- Réception asynchrone : Traitement des événements entrants
- Mapping automatique : Correspondance JSON vers canaux DevIO
- États de données : Gestion des qualités et alarmes
- Historique : Stockage des données historiques si activé
FAQ et dépannage
Problèmes courants
Q : Les événements entrants ne sont pas reçus - Vérifier la connectivité réseau et les ports - Contrôler la configuration des webhooks côté équipement - Vérifier le fichier de configuration (-CF)
Q : Erreurs de parsing JSON - Vérifier la syntaxe JSON des messages entrants - Contrôler le mapping des clés (-E, -B, -D, -V, -S, -T) - Utiliser -LOG pour voir les messages reçus
Q : Équipement non trouvé - Vérifier que l'equipmentName correspond à l'adresse configurée - Contrôler la configuration des équipements dans DevIO Studio - Vérifier le fichier de configuration JSON
Q : Données non mises à jour dans DevIO - Contrôler la période de push (-PP) - Vérifier que -H est activé si nécessaire - Contrôler les états des données (dataState)
Q : Problèmes d'historique - Vérifier que -H est activé - Contrôler la configuration des canaux historiques - Vérifier les timestamps dans les messages JSON
Diagnostic
- Utiliser
-LOGpour activer les traces détaillées - Contrôler la réception des messages JSON dans les logs
- Vérifier le mapping des clés personnalisées
- Analyser les erreurs de parsing JSON
- Surveiller les timeouts et reconnexions
Annexes et références utiles
- JSON Spirit Library
- Webhook Best Practices
- IoT Event-Driven Architecture
- DevIO Studio - Gestion des interfaces
- Configuration des canaux industriels
- Standards IoT pour événements asynchrones
- Protocoles de notification push
- Support technique Technilog pour configuration avancée