[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:49:44.579 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:49:44.579 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:49:44.580 INFO  [137324434290368] ClientConnection:421 | [127.0.0.1:46870 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:49:44.584 INFO  [137324434290368] HandlerBase:112 | [persistent://public/default/smartcity-air-quality, ] Getting connection from pool
2026-05-05 17:49:44.584 INFO  [137324434290368] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-air-quality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:46870 -> 127.0.0.1:6650] 
2026-05-05 17:49:44.584 INFO  [137324434290368] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-air-quality, producerName: on [127.0.0.1:46870 -> 127.0.0.1:6650] 
2026-05-05 17:49:44.839 INFO  [137324434290368] ProducerImpl:222 | [persistent://public/default/smartcity-air-quality, ] Created producer on broker [127.0.0.1:46870 -> 127.0.0.1:6650] 
2026-05-05 17:49:44.839 INFO  [137324434290368] HandlerBase:134 | Finished connecting to broker after 254 ms
2026-05-05 17:49:44.842 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:49:44.842 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-air-quality, standalone-0-437] Closing producer for topic persistent://public/default/smartcity-air-quality
2026-05-05 17:49:44.842 INFO  [137324434290368] ProducerImpl:767 | [persistent://public/default/smartcity-air-quality, standalone-0-437] Closed producer 0
2026-05-05 17:49:44.842 INFO  [137324417504960] ClientConnection:1285 | [127.0.0.1:46870 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:49:44.843 INFO  [137324417504960] ClientConnection:301 | [127.0.0.1:46870 -> 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:49:47
  📤 city/sensors/traffic/traffic_000 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing traffic_000...
  ✅ FROST Thing traffic_000 créé (ID: 104)
  📊 FROST: POST Datastream traffic_000/vehicle_count...
  ✅ FROST Datastream traffic_000/vehicle_count créé (ID: 449)
  📊 FROST: POST Datastream traffic_000/average_speed_kmh...
  ✅ FROST Datastream traffic_000/average_speed_kmh créé (ID: 450)
  📊 FROST: POST Datastream traffic_000/congestion_level...
  ✅ FROST Datastream traffic_000/congestion_level créé (ID: 451)
  📊 FROST: POST Datastream traffic_000/occupancy_percent...
  ✅ FROST Datastream traffic_000/occupancy_percent créé (ID: 452)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(449)/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:49:49.880 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:49:49.880 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:49:49.880 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:46876 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:49:49.882 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:49:49.883 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:46876 -> 127.0.0.1:6650] 
2026-05-05 17:49:49.883 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:46876 -> 127.0.0.1:6650] 
2026-05-05 17:49:49.884 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:46876 -> 127.0.0.1:6650] 
2026-05-05 17:49:49.884 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:49:49.886 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:49:49.886 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-438] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:49:49.887 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-438] Closed producer 0
2026-05-05 17:49:49.887 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:46876 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:49:49.887 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:46876 -> 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,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing traffic_001...
  ✅ FROST Thing traffic_001 créé (ID: 105)
  📊 FROST: POST Datastream traffic_001/vehicle_count...
  ✅ FROST Datastream traffic_001/vehicle_count créé (ID: 453)
  📊 FROST: POST Datastream traffic_001/average_speed_kmh...
  ✅ FROST Datastream traffic_001/average_speed_kmh créé (ID: 454)
  📊 FROST: POST Datastream traffic_001/congestion_level...
  ✅ FROST Datastream traffic_001/congestion_level créé (ID: 455)
  📊 FROST: POST Datastream traffic_001/occupancy_percent...
  ✅ FROST Datastream traffic_001/occupancy_percent créé (ID: 456)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(453)/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:49:50.856 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:49:50.856 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:49:50.856 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:46890 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:49:50.858 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:49:50.858 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:46890 -> 127.0.0.1:6650] 
2026-05-05 17:49:50.858 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:46890 -> 127.0.0.1:6650] 
2026-05-05 17:49:50.859 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:46890 -> 127.0.0.1:6650] 
2026-05-05 17:49:50.859 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:49:50.861 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:49:50.861 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-439] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:49:50.862 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-439] Closed producer 0
2026-05-05 17:49:50.862 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:46890 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:49:50.862 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:46890 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 4 points written
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing traffic_002...
  ✅ FROST Thing traffic_002 créé (ID: 106)
  📊 FROST: POST Datastream traffic_002/vehicle_count...
  ✅ FROST Datastream traffic_002/vehicle_count créé (ID: 457)
  📊 FROST: POST Datastream traffic_002/average_speed_kmh...
  ✅ FROST Datastream traffic_002/average_speed_kmh créé (ID: 458)
  📊 FROST: POST Datastream traffic_002/congestion_level...
  ✅ FROST Datastream traffic_002/congestion_level créé (ID: 459)
  📊 FROST: POST Datastream traffic_002/occupancy_percent...
  ✅ FROST Datastream traffic_002/occupancy_percent créé (ID: 460)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(457)/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:49:53.830 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:49:53.830 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:49:53.831 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:33630 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:49:53.832 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:49:53.832 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:33630 -> 127.0.0.1:6650] 
2026-05-05 17:49:53.832 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:33630 -> 127.0.0.1:6650] 
2026-05-05 17:49:53.833 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:33630 -> 127.0.0.1:6650] 
2026-05-05 17:49:53.833 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:49:53.835 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:49:53.835 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-441] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:49:53.836 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-441] Closed producer 0
2026-05-05 17:49:53.836 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:33630 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:49:53.836 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:33630 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,Mosquitto,BunkerM
  🏠 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: 107)
  📊 FROST: POST Datastream airquality_003/pm25_ugm3...
  ✅ FROST Datastream airquality_003/pm25_ugm3 créé (ID: 461)
  📊 FROST: POST Datastream airquality_003/pm10_ugm3...
  ✅ FROST Datastream airquality_003/pm10_ugm3 créé (ID: 462)
  📊 FROST: POST Datastream airquality_003/no2_ugm3...
  ✅ FROST Datastream airquality_003/no2_ugm3 créé (ID: 463)
  📊 FROST: POST Datastream airquality_003/o3_ugm3...
  ✅ FROST Datastream airquality_003/o3_ugm3 créé (ID: 464)
  📊 FROST: POST Datastream airquality_003/co_mgm3...
  ✅ FROST Datastream airquality_003/co_mgm3 créé (ID: 465)
  📊 FROST: POST Datastream airquality_003/temperature_celsius...
  ✅ FROST Datastream airquality_003/temperature_celsius créé (ID: 466)
  📊 FROST: POST Datastream airquality_003/humidity_percent...
  ✅ FROST Datastream airquality_003/humidity_percent créé (ID: 467)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(461)/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:49:55.575 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:49:55.575 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:49:55.576 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:33674 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:49:55.577 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:49:55.578 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:33674 -> 127.0.0.1:6650] 
2026-05-05 17:49:55.578 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:33674 -> 127.0.0.1:6650] 
2026-05-05 17:49:55.579 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:33674 -> 127.0.0.1:6650] 
2026-05-05 17:49:55.579 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:49:55.581 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:49:55.581 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-445] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:49:55.582 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-445] Closed producer 0
2026-05-05 17:49:55.582 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:33674 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:49:55.582 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:33674 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing airquality_004...
  ✅ FROST Thing airquality_004 créé (ID: 108)
  📊 FROST: POST Datastream airquality_004/pm25_ugm3...
  ✅ FROST Datastream airquality_004/pm25_ugm3 créé (ID: 468)
  📊 FROST: POST Datastream airquality_004/pm10_ugm3...
  ✅ FROST Datastream airquality_004/pm10_ugm3 créé (ID: 469)
  📊 FROST: POST Datastream airquality_004/no2_ugm3...
  ✅ FROST Datastream airquality_004/no2_ugm3 créé (ID: 470)
  📊 FROST: POST Datastream airquality_004/o3_ugm3...
  ✅ FROST Datastream airquality_004/o3_ugm3 créé (ID: 471)
  📊 FROST: POST Datastream airquality_004/co_mgm3...
  ✅ FROST Datastream airquality_004/co_mgm3 créé (ID: 472)
  📊 FROST: POST Datastream airquality_004/temperature_celsius...
  ✅ FROST Datastream airquality_004/temperature_celsius créé (ID: 473)
  📊 FROST: POST Datastream airquality_004/humidity_percent...
  ✅ FROST Datastream airquality_004/humidity_percent créé (ID: 474)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(468)/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:50:04.218 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:04.218 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:04.218 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:34322 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:04.220 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:50:04.220 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:34322 -> 127.0.0.1:6650] 
2026-05-05 17:50:04.220 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:34322 -> 127.0.0.1:6650] 
2026-05-05 17:50:04.220 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:34322 -> 127.0.0.1:6650] 
2026-05-05 17:50:04.220 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:04.222 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:04.222 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-451] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:50:04.223 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-451] Closed producer 0
2026-05-05 17:50:04.223 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:34322 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:04.223 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:34322 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_005...
  ✅ FROST Thing parking_005 créé (ID: 109)
  📊 FROST: POST Datastream parking_005/total_spots...
  ✅ FROST Datastream parking_005/total_spots créé (ID: 475)
  📊 FROST: POST Datastream parking_005/available_spots...
  ✅ FROST Datastream parking_005/available_spots créé (ID: 476)
  📊 FROST: POST Datastream parking_005/occupancy_percent...
  ✅ FROST Datastream parking_005/occupancy_percent créé (ID: 477)
  📊 FROST: POST Datastream parking_005/turnover_per_hour...
  ✅ FROST Datastream parking_005/turnover_per_hour créé (ID: 478)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(475)/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:50:12.835 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:12.835 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:12.836 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:34346 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:12.837 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:50:12.837 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:34346 -> 127.0.0.1:6650] 
2026-05-05 17:50:12.837 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:34346 -> 127.0.0.1:6650] 
2026-05-05 17:50:12.837 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:34346 -> 127.0.0.1:6650] 
2026-05-05 17:50:12.837 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:12.839 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:12.839 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-453] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:50:12.840 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-453] Closed producer 0
2026-05-05 17:50:12.840 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:34346 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:12.840 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:34346 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/parking/parking_006 → EMQX,Mosquitto,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing parking_006...
  📈 InfluxDB: 4 points written
  ✅ FROST Thing parking_006 créé (ID: 110)
  📊 FROST: POST Datastream parking_006/total_spots...
  ✅ FROST Datastream parking_006/total_spots créé (ID: 479)
  📊 FROST: POST Datastream parking_006/available_spots...
  ✅ FROST Datastream parking_006/available_spots créé (ID: 480)
  📊 FROST: POST Datastream parking_006/occupancy_percent...
  ✅ FROST Datastream parking_006/occupancy_percent créé (ID: 481)
  📊 FROST: POST Datastream parking_006/turnover_per_hour...
  ✅ FROST Datastream parking_006/turnover_per_hour créé (ID: 482)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(479)/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:50:13.368 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:13.368 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:13.369 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:34362 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:13.370 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:50:13.370 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:34362 -> 127.0.0.1:6650] 
2026-05-05 17:50:13.370 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:34362 -> 127.0.0.1:6650] 
2026-05-05 17:50:13.371 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:34362 -> 127.0.0.1:6650] 
2026-05-05 17:50:13.371 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:13.373 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:13.373 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-454] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:50:13.373 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-454] Closed producer 0
2026-05-05 17:50:13.373 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:34362 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:13.373 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:34362 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing noise_007...
  ✅ FROST Thing noise_007 créé (ID: 111)
  📊 FROST: POST Datastream noise_007/noise_level_db...
  ✅ FROST Datastream noise_007/noise_level_db créé (ID: 483)
  📊 FROST: POST Datastream noise_007/peak_db...
  ✅ FROST Datastream noise_007/peak_db créé (ID: 484)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(483)/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:50:13.760 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:13.760 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:13.760 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:34376 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:13.762 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-noise, ] Getting connection from pool
2026-05-05 17:50:13.762 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-noise, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:34376 -> 127.0.0.1:6650] 
2026-05-05 17:50:13.762 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-noise, producerName: on [127.0.0.1:34376 -> 127.0.0.1:6650] 
2026-05-05 17:50:13.762 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-noise, ] Created producer on broker [127.0.0.1:34376 -> 127.0.0.1:6650] 
2026-05-05 17:50:13.762 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:13.764 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:13.764 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-noise, standalone-0-455] Closing producer for topic persistent://public/default/smartcity-noise
2026-05-05 17:50:13.765 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-noise, standalone-0-455] Closed producer 0
2026-05-05 17:50:13.765 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:34376 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:13.765 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:34376 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing weather_008...
  ✅ FROST Thing weather_008 créé (ID: 112)
  📊 FROST: POST Datastream weather_008/temperature_celsius...
  ✅ FROST Datastream weather_008/temperature_celsius créé (ID: 485)
  📊 FROST: POST Datastream weather_008/humidity_percent...
  ✅ FROST Datastream weather_008/humidity_percent créé (ID: 486)
  📊 FROST: POST Datastream weather_008/wind_speed_kmh...
  ✅ FROST Datastream weather_008/wind_speed_kmh créé (ID: 487)
  📊 FROST: POST Datastream weather_008/pressure_hpa...
  ✅ FROST Datastream weather_008/pressure_hpa créé (ID: 488)
  📊 FROST: POST Datastream weather_008/rain_mm...
  ✅ FROST Datastream weather_008/rain_mm créé (ID: 489)
  📊 FROST: POST Datastream weather_008/uv_index...
  ✅ FROST Datastream weather_008/uv_index créé (ID: 490)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(485)/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:50:14.255 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:14.255 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:14.256 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:44174 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:14.259 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-weather, ] Getting connection from pool
2026-05-05 17:50:14.261 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-weather, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44174 -> 127.0.0.1:6650] 
2026-05-05 17:50:14.261 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-weather, producerName: on [127.0.0.1:44174 -> 127.0.0.1:6650] 
2026-05-05 17:50:14.263 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-weather, ] Created producer on broker [127.0.0.1:44174 -> 127.0.0.1:6650] 
2026-05-05 17:50:14.263 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 3 ms
2026-05-05 17:50:14.267 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:14.267 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-weather, standalone-0-456] Closing producer for topic persistent://public/default/smartcity-weather
2026-05-05 17:50:14.268 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-weather, standalone-0-456] Closed producer 0
2026-05-05 17:50:14.269 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:44174 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:14.269 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:44174 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📊 FROST: POST Thing light_009...
  ✅ FROST Thing light_009 créé (ID: 113)
  📊 FROST: POST Datastream light_009/brightness_lux...
  ✅ FROST Datastream light_009/brightness_lux créé (ID: 491)
  📊 FROST: POST Datastream light_009/power_consumption_w...
  ✅ FROST Datastream light_009/power_consumption_w créé (ID: 492)
  ⚠️  HTTP POST http://localhost:8090/FROST-Server/v1.1/Datastreams(491)/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:50:14.745 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:14.745 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:14.745 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:44198 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:14.747 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-light, ] Getting connection from pool
2026-05-05 17:50:14.748 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-light, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44198 -> 127.0.0.1:6650] 
2026-05-05 17:50:14.748 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-light, producerName: on [127.0.0.1:44198 -> 127.0.0.1:6650] 
2026-05-05 17:50:14.749 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-light, ] Created producer on broker [127.0.0.1:44198 -> 127.0.0.1:6650] 
2026-05-05 17:50:14.749 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:50:14.752 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:14.752 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-light, standalone-0-458] Closing producer for topic persistent://public/default/smartcity-light
2026-05-05 17:50:14.752 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-light, standalone-0-458] Closed producer 0
2026-05-05 17:50:14.753 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:44198 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:14.753 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:44198 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 2 points written
  🐟 Redpanda: ✅
[SIM]   ✅ 10 capteurs | MQTT OK: 3/3 | OR: True

[SIM] ⏱️  It #2 — 17:50:15
  📤 city/sensors/traffic/traffic_000 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_000/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_000, payload_mqtt exists: True
2026-05-05 17:50:16.707 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:16.707 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:16.707 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:44244 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:16.708 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:50:16.708 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44244 -> 127.0.0.1:6650] 
2026-05-05 17:50:16.708 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:44244 -> 127.0.0.1:6650] 
2026-05-05 17:50:16.709 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:44244 -> 127.0.0.1:6650] 
2026-05-05 17:50:16.709 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:16.711 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:16.711 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-463] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:50:16.711 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-463] Closed producer 0
2026-05-05 17:50:16.711 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:44244 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:16.711 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:44244 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_001 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_001/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_001, payload_mqtt exists: True
2026-05-05 17:50:18.994 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:18.994 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:18.994 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:44254 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:18.995 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:50:18.995 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44254 -> 127.0.0.1:6650] 
2026-05-05 17:50:18.995 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:44254 -> 127.0.0.1:6650] 
2026-05-05 17:50:18.996 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:44254 -> 127.0.0.1:6650] 
2026-05-05 17:50:18.996 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:18.998 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:18.998 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-464] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:50:18.998 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-464] Closed producer 0
2026-05-05 17:50:18.998 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:44254 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:18.998 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:44254 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,Mosquitto,BunkerM
  ⚠️  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:50:20.630 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:20.630 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:20.630 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:44268 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:20.632 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:50:20.633 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44268 -> 127.0.0.1:6650] 
2026-05-05 17:50:20.633 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:44268 -> 127.0.0.1:6650] 
2026-05-05 17:50:20.634 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:44268 -> 127.0.0.1:6650] 
2026-05-05 17:50:20.634 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:50:20.701 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:20.701 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-466] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:50:20.702 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-466] Closed producer 0
2026-05-05 17:50:20.702 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:44268 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:20.702 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:44268 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,Mosquitto,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ FROST Observation airquality_003/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_003, payload_mqtt exists: True
2026-05-05 17:50:22.129 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:22.129 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:22.129 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:44294 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:22.130 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:50:22.130 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44294 -> 127.0.0.1:6650] 
2026-05-05 17:50:22.130 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:44294 -> 127.0.0.1:6650] 
2026-05-05 17:50:22.131 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:44294 -> 127.0.0.1:6650] 
2026-05-05 17:50:22.131 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:22.133 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:22.133 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-468] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:50:22.133 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-468] Closed producer 0
2026-05-05 17:50:22.133 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:44294 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:22.133 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:44294 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:50:30.445 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:30.445 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:30.446 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:54268 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:30.448 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:50:30.448 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:54268 -> 127.0.0.1:6650] 
2026-05-05 17:50:30.448 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:54268 -> 127.0.0.1:6650] 
2026-05-05 17:50:30.449 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:54268 -> 127.0.0.1:6650] 
2026-05-05 17:50:30.449 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:50:30.452 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:30.452 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-471] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:50:30.452 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-471] Closed producer 0
2026-05-05 17:50:30.452 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:54268 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:30.452 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:54268 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_005/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_005, payload_mqtt exists: True
2026-05-05 17:50:38.679 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:38.679 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:38.680 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:55122 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:38.681 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:50:38.682 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:55122 -> 127.0.0.1:6650] 
2026-05-05 17:50:38.682 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:55122 -> 127.0.0.1:6650] 
2026-05-05 17:50:38.683 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:55122 -> 127.0.0.1:6650] 
2026-05-05 17:50:38.683 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:50:38.687 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:38.687 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-473] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:50:38.688 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-473] Closed producer 0
2026-05-05 17:50:38.688 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:55122 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:38.688 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:55122 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_006/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_006/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_006, payload_mqtt exists: True
2026-05-05 17:50:39.121 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:39.121 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:39.122 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:55132 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:39.124 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:50:39.125 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:55132 -> 127.0.0.1:6650] 
2026-05-05 17:50:39.125 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:55132 -> 127.0.0.1:6650] 
2026-05-05 17:50:39.126 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:55132 -> 127.0.0.1:6650] 
2026-05-05 17:50:39.126 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:50:39.129 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:39.129 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-474] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:50:39.130 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-474] Closed producer 0
2026-05-05 17:50:39.130 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:55132 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:39.130 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:55132 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/noise/noise_007 → EMQX,Mosquitto,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation noise_007/noise_level_db → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation noise_007/peak_db → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for noise_007, payload_mqtt exists: True
2026-05-05 17:50:39.436 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:39.436 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:39.437 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:55134 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:39.438 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-noise, ] Getting connection from pool
2026-05-05 17:50:39.438 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-noise, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:55134 -> 127.0.0.1:6650] 
2026-05-05 17:50:39.438 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-noise, producerName: on [127.0.0.1:55134 -> 127.0.0.1:6650] 
2026-05-05 17:50:39.439 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-noise, ] Created producer on broker [127.0.0.1:55134 -> 127.0.0.1:6650] 
2026-05-05 17:50:39.439 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:39.442 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:39.442 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-noise, standalone-0-475] Closing producer for topic persistent://public/default/smartcity-noise
2026-05-05 17:50:39.443 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-noise, standalone-0-475] Closed producer 0
2026-05-05 17:50:39.443 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:55134 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:39.444 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:55134 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 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:50:40.906 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:40.907 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:40.907 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:55148 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:40.908 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-weather, ] Getting connection from pool
2026-05-05 17:50:40.908 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-weather, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:55148 -> 127.0.0.1:6650] 
2026-05-05 17:50:40.908 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-weather, producerName: on [127.0.0.1:55148 -> 127.0.0.1:6650] 
2026-05-05 17:50:40.909 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-weather, ] Created producer on broker [127.0.0.1:55148 -> 127.0.0.1:6650] 
2026-05-05 17:50:40.909 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:40.911 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:40.911 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-weather, standalone-0-477] Closing producer for topic persistent://public/default/smartcity-weather
2026-05-05 17:50:40.911 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-weather, standalone-0-477] Closed producer 0
2026-05-05 17:50:40.911 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:55148 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:40.911 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:55148 -> 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,BunkerM
  🏠 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:50:41.799 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:41.799 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:41.800 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:55164 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:41.802 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-light, ] Getting connection from pool
2026-05-05 17:50:41.802 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-light, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:55164 -> 127.0.0.1:6650] 
2026-05-05 17:50:41.802 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-light, producerName: on [127.0.0.1:55164 -> 127.0.0.1:6650] 
2026-05-05 17:50:41.803 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-light, ] Created producer on broker [127.0.0.1:55164 -> 127.0.0.1:6650] 
2026-05-05 17:50:41.803 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:50:41.806 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:41.806 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-light, standalone-0-479] Closing producer for topic persistent://public/default/smartcity-light
2026-05-05 17:50:41.806 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-light, standalone-0-479] Closed producer 0
2026-05-05 17:50:41.807 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:55164 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:41.807 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:55164 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
[SIM]   ✅ 10 capteurs | MQTT OK: 3/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #3 — 17:50:42
  📤 city/sensors/traffic/traffic_000 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_000/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_000, payload_mqtt exists: True
2026-05-05 17:50:43.420 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:43.420 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:43.421 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:55186 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:43.422 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:50:43.422 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:55186 -> 127.0.0.1:6650] 
2026-05-05 17:50:43.422 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:55186 -> 127.0.0.1:6650] 
2026-05-05 17:50:43.422 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:55186 -> 127.0.0.1:6650] 
2026-05-05 17:50:43.422 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:43.425 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:43.425 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-483] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:50:43.425 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-483] Closed producer 0
2026-05-05 17:50:43.425 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:55186 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:43.425 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:55186 -> 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,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_001/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_001, payload_mqtt exists: True
2026-05-05 17:50:46.465 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:46.465 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:46.466 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:52028 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:46.466 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:50:46.468 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:52028 -> 127.0.0.1:6650] 
2026-05-05 17:50:46.468 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:52028 -> 127.0.0.1:6650] 
2026-05-05 17:50:46.468 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:52028 -> 127.0.0.1:6650] 
2026-05-05 17:50:46.468 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:50:46.470 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:46.470 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-484] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:50:46.471 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-484] Closed producer 0
2026-05-05 17:50:46.471 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:52028 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:46.471 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:52028 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_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:50:48.496 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:48.496 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:48.497 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:52044 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:48.498 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:50:48.498 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:52044 -> 127.0.0.1:6650] 
2026-05-05 17:50:48.498 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:52044 -> 127.0.0.1:6650] 
2026-05-05 17:50:48.499 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:52044 -> 127.0.0.1:6650] 
2026-05-05 17:50:48.499 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:50:48.501 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:48.501 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-485] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:50:48.501 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-485] Closed producer 0
2026-05-05 17:50:48.501 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:52044 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:48.501 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:52044 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,Mosquitto,BunkerM
  🏠 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:50:51.508 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:50:51.508 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:50:51.509 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:52056 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:50:51.512 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:50:51.513 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:52056 -> 127.0.0.1:6650] 
2026-05-05 17:50:51.513 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:52056 -> 127.0.0.1:6650] 
2026-05-05 17:50:51.515 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:52056 -> 127.0.0.1:6650] 
2026-05-05 17:50:51.516 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 2 ms
2026-05-05 17:50:51.518 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:50:51.518 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-486] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:50:51.519 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-486] Closed producer 0
2026-05-05 17:50:51.519 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:52056 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:50:51.519 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:52056 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:51:00.657 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:00.657 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:00.658 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:38254 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:00.659 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:51:00.659 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:38254 -> 127.0.0.1:6650] 
2026-05-05 17:51:00.659 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:38254 -> 127.0.0.1:6650] 
2026-05-05 17:51:00.660 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:38254 -> 127.0.0.1:6650] 
2026-05-05 17:51:00.660 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:00.662 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:00.662 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-487] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:51:00.662 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-487] Closed producer 0
2026-05-05 17:51:00.662 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:38254 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:00.662 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:38254 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_005/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_005, payload_mqtt exists: True
2026-05-05 17:51:09.046 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:09.046 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:09.047 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:45450 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:09.047 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:51:09.048 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45450 -> 127.0.0.1:6650] 
2026-05-05 17:51:09.048 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:45450 -> 127.0.0.1:6650] 
2026-05-05 17:51:09.048 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:45450 -> 127.0.0.1:6650] 
2026-05-05 17:51:09.048 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:09.050 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:09.050 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-488] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:51:09.051 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-488] Closed producer 0
2026-05-05 17:51:09.051 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:45450 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:09.051 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:45450 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/parking/parking_006 → EMQX,Mosquitto,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  📈 InfluxDB: 4 points written
  🌐 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:51:09.530 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:09.530 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:09.531 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:45464 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:09.532 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:51:09.533 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45464 -> 127.0.0.1:6650] 
2026-05-05 17:51:09.533 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:45464 -> 127.0.0.1:6650] 
2026-05-05 17:51:09.533 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:45464 -> 127.0.0.1:6650] 
2026-05-05 17:51:09.533 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:09.536 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:09.536 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-489] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:51:09.536 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-489] Closed producer 0
2026-05-05 17:51:09.536 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:45464 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:09.536 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:45464 -> 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,BunkerM
  🏠 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:51:10.022 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:10.022 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:10.022 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:45478 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:10.023 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-noise, ] Getting connection from pool
2026-05-05 17:51:10.023 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-noise, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45478 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.023 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-noise, producerName: on [127.0.0.1:45478 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.024 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-noise, ] Created producer on broker [127.0.0.1:45478 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.024 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:10.026 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:10.026 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-noise, standalone-0-490] Closing producer for topic persistent://public/default/smartcity-noise
2026-05-05 17:51:10.026 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-noise, standalone-0-490] Closed producer 0
2026-05-05 17:51:10.026 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:45478 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:10.027 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:45478 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/weather/weather_008 → EMQX,Mosquitto,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 2 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation weather_008/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/humidity_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/wind_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/pressure_hpa → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/rain_mm → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation weather_008/uv_index → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for weather_008, payload_mqtt exists: True
2026-05-05 17:51:10.575 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:10.575 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:10.575 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:45492 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:10.577 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-weather, ] Getting connection from pool
2026-05-05 17:51:10.578 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-weather, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45492 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.578 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-weather, producerName: on [127.0.0.1:45492 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.579 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-weather, ] Created producer on broker [127.0.0.1:45492 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.579 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:10.581 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:10.581 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-weather, standalone-0-491] Closing producer for topic persistent://public/default/smartcity-weather
2026-05-05 17:51:10.582 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-weather, standalone-0-491] Closed producer 0
2026-05-05 17:51:10.582 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:45492 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:10.582 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:45492 -> 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,BunkerM
  🏠 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:51:10.881 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:10.881 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:10.882 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:45500 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:10.883 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-light, ] Getting connection from pool
2026-05-05 17:51:10.883 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-light, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45500 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.883 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-light, producerName: on [127.0.0.1:45500 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.884 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-light, ] Created producer on broker [127.0.0.1:45500 -> 127.0.0.1:6650] 
2026-05-05 17:51:10.884 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:10.886 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:10.886 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-light, standalone-0-492] Closing producer for topic persistent://public/default/smartcity-light
2026-05-05 17:51:10.886 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-light, standalone-0-492] Closed producer 0
2026-05-05 17:51:10.886 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:45500 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:10.886 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:45500 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
[SIM]   ✅ 10 capteurs | MQTT OK: 3/3 | OR: True
  📈 InfluxDB: 2 points written

[SIM] ⏱️  It #4 — 17:51:11
  📤 city/sensors/traffic/traffic_000 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_000/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_000/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_000, payload_mqtt exists: True
2026-05-05 17:51:12.325 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:12.325 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:12.326 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:45502 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:12.327 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:51:12.327 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45502 -> 127.0.0.1:6650] 
2026-05-05 17:51:12.327 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:45502 -> 127.0.0.1:6650] 
2026-05-05 17:51:12.327 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:45502 -> 127.0.0.1:6650] 
2026-05-05 17:51:12.327 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:12.329 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:12.329 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-493] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:51:12.330 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-493] Closed producer 0
2026-05-05 17:51:12.330 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:45502 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:12.330 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:45502 -> 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,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_001/vehicle_count → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/average_speed_kmh → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/congestion_level → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation traffic_001/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for traffic_001, payload_mqtt exists: True
2026-05-05 17:51:12.809 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:12.809 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:12.810 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:45512 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:12.811 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:51:12.811 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:45512 -> 127.0.0.1:6650] 
2026-05-05 17:51:12.811 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:45512 -> 127.0.0.1:6650] 
2026-05-05 17:51:12.811 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:45512 -> 127.0.0.1:6650] 
2026-05-05 17:51:12.811 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:12.813 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:12.813 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-494] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:51:12.814 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-494] Closed producer 0
2026-05-05 17:51:12.814 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:45512 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:12.814 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:45512 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/traffic/traffic_002 → EMQX,Mosquitto,BunkerM
  ⚠️  OpenRemote token → HTTP Error 405: Method Not Allowed
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  📈 InfluxDB: 4 points written
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation traffic_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:51:14.020 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:14.020 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:14.021 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:44512 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:14.021 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-traffic, ] Getting connection from pool
2026-05-05 17:51:14.022 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-traffic, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44512 -> 127.0.0.1:6650] 
2026-05-05 17:51:14.022 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-traffic, producerName: on [127.0.0.1:44512 -> 127.0.0.1:6650] 
2026-05-05 17:51:14.022 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-traffic, ] Created producer on broker [127.0.0.1:44512 -> 127.0.0.1:6650] 
2026-05-05 17:51:14.022 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:14.024 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:14.024 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-traffic, standalone-0-495] Closing producer for topic persistent://public/default/smartcity-traffic
2026-05-05 17:51:14.024 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-traffic, standalone-0-495] Closed producer 0
2026-05-05 17:51:14.025 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:44512 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:14.025 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:44512 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/airquality/airquality_003 → EMQX,Mosquitto,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  📈 InfluxDB: 4 points written
  ✅ FROST Observation airquality_003/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_003/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_003, payload_mqtt exists: True
2026-05-05 17:51:16.506 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:16.506 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:16.506 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:44522 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:16.507 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:51:16.508 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:44522 -> 127.0.0.1:6650] 
2026-05-05 17:51:16.508 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:44522 -> 127.0.0.1:6650] 
2026-05-05 17:51:16.508 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:44522 -> 127.0.0.1:6650] 
2026-05-05 17:51:16.508 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:16.510 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:16.510 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-496] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:51:16.511 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-496] Closed producer 0
2026-05-05 17:51:16.511 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:44522 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:16.511 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:44522 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation airquality_004/pm25_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/pm10_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/no2_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/o3_ugm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/co_mgm3 → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/temperature_celsius → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation airquality_004/humidity_percent → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for airquality_004, payload_mqtt exists: True
2026-05-05 17:51:24.991 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:24.991 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:24.992 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:54640 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:24.993 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-airquality, ] Getting connection from pool
2026-05-05 17:51:24.994 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-airquality, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:54640 -> 127.0.0.1:6650] 
2026-05-05 17:51:24.994 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-airquality, producerName: on [127.0.0.1:54640 -> 127.0.0.1:6650] 
2026-05-05 17:51:24.995 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-airquality, ] Created producer on broker [127.0.0.1:54640 -> 127.0.0.1:6650] 
2026-05-05 17:51:24.995 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:24.997 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:24.997 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-airquality, standalone-0-497] Closing producer for topic persistent://public/default/smartcity-airquality
2026-05-05 17:51:24.997 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-airquality, standalone-0-497] Closed producer 0
2026-05-05 17:51:24.997 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:54640 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:24.997 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:54640 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 7 points written

[SIM] 🛑 Arrêt...
  ⚠️  Redpanda → timed out
  🐟 Redpanda: ❌
  📤 city/sensors/parking/parking_005 → EMQX,Mosquitto,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 Stellio:   ✅ (HTTP 204 updated)
  🏢 Stellio:   ✅
  ✅ FROST Observation parking_005/total_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/available_spots → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/occupancy_percent → OK (cached)
  📊 FROST:    ✅
  ✅ FROST Observation parking_005/turnover_per_hour → OK (cached)
  📊 FROST:    ✅
  📈 InfluxDB: ✅
  🌪️ DEBUG: calling publish_pulsar for parking_005, payload_mqtt exists: True
2026-05-05 17:51:33.472 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:33.472 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:33.473 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:54650 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:33.474 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:51:33.475 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:54650 -> 127.0.0.1:6650] 
2026-05-05 17:51:33.475 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:54650 -> 127.0.0.1:6650] 
2026-05-05 17:51:33.476 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:54650 -> 127.0.0.1:6650] 
2026-05-05 17:51:33.476 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:33.478 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:33.478 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-499] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:51:33.478 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-499] Closed producer 0
2026-05-05 17:51:33.479 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:54650 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:33.479 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:54650 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  🐟 Redpanda: ✅
  📤 city/sensors/parking/parking_006 → EMQX,Mosquitto,BunkerM
  🏠 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:51:33.905 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:33.905 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:33.905 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:59186 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:33.907 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-parking, ] Getting connection from pool
2026-05-05 17:51:33.907 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-parking, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:59186 -> 127.0.0.1:6650] 
2026-05-05 17:51:33.907 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-parking, producerName: on [127.0.0.1:59186 -> 127.0.0.1:6650] 
2026-05-05 17:51:33.908 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-parking, ] Created producer on broker [127.0.0.1:59186 -> 127.0.0.1:6650] 
2026-05-05 17:51:33.908 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 1 ms
2026-05-05 17:51:33.911 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:33.911 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-parking, standalone-0-500] Closing producer for topic persistent://public/default/smartcity-parking
2026-05-05 17:51:33.911 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-parking, standalone-0-500] Closed producer 0
2026-05-05 17:51:33.911 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:59186 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:33.911 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:59186 -> 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,BunkerM
  🏠 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:51:34.215 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:34.215 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:34.215 INFO  [137324180526784] ClientConnection:421 | [127.0.0.1:59194 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:34.216 INFO  [137324180526784] HandlerBase:112 | [persistent://public/default/smartcity-noise, ] Getting connection from pool
2026-05-05 17:51:34.216 INFO  [137324180526784] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-noise, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:59194 -> 127.0.0.1:6650] 
2026-05-05 17:51:34.216 INFO  [137324180526784] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-noise, producerName: on [127.0.0.1:59194 -> 127.0.0.1:6650] 
2026-05-05 17:51:34.217 INFO  [137324180526784] ProducerImpl:222 | [persistent://public/default/smartcity-noise, ] Created producer on broker [127.0.0.1:59194 -> 127.0.0.1:6650] 
2026-05-05 17:51:34.217 INFO  [137324180526784] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:34.219 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:34.219 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-noise, standalone-0-501] Closing producer for topic persistent://public/default/smartcity-noise
2026-05-05 17:51:34.219 INFO  [137324180526784] ProducerImpl:767 | [persistent://public/default/smartcity-noise, standalone-0-501] Closed producer 0
2026-05-05 17:51:34.219 INFO  [137324188919488] ClientConnection:1285 | [127.0.0.1:59194 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:34.220 INFO  [137324188919488] ClientConnection:301 | [127.0.0.1:59194 -> 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,BunkerM
  🏠 OpenRemote: ⚠️ skipped
  🌐 Orion-LD: ✅ (HTTP 204 updated)
  🌐 Orion-LD: ✅
  🏢 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:51:34.753 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:34.753 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:34.753 INFO  [137324197312192] ClientConnection:421 | [127.0.0.1:59200 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:34.754 INFO  [137324197312192] HandlerBase:112 | [persistent://public/default/smartcity-weather, ] Getting connection from pool
2026-05-05 17:51:34.755 INFO  [137324197312192] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-weather, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:59200 -> 127.0.0.1:6650] 
2026-05-05 17:51:34.755 INFO  [137324197312192] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-weather, producerName: on [127.0.0.1:59200 -> 127.0.0.1:6650] 
2026-05-05 17:51:34.755 INFO  [137324197312192] ProducerImpl:222 | [persistent://public/default/smartcity-weather, ] Created producer on broker [127.0.0.1:59200 -> 127.0.0.1:6650] 
2026-05-05 17:51:34.755 INFO  [137324197312192] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:34.757 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:34.757 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-weather, standalone-0-502] Closing producer for topic persistent://public/default/smartcity-weather
2026-05-05 17:51:34.757 INFO  [137324197312192] ProducerImpl:767 | [persistent://public/default/smartcity-weather, standalone-0-502] Closed producer 0
2026-05-05 17:51:34.758 INFO  [137324180526784] ClientConnection:1285 | [127.0.0.1:59200 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:34.758 INFO  [137324180526784] ClientConnection:301 | [127.0.0.1:59200 -> 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,BunkerM
  🏠 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:51:35.022 INFO  [137324718683968] ClientConnection:209 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2026-05-05 17:51:35.022 INFO  [137324718683968] ConnectionPool:148 | Created connection for pulsar://localhost:6650-pulsar://localhost:6650-0
2026-05-05 17:51:35.022 INFO  [137324188919488] ClientConnection:421 | [127.0.0.1:59214 -> 127.0.0.1:6650] Connected to broker
2026-05-05 17:51:35.023 INFO  [137324188919488] HandlerBase:112 | [persistent://public/default/smartcity-light, ] Getting connection from pool
2026-05-05 17:51:35.024 INFO  [137324188919488] BinaryProtoLookupService:85 | Lookup response for persistent://public/default/smartcity-light, lookup-broker-url pulsar://localhost:6650, from [127.0.0.1:59214 -> 127.0.0.1:6650] 
2026-05-05 17:51:35.024 INFO  [137324188919488] ProducerImpl:148 | Creating producer for topic:persistent://public/default/smartcity-light, producerName: on [127.0.0.1:59214 -> 127.0.0.1:6650] 
2026-05-05 17:51:35.024 INFO  [137324188919488] ProducerImpl:222 | [persistent://public/default/smartcity-light, ] Created producer on broker [127.0.0.1:59214 -> 127.0.0.1:6650] 
2026-05-05 17:51:35.024 INFO  [137324188919488] HandlerBase:134 | Finished connecting to broker after 0 ms
2026-05-05 17:51:35.026 INFO  [137324718683968] ClientImpl:718 | Closing Pulsar client with 1 producers and 0 consumers
2026-05-05 17:51:35.026 INFO  [137324718683968] ProducerImpl:803 | [persistent://public/default/smartcity-light, standalone-0-503] Closing producer for topic persistent://public/default/smartcity-light
2026-05-05 17:51:35.027 INFO  [137324188919488] ProducerImpl:767 | [persistent://public/default/smartcity-light, standalone-0-503] Closed producer 0
2026-05-05 17:51:35.027 INFO  [137324197312192] ClientConnection:1285 | [127.0.0.1:59214 -> 127.0.0.1:6650] Connection disconnected (refCnt: 4)
2026-05-05 17:51:35.027 INFO  [137324197312192] ClientConnection:301 | [127.0.0.1:59214 -> 127.0.0.1:6650] Destroyed connection to pulsar://localhost:6650-0
  🌪️  Pulsar:  ✅
  📈 InfluxDB: 2 points written
  🐟 Redpanda: ✅
[SIM]   ✅ 10 capteurs | MQTT OK: 3/3 | OR: True
[MQTT]   ⚠️  EMQX déconnecté
[MQTT]   ⚠️  Mosquitto déconnecté
[MQTT]   ⚠️  BunkerM déconnecté
[SIM] ✅ Arrêté proprement.
