{"arm":{"seq":4,"src":"ros2_topic:/arm/state","state":"FOLDED","ts":"2026-09-07T01:05:37.243"},"clibo":{"battery":100,"battery_level":"HIGH","charging":true,"charging_src":"mqtt:esp_relay","icon":"\ud83d\udd0c","src":"ros2:/battery_level","state":"\ucda9\uc804\uc911","ts":"2026-09-07T14:40:08.116","voltage":28.6},"hum":null,"ms":null,"nav":{"coverage":100.0,"dock_distance_m":7.061961497156551,"frame":"map","map":{"h":3185,"origin":{"x":-14.7,"y":-86.3,"yaw":0.0},"res":0.05000000074505806,"w":1238},"pose":{"x":-5.217816996867887,"y":-4.578383957661138,"yaw":-1.534922233182509},"src":"ros2:/map + /amcl_pose (timer)","ts":"2026-09-07T14:40:08.683"},"nav2_speed":{"applied":null,"detail":null,"src":null,"ts":null,"value_mps":null},"op_state":{"cmd":"dock_complete","mode":"manual","seq":4,"state":"charging","ts":"2026-09-07T01:09:47.497"},"pm1":null,"pm10":null,"pm2_5":null,"raw":null,"robot_manager_wp":{"current_waypoint_idx":0,"current_waypoint_label":null,"mode":"IDLE","next_waypoint_idx":0,"patrol_indices":[1,2,3,4,5,6,7],"retry_pending":[],"retry_phase":false,"retry_queue":[],"retry_queue_suppressed":false,"retry_resume_action":null,"retry_resume_next_idx":null,"sanitize_indices":[8,9],"sanitize_running":false,"ts":1788759608.9919531,"ui_mode":"MANUAL"},"run":{"active":false,"end_time":"01:08:05","end_ts":"2026-09-07T01:08:05.668","start_time":"01:00:03","start_ts":"2026-09-07T01:00:03.181"},"station":{"bridge_online":true,"bridge_online_ts":"2026-09-05T05:12:29","dock_cmd":"ON","dock_cmd_ts":"2026-09-07T01:09:39","esp_online":true,"esp_online_ts":"2026-09-07T01:05:15","relay_state":"ON","relay_ts":"2026-09-07T01:09:39"},"tempC":null,"test_route":{"enabled":false,"last_sent_idx":null,"linear":false,"mode":"PATROL","patrol_indices":[],"sanitize_indices":[],"updated_ts":null},"topics":{"backup_alert":{"count":16,"last_time":"01:09:12","last_ts":"2026-09-07T01:09:12.293"},"dock_complete":{"count":7,"coverage":100.0,"last_time":"01:09:47","last_ts":"2026-09-07T01:09:47.497"},"docking_start":{"count":8,"last_time":"01:09:22","last_ts":"2026-09-07T01:09:22.851"},"start":{"count":7,"last_time":"01:00:03","last_ts":"2026-09-07T01:00:03.181"}},"touch_route":{"manual_queue":[],"selected_mode":"manual","updated_ts":"2026-09-07T14:07:28"},"touch_ui_event":{"cmd":"dock_complete","seq":9,"src":"ros2:/dock/complete(charge-verified)","ts":"2026-09-07T01:09:47.497"},"ts":null}
