From 6c7248f08ddfd3ac07da7524a8203652dd8afdd9 Mon Sep 17 00:00:00 2001 From: Antoine Van Elstraete Date: Thu, 6 Nov 2025 17:08:37 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20la=20documentation?= =?UTF-8?q?=20(humaine=20+=20IA)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GEMINI.md | 2 ++ README.md | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/GEMINI.md b/GEMINI.md index 80d2bbe..278fc86 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -40,12 +40,14 @@ Le script principal est organisé de la manière suivante : - Attend un intervalle (`sleep_interval`) avant la prochaine interrogation. 4. **`get_snmp(req)`** : - Fonction `async` qui utilise `pysnmp` pour exécuter les requêtes `GET` SNMP pour tous les OIDs d'un appareil. + - Traite la clé optionnelle `operation` pour appliquer une transformation mathématique. - Retourne un dictionnaire contenant les valeurs formatées. 5. **Fonctions de configuration et MQTT** : - `load_config()` : Charge et valide le fichier `config.yaml`. - `connect_mqtt()` : Initialise le client MQTT. - `publish()` : Wrapper pour publier les messages MQTT. - `publish_ha_autodiscovery_config()` : Construit et publie les messages de configuration pour Home Assistant MQTT Discovery. + - `apply_operation(value, operation_str)` : Fonction d'aide qui applique de manière sécurisée une opération mathématique simple à une valeur. ## 4. Flux de Données diff --git a/README.md b/README.md index de90ce9..30e2e12 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Passerelle SNMP vers MQTT pour l'intégration Home Assistant. Ce script Python s - ⚡ **SNMP asynchrone** : Requêtes SNMP non-bloquantes pour de meilleures performances - 🔄 **Surveillance en temps réel** : Mise à jour continue des métriques réseau - 📊 **Métriques réseau** : Trafic entrant/sortant et statut des interfaces +- 🔢 **Transformation de données** : Appliquez des opérations mathématiques simples (division, multiplication...) pour normaliser les valeurs. ## Architecture @@ -119,6 +120,7 @@ Chaque OID dans la liste `oids` doit contenir : | `HA_device_class` | string | ✅ | Classe d'équipement Home Assistant | | `HA_platform` | string | ✅ | Plateforme Home Assistant ("sensor", "binary_sensor") | | `HA_unit` | string | ❌ | Unité de mesure pour le capteur | +| `operation` | string | ❌ | Opération mathématique à appliquer (ex: "value / 1000") | ### Classes d'équipements Home Assistant courantes @@ -337,6 +339,15 @@ devices: type: "bool" HA_device_class: "connectivity" HA_platform: "binary_sensor" + + # Exemple avec transformation de valeur (température en millidegrés -> degrés) + # - name: "temperature" + # oid: ".1.3.6.1.4.1.14988.1.1.6.1.0" # OID pour la température sur MikroTik + # type: "int" + # operation: "value / 1000" + # HA_device_class: "temperature" + # HA_platform: "sensor" + # HA_unit: "°C" # Switch réseau switch_bureau: