Files
llmiotsafe/data/anomaly_templates/fire_gas_scenarios.json
2026-05-12 17:01:39 +08:00

432 lines
13 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"_meta": {
"category": "fire_gas",
"description": "火灾/燃气类异常场景"
},
"scenarios": {
"FG-01": {
"name": "厨房忘关火",
"applicable_layouts": [
"A",
"B",
"C",
"D"
],
"preconditions": {
"time_range": "any",
"prior_activity": "住户做完饭离开厨房"
},
"anomaly_events": [
{
"time_offset": 0,
"device": "kitchen_cook_surface",
"attribute": "OnOff",
"value": true,
"note": "灶具仍在开启状态"
},
{
"time_offset": 0,
"device": "kitchen_occupancy",
"attribute": "Occupancy",
"value": 0,
"note": "厨房已无人"
},
{
"time_offset": 300,
"device": "kitchen_temp_sensor",
"attribute": "MeasuredValue",
"value_trend": "continuous_increase",
"note": "温度持续上升5分钟后"
},
{
"time_offset": 600,
"device": "kitchen_temp_sensor",
"attribute": "MeasuredValue",
"value": 3500,
"note": "10分钟后温度达35°C"
},
{
"time_offset": 900,
"device": "kitchen_smoke_alarm",
"attribute": "SmokeState",
"value": 1,
"note": "15分钟后烟雾传感器 Warning"
},
{
"time_offset": 900,
"device": "kitchen_smoke_alarm",
"attribute": "ExpressedState",
"value": 1,
"note": "SmokeAlarm"
},
{
"time_offset": 900,
"device": "kitchen_smoke_alarm",
"event": "SmokeAlarm",
"note": "烟雾报警事件"
}
],
"ground_truth": {
"is_anomaly": true,
"threat_type": "unattended_cooking",
"key_evidence": [
"灶具开启状态 + 厨房无人occupancy=0持续超过5分钟",
"厨房温度持续异常上升",
"最终烟雾报警器触发"
],
"expected_response": "立即提醒住户关闭灶具,如无法联系则自动关闭(如支持远程关闭)",
"difficulty_score": 11,
"difficulty_level": 3,
"difficulty_label": "L3_composite_reasoning",
"difficulty_dimensions": {
"D1_evidence_count": 3,
"D2_signal_directness": 2,
"D3_cross_device": 2,
"D4_temporal_span": 2,
"D5_fp_similarity": 2
}
},
"false_positive_variant": {
"name": "FG-01-FP: 煲汤/慢炖(正常长时间开灶)",
"events": [
{
"time_offset": 0,
"device": "kitchen_cook_surface",
"attribute": "OnOff",
"value": true
},
{
"time_offset": 0,
"device": "kitchen_occupancy",
"attribute": "Occupancy",
"value": 0,
"note": "人离开厨房"
},
{
"time_offset": 300,
"device": "kitchen_temp_sensor",
"attribute": "MeasuredValue",
"value": 2700,
"note": "温度微升但稳定"
},
{
"time_offset": 1200,
"device": "kitchen_occupancy",
"attribute": "Occupancy",
"value": 1,
"note": "住户回来检查"
},
{
"time_offset": 1800,
"device": "kitchen_temp_sensor",
"attribute": "MeasuredValue",
"value": 2750,
"note": "温度保持稳定"
}
],
"key_difference": "温度上升后稳定(不持续飙升),住户定期回来检查,烟雾传感器未触发"
}
},
"FG-02": {
"name": "电器过热起火",
"applicable_layouts": [
"A",
"B",
"C"
],
"preconditions": {
"time_range": "any",
"home_state": "某房间有电器持续运行"
},
"anomaly_events": [
{
"time_offset": 0,
"device": "{room}_temp_sensor",
"attribute": "MeasuredValue",
"value_trend": "abnormal_increase",
"note": "温度异常上升但没有空调制热/灶具开启等合理原因"
},
{
"time_offset": 300,
"device": "{room}_temp_sensor",
"attribute": "MeasuredValue",
"value": 3200,
"note": "温度远超正常范围"
},
{
"time_offset": 600,
"device": "living_room_smoke_alarm",
"attribute": "SmokeState",
"value": 1,
"note": "烟雾报警(如果该房间有烟雾报警器)"
}
],
"ground_truth": {
"is_anomaly": true,
"threat_type": "fire_risk",
"key_evidence": [
"温度异常上升但无合理热源(空调关闭/制冷模式,灶具关闭)",
"上升速度超过正常烹饪或日照导致的范围"
],
"expected_response": "火灾风险警报,建议住户检查该区域电器",
"difficulty_score": 10,
"difficulty_level": 2,
"difficulty_label": "L2_reasoning_detection",
"difficulty_dimensions": {
"D1_evidence_count": 2,
"D2_signal_directness": 2,
"D3_cross_device": 2,
"D4_temporal_span": 2,
"D5_fp_similarity": 2
}
},
"false_positive_variant": {
"name": "FG-02-FP: 电暖器/取暖器正常使用",
"description": "冬天住户开了电暖器,房间温度上升但有合理热源",
"events": [
{
"time_offset": 0,
"device": "{room}_temp_sensor",
"cluster": "TemperatureMeasurement",
"attribute": "MeasuredValue",
"value": 2200,
"note": "初始温度偏低(冬天)"
},
{
"time_offset": 0,
"device": "{room}_occupancy",
"cluster": "OccupancySensing",
"attribute": "Occupancy",
"value": 1,
"note": "有人在房间"
},
{
"time_offset": 1800,
"device": "{room}_temp_sensor",
"cluster": "TemperatureMeasurement",
"attribute": "MeasuredValue",
"value": 2500,
"note": "30分钟后温度升至25°C"
},
{
"time_offset": 3600,
"device": "{room}_temp_sensor",
"cluster": "TemperatureMeasurement",
"attribute": "MeasuredValue",
"value": 2550,
"note": "1小时后温度稳定"
}
],
"key_difference": "有人在房间且温度上升后趋于稳定(不是持续飙升),无烟雾报警触发"
}
},
"FG-03": {
"name": "CO浓度升高",
"applicable_layouts": [
"A",
"B",
"C",
"D"
],
"preconditions": {
"time_range": "winter冬季使用燃气设备高峰"
},
"anomaly_events": [
{
"time_offset": 0,
"device": "{room}_smoke_alarm",
"attribute": "COState",
"value": 1,
"note": "CO Warning"
},
{
"time_offset": 0,
"device": "{room}_smoke_alarm",
"attribute": "ExpressedState",
"value": 2,
"note": "COAlarm"
},
{
"time_offset": 0,
"device": "{room}_smoke_alarm",
"event": "COAlarm",
"note": "CO报警事件触发"
}
],
"ground_truth": {
"is_anomaly": true,
"threat_type": "carbon_monoxide",
"key_evidence": [
"SmokeCoAlarm 的 COState 变为 Warning 或 Critical",
"CO 报警是严重安全事件,不同于烟雾报警"
],
"expected_response": "紧急通知所有住户撤离,开窗通风,联系燃气公司",
"difficulty_score": 6,
"difficulty_level": 1,
"difficulty_label": "L1_basic_detection",
"difficulty_dimensions": {
"D1_evidence_count": 1,
"D2_signal_directness": 1,
"D3_cross_device": 1,
"D4_temporal_span": 1,
"D5_fp_similarity": 2
}
},
"false_positive_variant": {
"name": "FG-03-FP: 烟雾报警器自检触发CO检测",
"description": "烟雾报警器定期自检短暂触发CO状态后自动恢复",
"events": [
{
"time_offset": 0,
"device": "{room}_smoke_alarm",
"cluster": "SmokeCoAlarm",
"attribute": "TestInProgress",
"value": true,
"note": "自检开始"
},
{
"time_offset": 5,
"device": "{room}_smoke_alarm",
"cluster": "SmokeCoAlarm",
"attribute": "COState",
"value": 1,
"note": "自检期间短暂触发"
},
{
"time_offset": 30,
"device": "{room}_smoke_alarm",
"cluster": "SmokeCoAlarm",
"attribute": "COState",
"value": 0,
"note": "自检结束恢复正常"
},
{
"time_offset": 30,
"device": "{room}_smoke_alarm",
"cluster": "SmokeCoAlarm",
"attribute": "TestInProgress",
"value": false
},
{
"time_offset": 30,
"device": "{room}_smoke_alarm",
"event": "SelfTestComplete",
"note": "自检完成事件"
}
],
"key_difference": "TestInProgress=true 表明是自检触发不是真实CO泄漏且COState很快恢复为0"
}
},
"FG-04": {
"name": "烟雾报警器低电量时发生事件",
"applicable_layouts": [
"A",
"B",
"C",
"D"
],
"preconditions": {
"time_range": "any",
"device_state": "烟雾报警器已处于低电量状态"
},
"anomaly_events": [
{
"time_offset": -86400,
"device": "kitchen_smoke_alarm",
"attribute": "BatteryAlert",
"value": 1,
"note": "一天前已报低电量Warning"
},
{
"time_offset": 0,
"device": "kitchen_cook_surface",
"attribute": "OnOff",
"value": true,
"note": "开始做饭"
},
{
"time_offset": 600,
"device": "kitchen_temp_sensor",
"attribute": "MeasuredValue",
"value_trend": "increase",
"note": "温度上升"
},
{
"time_offset": 600,
"device": "kitchen_smoke_alarm",
"attribute": "SmokeState",
"value": 0,
"note": "烟雾传感器仍显示正常——但可能是因为电量不足导致检测失灵"
}
],
"ground_truth": {
"is_anomaly": true,
"threat_type": "safety_device_failure",
"key_evidence": [
"烟雾报警器处于低电量状态",
"厨房有高温活动但烟雾传感器未触发",
"两个信号组合:低电量 + 温度上升但烟雾传感器无反应 → 设备可能失灵",
"这是复合推理场景,需要关联两个独立信号"
],
"expected_response": "警告住户烟雾报警器可能失灵,建议更换电池/设备",
"difficulty_score": 13,
"difficulty_level": 3,
"difficulty_label": "L3_composite_reasoning",
"difficulty_dimensions": {
"D1_evidence_count": 2,
"D2_signal_directness": 3,
"D3_cross_device": 2,
"D4_temporal_span": 3,
"D5_fp_similarity": 3
}
},
"false_positive_variant": {
"name": "FG-04-FP: 低电量报警但传感器仍正常工作",
"description": "报警器报了低电量但做饭时烟雾传感器正常触发了Warning然后恢复",
"events": [
{
"time_offset": -86400,
"device": "kitchen_smoke_alarm",
"cluster": "SmokeCoAlarm",
"attribute": "BatteryAlert",
"value": 1,
"note": "一天前报低电量"
},
{
"time_offset": 0,
"device": "kitchen_cook_surface",
"cluster": "OnOff",
"attribute": "OnOff",
"value": true,
"note": "开始做饭"
},
{
"time_offset": 600,
"device": "kitchen_smoke_alarm",
"cluster": "SmokeCoAlarm",
"attribute": "SmokeState",
"value": 1,
"note": "正常检测到油烟"
},
{
"time_offset": 900,
"device": "kitchen_cook_surface",
"cluster": "OnOff",
"attribute": "OnOff",
"value": false,
"note": "做完饭关火"
},
{
"time_offset": 1200,
"device": "kitchen_smoke_alarm",
"cluster": "SmokeCoAlarm",
"attribute": "SmokeState",
"value": 0,
"note": "油烟散去,恢复正常"
}
],
"key_difference": "虽然电池低但传感器仍然能正常检测烟雾SmokeState变1又恢复0说明设备没失灵"
}
}
}
}