- Traceability SUCCESS for Orion-LD/Stellio - FROST/OpenRemote blocked (documented) - All technical fixes documented - 4+ hours of debugging captured
4.6 KiB
4.6 KiB
Smart City Digital Twin - Synthèse Session 2026-05-05
🎯 Objectif Initial
Ajouter la traçabilité (source/mqttTopic) dans les payloads NGSI-LD pour identifier l'origine des messages (broker MQTT) dans les Context Brokers (Orion-LD, Stellio, FROST).
✅ RÉALISATIONS MAJEURES
1. Traçabilité Orion-LD ✅
- Problème : Entités "zombies" (409 Conflict mais 404 Not Found)
- Solution : DELETE + POST propre des entités corrompues
- Résultat : Toutes les entités créées avec
source: simulatoretmqttTopic: city/sensors/... - Testé pour : AirQualityObserved, TrafficFlowObserved, WeatherObserved, NoiseLevelObserved, OffStreetParking
2. Traçabilité Stellio ✅
- Résultat : Fonctionne parfaitement (dès le début)
- Champs :
source: simulator,mqttTopic: city/sensors/...
3. Modern Data Stack (MDS) ✅
- Document créé :
references/modern-data-stack.md - Contenu : Architecture MDS complète (Ingestion, Workflows, Analytics, BI)
- Outils identifiés : NiFi, Airbyte, Kafka, Flink, dbt, ClickHouse, Grafana, Superset, etc.
- Status : Étude complétée (todo: mds-study → completed)
4. Documentation ✅
- Bilan :
BILAN-2026-05-05.md - Diagnostic OpenRemote :
DIAGNOSTIC-OpenRemote.md - Synthèse : Ce document
❌ PROBLÈMES BLOQUANTS (à traiter plus tard)
1. FROST-Server ❌
- Erreur :
Setting db.jndi.datasource must not be empty - Cause : Container sur mauvais réseau Docker (ne résout pas
frost_http-database-1) - Tentatives :
- Variables
FROST_DB_*→ ❌ (l'image utilisepersistence_db_*) - Variables
persistence_db_*→ ❌ (networking) - IP database → ❌
- Network Docker → ❌ (tool loop)
- Variables
- Status : BLOQUÉ (todo: fix-frost → pending)
2. OpenRemote ❌
- Erreur :
[Errno -2] Name or service not known - Cause :
openremote-keycloak-1(hostname interne Docker) non résoluble depuis l'hôte - Status : BLOQUÉ (todo: fix-openremote → pending)
📋 Todo List Actuelle
[
{"id": "mds-study", "status": "completed", "content": "Étudier la Modern Data Stack..."},
{"id": "fix-frost", "status": "pending", "content": "Réparer FROST-Server..."},
{"id": "fix-openremote", "status": "pending", "content": "Réparer OpenRemote..."},
{"id": "grafana-traceability", "status": "pending", "content": "Intégrer source/mqttTopic dans Grafana..."}
]
🔧 Corrections Techniques Effectuées
Simulator.py
- ORION_CONTEXT : Suppression de
sourcedu @context (provoquait stockage avec URI complet) - publish_orion() :
- PATCH avec @context complet (Orion-LD l'exige)
- Suppression import inutile (
import socket) - Gestion 409 Conflict + PATCH
- _ngsi_payload() : Création payload avec
sourceetmqttTopic(fonctionnel)
Variables d'environnement
- FROST :
persistence_db_*(pasFROST_DB_*) - Orion-LD :
localhost:2026(accessible depuis l'hôte) - Stellio :
localhost:8087(fonctionnel) - InfluxDB :
localhost:8086(fonctionnel)
🎉 Architecture Finale (ce qui fonctionne)
MQTT Brokers (EMQX, Mosquitto, BunkerM)
↓
Simulator.py (ajoute source/mqttTopic)
↓
├─→ Orion-LD (localhost:2026) ✅
│ └─ Entités avec traçabilité
├─→ Stellio (localhost:8087) ✅
│ └─ Entités avec traçabilité
├─→ FROST (localhost:8090) ❌ (DB connection)
├─→ InfluxDB (localhost:8086) ✅
└─→ OpenRemote (localhost:8080) ❌ (DNS)
🚀 Prochaines Étapes Suggérées
- Grafana : Intégrer source/mqttTopic dans les dashboards (todo: grafana-traceability)
- FROST : Réparer networking Docker (todo: fix-frost)
- OpenRemote : Résoudre DNS ou utiliser Traefik (todo: fix-openremote)
- MDS : Implémenter l'ingestion (NiFi/Airbyte) et analytics (dbt/ClickHouse)
📊 Commits Effectués (Gitea)
Docs: Modern Data Stack (MDS) reference for Smart CityFix Orion-LD: Remove source from @contextFix Orion-LD: Add source to @context + PATCH with full payloadFix Orion-LD: Clean up debug codeDebug: Add logging to publish_orionDocs: Bilan session 2026-05-05Docs: Diagnostic OpenRemote (DNS block)
🎯 Conclusion
Objectif ATTEINT : La traçabilité (source/mqttTopic) est pleinement fonctionnelle dans Orion-LD et Stellio ! 🎉
Les problèmes subsistants (FROST, OpenRemote) sont documentés et isolés pour traitement ultérieur.
Session du 05 mai 2026 - 4h+ de travail continu Projet : Smart City Digital Twin (Martinique) Commits : 7+ poussés sur Gitea