[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:03:14.190 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:14.190 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:14.191 ERROR [128922964457152] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:14.191 ERROR [128922964457152] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:14.191 INFO  [128922964457152] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:14.191 ERROR [128922964457152] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-air-quality -- ConnectError
2026-05-05 17:03:14.191 INFO  [128922964457152] 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]   ❌ Mosquitto @ localhost:1883 → [Errno 111] Connection refused
[MQTT]   ✅ EMQX connecté
[MQTT]   ✅ BunkerM connecté

[SIM] ⏱️  It #1 — 17:03:17
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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: 52)
  📊 FROST: POST Datastream traffic_000/vehicle_count...
  ✅ FROST Datastream traffic_000/vehicle_count créé (ID: 221)
  📊 FROST: POST Datastream traffic_000/average_speed_kmh...
  ✅ FROST Datastream traffic_000/average_speed_kmh créé (ID: 222)
  📊 FROST: POST Datastream traffic_000/congestion_level...
  ✅ FROST Datastream traffic_000/congestion_level créé (ID: 223)
  📊 FROST: POST Datastream traffic_000/occupancy_percent...
  ✅ FROST Datastream traffic_000/occupancy_percent créé (ID: 224)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(221)/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:03:18.489 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:18.489 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:18.491 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:18.491 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:18.491 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:18.491 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:18.491 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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: 53)
  📊 FROST: POST Datastream traffic_001/vehicle_count...
  📈 InfluxDB: 4 points written
  ✅ FROST Datastream traffic_001/vehicle_count créé (ID: 225)
  📊 FROST: POST Datastream traffic_001/average_speed_kmh...
  ✅ FROST Datastream traffic_001/average_speed_kmh créé (ID: 226)
  📊 FROST: POST Datastream traffic_001/congestion_level...
  ✅ FROST Datastream traffic_001/congestion_level créé (ID: 227)
  📊 FROST: POST Datastream traffic_001/occupancy_percent...
  ✅ FROST Datastream traffic_001/occupancy_percent créé (ID: 228)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(225)/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:03:20.547 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:20.547 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:20.550 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:20.550 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:20.550 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:20.550 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:20.551 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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: POST Thing traffic_002...
  ✅ FROST Thing traffic_002 créé (ID: 54)
  📊 FROST: POST Datastream traffic_002/vehicle_count...
  ✅ FROST Datastream traffic_002/vehicle_count créé (ID: 229)
  📊 FROST: POST Datastream traffic_002/average_speed_kmh...
  ✅ FROST Datastream traffic_002/average_speed_kmh créé (ID: 230)
  📊 FROST: POST Datastream traffic_002/congestion_level...
  ✅ FROST Datastream traffic_002/congestion_level créé (ID: 231)
  📊 FROST: POST Datastream traffic_002/occupancy_percent...
  ✅ FROST Datastream traffic_002/occupancy_percent créé (ID: 232)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(229)/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:03:21.522 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:21.522 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:21.522 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:21.522 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:21.522 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:21.522 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:21.522 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing airquality_003...
  📈 InfluxDB: 4 points written
  ✅ FROST Thing airquality_003 créé (ID: 55)
  📊 FROST: POST Datastream airquality_003/pm25_ugm3...
  ✅ FROST Datastream airquality_003/pm25_ugm3 créé (ID: 233)
  📊 FROST: POST Datastream airquality_003/pm10_ugm3...
  ✅ FROST Datastream airquality_003/pm10_ugm3 créé (ID: 234)
  📊 FROST: POST Datastream airquality_003/no2_ugm3...
  ✅ FROST Datastream airquality_003/no2_ugm3 créé (ID: 235)
  📊 FROST: POST Datastream airquality_003/o3_ugm3...
  ✅ FROST Datastream airquality_003/o3_ugm3 créé (ID: 236)
  📊 FROST: POST Datastream airquality_003/co_mgm3...
  ✅ FROST Datastream airquality_003/co_mgm3 créé (ID: 237)
  📊 FROST: POST Datastream airquality_003/temperature_celsius...
  ✅ FROST Datastream airquality_003/temperature_celsius créé (ID: 238)
  📊 FROST: POST Datastream airquality_003/humidity_percent...
  ✅ FROST Datastream airquality_003/humidity_percent créé (ID: 239)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(233)/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:03:22.265 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:22.265 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:22.265 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:22.266 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:22.266 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:22.266 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:22.266 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing airquality_004...
  ✅ FROST Thing airquality_004 créé (ID: 56)
  📊 FROST: POST Datastream airquality_004/pm25_ugm3...
  ✅ FROST Datastream airquality_004/pm25_ugm3 créé (ID: 240)
  📊 FROST: POST Datastream airquality_004/pm10_ugm3...
  ✅ FROST Datastream airquality_004/pm10_ugm3 créé (ID: 241)
  📊 FROST: POST Datastream airquality_004/no2_ugm3...
  ✅ FROST Datastream airquality_004/no2_ugm3 créé (ID: 242)
  📊 FROST: POST Datastream airquality_004/o3_ugm3...
  ✅ FROST Datastream airquality_004/o3_ugm3 créé (ID: 243)
  📊 FROST: POST Datastream airquality_004/co_mgm3...
  ✅ FROST Datastream airquality_004/co_mgm3 créé (ID: 244)
  📊 FROST: POST Datastream airquality_004/temperature_celsius...
  ✅ FROST Datastream airquality_004/temperature_celsius créé (ID: 245)
  📊 FROST: POST Datastream airquality_004/humidity_percent...
  ✅ FROST Datastream airquality_004/humidity_percent créé (ID: 246)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(240)/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:03:22.530 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:22.530 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:22.531 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:22.531 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:22.531 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:22.531 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:22.531 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_005...
  ✅ FROST Thing parking_005 créé (ID: 57)
  📊 FROST: POST Datastream parking_005/total_spots...
  ✅ FROST Datastream parking_005/total_spots créé (ID: 247)
  📊 FROST: POST Datastream parking_005/available_spots...
  ✅ FROST Datastream parking_005/available_spots créé (ID: 248)
  📊 FROST: POST Datastream parking_005/occupancy_percent...
  ✅ FROST Datastream parking_005/occupancy_percent créé (ID: 249)
  📊 FROST: POST Datastream parking_005/turnover_per_hour...
  ✅ FROST Datastream parking_005/turnover_per_hour créé (ID: 250)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(247)/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:03:22.688 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:22.688 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:22.689 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:22.689 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:22.689 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:22.689 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:22.689 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_006...
  ✅ FROST Thing parking_006 créé (ID: 58)
  📊 FROST: POST Datastream parking_006/total_spots...
  ✅ FROST Datastream parking_006/total_spots créé (ID: 251)
  📊 FROST: POST Datastream parking_006/available_spots...
  ✅ FROST Datastream parking_006/available_spots créé (ID: 252)
  📊 FROST: POST Datastream parking_006/occupancy_percent...
  ✅ FROST Datastream parking_006/occupancy_percent créé (ID: 253)
  📊 FROST: POST Datastream parking_006/turnover_per_hour...
  ✅ FROST Datastream parking_006/turnover_per_hour créé (ID: 254)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(251)/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:03:23.702 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:23.703 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:23.703 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:23.703 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:23.703 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:23.703 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:23.703 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing noise_007...
  📈 InfluxDB: 4 points written
  ✅ FROST Thing noise_007 créé (ID: 59)
  📊 FROST: POST Datastream noise_007/noise_level_db...
  ✅ FROST Datastream noise_007/noise_level_db créé (ID: 255)
  📊 FROST: POST Datastream noise_007/peak_db...
  ✅ FROST Datastream noise_007/peak_db créé (ID: 256)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(255)/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:03:25.114 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:25.114 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:25.115 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:25.115 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:25.115 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:25.115 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:03:25.115 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing weather_008...
  📈 InfluxDB: 2 points written
  ✅ FROST Thing weather_008 créé (ID: 60)
  📊 FROST: POST Datastream weather_008/temperature_celsius...
  ✅ FROST Datastream weather_008/temperature_celsius créé (ID: 257)
  📊 FROST: POST Datastream weather_008/humidity_percent...
  ✅ FROST Datastream weather_008/humidity_percent créé (ID: 258)
  📊 FROST: POST Datastream weather_008/wind_speed_kmh...
  ✅ FROST Datastream weather_008/wind_speed_kmh créé (ID: 259)
  📊 FROST: POST Datastream weather_008/pressure_hpa...
  ✅ FROST Datastream weather_008/pressure_hpa créé (ID: 260)
  📊 FROST: POST Datastream weather_008/rain_mm...
  ✅ FROST Datastream weather_008/rain_mm créé (ID: 261)
  📊 FROST: POST Datastream weather_008/uv_index...
  ✅ FROST Datastream weather_008/uv_index créé (ID: 262)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(257)/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:03:25.909 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:25.909 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:25.910 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:25.910 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:25.910 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:25.910 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:03:25.910 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 6 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing light_009...
  ✅ FROST Thing light_009 créé (ID: 61)
  📊 FROST: POST Datastream light_009/brightness_lux...
  ✅ FROST Datastream light_009/brightness_lux créé (ID: 263)
  📊 FROST: POST Datastream light_009/power_consumption_w...
  ✅ FROST Datastream light_009/power_consumption_w créé (ID: 264)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(263)/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:03:26.171 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:26.171 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:26.172 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:26.172 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:26.172 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:26.172 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:03:26.172 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #2 — 17:03:27
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:03:27.351 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:27.351 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.353 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:27.353 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:27.353 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.353 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:27.353 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:03:27.492 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:27.492 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.493 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:27.493 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:27.493 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.493 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:27.493 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:03:27.609 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:27.609 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.609 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:27.609 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:27.609 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.609 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:27.609 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:27.772 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:27.772 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.773 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:27.773 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:27.773 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:27.773 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:27.773 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:28.289 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:28.289 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:28.289 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:28.289 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:28.289 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:28.290 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:28.290 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:28.584 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:28.584 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:28.585 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:28.585 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:28.585 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:28.585 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:28.585 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:28.803 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:28.803 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:28.804 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:28.804 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:28.804 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:28.804 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:28.804 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:03:29.056 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:29.056 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:29.056 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:29.056 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:29.056 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:29.056 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:03:29.056 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:03:29.831 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:29.831 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:29.832 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:29.832 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:29.832 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:29.832 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:03:29.832 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:03:30.260 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:30.260 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:30.261 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:30.261 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:30.261 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:30.261 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:03:30.261 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #3 — 17:03:31
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:03:31.745 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:31.745 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:31.746 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:31.746 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:31.746 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:31.746 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:31.746 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:03:32.078 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:32.078 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:32.080 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:32.080 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:32.080 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:32.080 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:32.081 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:03:32.354 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:32.354 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:32.355 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:32.355 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:32.355 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:32.355 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:32.355 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:32.901 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:32.901 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:32.901 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:32.901 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:32.901 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:32.901 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:32.902 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:33.515 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:33.515 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:33.515 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:33.515 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:33.515 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:33.515 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:33.515 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:03:33.748 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:33.748 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:33.748 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:33.748 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:33.748 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:33.748 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:33.748 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:34.048 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:34.048 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:34.048 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:34.048 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:34.048 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:34.048 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:34.048 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:03:34.314 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:34.314 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:34.315 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:34.315 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:34.315 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:34.315 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:03:34.315 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:03:34.735 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:34.735 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:34.736 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:34.736 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:34.736 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:34.736 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:03:34.736 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:03:35.101 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:35.101 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:35.103 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:35.103 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:35.103 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:35.103 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:03:35.103 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #4 — 17:03:36
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:03:37.587 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:37.587 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:37.588 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:37.588 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:37.588 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:37.588 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:37.588 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:03:38.346 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:38.346 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:38.347 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:38.347 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:38.347 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:38.347 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:38.347 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:03:38.660 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:38.660 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:38.660 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:38.660 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:38.660 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:38.660 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:38.660 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 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:03:39.406 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:39.406 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:39.407 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:39.407 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:39.407 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:39.407 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:39.407 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:03:39.735 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:39.735 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:39.736 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:39.736 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:39.736 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:39.736 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:39.736 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:39.843 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:39.843 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:39.843 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:39.843 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:39.843 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:39.844 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:39.844 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:40.051 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:40.051 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.052 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:40.052 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:40.052 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.052 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:40.052 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:03:40.176 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:40.176 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.177 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:40.177 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:40.177 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.177 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:03:40.177 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:03:40.335 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:40.335 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.335 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:40.335 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:40.335 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.335 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:03:40.335 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:03:40.474 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:40.474 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.475 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:40.476 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:40.476 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:40.476 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:03:40.476 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #5 — 17:03:41
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:03:41.593 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:41.593 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:41.594 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:41.594 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:41.594 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:41.594 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:41.594 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:03:41.785 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:41.785 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:41.788 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:41.788 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:41.788 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:41.789 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:41.789 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:03:41.974 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:41.974 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:41.974 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:41.974 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:41.974 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:41.974 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:41.974 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:42.110 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:42.110 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.110 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:42.110 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:42.110 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.110 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:42.110 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:42.243 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:42.243 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.244 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:42.244 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:42.244 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.244 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:42.244 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:42.351 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:42.351 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.352 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:42.352 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:42.352 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.352 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:42.352 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:42.511 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:42.511 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.513 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:42.513 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:42.513 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.513 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:42.513 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:03:42.693 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:42.693 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.694 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:42.694 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:42.694 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.694 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:03:42.694 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:03:42.885 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:42.885 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.886 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:42.886 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:42.886 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:42.886 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:03:42.886 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 6 points written
  ✅ 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:03:43.659 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:43.660 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:43.662 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:43.662 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:43.662 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:43.662 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:03:43.663 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #6 — 17:03:44
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:03:45.194 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:45.194 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:45.194 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:45.194 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:45.194 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:45.194 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:45.194 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:03:45.520 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:45.520 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:45.521 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:45.521 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:45.521 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:45.521 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:45.521 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:03:45.826 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:45.826 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:45.827 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:45.827 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:45.827 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:45.827 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:45.827 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:47.573 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:47.573 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:47.574 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:47.574 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:47.574 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:47.574 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:47.574 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: 7 points written
  ✅ 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:03:50.356 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:50.356 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:50.356 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:50.356 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:50.356 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:50.356 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:50.356 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:03:52.840 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:52.840 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:52.841 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:52.841 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:52.841 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:52.841 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:52.841 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:03:53.955 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:53.955 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:53.956 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:53.956 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:53.956 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:53.956 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:53.956 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:03:54.402 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:54.402 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:54.403 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:54.403 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:54.403 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:54.403 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:03:54.403 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:03:55.149 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:55.149 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:55.150 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:55.150 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:55.150 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:55.150 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:03:55.150 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:03:55.383 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:55.383 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:55.384 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:55.384 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:55.384 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:55.384 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:03:55.384 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #7 — 17:03:56
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:03:57.523 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:57.523 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:57.525 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:57.525 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:57.525 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:57.526 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:57.526 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:03:58.856 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:58.856 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:58.857 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:58.857 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:58.857 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:58.857 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:58.857 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:03:59.036 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:59.036 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.036 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:59.036 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:59.036 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.036 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:03:59.037 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:59.244 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:59.244 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.247 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:59.247 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:59.247 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.247 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:59.247 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:59.536 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:59.536 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.536 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:59.536 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:59.536 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.536 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:03:59.536 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:03:59.644 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:59.644 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.645 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:59.645 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:59.645 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.645 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:59.645 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:03:59.752 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:59.752 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.753 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:59.753 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:59.753 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.753 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:03:59.753 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:03:59.844 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:03:59.844 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.845 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:03:59.845 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:03:59.845 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:03:59.845 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:03:59.845 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:00.037 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:00.037 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:00.038 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:00.038 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:00.038 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:00.038 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:00.038 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:00.202 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:00.202 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:00.205 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:00.205 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:00.205 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:00.205 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:00.205 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #8 — 17:04:01
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:01.423 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:01.423 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:01.425 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:01.425 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:01.425 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:01.425 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:01.426 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:01.577 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:01.577 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:01.578 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:01.578 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:01.578 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:01.578 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:01.578 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:01.686 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:01.686 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:01.687 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:01.687 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:01.687 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:01.687 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:01.687 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:02.073 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:02.073 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.076 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:02.076 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:02.076 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.076 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:02.076 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:02.289 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:02.289 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.291 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:02.292 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:02.292 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.292 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:02.292 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:02.484 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:02.484 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.485 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:02.485 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:02.485 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.485 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:02.485 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:02.619 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:02.619 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.620 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:02.620 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:02.620 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.620 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:02.620 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:02.719 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:02.719 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.720 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:02.720 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:02.720 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.720 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:02.720 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:02.853 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:02.853 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.853 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:02.853 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:02.853 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.853 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:02.853 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:02.989 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:02.989 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.990 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:02.990 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:02.990 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:02.990 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:02.990 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #9 — 17:04:03
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:04.204 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:04.204 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.207 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:04.207 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:04.207 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.207 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:04.207 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:04.326 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:04.326 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.327 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:04.328 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:04.328 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.328 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:04.328 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:04.517 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:04.517 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.519 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:04.519 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:04.519 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.519 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:04.519 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:04.678 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:04.678 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.679 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:04.679 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:04.679 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.679 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:04.679 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:04.848 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:04.848 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.850 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:04.850 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:04.850 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:04.850 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:04.850 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:05.210 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:05.210 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:05.214 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:05.214 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:05.214 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:05.214 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:05.214 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_006/total_spots → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:07.256 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:07.256 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:07.259 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:07.259 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:07.259 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:07.259 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:07.259 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:08.040 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:08.040 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:08.041 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:08.041 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:08.041 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:08.041 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:08.041 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:08.633 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:08.633 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:08.634 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:08.634 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:08.634 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:08.634 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:08.634 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:08.891 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:08.891 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:08.892 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:08.892 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:08.892 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:08.892 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:08.892 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #10 — 17:04:09
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:10.239 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:10.239 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.240 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:10.240 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:10.240 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.240 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:10.240 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:10.401 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:10.401 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.402 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:10.402 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:10.402 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.402 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:10.402 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:10.553 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:10.553 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.556 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:10.556 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:10.556 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.556 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:10.556 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:10.750 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:10.750 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.751 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:10.751 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:10.751 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:10.751 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:10.751 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:11.002 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:11.002 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.003 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:11.003 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:11.003 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.003 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:11.003 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:11.143 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:11.143 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.144 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:11.144 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:11.144 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.144 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:11.144 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:11.323 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:11.323 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.326 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:11.326 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:11.326 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.326 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:11.326 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:11.487 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:11.487 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.488 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:11.488 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:11.488 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.488 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:11.488 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:11.626 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:11.626 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.627 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:11.627 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:11.627 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.627 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:11.627 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:11.923 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:11.923 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.926 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:11.926 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:11.926 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:11.926 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:11.926 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #11 — 17:04:12
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:13.079 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:13.079 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.080 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:13.080 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:13.080 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.080 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:13.080 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:13.212 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:13.212 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.213 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:13.213 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:13.213 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.213 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:13.213 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:13.329 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:13.329 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.330 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:13.330 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:13.330 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.330 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:13.330 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:13.521 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:13.521 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.521 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:13.521 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:13.521 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.521 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:13.522 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:13.734 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:13.734 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.735 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:13.735 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:13.735 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.735 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:13.735 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:13.846 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:13.846 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.846 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:13.846 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:13.847 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:13.847 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:13.847 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:14.002 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:14.002 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.003 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:14.003 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:14.003 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.003 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:14.004 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:14.128 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:14.128 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.129 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:14.129 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:14.129 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.129 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:14.129 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:14.257 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:14.257 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.260 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:14.260 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:14.260 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.260 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:14.260 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:14.551 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:14.551 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.553 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:14.553 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:14.553 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:14.553 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:14.553 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #12 — 17:04:15
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:17.270 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:17.270 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:17.271 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:17.271 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:17.271 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:17.271 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:17.271 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:18.208 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:18.208 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:18.209 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:18.209 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:18.209 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:18.209 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:18.209 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:19.659 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:19.659 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:19.660 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:19.660 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:19.660 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:19.660 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:19.660 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:20.331 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:20.331 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:20.332 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:20.332 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:20.332 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:20.332 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:20.332 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:04:21.052 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:21.052 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.055 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:21.055 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:21.055 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.055 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:21.055 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:21.421 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:21.421 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.422 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:21.422 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:21.422 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.422 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:21.422 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:21.764 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:21.764 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.765 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:21.765 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:21.765 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.765 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:21.765 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:21.976 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:21.976 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.977 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:21.977 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:21.977 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:21.977 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:21.977 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:22.185 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:22.185 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:22.186 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:22.186 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:22.186 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:22.186 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:22.186 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:22.600 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:22.600 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:22.601 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:22.601 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:22.601 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:22.601 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:22.601 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #13 — 17:04:23
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:23.871 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:23.871 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:23.872 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:23.872 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:23.872 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:23.872 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:23.872 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:24.871 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:24.871 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:24.872 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:24.872 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:24.872 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:24.872 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:24.872 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:25.206 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:25.206 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:25.207 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:25.207 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:25.207 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:25.207 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:25.207 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:26.070 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:26.070 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:26.071 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:26.071 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:26.071 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:26.071 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:26.071 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:04:26.424 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:26.425 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:26.428 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:26.428 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:26.428 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:26.428 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:26.428 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:26.793 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:26.793 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:26.794 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:26.794 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:26.794 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:26.794 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:26.794 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:27.106 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:27.106 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.107 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:27.107 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:27.107 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.107 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:27.107 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:27.289 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:27.289 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.290 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:27.290 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:27.290 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.290 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:27.290 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 2 points written
  ✅ 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:04:27.639 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:27.639 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.641 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:27.641 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:27.641 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.641 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:27.642 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:27.872 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:27.872 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.875 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:27.875 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:27.875 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:27.875 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:27.875 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #14 — 17:04:28
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:29.279 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:29.279 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:29.282 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:29.282 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:29.282 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:29.282 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:29.282 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:29.614 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:29.614 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:29.615 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:29.615 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:29.615 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:29.615 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:29.615 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:29.924 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:29.924 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:29.924 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:29.924 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:29.924 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:29.924 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:29.924 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 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:04:30.975 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:30.976 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:30.977 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:30.977 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:30.977 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:30.977 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:30.977 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:31.398 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:31.398 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:31.401 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:31.401 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:31.401 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:31.401 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:31.401 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:31.773 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:31.773 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:31.776 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:31.776 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:31.776 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:31.776 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:31.776 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:32.210 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:32.210 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:32.213 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:32.213 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:32.213 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:32.213 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:32.214 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:32.396 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:32.396 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:32.397 ERROR [128922939279040] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:32.397 ERROR [128922939279040] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:32.397 INFO  [128922939279040] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:32.397 ERROR [128922939279040] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:32.397 INFO  [128922939279040] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:33.457 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:33.457 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:33.458 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:33.458 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:33.458 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:33.458 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:33.458 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 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:04:34.078 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:34.078 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:34.081 ERROR [128922930886336] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:34.081 ERROR [128922930886336] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:34.081 INFO  [128922930886336] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:34.081 ERROR [128922930886336] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:34.081 INFO  [128922930886336] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 6 points written
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #15 — 17:04:35
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:35.807 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:35.807 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:35.808 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:35.808 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:35.808 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:35.808 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:35.808 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:36.320 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:36.320 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:36.321 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:36.321 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:36.321 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:36.321 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:36.321 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:36.711 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:36.711 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:36.712 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:36.712 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:36.712 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:36.712 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:36.712 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 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:04:37.479 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:37.479 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:37.480 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:37.480 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:37.480 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:37.480 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:37.480 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:04:37.919 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:37.919 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:37.921 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:37.921 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:37.921 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:37.921 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:37.921 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:04:38.324 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:38.324 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:38.325 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:38.325 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:38.325 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:38.325 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:38.325 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:38.648 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:38.648 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:38.649 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:38.649 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:38.649 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:38.649 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:38.649 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:38.886 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:38.886 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:38.887 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:38.887 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:38.887 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:38.887 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:38.887 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 2 points written
  ✅ 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:04:39.222 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:39.222 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:39.224 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:39.225 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:39.225 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:39.225 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:39.225 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:39.429 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:39.429 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:39.429 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:39.429 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:39.429 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:39.429 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:39.429 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #16 — 17:04:40
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:42.384 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:42.384 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:42.387 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:42.387 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:42.387 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:42.387 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:42.387 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:43.197 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:43.197 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:43.198 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:43.198 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:43.198 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:43.198 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:43.198 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:43.582 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:43.582 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:43.583 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:43.583 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:43.584 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:43.584 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:43.584 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:44.114 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:44.114 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:44.115 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:44.115 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:44.115 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:44.115 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:44.115 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:44.582 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:44.582 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:44.582 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:44.582 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:44.582 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:44.582 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:44.582 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:44.854 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:44.854 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:44.855 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:44.855 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:44.855 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:44.855 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:44.855 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:45.234 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:45.234 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:45.235 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:45.235 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:45.235 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:45.235 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:45.235 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:04:45.378 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:45.378 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:45.379 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:45.379 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:45.379 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:45.379 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:45.379 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:45.994 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:45.994 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:45.995 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:45.995 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:45.995 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:45.995 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:45.995 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 6 points written
  ✅ 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:04:46.243 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:46.243 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:46.243 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:46.243 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:46.243 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:46.243 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:46.243 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #17 — 17:04:47
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:48.880 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:48.880 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:48.881 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:48.881 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:48.881 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:48.881 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:48.881 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:50.414 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:50.414 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:50.415 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:50.416 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:50.416 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:50.416 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:50.416 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:50.778 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:50.778 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:50.779 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:50.779 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:50.779 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:50.779 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:50.779 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:51.520 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:51.520 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:51.521 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:51.521 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:51.521 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:51.521 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:51.521 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:04:52.181 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:52.181 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:52.181 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:52.181 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:52.181 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:52.181 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:52.181 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:04:52.596 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:52.596 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:52.596 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:52.596 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:52.596 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:52.596 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:52.596 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:52.959 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:52.960 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:52.962 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:52.962 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:52.962 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:52.962 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:04:52.962 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:04:53.248 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:53.248 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:53.249 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:53.249 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:53.249 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:53.249 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:04:53.249 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:04:54.997 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:54.997 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:54.998 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:54.998 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:54.998 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:54.998 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:04:54.998 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:04:56.321 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:56.321 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:56.322 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:56.322 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:56.322 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:56.322 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:04:56.322 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #18 — 17:04:57
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:04:57.733 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:57.733 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:57.734 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:57.734 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:57.734 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:57.734 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:57.734 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:04:58.042 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:58.042 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:58.043 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:58.043 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:58.043 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:58.043 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:58.043 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:04:58.411 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:58.411 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:58.414 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:58.414 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:58.414 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:58.414 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:04:58.414 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:04:58.810 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:04:58.810 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:58.811 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:04:58.811 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:04:58.811 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:04:58.811 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:04:58.811 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:05:00.491 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:00.491 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:00.494 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:00.494 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:00.494 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:00.494 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:00.494 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 7 points written
  ✅ 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:05:02.638 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:02.638 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:02.639 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:02.639 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:02.639 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:02.639 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:02.639 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ 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:05:03.638 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:03.638 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:03.638 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:03.638 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:03.638 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:03.638 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:03.638 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:05:03.786 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:03.786 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:03.789 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:03.789 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:03.789 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:03.789 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:05:03.789 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:05:04.585 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:04.585 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:04.586 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:04.586 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:04.586 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:04.586 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:05:04.586 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation light_009/brightness_lux → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: 6 points written
  ✅ 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:05:05.685 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:05.685 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:05.688 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:05.688 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:05.688 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:05.688 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:05:05.688 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #19 — 17:05:06
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:05:07.012 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:07.012 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.013 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:07.013 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:07.013 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.013 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:07.013 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:05:07.141 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:07.141 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.142 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:07.142 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:07.142 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.142 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:07.142 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:05:07.263 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:07.263 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.263 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:07.263 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:07.263 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.263 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:07.263 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:05:07.533 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:07.533 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.534 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:07.534 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:07.534 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.534 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:07.534 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:07.696 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:07.696 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.697 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:07.697 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:07.697 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.697 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:07.697 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:07.808 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:07.808 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.808 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:07.808 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:07.808 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.808 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:07.808 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:05:07.921 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:07.921 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.922 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:07.922 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:07.922 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:07.922 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:07.922 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:05:08.024 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:08.024 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:08.025 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:08.025 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:08.025 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:08.025 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:05:08.025 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:05:08.166 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:08.166 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:08.167 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:08.167 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:08.167 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:08.167 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:05:08.167 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:05:08.249 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:08.249 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:08.250 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:08.250 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:08.250 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:08.250 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:05:08.250 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #20 — 17:05:09
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:05:09.644 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:09.644 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:09.647 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:09.647 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:09.647 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:09.647 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:09.647 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:05:09.993 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:09.993 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:09.996 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:09.996 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:09.996 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:09.996 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:09.996 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:05:10.319 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:10.319 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:10.322 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:10.322 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:10.322 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:10.322 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:10.322 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:05:10.583 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:10.583 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:10.583 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:10.583 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:10.583 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:10.583 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:10.584 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:11.014 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:11.015 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.016 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:11.016 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:11.016 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.017 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:11.017 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:11.175 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:11.175 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.175 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:11.175 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:11.175 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.175 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:11.175 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:05:11.299 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:11.299 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.302 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:11.302 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:11.302 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.302 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:11.302 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:05:11.417 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:11.417 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.419 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:11.419 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:11.419 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.419 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:05:11.419 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:05:11.603 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:11.603 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.606 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:11.606 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:11.606 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.606 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:05:11.606 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:05:11.738 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:11.738 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.739 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:11.739 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:11.739 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:11.739 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:05:11.739 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #21 — 17:05:12
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:05:12.983 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:12.983 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:12.984 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:12.984 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:12.984 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:12.984 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:12.984 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:05:13.091 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:13.091 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.092 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:13.092 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:13.092 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.092 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:13.092 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:05:13.222 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:13.222 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.223 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:13.223 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:13.223 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.223 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:13.223 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:05:13.392 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:13.392 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.392 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:13.393 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:13.393 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.393 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:13.393 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:13.575 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:13.575 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.576 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:13.576 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:13.576 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.576 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:13.576 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:13.751 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:13.751 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.752 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:13.752 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:13.752 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.752 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:13.752 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:05:13.870 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:13.870 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.873 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:13.873 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:13.873 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:13.873 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:13.873 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:05:14.014 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:14.014 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:14.015 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:14.015 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:14.015 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:14.015 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:05:14.015 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 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:05:14.150 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:14.150 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:14.151 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:14.151 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:14.151 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:14.151 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-weather -- ConnectError
2026-05-05 17:05:14.151 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/light/light_009 → EMQX
  🏠 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:05:14.247 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:14.247 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:14.248 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:14.248 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:14.248 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:14.249 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-light -- ConnectError
2026-05-05 17:05:14.249 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
[SIM]   ✅ 10 capteurs | MQTT OK: 1/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #22 — 17:05:15
  📤 city/sensors/traffic/traffic_000 → EMQX
  ⚠️  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:05:15.383 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:15.383 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:15.384 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:15.384 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:15.384 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:15.384 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:15.384 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_001 → EMQX
  ⚠️  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:05:15.525 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:15.525 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:15.526 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:15.526 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:15.526 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:15.526 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:15.526 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/traffic/traffic_002 → EMQX
  ⚠️  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_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:05:16.920 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:16.921 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:16.921 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:16.921 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:16.921 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:16.921 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-traffic -- ConnectError
2026-05-05 17:05:16.921 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_003 → EMQX
  🏠 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:05:17.359 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:17.359 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:17.359 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:17.359 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:17.359 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:17.359 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:17.359 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:17.639 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:17.639 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:17.640 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:17.640 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:17.640 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:17.640 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-airquality -- ConnectError
2026-05-05 17:05:17.640 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 7 points written
  🏢 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:05:17.751 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:17.751 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:17.751 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:17.751 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:17.751 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:17.751 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:17.751 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_006 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 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:05:18.056 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:18.056 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:18.057 ERROR [128922922493632] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:18.057 ERROR [128922922493632] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:18.057 INFO  [128922922493632] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:18.057 ERROR [128922922493632] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-parking -- ConnectError
2026-05-05 17:05:18.057 INFO  [128922922493632] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/noise/noise_007 → EMQX
  🏠 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:05:18.832 INFO  [128923248650048] ClientConnection:209 | [<none> -> pulsar://smart-city-pulsar:6650] Create ClientConnection, timeout=10000
2026-05-05 17:05:18.832 INFO  [128923248650048] ConnectionPool:148 | Created connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:18.833 ERROR [128922947671744] ClientConnection:600 | Resolve error: asio.netdb:1 : Host not found (authoritative)
2026-05-05 17:05:18.833 ERROR [128922947671744] ClientConnection:1283 | [<none> -> pulsar://smart-city-pulsar:6650] Connection closed with ConnectError (refCnt: 2)
2026-05-05 17:05:18.833 INFO  [128922947671744] ConnectionPool:165 | Remove connection for pulsar://smart-city-pulsar:6650-pulsar://smart-city-pulsar:6650-0
2026-05-05 17:05:18.833 ERROR [128922947671744] ClientImpl:255 | Error Checking/Getting Partition Metadata while creating producer on persistent://public/default/smartcity-noise -- ConnectError
2026-05-05 17:05:18.833 INFO  [128922947671744] ClientConnection:301 | [<none> -> pulsar://smart-city-pulsar:6650] Destroyed connection to pulsar://smart-city-pulsar:6650-0
  ⚠️  Pulsar → Pulsar error: ConnectError
  🌪️  Pulsar:  ❌
  ⚠️  Redpanda → 422
  🐟 Redpanda: ❌
  📤 city/sensors/weather/weather_008 → EMQX
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 2 points written
