[INFLUX] ✅ Connected to http://localhost:8086
╔══════════════════════════════════════════════════╗
║  Smart City Simulator — Martinique               ║
╚══════════════════════════════════════════════════╝
[CFG] Capteurs: 10  |  Intervalle: 1s
[CFG] Orion-LD: True  |  Stellio: True  |  FROST: True
[CFG] InfluxDB: True  |  Pulsar: True  |  Redpanda: True
[PULSAR] ⚠️  Cannot reach http://smart-city-pulsar:8080: <urlopen error [Errno -2] Name or service not known>
  🌪️ DEBUG: Test Pulsar direct...
2026-05-05 17:05:44.704 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:44.704 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:44.705 ERROR [124414442075840] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:44.705 ERROR [124414442075840] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:44.705 INFO  [124414442075840] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:44.705 ERROR [124414442075840] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-air-quality -- ConnectError
2026-05-05 17:05:44.705 INFO  [124414442075840] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️ DEBUG: Test Pulsar result: False
[REDPANDA] ⚠️  Cannot reach http://localhost:8082: HTTP Error 404: Not Found
[MQTT] 🔌 Connexion aux brokers...
/home/eric/smart-city-digital-twin-martinique/simulator.py:407: DeprecationWarning: Callback API version 1 is deprecated, update to latest version
  c = mqtt.Client(client_id=cid, protocol=mqtt.MQTTv311)
[MQTT]   ✅ EMQX connecté
[MQTT]   ❌ Mosquitto @ localhost:1883 → [Errno 111] Connection refused
[MQTT]   ✅ BunkerM connecté

[SIM] ⏱️  It #1 — 17:05:47
  📤 city/sensors/traffic/traffic_000 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing traffic_000...
  ✅ FROST Thing traffic_000 créé (ID: 62)
  📊 FROST: POST Datastream traffic_000/vehicle_count...
  ✅ FROST Datastream traffic_000/vehicle_count créé (ID: 265)
  📊 FROST: POST Datastream traffic_000/average_speed_kmh...
  ✅ FROST Datastream traffic_000/average_speed_kmh créé (ID: 266)
  📊 FROST: POST Datastream traffic_000/congestion_level...
  ✅ FROST Datastream traffic_000/congestion_level créé (ID: 267)
  📊 FROST: POST Datastream traffic_000/occupancy_percent...
  ✅ FROST Datastream traffic_000/occupancy_percent créé (ID: 268)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(265)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation traffic_000/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_000, payload_mqtt exists: True
2026-05-05 17:05:48.018 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:48.019 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:48.019 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:48.019 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:48.019 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:48.019 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:48.019 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing traffic_001...
  ✅ FROST Thing traffic_001 créé (ID: 63)
  📊 FROST: POST Datastream traffic_001/vehicle_count...
  ✅ FROST Datastream traffic_001/vehicle_count créé (ID: 269)
  📊 FROST: POST Datastream traffic_001/average_speed_kmh...
  ✅ FROST Datastream traffic_001/average_speed_kmh créé (ID: 270)
  📊 FROST: POST Datastream traffic_001/congestion_level...
  ✅ FROST Datastream traffic_001/congestion_level créé (ID: 271)
  📊 FROST: POST Datastream traffic_001/occupancy_percent...
  ✅ FROST Datastream traffic_001/occupancy_percent créé (ID: 272)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(269)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation traffic_001/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_001, payload_mqtt exists: True
2026-05-05 17:05:56.785 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:56.785 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:56.786 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:56.786 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:56.786 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:56.786 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:56.786 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing traffic_002...
  ✅ FROST Thing traffic_002 créé (ID: 64)
  📊 FROST: POST Datastream traffic_002/vehicle_count...
  ✅ FROST Datastream traffic_002/vehicle_count créé (ID: 273)
  📊 FROST: POST Datastream traffic_002/average_speed_kmh...
  ✅ FROST Datastream traffic_002/average_speed_kmh créé (ID: 274)
  📊 FROST: POST Datastream traffic_002/congestion_level...
  ✅ FROST Datastream traffic_002/congestion_level créé (ID: 275)
  📊 FROST: POST Datastream traffic_002/occupancy_percent...
  ✅ FROST Datastream traffic_002/occupancy_percent créé (ID: 276)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(273)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation traffic_002/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_002, payload_mqtt exists: True
2026-05-05 17:06:05.924 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:06:05.924 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:05.924 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:06:05.925 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:06:05.925 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:05.925 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:06:05.925 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing airquality_003...
  ✅ FROST Thing airquality_003 créé (ID: 65)
  📊 FROST: POST Datastream airquality_003/pm25_ugm3...
  ✅ FROST Datastream airquality_003/pm25_ugm3 créé (ID: 277)
  📊 FROST: POST Datastream airquality_003/pm10_ugm3...
  ✅ FROST Datastream airquality_003/pm10_ugm3 créé (ID: 278)
  📊 FROST: POST Datastream airquality_003/no2_ugm3...
  ✅ FROST Datastream airquality_003/no2_ugm3 créé (ID: 279)
  📊 FROST: POST Datastream airquality_003/o3_ugm3...
  ✅ FROST Datastream airquality_003/o3_ugm3 créé (ID: 280)
  📊 FROST: POST Datastream airquality_003/co_mgm3...
  ✅ FROST Datastream airquality_003/co_mgm3 créé (ID: 281)
  📊 FROST: POST Datastream airquality_003/temperature_celsius...
  ✅ FROST Datastream airquality_003/temperature_celsius créé (ID: 282)
  📊 FROST: POST Datastream airquality_003/humidity_percent...
  ✅ FROST Datastream airquality_003/humidity_percent créé (ID: 283)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(277)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation airquality_003/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_003, payload_mqtt exists: True
2026-05-05 17:06:14.807 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:06:14.807 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:14.808 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:06:14.808 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:06:14.808 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:14.808 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:06:14.808 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing airquality_004...
  ✅ FROST Thing airquality_004 créé (ID: 66)
  📊 FROST: POST Datastream airquality_004/pm25_ugm3...
  ✅ FROST Datastream airquality_004/pm25_ugm3 créé (ID: 284)
  📊 FROST: POST Datastream airquality_004/pm10_ugm3...
  ✅ FROST Datastream airquality_004/pm10_ugm3 créé (ID: 285)
  📊 FROST: POST Datastream airquality_004/no2_ugm3...
  ✅ FROST Datastream airquality_004/no2_ugm3 créé (ID: 286)
  📊 FROST: POST Datastream airquality_004/o3_ugm3...
  ✅ FROST Datastream airquality_004/o3_ugm3 créé (ID: 287)
  📊 FROST: POST Datastream airquality_004/co_mgm3...
  ✅ FROST Datastream airquality_004/co_mgm3 créé (ID: 288)
  📊 FROST: POST Datastream airquality_004/temperature_celsius...
  ✅ FROST Datastream airquality_004/temperature_celsius créé (ID: 289)
  📊 FROST: POST Datastream airquality_004/humidity_percent...
  ✅ FROST Datastream airquality_004/humidity_percent créé (ID: 290)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(284)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:06:23.549 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:06:23.549 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:23.549 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:06:23.549 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:06:23.549 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:23.549 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:06:23.549 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_005...
  ✅ FROST Thing parking_005 créé (ID: 67)
  📊 FROST: POST Datastream parking_005/total_spots...
  ✅ FROST Datastream parking_005/total_spots créé (ID: 291)
  📊 FROST: POST Datastream parking_005/available_spots...
  ✅ FROST Datastream parking_005/available_spots créé (ID: 292)
  📊 FROST: POST Datastream parking_005/occupancy_percent...
  ✅ FROST Datastream parking_005/occupancy_percent créé (ID: 293)
  📊 FROST: POST Datastream parking_005/turnover_per_hour...
  ✅ FROST Datastream parking_005/turnover_per_hour créé (ID: 294)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(291)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation parking_005/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_005, payload_mqtt exists: True
2026-05-05 17:06:32.519 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:06:32.519 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:32.519 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:06:32.519 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:06:32.519 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:32.519 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:06:32.519 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_006...
  ✅ FROST Thing parking_006 créé (ID: 68)
  📊 FROST: POST Datastream parking_006/total_spots...
  ✅ FROST Datastream parking_006/total_spots créé (ID: 295)
  📊 FROST: POST Datastream parking_006/available_spots...
  ✅ FROST Datastream parking_006/available_spots créé (ID: 296)
  📊 FROST: POST Datastream parking_006/occupancy_percent...
  ✅ FROST Datastream parking_006/occupancy_percent créé (ID: 297)
  📊 FROST: POST Datastream parking_006/turnover_per_hour...
  ✅ FROST Datastream parking_006/turnover_per_hour créé (ID: 298)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(295)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation parking_006/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_006, payload_mqtt exists: True
2026-05-05 17:06:41.147 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:06:41.147 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:41.148 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:06:41.148 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:06:41.148 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:41.148 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:06:41.148 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing noise_007...
  ✅ FROST Thing noise_007 créé (ID: 69)
  📊 FROST: POST Datastream noise_007/noise_level_db...
  ✅ FROST Datastream noise_007/noise_level_db créé (ID: 299)
  📊 FROST: POST Datastream noise_007/peak_db...
  ✅ FROST Datastream noise_007/peak_db créé (ID: 300)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(299)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation noise_007/peak_db → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for noise_007, payload_mqtt exists: True
2026-05-05 17:06:50.584 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:06:50.584 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:50.585 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:06:50.585 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:06:50.585 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:06:50.585 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:06:50.585 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 2 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing weather_008...
  ✅ FROST Thing weather_008 créé (ID: 70)
  📊 FROST: POST Datastream weather_008/temperature_celsius...
  ✅ FROST Datastream weather_008/temperature_celsius créé (ID: 301)
  📊 FROST: POST Datastream weather_008/humidity_percent...
  ✅ FROST Datastream weather_008/humidity_percent créé (ID: 302)
  📊 FROST: POST Datastream weather_008/wind_speed_kmh...
  ✅ FROST Datastream weather_008/wind_speed_kmh créé (ID: 303)
  📊 FROST: POST Datastream weather_008/pressure_hpa...
  ✅ FROST Datastream weather_008/pressure_hpa créé (ID: 304)
  📊 FROST: POST Datastream weather_008/rain_mm...
  ✅ FROST Datastream weather_008/rain_mm créé (ID: 305)
  📊 FROST: POST Datastream weather_008/uv_index...
  ✅ FROST Datastream weather_008/uv_index créé (ID: 306)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(301)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation weather_008/humidity_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/wind_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/pressure_hpa → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/rain_mm → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/uv_index → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for weather_008, payload_mqtt exists: True
2026-05-05 17:07:01.783 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:07:01.783 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:01.784 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:07:01.784 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:07:01.784 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:01.784 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:07:01.784 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 6 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing light_009...
  ✅ FROST Thing light_009 créé (ID: 71)
  📊 FROST: POST Datastream light_009/brightness_lux...
  ✅ FROST Datastream light_009/brightness_lux créé (ID: 307)
  📊 FROST: POST Datastream light_009/power_consumption_w...
  ✅ FROST Datastream light_009/power_consumption_w créé (ID: 308)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(307)/Observations → 400: {"code":400,"type":"error","message":"No FeatureOfInterest provided, and none can be generated."}
  📊 FROST:    ❌
  ✅ FROST Observation light_009/power_consumption_w → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for light_009, payload_mqtt exists: True
2026-05-05 17:07:10.277 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:07:10.278 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:10.281 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:07:10.281 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:07:10.281 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:10.281 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:07:10.281 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 2 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 2/3 | OR: True

[SIM] ⏱️  It #2 — 17:07:19
  📤 city/sensors/traffic/traffic_000 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_000/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_000, payload_mqtt exists: True
2026-05-05 17:07:19.578 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:07:19.578 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:19.581 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:07:19.581 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:07:19.581 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:19.581 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:07:19.581 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_001/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_001, payload_mqtt exists: True
2026-05-05 17:07:27.911 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:07:27.911 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:27.914 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:07:27.914 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:07:27.914 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:27.915 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:07:27.915 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_002/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_002, payload_mqtt exists: True
2026-05-05 17:07:36.328 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:07:36.328 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:36.329 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:07:36.329 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:07:36.329 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:36.329 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:07:36.329 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_003/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_003, payload_mqtt exists: True
2026-05-05 17:07:45.118 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:07:45.118 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:45.119 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:07:45.119 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:07:45.119 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:45.119 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:07:45.119 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:07:53.789 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:07:53.789 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:53.790 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:07:53.790 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:07:53.790 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:07:53.790 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:07:53.790 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_005/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_005, payload_mqtt exists: True
2026-05-05 17:08:03.373 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:03.373 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:03.374 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:03.374 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:03.374 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:03.374 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:08:03.374 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/parking/parking_006 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_006/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_006, payload_mqtt exists: True
2026-05-05 17:08:05.701 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:05.701 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:05.702 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:05.702 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:05.702 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:05.702 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:08:05.702 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  🐟 Redpanda: ✅
  📤 city/sensors/noise/noise_007 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation noise_007/noise_level_db → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation noise_007/peak_db → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for noise_007, payload_mqtt exists: True
2026-05-05 17:08:06.139 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:06.139 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:06.140 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:06.140 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:06.140 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:06.140 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:08:06.140 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  🐟 Redpanda: ✅
  📤 city/sensors/weather/weather_008 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 2 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation weather_008/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/humidity_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/wind_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/pressure_hpa → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/rain_mm → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/uv_index → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for weather_008, payload_mqtt exists: True
2026-05-05 17:08:06.985 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:06.985 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:06.986 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:06.986 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:06.987 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:06.987 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:08:06.987 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  🐟 Redpanda: ✅
  📤 city/sensors/light/light_009 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 6 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation light_009/brightness_lux → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation light_009/power_consumption_w → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for light_009, payload_mqtt exists: True
2026-05-05 17:08:07.726 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:07.726 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:07.727 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:07.727 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:07.727 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:07.727 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:08:07.727 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  🐟 Redpanda: ✅
[SIM]   ✅ 10 capteurs | MQTT OK: 2/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #3 — 17:08:08
  📤 city/sensors/traffic/traffic_000 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_000/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_000, payload_mqtt exists: True
2026-05-05 17:08:10.361 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:10.361 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:10.362 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:10.362 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:10.362 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:10.362 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:08:10.362 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_001 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_001/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_001, payload_mqtt exists: True
2026-05-05 17:08:11.162 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:11.162 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:11.163 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:11.163 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:11.163 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:11.163 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:08:11.163 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_002/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_002/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_002, payload_mqtt exists: True
2026-05-05 17:08:12.389 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:12.389 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:12.389 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:12.389 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:12.389 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:12.389 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:08:12.389 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ FROST Observation airquality_003/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_003, payload_mqtt exists: True
2026-05-05 17:08:14.192 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:14.192 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:14.195 ERROR [124414408505024] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:14.195 ERROR [124414408505024] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:14.195 INFO  [124414408505024] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:14.195 ERROR [124414408505024] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:08:14.195 INFO  [124414408505024] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:08:22.669 INFO  [124414726018880] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:08:22.669 INFO  [124414726018880] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:22.670 ERROR [124414416897728] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:08:22.670 ERROR [124414416897728] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:08:22.670 INFO  [124414416897728] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:08:22.670 ERROR [124414416897728] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:08:22.670 INFO  [124414416897728] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  📈 InfluxDB: 7 points written
