Eric FELIXINE
d4605ee072
Add session resume 2026-05-19
2026-05-19 16:36:08 -04:00
Eric FELIXINE
2377bc07fd
Session 2026-05-19: OpenRemote map display investigation, cleanup, fresh install
...
- Investigated map display issues (agentLink, GeoJSON coords, realm config)
- Cleaned up all dashboards and containers
- Fresh Manager installation (PostgreSQL in recovery)
- Updated TODO.md with current status
- GeoJSON proxy: fixed coordinate order (lon/lat)
- Session resume saved
2026-05-19 16:22:26 -04:00
Eric FELIXINE
d1e6bdb685
docs: add skills inventory to TODO.md (epicollect5, odk, kobo, superset, metabase, contexus)
2026-05-19 15:48:46 -04:00
Eric FELIXINE
47746b584c
fix: OpenRemote PUT 403/409, MQTTv5 callback, geojson-proxy API REST
...
- simulator.py: Fix MQTTv5 callback crash (5th arg *args)
- simulator.py: Fix _or_put() - GET version+realm before PUT, inject version in payload
- simulator.py: Fix token TTL (min 30s cache)
- simulator.py: Round-robin OR updates (~5 assets/iteration instead of 60)
- geojson-proxy: Rewrite using REST API instead of psycopg2 (PG auth issue)
- geojson-proxy: Add sensorType + attributes in properties for map styling
- docker-compose.yml: Add openremote_default network + DB vars for proxy
- docker-compose.yml: Add OR_REALM=master for geojson-proxy
Resolves: OpenRemote 403 (wrong realm in payload), 409 (missing version),
MQTTv5 callback crash, geojson-proxy DB connection failure
2026-05-18 10:04:12 -04:00
Eric FELIXINE
7937e2bb43
Session resume 2026-05-17: sauvegarde finale
2026-05-17 20:05:42 -04:00
Eric FELIXINE
55fabea16a
Documentation géospatiale: GeoServer, PostGIS, MapStore
2026-05-17 19:55:40 -04:00
Eric FELIXINE
7477410813
Session 2026-05-17: GeoServer, PostGIS dédié, MapStore, ChirpStack
...
- GeoServer: workspace Digitribe + Data Store PostGIS dédié
- PostGIS dédié: conteneur postgis-smartcity (PostGIS 3.4)
- Couche sensors: 55 capteurs IoT importés depuis OpenRemote
- MapStore: GeoServer WMS ajouté au CORS
- ChirpStack: credentials réinitialisés (admin/admin1234)
- BunkerM: DNS corrigé (underscores → hyphens)
- Ditto: config MongoDB et auth devops
- Documentation: session_resume + TODO.md
2026-05-17 19:18:24 -04:00
Eric FELIXINE
1006df137d
Session 2026-05-13: Nettoyage infra, BunkerM+Traefik, agentLink→REST, ChirpStack
...
- Nettoyage: suppression conteneurs TTS, anciens Chirpstack, exited/excess
- BunkerM recréé et ajouté à traefik-public (mosquitto2.digitribe.fr)
- Config Traefik mise à jour: 3 fichiers → bunkerm-bunkerm-1
- AgentLink MQTT désactivé sur 25 assets (master+smartcity)
- REST OpenRemote activé dans simulateur (location GeoJSONPoint incluse)
- ChirpStack: nouveau docker-compose dans submodule
2026-05-13 08:05:20 -04:00
Eric FELIXINE
15e9851b9f
Session 2026-05-13: Nettoyage infra, BunkerM+Traefik, agentLink→REST, ChirpStack
...
- Nettoyage: suppression conteneurs TTS, anciens Chirpstack, exited/excess
- BunkerM recréé et ajouté à traefik-public (mosquitto2.digitribe.fr)
- Config Traefik mise à jour: 3 fichiers mosquitto2 → bunkerm-bunkerm-1
- AgentLink MQTT désactivé sur 25 assets (master+smartcity)
- REST OpenRemote activé dans simulateur (location GeoJSONPoint incluse)
- ChirpStack: nouveau docker-compose (postgres, redis, mosquitto, chirpstack)
- Session state documenté dans SESSION_STATE_2026-05-13.md
2026-05-13 08:03:27 -04:00
Eric FELIXINE
5fde1a2c8d
feat(lorawan): démarrage ChirpStack et The Things Stack
...
- ChirpStack opérationnel (port 8080/8090, gateway bridge UDP 1700)
- The Things Stack opérationnel (port 1885/1884, gateway UDP 1701)
- Fichages de configuration créés
- Docker-compose corrigés (réseaux smartcity-shared)
- Désactivation agentLink sur 35 assets du simulateur
- Correction _or_put: suppression If-Match header (403)
- realm smartcity identifié pour les assets du simulateur
2026-05-12 17:34:53 -04:00
Eric FELIXINE
a05e13c30c
feat(lorawan): ajout ChirpStack et The Things Stack
...
- Skills créés: chirpstack-lorawan, the-things-stack-lorawan
- docker-compose.chirpstack.yml: ChirpStack derrière Traefik
- docker-compose.the-things-stack.yml: TTS derrière Traefik
- data-flow-diagram.md: mise à jour avec LoRaWAN
- DOCKER-ARCHITECTURE: ajout conteneurs LoRaWAN
- Subdomaines Traefik: chirpstack, tts
Skills créés dans ~/.hermes/skills/iot/:
- chirpstack-lorawan
- the-things-stack-lorawan
2026-05-12 11:29:30 -04:00
Eric FELIXINE
dbf8b7f5ca
docs: état des lieux localisation capteurs OpenRemote
...
- Documentation des découvertes et corrections appliquées
- Problèmes restants identifiés (connexion MQTT, topics, déconnexion)
- Prochaines étapes recommandées
2026-05-12 08:18:32 -04:00
Eric FELIXINE
7331dbc90b
fix(simulator): corrections finales - topics MQTT, ASSET_MAP, location REST
...
Corrections:
- Topics MQTT: index basé sur position du capteur (pas compteur global itération)
- ASSET_MAP: mise à jour avec bons asset IDs (agentLink + location)
- Payload REST: ajout attribut location (GeoJSONPoint)
- Désactivation PUT REST sur assets avec agentLink (403 Forbidden)
- MQTT OpenRemote: tentative connexion anonyme (rc=5 persistant)
- Keepalive augmenté à 120s pour stabilité
Note: connexion MQTT au broker Artemis d'OpenRemote échoue (rc=5 Not Authorized)
Le broker nécessite une authentification spécifique non documentée.
Les agents MQTT d'OpenRemote ne reçoivent donc pas les données du simulateur.
La location est déjà correctement définie dans les assets en BDD.
2026-05-12 08:07:44 -04:00
Eric FELIXINE
4afed8ff2b
fix(simulator): connexion MQTT OpenRemote sans auth, location dans payload REST, ASSET_MAP corrigé
...
- MQTT OpenRemote: connexion anonyme (pas de credentials) au broker Artemis
- Payload REST: ajout attribut location (GeoJSONPoint) pour chaque capteur
- ASSET_MAP: mise à jour avec les bons asset IDs (ceux avec agentLink + location)
- Topics MQTT: index basé sur position du capteur (pas compteur global)
- Désactivation PUT REST sur assets avec agentLink (403 Forbidden)
- keepalive augmenté à 60s pour stabilité connexion Artemis
2026-05-12 07:34:29 -04:00
Eric FELIXINE
8b87d95ca5
fix: OpenRemote REST - gestion version If-Match pour PUT assets
...
- Récupère la version actuelle de l'asset avant PUT
- Ajoute la version au payload pour éviter HTTP 409 Conflict
- OpenRemote: ✅ les assets sont mis à jour en temps réel
- MQTT OK: 3/4 (EMQX, Mosquitto, BunkerM)
2026-05-11 14:56:27 -04:00
Eric FELIXINE
918c03dffa
fix: Simulateur MQTT 3/4 + OpenRemote master + Mapsettings
...
- MQTT OK: 3/4 (EMQX, Mosquitto, BunkerM)
- OpenRemote: utilise realm master (token fonctionnel)
- Realm smartcity recréé dans Keycloak
- Assets IOTSensor créés dans master (30) et smartcity (30)
- Mapsettings: layers iot-sensors + labels pour master et smartcity
- INTERVAL=5s, réseau openremote_default ajouté
- Dockerfile: --no-cache rebuild
2026-05-11 14:19:53 -04:00
Eric FELIXINE
ae153c4e5e
fix: Traefik routing OpenRemote/Ditto + QuantumLeap config (2026-05-08)
2026-05-08 03:11:13 -04:00
Eric FELIXINE
dfaa240d5a
fix: Stabilisation complète Smart City Digital Twin Martinique
...
- Correction simulateur: nettoyage code FIWARE (erreurs syntaxe)
- Grafana: dashboard complet 10 panneaux sur grafana.digitribe.fr
- InfluxDB: datasource corrigée (bucket smartcity, org digitribe)
- Nettoyage: suppression services FIWARE (Orion-LD, Stellio, QuantumLeap)
- Pipeline validé: Simulator → 3 MQTT brokers → Telegraf → InfluxDB → Grafana
- Dashboard URL: https://grafana.digitribe.fr/d/smartcity-martinique-complete/
Architecture simplifiée:
- 3 MQTT brokers (EMQX, Mosquitto, BunkerM)
- Telegraf pour agrégation
- InfluxDB pour stockage time-series
- Grafana pour visualisation (Traefik: grafana.digitribe.fr)
2026-05-08 01:10:30 -04:00
Eric FELIXINE
552dba20d6
Fix: Grafana dashboard (validated data) + MapStore backend + Stellio docs
...
- ✅ Grafana: Data confirmed in CrateDB (time_index in ms)
- ✅ MapStore: Backend fixed (PostgreSQL config corrected, tables created)
- ✅ Stellio: Documented as future work (NGSI-LD vs NGSI-v2 format mismatch)
- 📊 Dashboard available: https://grafana.digitribe.fr/d/smartcity-fixed-2026
2026-05-07 18:58:47 -04:00
Eric FELIXINE
9187ddfca6
Fix: Grafana dashboard Orion-LD + Stellio persistence investigation
...
- ✅ Grafana dashboard updated with proper time filters
- ✅ Orion-LD pipeline validated (6 tables, 5+ rows in CrateDB)
- ❌ Stellio pipeline blocked: QuantumLeap /v2/notify doesn't support NGSI-LD native format (TypeError: argument of type 'float' is not iterable)
- 📝 QuantumLeap expects NGSI-v2 format ({"value": X, "type": "Number"}) but receives NGSI-LD (direct values)
Next steps:
- Focus on Orion-LD pipeline (working)
- Consider Stellio as experimental / future work
2026-05-07 18:35:47 -04:00
Eric FELIXINE
56fb3f3c50
ADD: Updated architecture with Stellio pipeline diagram
2026-05-07 16:57:12 -04:00
Eric FELIXINE
be13c9a2d7
FIX: Mosquitto healthcheck - replace bash with nc
2026-05-07 15:14:51 -04:00
Eric FELIXINE
5a5234f868
FIX: Pulsar Manager credentials + MapStore static files + CrateDB tables + QuantumLeap persistence
2026-05-07 15:07:10 -04:00
Eric FELIXINE
66a22a2421
Fix: InfluxDB token + bucket iot_data créé
...
- Token InfluxDB corrigé dans simulator.py (my-super-token)
- Bucket iot_data créé dans InfluxDB
- CrateDB-Stellio ports sécurisés (suppression exposition publique)
- Healthchecks MongoDB/Mosquitto corrigés
- Nettoyage container digital-twin-grafana
2026-05-07 10:41:16 -04:00
Eric FELIXINE
007e7eb2ff
Fix: Sécurisation CrateDB-Stellio + healthchecks MongoDB/Mosquitto
...
- Suppression exposition publique ports CrateDB-Stellio (sécurité)
- Ajout service iot-mongodb avec healthcheck fonctionnel (mongo ping)
- Correction healthcheck Mosquitto (port check au lieu de topic)
- Nettoyage container digital-twin-grafana en conflit
2026-05-07 10:35:52 -04:00
Eric FELIXINE
227a799e94
Résumé final session 2026-05-06 - 60 assets MQTT créés
2026-05-06 22:48:46 -04:00
Eric FELIXINE
67ac37545e
Mise à jour resume session - Assets OpenRemote finalisés
2026-05-06 22:39:21 -04:00
Eric FELIXINE
6162cf0b13
Rapport final 2026-05-06 - Infrastructure Smart City
...
- BunkerM accessible, Stellio pipeline actif
- 6 tables CrateDB, dashboards Grafana (AirQuality, Traffic, Weather)
- OpenRemote: API 405 à résoudre (assets à créer via UI)
- Services unhealthy identifiés (CrateDB Stellio, Mosquitto, MongoDB)
- ThingsBoard en boucle redémarrage
- 30 capteurs attendus (SENSOR_COUNT=30)
2026-05-06 21:59:23 -04:00
Eric FELIXINE
41f39a3faa
Session resume 2026-05-06 - État infrastructure Smart City
...
- BunkerM accessible, Stellio pipeline actif
- 6 tables CrateDB créées, Grafana AirQuality OK
- OpenRemote API 405 à résoudre (assets à créer)
- 30 capteurs attendus (10 par broker)
2026-05-06 21:55:41 -04:00
Eric FELIXINE
0c787b154a
IoT Agents: suppression healthcheck + BunkerM configuré pour Stellio (NGSI-LD)
...
- Suppression healthcheck (curl/nc indisponibles dans les conteneurs)
- IoT Agent BunkerM reconfiguré: IOTA_CB_HOST=stellio-api-gateway, IOTA_CB_NGSI_VERSION=ld
- En attente vérification pipeline Stellio
2026-05-06 21:32:33 -04:00
Eric FELIXINE
b6c627a639
Correction BunkerM domaine: mosquitto2.digitribe.fr
2026-05-06 21:27:10 -04:00
Eric FELIXINE
362a9d1f6b
Architecture mise à jour (07 Mai 2026)
...
- Correction flux : Simulateur → MQTT Brokers → IoT Agents → Orion-LD/Stellio → QuantumLeap → CrateDB
- IoT Agents fonctionnels (EMQX:4041, Mosquitto:4042, BunkerM:4043)
- Pipeline Orion-LD validé (CrateDB: quantumleap.etairqualityobserved)
- BunkerM domaine corrigé : mosquitto2.digitribe.fr:1900
- Simulateur publie sur topics smartcity-api-key/{sid}/attrs
2026-05-06 21:26:21 -04:00
Eric FELIXINE
1ac8cf7117
fix: CrateDB-Stellio + table quantumleap_stellio
2026-05-06 20:22:53 -04:00
Eric FELIXINE
c27c2c10af
fix: QuantumLeap + Redis + simulateur MQTT-only + données test CrateDB
2026-05-06 19:26:13 -04:00
Eric FELIXINE
64022bd9ab
fix: Simulateur publie sur 3 brokers (emqx, mosquitto, bunkerm) avec préfixe json/
2026-05-06 17:50:06 -04:00
Eric FELIXINE
380c92cc19
docs: Final architecture - 2 CrateDB datasources in Grafana (Orion + Stellio)
2026-05-06 17:46:41 -04:00
Eric FELIXINE
91ade0ad20
docs: Add multi-Context Broker architecture (Orion-LD + Stellio separate pipelines)
2026-05-06 17:32:35 -04:00
Eric FELIXINE
3df9f914fa
docs: Final session resume 2026-05-06 - 3 IoT Agents, Orion-LD, Stellio next steps
2026-05-06 17:30:28 -04:00
Eric FELIXINE
4667d8873c
docs: Update HTML diagram - 3 IoT Agents architecture
2026-05-06 17:22:21 -04:00
Eric FELIXINE
07bb3384b9
docs: Update data flow diagram - 3 IoT Agents per broker, Orion-LD, QuantumLeap
2026-05-06 17:21:41 -04:00
Eric FELIXINE
75d67bea66
docs: Network audit complete - all containers on smartcity-shared
2026-05-06 17:05:31 -04:00
Eric FELIXINE
ff4cd349b6
docs: Final session resume 2026-05-06 - QuantumLeap fix, Grafana next steps
2026-05-06 17:02:36 -04:00
Eric FELIXINE
a085aeca44
chore: Smart City update - QuantumLeap fix, IoT-Agent integration, simulator update
2026-05-06 17:01:39 -04:00
Eric FELIXINE
3cbacbaa8c
fix: QuantumLeap use CRATE_HOST/PORT instead of QL_CRATEDB_*
2026-05-06 16:50:02 -04:00
Eric FELIXINE
00b55a29a2
docs: Add session resume 2026-05-06 - IoT-Agent integration and QuantumLeap setup
2026-05-06 16:36:55 -04:00
Eric FELIXINE
0c1b75fcd3
feat: Add IoT-Agent integration - simulator publishes to smartcity-api-key/{sid}/attrs via EMQX
2026-05-06 16:20:05 -04:00
Eric FELIXINE
303d6f3eb2
docs: Update data-flow-diagram with IoT-Agent, QuantumLeap, CrateDB architecture (2026-05-06)
2026-05-06 15:47:07 -04:00
Eric FELIXINE
0ba25ef1a8
Session 2026-05-06: QuantumLeap+CrateDB, Telegraf debug, MapStore GeoServer fix
2026-05-06 13:23:58 -04:00
Eric FELIXINE
b73b02f39d
Fix MQTT broker name: mosquitto-traefik -> mainfluxlabs-mosquitto
2026-05-06 11:17:22 -04:00
Eric FELIXINE
9bafa5da6a
chore: remove log file from repo
2026-05-05 22:12:49 -04:00