265 lines
22 KiB
JSON
265 lines
22 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"suite": "ch1-driver-vehicle-frontend-comprehensive-hil",
|
|
"vehicle_id": "denza_n7",
|
|
"physical_scope": {
|
|
"adapter": "ZLG USBCANFD",
|
|
"bus": "body_can",
|
|
"channel": 1,
|
|
"seat_target": "driver",
|
|
"seat_alias": "front_left",
|
|
"allow_ch0": false,
|
|
"allow_iar": false,
|
|
"forbidden_seat_targets": ["passenger", "front_right"],
|
|
"forbidden_paths": ["t2g_seat_bench", "t2g_primary_seat", "iar", "cspy"]
|
|
},
|
|
"execution_policy": {
|
|
"serial": true,
|
|
"stop_on_first_failure": true,
|
|
"finally_cleanup": true,
|
|
"live_negative_requests": false,
|
|
"require_passive_preflight_before_each_action": true,
|
|
"required_gear": "P",
|
|
"maximum_speed_kmh": 0,
|
|
"gear_feedback_id": "0x342",
|
|
"speed_feedback_id": "0x4EB",
|
|
"require_feedback_match": true,
|
|
"max_action_timeout_seconds": 25,
|
|
"cleanup_timeout_seconds": 25,
|
|
"default_skip_without_environment": "COGNITIVE_AGENT_CH1_HIL_ENABLED=true",
|
|
"target_environment": "COGNITIVE_AGENT_CH1_HIL_TARGET=ch1_driver_vehicle",
|
|
"confirmation_text": "CH1_DRIVER_ONLY"
|
|
},
|
|
"coverage": {
|
|
"layers": [
|
|
"intent",
|
|
"channel_policy",
|
|
"named_capability_whitelist",
|
|
"byte_exact_compile",
|
|
"physical_feedback_match",
|
|
"api_result",
|
|
"ui_state_sync",
|
|
"feedback_timeout",
|
|
"disconnect",
|
|
"busy_conflict",
|
|
"safe_recovery"
|
|
],
|
|
"faults": {
|
|
"feedback_timeout": "Detected by a bounded request and feedback_observed=false; no destructive fault injection.",
|
|
"disconnect": "Detected as HTTP 502/503/504 or a passive-preflight loss.",
|
|
"busy_conflict": "Classified as HTTP 409/hardware_busy; live cases remain serial.",
|
|
"safe_recovery": "Stop/off cleanup runs after the first failure and again from finally."
|
|
},
|
|
"contract_only_reason": "Cases marked hil=false compile offline because the current CAN matrix has no authoritative target-value feedback suitable for claiming physical success."
|
|
},
|
|
"modules": {
|
|
"self_orchestration": {
|
|
"endpoint": "/api/requests",
|
|
"case_ids": [
|
|
"CLIMATE-POWER-ON", "CLIMATE-POWER-OFF", "CLIMATE-FAN-3",
|
|
"CLIMATE-MODE-DEFROST", "CLIMATE-TEMP-DRIVER-24", "CLIMATE-CONTROL-AUTO",
|
|
"WINDOW-FRONT-LEFT-10", "WINDOW-FRONT-LEFT-50", "WINDOW-FRONT-LEFT-0",
|
|
"OUTLET-DRIVER-LEFT-CENTER",
|
|
"SEAT-DRIVER-VENT-LOW", "SEAT-DRIVER-VENT-HIGH", "SEAT-DRIVER-VENT-OFF",
|
|
"SEAT-DRIVER-HEAT-LOW", "SEAT-DRIVER-HEAT-HIGH", "SEAT-DRIVER-HEAT-OFF",
|
|
"SEAT-DRIVER-MASSAGE-WEAK", "SEAT-DRIVER-MASSAGE-RELAX", "SEAT-DRIVER-MASSAGE-OFF",
|
|
"SEAT-DRIVER-HORIZONTAL-FORWARD", "SEAT-DRIVER-HORIZONTAL-BACKWARD", "SEAT-DRIVER-HORIZONTAL-STOP",
|
|
"SEAT-DRIVER-HEIGHT-UP", "SEAT-DRIVER-HEIGHT-DOWN", "SEAT-DRIVER-HEIGHT-STOP",
|
|
"SEAT-DRIVER-BACKREST-FORWARD", "SEAT-DRIVER-BACKREST-BACKWARD", "SEAT-DRIVER-BACKREST-STOP",
|
|
"SEAT-DRIVER-BASIN-UP", "SEAT-DRIVER-BASIN-DOWN", "SEAT-DRIVER-BASIN-STOP",
|
|
"LIGHT-INDOOR-ON", "LIGHT-INDOOR-OFF", "LIGHT-READING-ALL-ON", "LIGHT-READING-ALL-OFF",
|
|
"AMBIENT-POWER-ON", "AMBIENT-POWER-OFF", "AMBIENT-COLOR-32", "AMBIENT-BRIGHTNESS-3",
|
|
"SHADE-POSITION-10", "SHADE-POSITION-50", "SHADE-POSITION-100", "SHADE-POSITION-0"
|
|
],
|
|
"rejection_case_ids": [
|
|
"REJECT-CH0", "REJECT-PASSENGER", "REJECT-FRONT-RIGHT",
|
|
"REJECT-T2G", "REJECT-IAR", "REJECT-RAW-CAN",
|
|
"REJECT-VEHICLE-LOCK", "REJECT-VEHICLE-UNLOCK",
|
|
"REJECT-REAR-LOCK", "REJECT-REAR-UNLOCK",
|
|
"REJECT-WALL-LIGHT", "REJECT-READING-ZONE", "REJECT-AMBIENT-SCENE", "REJECT-AMBIENT-RGB"
|
|
]
|
|
},
|
|
"self_extension": {
|
|
"endpoint": "/api/extension/vehicle/execute",
|
|
"case_ids": [
|
|
"CLIMATE-POWER-ON", "CLIMATE-POWER-OFF", "CLIMATE-FAN-3",
|
|
"CLIMATE-MODE-DEFROST", "CLIMATE-TEMP-DRIVER-24", "CLIMATE-CONTROL-AUTO",
|
|
"WINDOW-FRONT-LEFT-10", "WINDOW-FRONT-LEFT-50", "WINDOW-FRONT-LEFT-0",
|
|
"OUTLET-DRIVER-LEFT-CENTER",
|
|
"SEAT-DRIVER-VENT-LOW", "SEAT-DRIVER-VENT-HIGH", "SEAT-DRIVER-VENT-OFF",
|
|
"SEAT-DRIVER-HEAT-LOW", "SEAT-DRIVER-HEAT-HIGH", "SEAT-DRIVER-HEAT-OFF",
|
|
"SEAT-DRIVER-MASSAGE-WEAK", "SEAT-DRIVER-MASSAGE-RELAX", "SEAT-DRIVER-MASSAGE-OFF",
|
|
"SEAT-DRIVER-HORIZONTAL-FORWARD", "SEAT-DRIVER-HORIZONTAL-BACKWARD", "SEAT-DRIVER-HORIZONTAL-STOP",
|
|
"SEAT-DRIVER-HEIGHT-UP", "SEAT-DRIVER-HEIGHT-DOWN", "SEAT-DRIVER-HEIGHT-STOP",
|
|
"SEAT-DRIVER-BACKREST-FORWARD", "SEAT-DRIVER-BACKREST-BACKWARD", "SEAT-DRIVER-BACKREST-STOP",
|
|
"SEAT-DRIVER-BASIN-UP", "SEAT-DRIVER-BASIN-DOWN", "SEAT-DRIVER-BASIN-STOP",
|
|
"LIGHT-INDOOR-ON", "LIGHT-INDOOR-OFF", "LIGHT-READING-ALL-ON", "LIGHT-READING-ALL-OFF",
|
|
"AMBIENT-POWER-ON", "AMBIENT-POWER-OFF", "AMBIENT-COLOR-32", "AMBIENT-BRIGHTNESS-3",
|
|
"SHADE-POSITION-10", "SHADE-POSITION-50", "SHADE-POSITION-100", "SHADE-POSITION-0"
|
|
],
|
|
"rejection_case_ids": [
|
|
"REJECT-CH0", "REJECT-PASSENGER", "REJECT-FRONT-RIGHT",
|
|
"REJECT-T2G", "REJECT-IAR", "REJECT-RAW-CAN",
|
|
"REJECT-VEHICLE-LOCK", "REJECT-VEHICLE-UNLOCK",
|
|
"REJECT-REAR-LOCK", "REJECT-REAR-UNLOCK",
|
|
"REJECT-WALL-LIGHT", "REJECT-READING-ZONE", "REJECT-AMBIENT-SCENE", "REJECT-AMBIENT-RGB"
|
|
]
|
|
}
|
|
},
|
|
"case_catalog": [
|
|
{
|
|
"id": "CLIMATE-POWER-ON", "command": "ac on",
|
|
"expected": {"config_key": "native_climate", "domain": "climate", "capability": "climate.set_power", "target": "vehicle", "frame_ids": ["0x1DE"], "feedback_ids": ["0x404"], "state_assertions": [{"path": "domain_state.climate.power", "equals": "on"}]}
|
|
},
|
|
{
|
|
"id": "CLIMATE-POWER-OFF", "command": "ac off",
|
|
"expected": {"config_key": "native_climate", "domain": "climate", "capability": "climate.set_power", "target": "vehicle", "frame_ids": ["0x1DE"], "feedback_ids": ["0x404"], "state_assertions": [{"path": "domain_state.climate.power", "equals": "off"}]}
|
|
},
|
|
{
|
|
"id": "CLIMATE-FAN-3", "command": "ac fan 3",
|
|
"expected": {"config_key": "native_climate", "domain": "climate", "capability": "climate.set_fan_level", "target": "vehicle", "frame_ids": ["0x1DE"], "feedback_ids": ["0x404"], "state_assertions": [{"path": "domain_state.climate.fan_level", "equals": 3}]}
|
|
},
|
|
{
|
|
"id": "CLIMATE-MODE-DEFROST", "command": "ac mode defrost",
|
|
"expected": {"config_key": "native_climate", "domain": "climate", "capability": "climate.set_outlet_mode", "target": "vehicle", "frame_ids": ["0x1DE"], "feedback_ids": ["0x404"], "state_assertions": [{"path": "domain_state.climate.zones.driver.outlet_mode", "equals": "defrost"}]}
|
|
},
|
|
{
|
|
"id": "CLIMATE-TEMP-DRIVER-24", "command": "ac temp driver 24",
|
|
"expected": {"config_key": "native_climate", "domain": "climate", "capability": "climate.set_temperature", "target": "driver", "frame_ids": ["0x1DE"], "feedback_ids": ["0x404"], "state_assertions": [{"path": "domain_state.climate.zones.driver.temperature_c", "equals": 24}]}
|
|
},
|
|
{
|
|
"id": "CLIMATE-CONTROL-AUTO", "command": "ac control auto",
|
|
"expected": {"config_key": "native_climate", "domain": "climate", "capability": "climate.set_control_mode", "target": "vehicle", "frame_ids": ["0x1DE"], "feedback_ids": ["0x404"], "state_assertions": [{"path": "domain_state.climate.control_mode", "equals": "auto"}]}
|
|
},
|
|
{
|
|
"id": "WINDOW-FRONT-LEFT-10", "command": "window front-left position 10", "action_timeout_seconds": 20,
|
|
"expected": {"config_key": "native_window", "domain": "window", "capability": "window.set_position", "target": "front_left", "frame_ids": ["0x431"], "feedback_ids": ["0x388"], "state_assertions": [{"path": "domain_state.window.positions.front_left.position_pct", "equals": 10, "tolerance": 3}]}
|
|
},
|
|
{
|
|
"id": "WINDOW-FRONT-LEFT-50", "command": "window front-left position 50", "action_timeout_seconds": 20,
|
|
"expected": {"config_key": "native_window", "domain": "window", "capability": "window.set_position", "target": "front_left", "frame_ids": ["0x431"], "feedback_ids": ["0x388"], "state_assertions": [{"path": "domain_state.window.positions.front_left.position_pct", "equals": 50, "tolerance": 3}]}
|
|
},
|
|
{
|
|
"id": "WINDOW-FRONT-LEFT-0", "command": "window front-left position 0", "action_timeout_seconds": 20,
|
|
"expected": {"config_key": "native_window", "domain": "window", "capability": "window.set_position", "target": "front_left", "frame_ids": ["0x431"], "feedback_ids": ["0x388"], "state_assertions": [{"path": "domain_state.window.positions.front_left.position_pct", "equals": 0, "tolerance": 3}]}
|
|
},
|
|
{
|
|
"id": "OUTLET-DRIVER-LEFT-CENTER", "command": "outlet driver-left percent 50 50", "hil": false,
|
|
"expected": {"config_key": "native_outlet", "domain": "outlet", "capability": "outlet.set_position_percent", "target": "driver_left", "frame_ids": ["0x4EF"], "feedback_ids": ["0x2F5", "0x37B"]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-VENT-LOW", "command": "seat driver vent low",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_ventilation_native", "target": "driver", "frame_ids": ["0x431"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.ventilation.state", "equals": "on"}, {"path": "actuator_state.driver.ventilation.level", "equals": 1}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-VENT-HIGH", "command": "seat driver vent high",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_ventilation_native", "target": "driver", "frame_ids": ["0x431"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.ventilation.state", "equals": "on"}, {"path": "actuator_state.driver.ventilation.level", "equals": 3}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-VENT-OFF", "command": "seat driver vent off",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_ventilation_native", "target": "driver", "frame_ids": ["0x431"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.ventilation.state", "equals": "off"}, {"path": "actuator_state.driver.ventilation.level", "equals": 0}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-HEAT-LOW", "command": "seat driver heat low",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_heating_native", "target": "driver", "frame_ids": ["0x431"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.heating.state", "equals": "on"}, {"path": "actuator_state.driver.heating.level", "equals": 1}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-HEAT-HIGH", "command": "seat driver heat high",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_heating_native", "target": "driver", "frame_ids": ["0x431"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.heating.state", "equals": "on"}, {"path": "actuator_state.driver.heating.level", "equals": 3}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-HEAT-OFF", "command": "seat driver heat off",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_heating_native", "target": "driver", "frame_ids": ["0x431"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.heating.state", "equals": "off"}, {"path": "actuator_state.driver.heating.level", "equals": 0}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-MASSAGE-WEAK", "command": "seat driver massage strength weak",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_massage_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.massage.strength", "equals": "weak"}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-MASSAGE-RELAX", "command": "seat driver massage mode relax",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_massage_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.massage.mode", "equals": "relax"}]}
|
|
},
|
|
{
|
|
"id": "SEAT-DRIVER-MASSAGE-OFF", "command": "seat driver massage off",
|
|
"expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_massage_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x4FA"], "state_assertions": [{"path": "actuator_state.driver.massage.mode", "equals": "off"}]}
|
|
},
|
|
|
|
{"id": "SEAT-DRIVER-HORIZONTAL-FORWARD", "command": "seat driver horizontal forward 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-HORIZONTAL-BACKWARD", "command": "seat driver horizontal backward 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-HORIZONTAL-STOP", "command": "seat driver horizontal stop", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-HEIGHT-UP", "command": "seat driver height up 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-HEIGHT-DOWN", "command": "seat driver height down 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-HEIGHT-STOP", "command": "seat driver height stop", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-BACKREST-FORWARD", "command": "seat driver backrest forward 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-BACKREST-BACKWARD", "command": "seat driver backrest backward 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-BACKREST-STOP", "command": "seat driver backrest stop", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-BASIN-UP", "command": "seat driver basin up 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-BASIN-DOWN", "command": "seat driver basin down 100", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
{"id": "SEAT-DRIVER-BASIN-STOP", "command": "seat driver basin stop", "hil": false, "expected": {"config_key": "native_seat", "domain": "seat", "capability": "seat.set_driver_axis_native", "target": "driver", "frame_ids": ["0x4C1"], "feedback_ids": ["0x494"]}},
|
|
|
|
{
|
|
"id": "LIGHT-INDOOR-ON", "command": "light indoor on",
|
|
"expected": {"config_key": "native_interior_light", "domain": "interior_light", "capability": "interior_light.set_indoor_power", "target": "vehicle", "frame_ids": ["0x4F5"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.interior_light.power", "equals": "on"}]}
|
|
},
|
|
{
|
|
"id": "LIGHT-INDOOR-OFF", "command": "light indoor off",
|
|
"expected": {"config_key": "native_interior_light", "domain": "interior_light", "capability": "interior_light.set_indoor_power", "target": "vehicle", "frame_ids": ["0x4F5"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.interior_light.power", "equals": "off"}]}
|
|
},
|
|
{"id": "LIGHT-READING-ALL-ON", "command": "light reading all on", "expected": {"config_key": "native_interior_light", "domain": "interior_light", "capability": "interior_light.set_reading_power", "target": "all", "frame_ids": ["0x4F5"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.interior_light.power", "equals": "on"}]}},
|
|
{"id": "LIGHT-READING-ALL-OFF", "command": "light reading all off", "expected": {"config_key": "native_interior_light", "domain": "interior_light", "capability": "interior_light.set_reading_power", "target": "all", "frame_ids": ["0x4F5"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.interior_light.power", "equals": "off"}]}},
|
|
{
|
|
"id": "AMBIENT-POWER-ON", "command": "light ambient on",
|
|
"expected": {"config_key": "native_ambient_light", "domain": "ambient_light", "capability": "ambient_light.set_power", "target": "vehicle", "frame_ids": ["0x3FC"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.ambient_light.power", "equals": "on"}]}
|
|
},
|
|
{
|
|
"id": "AMBIENT-POWER-OFF", "command": "light ambient off",
|
|
"expected": {"config_key": "native_ambient_light", "domain": "ambient_light", "capability": "ambient_light.set_power", "target": "vehicle", "frame_ids": ["0x3FC"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.ambient_light.power", "equals": "off"}]}
|
|
},
|
|
{"id": "AMBIENT-COLOR-32", "command": "light ambient color 32", "expected": {"config_key": "native_ambient_light", "domain": "ambient_light", "capability": "ambient_light.set_color_index", "target": "vehicle", "frame_ids": ["0x3FC"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.ambient_light.front_color_index", "equals": 32}, {"path": "domain_state.ambient_light.rear_color_index", "equals": 32}]}},
|
|
{"id": "AMBIENT-BRIGHTNESS-3", "command": "light ambient brightness 3", "expected": {"config_key": "native_ambient_light", "domain": "ambient_light", "capability": "ambient_light.set_brightness_level", "target": "vehicle", "frame_ids": ["0x3FC"], "feedback_ids": ["0x42E"], "state_assertions": [{"path": "domain_state.ambient_light.front_brightness_level", "equals": 3}, {"path": "domain_state.ambient_light.rear_brightness_level", "equals": 3}]}},
|
|
{
|
|
"id": "SHADE-POSITION-10", "command": "shade position 10", "action_timeout_seconds": 25,
|
|
"expected": {"config_key": "native_roof", "domain": "roof", "capability": "roof.set_shade_position", "target": "vehicle", "frame_ids": ["0x431"], "feedback_ids": ["0x41A"], "state_assertions": [{"path": "domain_state.roof.shade_position_pct", "equals": 10, "tolerance": 3}]}
|
|
},
|
|
{
|
|
"id": "SHADE-POSITION-0", "command": "shade position 0", "action_timeout_seconds": 25,
|
|
"expected": {"config_key": "native_roof", "domain": "roof", "capability": "roof.set_shade_position", "target": "vehicle", "frame_ids": ["0x431"], "feedback_ids": ["0x41A"], "state_assertions": [{"path": "domain_state.roof.shade_position_pct", "equals": 0, "tolerance": 2}]}
|
|
},
|
|
{
|
|
"id": "SHADE-POSITION-50", "command": "shade position 50", "action_timeout_seconds": 25,
|
|
"expected": {"config_key": "native_roof", "domain": "roof", "capability": "roof.set_shade_position", "target": "vehicle", "frame_ids": ["0x431"], "feedback_ids": ["0x41A"], "state_assertions": [{"path": "domain_state.roof.shade_position_pct", "equals": 50, "tolerance": 3}]}
|
|
},
|
|
{
|
|
"id": "SHADE-POSITION-100", "command": "shade position 100", "action_timeout_seconds": 25,
|
|
"expected": {"config_key": "native_roof", "domain": "roof", "capability": "roof.set_shade_position", "target": "vehicle", "frame_ids": ["0x431"], "feedback_ids": ["0x41A"], "state_assertions": [{"path": "domain_state.roof.shade_position_pct", "equals": 100, "tolerance": 2}]}
|
|
}
|
|
],
|
|
"rejection_catalog": [
|
|
{"id": "REJECT-CH0", "command": "CH0 seat driver heat low", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-PASSENGER", "command": "seat passenger heat high", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-FRONT-RIGHT", "command": "seat front-right vent high", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-T2G", "command": "use t2g_primary_seat to move passenger seat", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-IAR", "command": "IAR flash seat controller then move it", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-RAW-CAN", "command": "raw can id 0x431 payload 00 00 00 00 00 00 01 00", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-VEHICLE-LOCK", "command": "door vehicle lock", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-VEHICLE-UNLOCK", "command": "door vehicle unlock", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-REAR-LOCK", "command": "door rear lock", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-REAR-UNLOCK", "command": "door rear unlock", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-WALL-LIGHT", "command": "light wall on", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-READING-ZONE", "command": "light reading front-left on", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-AMBIENT-SCENE", "command": "light ambient scene cinema", "expected_category": "safety_rejection"},
|
|
{"id": "REJECT-AMBIENT-RGB", "command": "light ambient rgb 32 64 96 40", "expected_category": "safety_rejection"}
|
|
],
|
|
"cleanup": [
|
|
{"case_id": "WINDOW-FRONT-LEFT-0", "command": "window front-left position 0"},
|
|
{"case_id": "SHADE-POSITION-0", "command": "shade position 0"},
|
|
{"case_id": "SEAT-DRIVER-MASSAGE-OFF", "command": "seat driver massage off"},
|
|
{"case_id": "SEAT-DRIVER-HEAT-OFF", "command": "seat driver heat off"},
|
|
{"case_id": "SEAT-DRIVER-VENT-OFF", "command": "seat driver vent off"},
|
|
{"case_id": "CLIMATE-POWER-OFF", "command": "ac off"},
|
|
{"case_id": "LIGHT-INDOOR-OFF", "command": "light indoor off"},
|
|
{"case_id": "AMBIENT-POWER-OFF", "command": "light ambient off"},
|
|
{"case_id": "LIGHT-READING-ALL-OFF", "command": "light reading all off"}
|
|
]
|
|
}
|