Aller au contenu

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

  1. Créer un nouvel équipement dans DevIO Studio
  2. Sélectionner le type : Interface d'échange
  3. Choisir l'interface : DevIOIEEventHub
  4. Configurer les paramètres :
  5. Fichier de configuration : Chemin vers le fichier JSON
  6. Mapping des clés : Correspondance entre JSON et DevIO
  7. Période de push : Fréquence d'envoi vers DevIO
  8. 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 -LOG pour 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