[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://localhost:8080: HTTP Error 404: Not Found
  🌪️ DEBUG: Test Pulsar direct...
2026-05-05 17:51:35.592 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:35.592 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:35.593 INFO  [130543902521024] ClientConnection:421 | [127.0.0.1:59220 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:35.594 INFO  [130543902521024] HandlerBase:112 | [persistent://public/default/smartcity-air-quality, ] Getting connection from pool
2026-05-05 17:51:35.595 INFO  [130543902521024] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-air-quality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:59220 -> 127.0.0.1:6650] 
2026-05-05 17:51:35.595 INFO  [130543902521024] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-air-quality, producerName: on [127.0.0.1:59220 -> 127.0.0.1:6650] 
2026-05-05 17:51:35.764 INFO  [130543902521024] ProducerImpl:222 | [persistent://public/default/smartcity-air-quality, ] Created producer on broker [127.0.0.1:59220 -> 127.0.0.1:6650] 
2026-05-05 17:51:35.764 INFO  [130543902521024] HandlerBase:134 | Finished connecting to broker after 169 ms
2026-05-05 17:51:35.767 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:35.767 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-air-quality, standalone-0-504] Closing producer for topic persistent://public/default/smartcity-air-quality
2026-05-05 17:51:35.767 INFO  [130543902521024] ProducerImpl:767 | [persistent://public/default/smartcity-air-quality, standalone-0-504] Closed producer 0
2026-05-05 17:51:35.767 INFO  [130543885735616] ClientConnection:1285 | [127.0.0.1:59220 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:35.767 INFO  [130543885735616] ClientConnection:301 | [127.0.0.1:59220 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️ DEBUG: Test Pulsar result: True
[REDPANDA] ⚠️  Cannot reach http://localhost:8082: HTTP Error 404: Not Found
[MQTT] 🔌 Connexion aux brokers...
/home/eric/smart-city-digital-twin-martinique/simulator.py:407: DeprecationWarning: Callback API version 1 is deprecated, update to latest version
  c = mqtt.Client(client_id=cid, protocol=mqtt.MQTTv311)
[MQTT]   ✅ EMQX connecté
[MQTT]   ✅ Mosquitto connecté
[MQTT]   ✅ BunkerM connecté

[SIM] ⏱️  It #1 — 17:51:38
  📤 city/sensors/traffic/traffic_000 → EMQX,Mosquitto
  ⚠️  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: 114)
  📊 FROST: POST Datastream traffic_000/vehicle_count...
  ✅ FROST Datastream traffic_000/vehicle_count créé (ID: 493)
  📊 FROST: POST Datastream traffic_000/average_speed_kmh...
  ✅ FROST Datastream traffic_000/average_speed_kmh créé (ID: 494)
  📊 FROST: POST Datastream traffic_000/congestion_level...
  ✅ FROST Datastream traffic_000/congestion_level créé (ID: 495)
  📊 FROST: POST Datastream traffic_000/occupancy_percent...
  ✅ FROST Datastream traffic_000/occupancy_percent créé (ID: 496)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(493)/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:51:42.173 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:42.173 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:42.175 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:59234 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:42.178 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:51:42.180 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:59234 -> 127.0.0.1:6650] 
2026-05-05 17:51:42.180 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:59234 -> 127.0.0.1:6650] 
2026-05-05 17:51:42.182 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:59234 -> 127.0.0.1:6650] 
2026-05-05 17:51:42.182 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 2 ms
2026-05-05 17:51:42.186 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:42.186 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-505] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:51:42.187 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-505] Closed producer 0
2026-05-05 17:51:42.187 INFO  [130543509300928] ClientConnection:1285 | [127.0.0.1:59234 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:42.188 INFO  [130543509300928] ClientConnection:301 | [127.0.0.1:59234 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_001 → EMQX,Mosquitto
  ⚠️  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: 115)
  📊 FROST: POST Datastream traffic_001/vehicle_count...
  📈 InfluxDB: 4 points written
  ✅ FROST Datastream traffic_001/vehicle_count créé (ID: 497)
  📊 FROST: POST Datastream traffic_001/average_speed_kmh...
  ✅ FROST Datastream traffic_001/average_speed_kmh créé (ID: 498)
  📊 FROST: POST Datastream traffic_001/congestion_level...
  ✅ FROST Datastream traffic_001/congestion_level créé (ID: 499)
  📊 FROST: POST Datastream traffic_001/occupancy_percent...
  ✅ FROST Datastream traffic_001/occupancy_percent créé (ID: 500)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(497)/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:51:44.270 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:44.271 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:44.272 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:45610 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:44.276 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:51:44.277 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45610 -> 127.0.0.1:6650] 
2026-05-05 17:51:44.277 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:45610 -> 127.0.0.1:6650] 
2026-05-05 17:51:44.279 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:45610 -> 127.0.0.1:6650] 
2026-05-05 17:51:44.279 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 2 ms
2026-05-05 17:51:44.281 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:44.281 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-506] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:51:44.282 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-506] Closed producer 0
2026-05-05 17:51:44.282 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:45610 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:44.282 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:45610 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,Mosquitto
  ⚠️  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: 116)
  📊 FROST: POST Datastream traffic_002/vehicle_count...
  ✅ FROST Datastream traffic_002/vehicle_count créé (ID: 501)
  📊 FROST: POST Datastream traffic_002/average_speed_kmh...
  ✅ FROST Datastream traffic_002/average_speed_kmh créé (ID: 502)
  📊 FROST: POST Datastream traffic_002/congestion_level...
  ✅ FROST Datastream traffic_002/congestion_level créé (ID: 503)
  📊 FROST: POST Datastream traffic_002/occupancy_percent...
  ✅ FROST Datastream traffic_002/occupancy_percent créé (ID: 504)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(501)/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:51:45.149 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:45.149 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:45.149 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:45612 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:45.150 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:51:45.150 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45612 -> 127.0.0.1:6650] 
2026-05-05 17:51:45.150 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:45612 -> 127.0.0.1:6650] 
2026-05-05 17:51:45.151 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:45612 -> 127.0.0.1:6650] 
2026-05-05 17:51:45.151 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:45.153 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:45.153 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-507] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:51:45.154 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-507] Closed producer 0
2026-05-05 17:51:45.154 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:45612 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:45.154 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:45612 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing airquality_003...
  ✅ FROST Thing airquality_003 créé (ID: 117)
  📊 FROST: POST Datastream airquality_003/pm25_ugm3...
  ✅ FROST Datastream airquality_003/pm25_ugm3 créé (ID: 505)
  📊 FROST: POST Datastream airquality_003/pm10_ugm3...
  ✅ FROST Datastream airquality_003/pm10_ugm3 créé (ID: 506)
  📊 FROST: POST Datastream airquality_003/no2_ugm3...
  ✅ FROST Datastream airquality_003/no2_ugm3 créé (ID: 507)
  📊 FROST: POST Datastream airquality_003/o3_ugm3...
  ✅ FROST Datastream airquality_003/o3_ugm3 créé (ID: 508)
  📊 FROST: POST Datastream airquality_003/co_mgm3...
  ✅ FROST Datastream airquality_003/co_mgm3 créé (ID: 509)
  📊 FROST: POST Datastream airquality_003/temperature_celsius...
  ✅ FROST Datastream airquality_003/temperature_celsius créé (ID: 510)
  📊 FROST: POST Datastream airquality_003/humidity_percent...
  ✅ FROST Datastream airquality_003/humidity_percent créé (ID: 511)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(505)/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:51:46.370 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:46.370 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:46.371 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:45616 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:46.372 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:51:46.372 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45616 -> 127.0.0.1:6650] 
2026-05-05 17:51:46.372 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:45616 -> 127.0.0.1:6650] 
2026-05-05 17:51:46.373 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:45616 -> 127.0.0.1:6650] 
2026-05-05 17:51:46.373 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:46.375 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:46.375 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-508] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:51:46.375 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-508] Closed producer 0
2026-05-05 17:51:46.375 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:45616 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:46.375 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:45616 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing airquality_004...
  ✅ FROST Thing airquality_004 créé (ID: 118)
  📊 FROST: POST Datastream airquality_004/pm25_ugm3...
  ✅ FROST Datastream airquality_004/pm25_ugm3 créé (ID: 512)
  📊 FROST: POST Datastream airquality_004/pm10_ugm3...
  ✅ FROST Datastream airquality_004/pm10_ugm3 créé (ID: 513)
  📊 FROST: POST Datastream airquality_004/no2_ugm3...
  ✅ FROST Datastream airquality_004/no2_ugm3 créé (ID: 514)
  📊 FROST: POST Datastream airquality_004/o3_ugm3...
  ✅ FROST Datastream airquality_004/o3_ugm3 créé (ID: 515)
  📊 FROST: POST Datastream airquality_004/co_mgm3...
  ✅ FROST Datastream airquality_004/co_mgm3 créé (ID: 516)
  📊 FROST: POST Datastream airquality_004/temperature_celsius...
  ✅ FROST Datastream airquality_004/temperature_celsius créé (ID: 517)
  📊 FROST: POST Datastream airquality_004/humidity_percent...
  ✅ FROST Datastream airquality_004/humidity_percent créé (ID: 518)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(512)/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:51:54.690 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:54.690 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:54.690 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:52632 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:54.692 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:51:54.693 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:52632 -> 127.0.0.1:6650] 
2026-05-05 17:51:54.693 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:52632 -> 127.0.0.1:6650] 
2026-05-05 17:51:54.694 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:52632 -> 127.0.0.1:6650] 
2026-05-05 17:51:54.694 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 2 ms
2026-05-05 17:51:54.697 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:54.697 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-509] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:51:54.697 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-509] Closed producer 0
2026-05-05 17:51:54.697 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:52632 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:54.697 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:52632 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_005...
  ✅ FROST Thing parking_005 créé (ID: 119)
  📊 FROST: POST Datastream parking_005/total_spots...
  ✅ FROST Datastream parking_005/total_spots créé (ID: 519)
  📊 FROST: POST Datastream parking_005/available_spots...
  ✅ FROST Datastream parking_005/available_spots créé (ID: 520)
  📊 FROST: POST Datastream parking_005/occupancy_percent...
  ✅ FROST Datastream parking_005/occupancy_percent créé (ID: 521)
  📊 FROST: POST Datastream parking_005/turnover_per_hour...
  ✅ FROST Datastream parking_005/turnover_per_hour créé (ID: 522)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(519)/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:52:02.881 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:02.881 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:02.881 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:52636 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:02.882 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:52:02.883 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:52636 -> 127.0.0.1:6650] 
2026-05-05 17:52:02.883 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:52636 -> 127.0.0.1:6650] 
2026-05-05 17:52:02.883 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:52636 -> 127.0.0.1:6650] 
2026-05-05 17:52:02.883 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:02.885 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:02.885 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-510] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:52:02.886 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-510] Closed producer 0
2026-05-05 17:52:02.886 INFO  [130543509300928] ClientConnection:1285 | [127.0.0.1:52636 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:02.886 INFO  [130543509300928] ClientConnection:301 | [127.0.0.1:52636 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/parking/parking_006 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_006...
  ✅ FROST Thing parking_006 créé (ID: 120)
  📊 FROST: POST Datastream parking_006/total_spots...
  ✅ FROST Datastream parking_006/total_spots créé (ID: 523)
  📊 FROST: POST Datastream parking_006/available_spots...
  ✅ FROST Datastream parking_006/available_spots créé (ID: 524)
  📊 FROST: POST Datastream parking_006/occupancy_percent...
  ✅ FROST Datastream parking_006/occupancy_percent créé (ID: 525)
  📊 FROST: POST Datastream parking_006/turnover_per_hour...
  ✅ FROST Datastream parking_006/turnover_per_hour créé (ID: 526)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(523)/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:52:03.239 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:03.239 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:03.239 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:52644 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:03.241 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:52:03.241 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:52644 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.241 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:52644 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.241 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:52644 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.241 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:03.244 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:03.244 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-511] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:52:03.244 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-511] Closed producer 0
2026-05-05 17:52:03.244 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:52644 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:03.244 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:52644 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/noise/noise_007 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing noise_007...
  ✅ FROST Thing noise_007 créé (ID: 121)
  📊 FROST: POST Datastream noise_007/noise_level_db...
  ✅ FROST Datastream noise_007/noise_level_db créé (ID: 527)
  📊 FROST: POST Datastream noise_007/peak_db...
  ✅ FROST Datastream noise_007/peak_db créé (ID: 528)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(527)/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:52:03.455 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:03.455 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:03.455 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:52646 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:03.456 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-noise, ] Getting connection from pool
2026-05-05 17:52:03.457 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-noise, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:52646 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.457 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-noise, producerName: on [127.0.0.1:52646 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.457 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-noise, ] Created producer on broker [127.0.0.1:52646 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.457 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:03.459 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:03.459 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-noise, standalone-0-512] Closing producer for topic persistent://public/default/smartcity-noise
2026-05-05 17:52:03.459 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-noise, standalone-0-512] Closed producer 0
2026-05-05 17:52:03.460 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:52646 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:03.460 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:52646 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 2 points written
  🐟 Redpanda: ✅
  📤 city/sensors/weather/weather_008 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing weather_008...
  ✅ FROST Thing weather_008 créé (ID: 122)
  📊 FROST: POST Datastream weather_008/temperature_celsius...
  ✅ FROST Datastream weather_008/temperature_celsius créé (ID: 529)
  📊 FROST: POST Datastream weather_008/humidity_percent...
  ✅ FROST Datastream weather_008/humidity_percent créé (ID: 530)
  📊 FROST: POST Datastream weather_008/wind_speed_kmh...
  ✅ FROST Datastream weather_008/wind_speed_kmh créé (ID: 531)
  📊 FROST: POST Datastream weather_008/pressure_hpa...
  ✅ FROST Datastream weather_008/pressure_hpa créé (ID: 532)
  📊 FROST: POST Datastream weather_008/rain_mm...
  ✅ FROST Datastream weather_008/rain_mm créé (ID: 533)
  📊 FROST: POST Datastream weather_008/uv_index...
  ✅ FROST Datastream weather_008/uv_index créé (ID: 534)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(529)/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:52:03.884 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:03.884 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:03.885 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:47964 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:03.889 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-weather, ] Getting connection from pool
2026-05-05 17:52:03.890 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-weather, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:47964 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.890 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-weather, producerName: on [127.0.0.1:47964 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.892 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-weather, ] Created producer on broker [127.0.0.1:47964 -> 127.0.0.1:6650] 
2026-05-05 17:52:03.892 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 3 ms
2026-05-05 17:52:03.896 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:03.896 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-weather, standalone-0-513] Closing producer for topic persistent://public/default/smartcity-weather
2026-05-05 17:52:03.898 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-weather, standalone-0-513] Closed producer 0
2026-05-05 17:52:03.898 INFO  [130543509300928] ClientConnection:1285 | [127.0.0.1:47964 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:03.898 INFO  [130543509300928] ClientConnection:301 | [127.0.0.1:47964 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 6 points written
  🐟 Redpanda: ✅
  📤 city/sensors/light/light_009 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing light_009...
  ✅ FROST Thing light_009 créé (ID: 123)
  📊 FROST: POST Datastream light_009/brightness_lux...
  ✅ FROST Datastream light_009/brightness_lux créé (ID: 535)
  📊 FROST: POST Datastream light_009/power_consumption_w...
  ✅ FROST Datastream light_009/power_consumption_w créé (ID: 536)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(535)/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:52:04.256 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:04.256 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:04.257 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:47968 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:04.258 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-light, ] Getting connection from pool
2026-05-05 17:52:04.258 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-light, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:47968 -> 127.0.0.1:6650] 
2026-05-05 17:52:04.258 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-light, producerName: on [127.0.0.1:47968 -> 127.0.0.1:6650] 
2026-05-05 17:52:04.259 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-light, ] Created producer on broker [127.0.0.1:47968 -> 127.0.0.1:6650] 
2026-05-05 17:52:04.259 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:04.261 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:04.261 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-light, standalone-0-514] Closing producer for topic persistent://public/default/smartcity-light
2026-05-05 17:52:04.261 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-light, standalone-0-514] Closed producer 0
2026-05-05 17:52:04.261 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:47968 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:04.261 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:47968 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 2 points written
  🐟 Redpanda: ✅
[SIM]   ✅ 10 capteurs | MQTT OK: 2/3 | OR: True

[SIM] ⏱️  It #2 — 17:52:05
  📤 city/sensors/traffic/traffic_000 → EMQX,Mosquitto
  ⚠️  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:52:05.742 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:05.742 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:05.743 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:47970 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:05.743 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:52:05.744 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:47970 -> 127.0.0.1:6650] 
2026-05-05 17:52:05.744 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:47970 -> 127.0.0.1:6650] 
2026-05-05 17:52:05.744 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:47970 -> 127.0.0.1:6650] 
2026-05-05 17:52:05.744 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:05.746 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:05.746 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-515] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:52:05.747 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-515] Closed producer 0
2026-05-05 17:52:05.747 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:47970 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:05.747 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:47970 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_001 → EMQX,Mosquitto
  ⚠️  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:52:07.038 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:07.038 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:07.038 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:47982 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:07.040 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:52:07.041 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:47982 -> 127.0.0.1:6650] 
2026-05-05 17:52:07.041 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:47982 -> 127.0.0.1:6650] 
2026-05-05 17:52:07.041 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:47982 -> 127.0.0.1:6650] 
2026-05-05 17:52:07.041 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:07.044 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:07.044 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-516] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:52:07.044 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-516] Closed producer 0
2026-05-05 17:52:07.044 INFO  [130543509300928] ClientConnection:1285 | [127.0.0.1:47982 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:07.045 INFO  [130543509300928] ClientConnection:301 | [127.0.0.1:47982 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,Mosquitto
  ⚠️  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:52:08.687 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:08.687 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:08.688 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:47998 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:08.689 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:52:08.690 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:47998 -> 127.0.0.1:6650] 
2026-05-05 17:52:08.690 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:47998 -> 127.0.0.1:6650] 
2026-05-05 17:52:08.690 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:47998 -> 127.0.0.1:6650] 
2026-05-05 17:52:08.690 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:08.693 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:08.693 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-517] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:52:08.693 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-517] Closed producer 0
2026-05-05 17:52:08.693 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:47998 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:08.694 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:47998 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_003/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_003, payload_mqtt exists: True
2026-05-05 17:52:09.223 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:09.223 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:09.223 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:48014 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:09.224 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:52:09.225 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:48014 -> 127.0.0.1:6650] 
2026-05-05 17:52:09.225 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:48014 -> 127.0.0.1:6650] 
2026-05-05 17:52:09.225 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:48014 -> 127.0.0.1:6650] 
2026-05-05 17:52:09.225 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:09.227 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:09.227 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-518] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:52:09.227 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-518] Closed producer 0
2026-05-05 17:52:09.227 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:48014 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:09.227 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:48014 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:52:17.382 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:17.382 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:17.382 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:58274 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:17.383 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:52:17.384 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:58274 -> 127.0.0.1:6650] 
2026-05-05 17:52:17.384 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:58274 -> 127.0.0.1:6650] 
2026-05-05 17:52:17.385 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:58274 -> 127.0.0.1:6650] 
2026-05-05 17:52:17.385 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:17.387 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:17.387 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-519] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:52:17.387 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-519] Closed producer 0
2026-05-05 17:52:17.387 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:58274 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:17.388 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:58274 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_005/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_005, payload_mqtt exists: True
2026-05-05 17:52:25.728 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:25.728 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:25.728 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:45874 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:25.730 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:52:25.730 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45874 -> 127.0.0.1:6650] 
2026-05-05 17:52:25.730 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:45874 -> 127.0.0.1:6650] 
2026-05-05 17:52:25.731 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:45874 -> 127.0.0.1:6650] 
2026-05-05 17:52:25.731 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:25.733 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:25.733 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-520] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:52:25.734 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-520] Closed producer 0
2026-05-05 17:52:25.734 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:45874 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:25.734 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:45874 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/parking/parking_006 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_006/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_006, payload_mqtt exists: True
2026-05-05 17:52:26.115 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:26.115 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:26.115 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:45878 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:26.117 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:52:26.117 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45878 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.117 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:45878 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.118 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:45878 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.118 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:26.120 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:26.120 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-521] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:52:26.121 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-521] Closed producer 0
2026-05-05 17:52:26.121 INFO  [130543509300928] ClientConnection:1285 | [127.0.0.1:45878 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:26.121 INFO  [130543509300928] ClientConnection:301 | [127.0.0.1:45878 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/noise/noise_007 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 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:52:26.464 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:26.464 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:26.465 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:45894 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:26.466 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-noise, ] Getting connection from pool
2026-05-05 17:52:26.466 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-noise, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45894 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.466 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-noise, producerName: on [127.0.0.1:45894 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.466 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-noise, ] Created producer on broker [127.0.0.1:45894 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.466 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:26.468 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:26.468 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-noise, standalone-0-522] Closing producer for topic persistent://public/default/smartcity-noise
2026-05-05 17:52:26.469 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-noise, standalone-0-522] Closed producer 0
2026-05-05 17:52:26.469 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:45894 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:26.469 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:45894 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/weather/weather_008 → EMQX,Mosquitto
  🏠 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:52:26.974 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:26.974 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:26.975 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:45896 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:26.976 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-weather, ] Getting connection from pool
2026-05-05 17:52:26.977 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-weather, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45896 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.977 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-weather, producerName: on [127.0.0.1:45896 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.977 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-weather, ] Created producer on broker [127.0.0.1:45896 -> 127.0.0.1:6650] 
2026-05-05 17:52:26.977 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:26.980 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:26.980 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-weather, standalone-0-523] Closing producer for topic persistent://public/default/smartcity-weather
2026-05-05 17:52:26.980 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-weather, standalone-0-523] Closed producer 0
2026-05-05 17:52:26.980 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:45896 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:26.980 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:45896 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 6 points written
  🐟 Redpanda: ✅
  📤 city/sensors/light/light_009 → EMQX,Mosquitto
  🏠 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:52:28.029 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:28.029 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:28.030 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:45908 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:28.032 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-light, ] Getting connection from pool
2026-05-05 17:52:28.034 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-light, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45908 -> 127.0.0.1:6650] 
2026-05-05 17:52:28.034 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-light, producerName: on [127.0.0.1:45908 -> 127.0.0.1:6650] 
2026-05-05 17:52:28.035 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-light, ] Created producer on broker [127.0.0.1:45908 -> 127.0.0.1:6650] 
2026-05-05 17:52:28.035 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 2 ms
2026-05-05 17:52:28.039 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:28.039 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-light, standalone-0-524] Closing producer for topic persistent://public/default/smartcity-light
2026-05-05 17:52:28.040 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-light, standalone-0-524] Closed producer 0
2026-05-05 17:52:28.041 INFO  [130543509300928] ClientConnection:1285 | [127.0.0.1:45908 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:28.041 INFO  [130543509300928] ClientConnection:301 | [127.0.0.1:45908 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 2 points written
  🐟 Redpanda: ✅
[SIM]   ✅ 10 capteurs | MQTT OK: 2/3 | OR: True

[SIM] ⏱️  It #3 — 17:52:29
  📤 city/sensors/traffic/traffic_000 → EMQX,Mosquitto
  ⚠️  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:52:29.453 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:29.453 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:29.454 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:45920 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:29.455 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:52:29.455 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45920 -> 127.0.0.1:6650] 
2026-05-05 17:52:29.455 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:45920 -> 127.0.0.1:6650] 
2026-05-05 17:52:29.456 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:45920 -> 127.0.0.1:6650] 
2026-05-05 17:52:29.456 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:29.457 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:29.457 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-525] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:52:29.458 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-525] Closed producer 0
2026-05-05 17:52:29.458 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:45920 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:29.458 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:45920 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_001 → EMQX,Mosquitto
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_001/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_001, payload_mqtt exists: True
2026-05-05 17:52:29.929 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:29.929 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:29.930 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:45924 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:29.931 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:52:29.931 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45924 -> 127.0.0.1:6650] 
2026-05-05 17:52:29.931 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:45924 -> 127.0.0.1:6650] 
2026-05-05 17:52:29.932 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:45924 -> 127.0.0.1:6650] 
2026-05-05 17:52:29.932 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:52:29.934 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:29.934 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-526] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:52:29.935 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-526] Closed producer 0
2026-05-05 17:52:29.935 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:45924 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:29.935 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:45924 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,Mosquitto
  ⚠️  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:52:31.371 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:31.371 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:31.372 INFO  [130543868950208] ClientConnection:421 | [127.0.0.1:45928 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:31.375 INFO  [130543868950208] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:52:31.376 INFO  [130543868950208] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45928 -> 127.0.0.1:6650] 
2026-05-05 17:52:31.376 INFO  [130543868950208] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:45928 -> 127.0.0.1:6650] 
2026-05-05 17:52:31.377 INFO  [130543868950208] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:45928 -> 127.0.0.1:6650] 
2026-05-05 17:52:31.377 INFO  [130543868950208] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:31.379 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:31.379 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-527] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:52:31.380 INFO  [130543868950208] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-527] Closed producer 0
2026-05-05 17:52:31.380 INFO  [130543509300928] ClientConnection:1285 | [127.0.0.1:45928 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:31.380 INFO  [130543509300928] ClientConnection:301 | [127.0.0.1:45928 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,Mosquitto
  🏠 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:52:33.516 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:33.516 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:33.516 INFO  [130543517693632] ClientConnection:421 | [127.0.0.1:45938 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:33.518 INFO  [130543517693632] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:52:33.518 INFO  [130543517693632] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45938 -> 127.0.0.1:6650] 
2026-05-05 17:52:33.518 INFO  [130543517693632] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:45938 -> 127.0.0.1:6650] 
2026-05-05 17:52:33.519 INFO  [130543517693632] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:45938 -> 127.0.0.1:6650] 
2026-05-05 17:52:33.519 INFO  [130543517693632] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:33.521 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:33.521 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-528] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:52:33.521 INFO  [130543517693632] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-528] Closed producer 0
2026-05-05 17:52:33.522 INFO  [130543868950208] ClientConnection:1285 | [127.0.0.1:45938 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:33.522 INFO  [130543868950208] ClientConnection:301 | [127.0.0.1:45938 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 7 points written
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/airquality/airquality_004 → EMQX,Mosquitto
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:52:41.983 INFO  [130544186099520] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:52:41.983 INFO  [130544186099520] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:52:41.983 INFO  [130543509300928] ClientConnection:421 | [127.0.0.1:42852 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:52:41.986 INFO  [130543509300928] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:52:41.986 INFO  [130543509300928] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:42852 -> 127.0.0.1:6650] 
2026-05-05 17:52:41.986 INFO  [130543509300928] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:42852 -> 127.0.0.1:6650] 
2026-05-05 17:52:41.987 INFO  [130543509300928] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:42852 -> 127.0.0.1:6650] 
2026-05-05 17:52:41.987 INFO  [130543509300928] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:52:41.991 INFO  [130544186099520] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:52:41.991 INFO  [130544186099520] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-529] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:52:41.991 INFO  [130543509300928] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-529] Closed producer 0
2026-05-05 17:52:41.992 INFO  [130543517693632] ClientConnection:1285 | [127.0.0.1:42852 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:52:41.992 INFO  [130543517693632] ClientConnection:301 | [127.0.0.1:42852 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 7 points written
