Commit Graph

33 Commits

Author SHA1 Message Date
Eric FELIXINE
01c2be4930 feat(simulator): real-time (1s), fix ENABLE_PULSAR, add Pulsar/Redpanda publish, fix InfluxDB URL
- Change INTERVAL to 1s for real-time sensor data
- Fix ENABLE_PULSAR comparison (accept 'true'/'false' strings)
- Add publish_pulsar() and publish_redpanda() functions
- Fix InfluxDB URL (smart-city-influxdb instead of digital-twin-influxdb)
- Add docker-compose.yml with simulator service
- Add redpanda config and start script
- Add session_resume_2026-05-05.md
2026-05-05 02:53:43 -04:00
Eric FELIXINE
6ee9e5103e Fix OpenRemote: Use localhost:8080 for token URL
- Replace openremote-keycloak-1 (internal Docker) with localhost:8080 (Traefik)
- Fixes [Errno -2] Name or service not known error
2026-05-04 23:43:46 -04:00
Eric FELIXINE
92a3026a7b Fix Orion-LD: Clean up debug code
- Remove debug print statements from publish_orion()
- Orion-LD now works: DELETE + POST fixes zombie entities
- All entities now created with source/mqttTopic fields
- Traceability fully functional for AirQualityObserved
2026-05-04 23:29:51 -04:00
Eric FELIXINE
f3345ff7fe Debug: Add logging to publish_orion to trace POST vs PATCH
- Print entity ID before POST
- Print 409 Conflict message explicitly
- This will help understand why entities are not being created
2026-05-04 23:26:44 -04:00
Eric FELIXINE
8fcfb4046a Fix Orion-LD: Remove source from @context
- Testing shows Orion-LD stores source properly WITHOUT defining it in @context
- When defined in @context, it's stored with full URI as key
- Without @context definition, source is stored and returned correctly
- Simulator now creates entities with proper source/mqttTopic fields
2026-05-04 23:16:54 -04:00
Eric FELIXINE
1ed03b5a57 Fix Orion-LD: Add source to @context + PATCH with full payload
- ORION_CONTEXT now includes source definition (uri.fiware.org)
- PATCH /entities/{id}/attrs now sends full entity (with @context)
- Orion-LD requires @context even in PATCH requests
- This fixes 400 Bad Request errors on update
2026-05-04 23:12:56 -04:00
Eric FELIXINE
6c8949f20f Fix publish_orion: PATCH sends attrs only (not id/type/@context)
- PATCH /entities/{eid}/attrs now sends only attributes
- This allows updating entities with new fields (source, mqttTopic)
2026-05-04 23:03:02 -04:00
Eric FELIXINE
1f61982e56 Simulator: Fix FROST container (frost_http-web-1 image, port 8090) 2026-05-04 22:46:37 -04:00
Eric FELIXINE
5fe800af0d Simulator: Fix INFLUX_URL (localhost:8086 not Docker internal) 2026-05-04 22:45:03 -04:00
Eric FELIXINE
d9cb0531cb Simulator: Fix FROST port 8088 + traceability fields
- FROST_URL: localhost:8088 (avoid 8086 conflict with InfluxDB)
- Orion-LD: localhost:2026 (not Docker internal hostname)
- source field (NGSI-LD standard) for broker identification
- mqttTopic field (custom) for MQTT topic tracing
- Updated references/data-models.md with schemas
2026-05-04 22:41:45 -04:00
Eric FELIXINE
cad1c06422 Simulator: Add source+mqttTopic traceability for Fiware brokers 2026-05-04 22:25:23 -04:00
Eric FELIXINE
7f0543de85 Simulator: Stellio URL to localhost:8087 (exposed container) 2026-05-04 22:01:18 -04:00
Eric FELIXINE
a2502eff91 Simulator: FROST_URL default to localhost:8086 (expose frost_http-web-1:8080) 2026-05-04 21:57:57 -04:00
Eric FELIXINE
4fc233d138 Simulator: default MQTT hosts to localhost (not host.docker.internal) 2026-05-04 21:55:25 -04:00
Eric FELIXINE
88f0d1e675 Simulator: use localhost URLs for Fiware brokers (Orion:2026, Stellio:8080) 2026-05-04 21:49:59 -04:00
Eric FELIXINE
5abab6cc00 Simulator: BunkerM port 1900 is MQTT simple (not TLS) - connection fix 2026-05-04 21:35:39 -04:00
Eric FELIXINE
2660d5946a Simulator: re-add BunkerM (MQTTS) to broker list 2026-05-04 21:08:17 -04:00
Eric FELIXINE
25e490c758 Simulator: fix variable placement (outside docstring) + host.docker.internal support 2026-05-04 21:01:09 -04:00
Eric FELIXINE
2e15a48303 Simulator: use host.docker.internal as default (Docker robust) 2026-05-04 20:53:46 -04:00
Eric FELIXINE
816f5fcddc Simulator: use localhost for MQTT brokers (fix DNS resolution) 2026-05-04 20:53:10 -04:00
Eric FELIXINE
ee708fb4ab Fix: InfluxDB async write + Grafana Org rename + GeoServer workspace 2026-05-04 18:37:29 -04:00
Eric FELIXINE
42d1223b14 GeoServer workspace Digitribe + InfluxDB support + data flow diagrams 2026-05-04 18:13:48 -04:00
Eric FELIXINE
df725eadbc Fix OpenRemote auth (password grant + client_secret), add Grafana dashboard, update session resume 2026-05-04 2026-05-04 17:34:24 -04:00
Eric FELIXINE
818ebbce6d fix(simulator): add async threads for FROST/Orion/Stellio
- Non-blocking calls via threading for external brokers
- FROST_URL fixed: frost_http-web-1:8080
- Healthcheck uses Python (no wget/curl)
- InfluxDB writes no longer blocked by slow brokers

 Simulator now HEALTHY with async broker calls
2026-05-04 14:56:03 -04:00
Eric FELIXINE
aa42a213bb fix: Stellio/Orion - use NGSI-LD core context only (remove raw.githubusercontent.com)
- STELLIO_INLINE_CONTEXT: replaced long inline dict with uri.etsi.org core URL
- ORION_CONTEXT: removed raw.githubusercontent.com URLs (not accessible from containers)
- publish_stellio(): added NGSILD-Tenant header (urn:ngsi-ld:tenant:default)
- publish_stellio(): keep @context in payload (Stellio needs it to resolve vocabulary)
- Added STELLIO_URL and STELLIO_TENANT env vars for host-based execution via Traefik

Fixes: Stellio 503 JsonLdError, Orion-LD context resolution failures.
Tested: Stellio 201, Orion-LD 207.
2026-05-04 10:35:18 -04:00
Eric FELIXINE
ba13bf1321 fix: minimal NGSI-LD context without @vocab (Stellio compatible) 2026-05-04 10:09:08 -04:00
Eric FELIXINE
16c02c91dc fix: use Gitea raw context URL for Stellio (replaces blocked ETSI URL) 2026-05-04 09:57:33 -04:00
Eric FELIXINE
871194a5e3 feat: Smart Data Models + FROST/NGSI-LD fixes
- Intégration Smart Data Models (AirQualityObserved, TrafficFlowObserved, etc.)
- Payloads NGSI-LD avec @context officiels smartdatamodels.org
- FROST: Ajout FeatureOfInterest dans Observations (fix 400)
- FROST: Migration HTTP-only + suppression Locations du Thing
- URLs unités QUDT corrigées
- OpenRemote: Token realm smartcity (en attente 401)
- Orion-LD/Stellio: 204 success avec Smart Data Models
2026-05-03 10:53:55 -04:00
Eric FELIXINE
e8270b7d73 Fix: OpenRemote token with admin-cli password grant, add OR_TOKEN_REALM, fix FROST_URL 2026-05-03 08:47:47 -04:00
Eric FELIXINE
8bb0381fff fix: OpenRemote token Basic Auth + corrected URLs (Keycloak container name)
- Use Basic Auth for client_secret_basic
- OR_TOKEN_URL points to openremote-keycloak-1 container
- Assets copied to smartcity realm DB
2026-05-03 03:08:24 -04:00
Eric FELIXINE
29af64e90e feat: OpenRemote smartcity realm support + DB assets copy + fixed auth
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-03 02:49:25 -04:00
Eric FELIXINE
75d8db5a3e fix: OpenRemote auth via client credentials (service account) 2026-05-03 02:09:44 -04:00
Eric FELIXINE
78e1d51c25 feat: Smart City Digital Twin Martinique - Simulateur IoT multi-broker 2026-05-03 01:13:22 -04:00