BA-04-FP: 传感器触发延迟导致顺序看似跳跃

客厅occupancy在阳台和主卧之间有触发（2秒时），移动路径合理

```json
{
  "step1_evidence": [
    "[2026-06-06T11:32:00] balcony_door_contact | BooleanState.StateValue = False — 阳台门在凌晨被打开，且在此之前所有传感器显示家中无人，这是异常时间点的门窗事件。",
    "[2026-06-06T11:32:02] living_room_occupancy | OccupancySensing.Occupancy = 1 — 阳台门打开后2秒，客厅运动传感器立即触发，表明有人从阳台进入客厅。",
    "[2026-06-06T11:32:05] master_bedroom_occupancy | OccupancySensing.Occupancy = 1 — 阳台门打开后5秒，卧室运动传感器也触发，表明此人快速移动到了卧室。",
    "[2026-06-06T00:00至11:30] 所有运动传感器报告 Occupancy = 0 — 从午夜到上午11:30，整个住宅持续无人（仅11:32出现活人活动），长达11.5小时，符合外出模式。",
    "[2026-06-06T00:00至11:30] 所有温度传感器读数呈现正常日间波动（从约22.6°C升至约25.5°C后回落），无异常固定或漂移现象。",
    "[2026-06-06T11:32:00] balcony_door_contact | BooleanState.StateValue = False — 阳台门被打开，这是唯一的外部门/窗事件（入户门锁、入户门传感器无事件）。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户回家：住户在晚间23:30回家（阳台门打开后客厅、卧室传感器触发），可能是经过阳台进入屋内。"},
    {"id": "B", "type": "anomaly", "description": "非法入侵：在无人在家的长时间段内，有人通过未授权方式（非入户门，而是通过阳台）进入住宅。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "[直接证据] 阳台门在11:32被打开（False=打开），说明有人从外部打开了阳台门。",
        "[直接证据] 11:32:02客厅和11:32:05卧室传感器触发，符合正常回家后的活动路线（阳台→客厅→卧室）。",
        "[间接证据] 住户可能通过阳台回家（如有钥匙从入户门进入，不会触发阳台门事件）。"
      ],
      "opposing": [
        "[间接证据] 如果住户正常回家，通常首选从入户门进入，但日志中没有入户门锁或入户门传感器事件。",
        "[间接证据] 阳台门在深夜11:32被打开，时间偏晚但并非不可能。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "[直接证据] 阳台门在深夜（23:32）被打开，住宅之前一直无人。",
        "[直接证据] 没有通过入户门进入的记录（门锁无事件、入户门传感器无事件），表明进入方式异常（可能是攀爬阳台）。",
        "[间接证据] 入侵者可能翻越阳台进入，然后迅速进入客厅和卧室。"
      ],
      "opposing": [
        "[间接证据] 入侵者进入后通常不会立即触发多个房间的运动传感器（可能引起注意）。",
        "[间接证据] 没有其他异常迹象如门窗被强行破坏、门锁报警等。"
      ]
    }
  ],
  "step4_causal": [
    "阳台门打开（11:32:00）→ 客厅运动传感器触发（11:32:02）→ 卧室运动传感器触发（11:32:05）：这表明有人从阳台进入后，先经过客厅然后进入卧室。（异常关联，因为正常回家路径通常是从入户门进入）",
    "没有入户门事件：正常回家通常会有入户门开锁和/或门传感器事件，但这里没有，支持进入方式异常。（异常关联）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "high",
    "false_positive_risk": "误报可能：住户可能习惯从阳台回家（例如在阳台晾衣后忘记锁门，直接从阳台进入），但此行为与常规入户行为存在差异，且时间较晚。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "intrusion",
    "threat_description": "在长时间无人的夜间，有人通过阳台而非正门进入住宅，可能构成非法入侵。",
    "recommended_actions": [
      "1. 立即查看阳台门状态，确认是否被破坏或未锁。",
      "2. 检查家中是否有异常物品或人员。",
      "3. 检查入户门锁和传感器是否工作正常。",
      "4. 考虑安装阳台门磁报警或监控摄像头。"
    ]
  }
}
```

在长时间无人的夜间，有人通过阳台而非正门进入住宅，可能构成非法入侵。

Explanation: 假设A: [normal] 住户回家：住户在晚间23:30回家（阳台门打开后客厅、卧室传感器触发），可能是经过阳台进入屋内。

Explanation: 假设B: [anomaly] 非法入侵：在无人在家的长时间段内，有人通过未授权方式（非入户门，而是通过阳台）进入住宅。

Explanation: 最可能假设: B, 置信度: medium

Explanation: 误报可能性: 误报可能：住户可能习惯从阳台回家（例如在阳台晾衣后忘记锁门，直接从阳台进入），但此行为与常规入户行为存在差异，且时间较晚。

1. 立即查看阳台门状态，确认是否被破坏或未锁。
2. 检查家中是否有异常物品或人员。
3. 检查入户门锁和传感器是否工作正常。
4. 考虑安装阳台门磁报警或监控摄像头。

Hypothesis: A

[间接证据] 阳台门在深夜11:32被打开，时间偏晚但并非不可能。

Hypothesis: B

[直接证据] 阳台门在深夜（23:32）被打开，住宅之前一直无人。

[间接证据] 入侵者可能翻越阳台进入，然后迅速进入客厅和卧室。

[间接证据] 没有其他异常迹象如门窗被强行破坏、门锁报警等。


FG-04-FP: 低电量报警但传感器仍正常工作

虽然电池低但传感器仍然能正常检测烟雾（SmokeState变1又恢复0），说明设备没失灵

```json
{
  "step1_evidence": [
    "[2026-06-16T22:29:00] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 烟雾报警器电池电量低，属于设备维护预警，但非紧急安全事件。",
    "[2026-06-17T00:00:00至02:00:00] 所有房间温度传感器读数在22.71°C至24.22°C之间波动，整体呈现缓慢上升趋势。 — 凌晨时段温度不降反升，偏离正常日间正弦曲线，需结合其他因素判断。",
    "[2026-06-17T06:07:00至06:57:00] master_bedroom_occupancy 每5分钟报告一次 Occupancy=1，共11次。 — 此模式为住户醒来后在卧室活动的正常心跳信号，但时间间隔极其规律（精确每5分钟），需关注是否硬件故障。",
    "[2026-06-17T07:01:00] kitchen_cook_surface | OnOff.OnOff = False — 关闭灶具。",
    "[2026-06-17T07:01:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户被打开。",
    "[2026-06-17T07:02:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器报告值为None，疑似传感器故障或通讯中断。",
    "[2026-06-17T07:07:37至07:24:05] kitchen_cook_surface 开启约16分钟后关闭，期间厨房温度无明显异常上升。 — 正常烹饪行为，但传感器在07:02:00报None后，于07:08:07再次报None，于07:10:00恢复读数（25.10°C），需关注传感器稳定性。",
    "[2026-06-17T07:24:31至07:24:42] 入户门解锁、打开、关闭、自动上锁，出门流程完整。 — 正常出门行为。",
    "[2026-06-17T16:19:00至16:19:03] 入户门解锁、打开（16:19:02）。 — 符合正常回家开门流程。",
    "[2026-06-17T18:19:00至18:19:17] 入户门解锁、打开，同时厨房灶具开启（18:18:30）、客厅空调开启（18:19:17）。 — 住户回家后立即开灶做饭并打开空调，行为正常。",
    "[2026-06-17T22:29:00] kitchen_cook_surface | OnOff.OnOff = True — 深夜22:29开启灶具（距离上次灶具使用约4小时）。",
    "[2026-06-17T22:39:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 厨房烟雾报警器触发，烟雾报警。",
    "[2026-06-17T22:44:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在报警后约5分钟关闭。",
    "[2026-06-17T22:49:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 0 — 烟雾报警解除。",
    "凌晨02:00至04:00时段，所有房间 Occupancy=0，但温度持续上升（从22.71°C升至24.04°C）。 — 无人状态下温度异常升高，可能原因包括：空调故障、冰箱压缩机过热、外部环境温度渗透，或传感器漂移。但结合一天整体温度曲线，当天整体温度在白天（06:00-16:00）持续上升至25.57°C，下午至晚间回落，与正常日照升温-通风降温模式一致，凌晨升温可能是前一日热量的缓慢释放，非严重异常。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "住户深夜在厨房烧水或简单烹饪，因操作不当（如无人看管）导致烧干锅产生烟雾，触发报警，住户及时关闭灶具并处理了问题。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "厨房烟雾报警器因设备故障或电池问题（前一晚已报BatteryAlert=1）误报，实际无火灾风险。"
    },
    {
      "id": "C",
      "type": "anomaly",
      "description": "住户忘记关火（灶具在22:29开启后无人看管），导致烟雾报警，但住户在报警后约5分钟才处理，存在火灾隐患。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据: 22:29 灶具开启（厨房灯未记录开启，可能之前已开），22:39 烟雾报警，22:44 灶具关闭，22:49 烟雾解除。时间线表明有人在处理。",
        "间接证据: 22:29至22:44之间，entrance_occupancy和living_room_occupancy持续有人（每5分钟触发一次），master_bedroom_occupancy也在每5分钟报告，说明有人在主卧、客厅、玄关活动，很可能就是在厨房操作灶具。",
        "间接证据: 报警持续时间仅10分钟，且无温度急剧上升（厨房温度传感器在22:30为22.52°C，22:40为22.52°C，无异常高温），说明烟雾量不大，符合烧干锅轻微烟雾的情景。"
      ],
      "opposing": [
        "直接证据: 22:29后并无任何厨房灯或灶具的操作日志（直到22:44关闭），无法确认是否有人一直在厨房看管。",
        "间接证据: 22:29至22:44之间的客厅、玄关运动传感器触发，不能直接证明有人在厨房。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据: 前一晚22:29，kitchen_smoke_alarm已报告 BatteryAlert=1（电池低电量），低电量可能导致传感器工作不稳定，产生误报。",
        "直接证据: 烟雾报警前后厨房温度无异常（22:30 22.52°C，22:40 22.52°C），且报警后5分钟灶具才关闭，说明可能并非真实起火。",
        "直接证据: 报警10分钟后自动解除（烟感恢复正常），与典型烧干锅后通风排除烟雾的响应时间吻合，但也不能排除误报。"
      ],
      "opposing": [
        "直接证据: 灶具在22:29确实处于开启状态 (OnOff=True)，烟雾报警器检测到烟雾（SmokeState=1），两者同时发生，随机巧合概率较低。",
        "直接证据: 在报警后（22:44）灶具被手动关闭（OnOff=False），表明住户采取了行动，如果仅仅是误报，住户可能不会立即去关闭灶具。"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "直接证据: 22:29灶具开启，22:39报警，期间约10分钟，灶具无人看管。",
        "直接证据: 22:29至22:39之间，厨房无任何操作日志，且住户可能在主卧（master_bedroom_occupancy在22:30、22:35、22:40都有报告），未在厨房现场。",
        "间接证据: 22:29的厨房操作可能是住户睡前最后一项活动，之后忘记关火就离开。"
      ],
      "opposing": [
        "直接证据: 报警后5分钟灶具即关闭（22:44），说明住户迅速响应。",
        "直接证据: 报警解除后未再触发，且无火灾蔓延迹象。",
        "间接证据: 如果住户已入睡或离开厨房区域，发现报警并赶到厨房关闭灶具的时间通常不止5分钟，说明住户可能就在附近。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果: 灶具开启（22:29）→ 厨房产生烟雾（22:39烟雾报警）→ 住户处理（22:44关闭灶具，22:49烟雾解除）→ 烟雾消除，报警解除。整个事件链完整且合理。",
    "异常关联: 烟雾报警器BatteryAlert=1（前一晚）→ 可能影响传感器正常工作 → 增加了误报可能性。但灶具同时开启，不能简单归因于硬件故障。",
    "正常因果: 白天温度上升（06:00-16:00，从24.89°C升至25.57°C）→ 夜间温度缓慢回落（16:00至次日06:00从25.57°C降至24.89°C）。整体符合夏季日间自然升温-夜间降温的周期，凌晨的缓慢升温幅度（约1.5°C/小时）在允许范围内，非异常。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "烟雾报警器前一晚已报电池低电量，存在硬件误报的合理怀疑，但灶具开启与报警时间高度吻合（仅差10分钟），更倾向于真实事件。误报风险中等。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "unattended_cooking",
    "threat_description": "深夜灶具开启后无人看管10分钟，导致产生烟雾触发报警，虽及时处理，但存在火灾隐患。",
    "recommended_actions": [
      "提醒住户：深夜使用灶具时务必在场看管，避免烧干锅引发火灾。",
      "检查并更换厨房烟雾报警器电池（已报告低电量），防止未来误报或失效。",
      "考虑配置灶具联动功能：长时间无人操作或无火焰时自动关闭。"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户深夜在厨房烧水或简单烹饪，因操作不当（如无人看管）导致烧干锅产生烟雾，触发报警，住户及时关闭灶具并处理了问题。

Explanation: 假设B: [anomaly] 厨房烟雾报警器因设备故障或电池问题（前一晚已报BatteryAlert=1）误报，实际无火灾风险。

Explanation: 假设C: [anomaly] 住户忘记关火（灶具在22:29开启后无人看管），导致烟雾报警，但住户在报警后约5分钟才处理，存在火灾隐患。

Explanation: 最可能假设: A, 置信度: medium

Explanation: 误报可能性: 烟雾报警器前一晚已报电池低电量，存在硬件误报的合理怀疑，但灶具开启与报警时间高度吻合（仅差10分钟），更倾向于真实事件。误报风险中等。

提醒住户：深夜使用灶具时务必在场看管，避免烧干锅引发火灾。 检查并更换厨房烟雾报警器电池（已报告低电量），防止未来误报或失效。 考虑配置灶具联动功能：长时间无人操作或无火焰时自动关闭。

Hypothesis: A

Hypothesis: B

Hypothesis: C

直接证据: 22:29灶具开启，22:39报警，期间约10分钟，灶具无人看管。

直接证据: 报警后5分钟灶具即关闭（22:44），说明住户迅速响应。

直接证据: 报警解除后未再触发，且无火灾蔓延迹象。


BA-04-FP: 传感器触发延迟导致顺序看似跳跃

客厅occupancy在阳台和主卧之间有触发（2秒时），移动路径合理

```json
{
  "step1_evidence": [
    "[2026-06-10T07:13:21] front_door_lock | DoorLock.LockState = 2 — 住户通过手动方式解锁出门。",
    "[2026-06-10T18:16:00] front_door_lock | DoorLock.LockState = 2 — 住户通过手动方式解锁回家。",
    "[2026-06-10T21:49:30] front_door_lock | DoorLock.LockState = 1 — 住户通过自动方式上锁。",
    "[2026-06-10T06:47:05] bathroom_occupancy | OccupancySensing.Occupancy = 1 — 早晨卫生间有人活动，正常起床行为。",
    "[2026-06-10T19:09:30] kitchen_cook_surface | OnOff.OnOff = True — 晚上厨房灶具开启，开始做饭。",
    "[2026-06-10T19:52:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具关闭，正常结束烹饪。",
    "[2026-06-10T19:52:30] kitchen_window_contact | BooleanState.StateValue = False — 烹饪结束后厨房窗户被打开，可能是为了散味。",
    "[2026-06-10T15:36:00] balcony_door_contact | BooleanState.StateValue = False — 阳台门被打开，同时客厅和主卧传感器检测到活动。",
    "[2026-06-10T15:36:02] living_room_occupancy | OccupancySensing.Occupancy = 1 — 客厅有人。",
    "[2026-06-10T15:36:05] master_bedroom_occupancy | OccupancySensing.Occupancy = 1 — 主卧有人。",
    "[2026-06-10T18:16:35] living_room_ac | Thermostat.SystemMode = 3 — 回家后客厅空调开启制冷模式。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户正常的一天作息：早晨起床、出门、傍晚回家、做饭、晚间休息。所有事件均符合日常行为模式。"},
    {"id": "B", "type": "anomaly", "description": "15:36左右阳台门打开后，客厅和主卧同时有人活动，可能涉及入侵（一人从阳台进入，另一人在主卧）。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[07:13]手动解锁出门，[07:13:25]自动上锁（正常出门流程）。", "[18:16]手动解锁回家，[18:16:35]开空调（正常回家流程）。", "[19:09-19:52]烹饪流程完整（开灶-关灶）。", "[18:16-21:49]客厅有人活动，[21:49]关门-自动上锁（正常晚间外出/就寝流程）。"], "opposing": ["[15:36]阳台门打开，同时客厅和主卧都有人。如果住户在家，打开阳台门是正常的，但两个房间同时有人的情况需要解释。"]},
    {"hypothesis": "B", "supporting": ["[15:36]阳台门打开（外部侵入点）。", "[15:36:02]客厅出现人，[15:36:05]主卧同时出现人（两人以上的活动，但仅有的住户似乎已外出？）。"], "opposing": ["整个日志中只有一次开门和锁门记录（07:13出门），没有其他住户离开的信息。", "[15:36]的事件后，[18:16]住户正常回家，没有异常报警或门锁破坏痕迹。", "没有其他入侵相关证据（如门窗破碎传感器、异常报警等）。", "日志中未出现任何DoorLockAlarm、SmokeAlarm、HardwareFaultAlert等报警事件。"]}
  ],
  "step4_causal": [
    "[06:47] 卫生间灯开 → [06:57] 卫生间灯关 → [06:57:14] 厨房灯开（正常晨间活动） → [07:13] 出门（正常）。",
    "[15:36] 阳台门开 → 客厅+主卧同时Occupancy=1（正常因果关系：可能在阳台活动后进入室内）。",
    "[18:16] 回家 → 开客厅灯、空调（正常）。",
    "[19:09] 开厨房灯 → [19:09:30] 开灶具 → 厨房温度从~23°C上升到~27°C（正常烹饪）。",
    "[19:52] 关灶具 → [19:52:30] 开窗散味（正常）。",
    "[21:49] 关灯、关空调 → 关门 → 自动上锁（正常晚间出门/就寝）。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "日志中没有任何明确的报警事件（DoorLockAlarm、SmokeAlarm等），所有事件序列都符合正常家庭作息。15:36阳台门开同时两房间有人的情况可以解释为住户在屋内走动（阳台-客厅-主卧），或者传感器延迟/误触，无充分证据支持入侵假设。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "未发现安全威胁，日志显示为正常家庭作息。",
    "recommended_actions": [
      "维持现状，无需特别操作。",
      "建议定期检查各传感器工作状态，确保其准确性和可靠性。"
    ]
  }
}
```

未发现安全威胁，日志显示为正常家庭作息。

Explanation: 假设A: [normal] 住户正常的一天作息：早晨起床、出门、傍晚回家、做饭、晚间休息。所有事件均符合日常行为模式。

Explanation: 假设B: [anomaly] 15:36左右阳台门打开后，客厅和主卧同时有人活动，可能涉及入侵（一人从阳台进入，另一人在主卧）。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 日志中没有任何明确的报警事件（DoorLockAlarm、SmokeAlarm等），所有事件序列都符合正常家庭作息。15:36阳台门开同时两房间有人的情况可以解释为住户在屋内走动（阳台-客厅-主卧），或者传感器延迟/误触，无充分证据支持入侵假设。

维持现状，无需特别操作。 建议定期检查各传感器工作状态，确保其准确性和可靠性。

Hypothesis: A

[07:13]手动解锁出门，[07:13:25]自动上锁（正常出门流程）。

[18:16]手动解锁回家，[18:16:35]开空调（正常回家流程）。

Hypothesis: B

[15:36]阳台门打开（外部侵入点）。

整个日志中只有一次开门和锁门记录（07:13出门），没有其他住户离开的信息。

没有其他入侵相关证据（如门窗破碎传感器、异常报警等）。

[18:16] 回家 → 开客厅灯、空调（正常）。

[21:49] 关灯、关空调 → 关门 → 自动上锁（正常晚间出门/就寝）。


BA-05-FP: 邻居/亲友代为浇花/喂宠物

通过门锁合法进入（有效的临时 UserIndex），进出有完整的开锁+锁门记录

```json
{
  "step1_evidence": [
    "[2026-06-26T19:05:30] kitchen_cook_surface | OnOff.OnOff = True — 住户在晚间7点左右开启灶具，符合正常的做饭时间",
    "[2026-06-26T19:06:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后不久，厨房温度传感器读数变为None，可能传感器异常或高温导致暂时失效",
    "[2026-06-26T19:25:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2682 (26.82°C) — 在关闭灶具后温度仍持续上升，达到当日异常高点，之后温度回落但仍高于基线",
    "[2026-06-26T19:53:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在开启约47分钟后关闭，属于正常的烹饪时长",
    "[2026-06-26T19:53:30] kitchen_window_contact | BooleanState.StateValue = False — 灶具关闭后立即打开厨房窗户，推测住户为了通风散味",
    "[2026-06-26T19:54:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 打开窗户后温度传感器再次短暂报告None",
    "[2026-06-26T07:21:00] ~ [2026-06-26T08:04:00] 住户离家再返家: 07:21出门锁门 → 08:04人脸识别返回 (正常通勤时间)",
    "[2026-06-26T19:05:00] ~ [2026-06-26T19:53:00] 住户烹饪期间一直有人活动 (客厅和玄关Occupancy持续为1)，期间未发生无人看管灶具的情况",
    "[2026-06-26T19:53:30] 厨房窗户打开后20分钟内厨房温度从26.82°C迅速降至25.01°C (20:00)，降温速率合理",
    "[2026-06-26T18:23:00] ~ [2026-06-26T21:57:00] 住户从傍晚回家到晚上离家期间，客厅和玄关Occupancy约每5分钟规律触发一次，与正常居家活动一致"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常烹饪事件：住户在19:05-19:53做晚饭，灶具开启导致厨房温度正常上升，传感器因高温短暂报告None属偶发异常，开窗通风后温度正常回落"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障：传感器在烹饪期间两次报告None值，且读数在关闭灶具后仍飙升，可能是传感器本身在高温环境下出现间歇性故障"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "灶具开启时间和关闭时间在正常晚餐时段（19:00-20:00）（直接证据）",
      "厨房温度从19:05的24.20°C升至19:53的26.82°C，升温幅度约2.6°C，属于正常烹饪温升范围（直接证据）",
      "灶具关闭后温度逐步从26.82°C回落至19:55的25.51°C、20:00的25.01°C，降温曲线合理（直接证据）",
      "开窗动作紧接关灶后，符合常理（通风散味）（直接证据）",
      "整个烹饪期间客厅和玄关Occupancy持续为1，说明有人在家且活动正常（间接证据）"
    ], "opposing": [
      "厨房温度传感器在19:06和19:54两次报告None，可能暗示传感器状态异常（间接证据）",
      "19:53关灶后，19:54打开窗户，但19:55的厨房温度（25.51°C）仍高于周边房间（如客厅22.80°C），温差约2.7°C，稍高但仍在合理范围（间接证据）"
    ]},
    {"id": "B", "supporting": [
      "厨房温度传感器在烹饪期间两次（19:06, 19:54）报告None值，其他房间传感器均正常工作（直接证据）",
      "19:53关灶后，19:54开窗，但温度传感器在19:54再次None，可能不是简单高温（直接证据）",
      "传感器读数在19:05-19:53之间从24.20°C升至26.82°C，波动正常但None值出现需关注（间接证据）"
    ], "opposing": [
      "传感器在None后均在5分钟内恢复读数（19:06→19:10恢复, 19:54→19:55恢复），故障模式不典型（间接证据）",
      "其他传感器（客厅、主卧、次卧）在整个时间段读数正常且无None，排除系统性问题（间接证据）",
      "传感器恢复后读数符合预期降温趋势，未出现漂移或卡死（直接证据）"
    ]}
  ],
  "step4_causal": [
    "灶具开启（19:05:30）→ 厨房温度升高（19:10-19:50从24.88°C升至26.82°C）（正常因果）",
    "灶具关闭（19:53:00）→ 厨房窗户打开（19:53:30）（正常因果：通风）",
    "厨房温度升高 → 厨房温度传感器报告None（19:06, 19:54）（异常关联：可能高温致传感器短暂失效）",
    "窗户打开 → 厨房温度回落（19:55-20:30从25.51°C降至22.70°C）（正常因果）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "虽然存在传感器两次None值的异常，但整体温变曲线、关灶和开窗行为均为正常烹饪模式，None值很可能是传感器在高温环境下的偶发间歇性故障，非安全威胁"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "厨房温度传感器在烹饪期间两次报告None值，但灶具操作和温度变化符合正常烹饪模式，未发现安全威胁",
    "recommended_actions": [
      "建议检查厨房温度传感器是否在高温环境下偶发故障，考虑更换或校准",
      "如传感器频繁出现None值，建议联系厂商检查硬件状态"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常烹饪事件：住户在19:05-19:53做晚饭，灶具开启导致厨房温度正常上升，传感器因高温短暂报告None属偶发异常，开窗通风后温度正常回落

Explanation: 假设B: [anomaly] 厨房温度传感器故障：传感器在烹饪期间两次报告None值，且读数在关闭灶具后仍飙升，可能是传感器本身在高温环境下出现间歇性故障

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 虽然存在传感器两次None值的异常，但整体温变曲线、关灶和开窗行为均为正常烹饪模式，None值很可能是传感器在高温环境下的偶发间歇性故障，非安全威胁

建议检查厨房温度传感器是否在高温环境下偶发故障，考虑更换或校准 如传感器频繁出现None值，建议联系厂商检查硬件状态

Hypothesis: A

灶具开启时间和关闭时间在正常晚餐时段（19:00-20:00）（直接证据）

开窗动作紧接关灶后，符合常理（通风散味）（直接证据）

传感器恢复后读数符合预期降温趋势，未出现漂移或卡死（直接证据）


FG-03-FP: 烟雾报警器自检触发CO检测

```json
{
  "step1_evidence": [
    "事件1: [2026-06-19T15:37:05] master_bedroom_light (SmokeCoAlarm) | SmokeCoAlarm.COState = 1 — 主卧烟雾/CO报警器检测到一氧化碳，虽短暂（25秒后恢复）但属于设备报警事件，值得关注。",
    "事件2: [2026-06-19T19:03:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器数据丢失（报告None），可能为传感器故障或通信问题。",
    "事件3: [2026-06-19T19:46:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次数据丢失，与事件2同一天，进一步暗示传感器异常。",
    "事件4: [2026-06-19T19:45:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在灶具关闭后立即被打开，是正常的通风行为，但需结合后续分析。",
    "事件5: [2026-06-19T20:30:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2252 — 厨房温度在烹饪结束后迅速下降到接近室温，但在19:45-20:30期间从2630降至2252，降温速率正常（约2.5°C/5分钟），无异常。",
    "事件6: [2026-06-19T07:25:20] front_door_lock | DoorLock.LockState = 2 — 住户离家，手动解锁并出门，自动化上锁，行为正常。",
    "事件7: [2026-06-19T06:55:05] bathroom_occupancy | OccupancySensing.Occupancy = 1 ～ [2026-06-19T07:13:07] bathroom_occupancy | OccupancySensing.Occupancy = 0 — 早晨卫生间活动，正常晨间作息。",
    "事件8: [2026-06-19T21:58:36] front_door_contact | BooleanState.StateValue = True 和 [2026-06-19T21:58:37] front_door_lock | DoorLock.LockState = 1 — 住户回家后锁门，行为正常。",
    "事件9: [2026-06-19T19:00:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2354 快速升至 [2026-06-19T19:35:00] 2686 — 烹饪期间厨房温度急剧上升，最高达26.86°C，与灶具开启（19:02:30）吻合，是正常烹饪行为。",
    "事件10: 凌晨0:00至6:30所有Occupancy传感器持续报告0 — 整夜无人活动，符合正常睡眠模式。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "主卧CO报警器因自检（SelfTestComplete）导致的短暂CO状态误报，厨房温度传感器因烹饪高温或油烟干扰出现短暂数据丢失。"},
    {"id": "B", "type": "anomaly", "description": "主卧存在真实一氧化碳泄漏隐患，厨房温度传感器可能因长期高温环境出现硬件故障。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据: [2026-06-19T15:37:00] master_bedroom_light | SmokeCoAlarm.TestInProgress = True 与 [2026-06-19T15:37:30] master_bedroom_light | SmokeCoAlarm.TestInProgress = False、Event: SelfTestComplete() 明确说明报警器执行了自检，COState短暂为1属于自检模拟。",
        "直接证据: [2026-06-19T15:37:30] master_bedroom_light | Event: SelfTestComplete() — 自检完成后无任何持续报警。",
        "间接证据: 厨房温度传感器在烹饪时数据丢失（19:03、19:46），但烹饪期间其他传感器（如客厅）正常工作，且厨房传感器在烹饪结束后迅速恢复正常（19:05开始恢复读数），可能是高温或油烟临时干扰。",
        "间接证据: 一整天内（15:37后）无其他CO相关事件，无人员不适报告。"
      ],
      "opposing": [
        "间接证据: 若自检模拟CO状态，通常应在日志中注明'Simulated/Test'，而当前日志仅显示TestInProgress和COState=1，可能被视为真实报警。但SelfTestComplete事件说明是测试。",
        "间接证据: 厨房温度传感器两次报告None，而烹饪期间读数正常（19:05开始有值），可能是短暂通信中断，但连续两次提示传感器敏感。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据: SmokeCoAlarm.COState = 1 — 设备报告了CO状态为1（通常表示检测到CO）。",
        "直接证据: kitchen_temp_sensor 报告两次None — 传感器数据丢失可能因硬件故障。"
      ],
      "opposing": [
        "直接证据: [2026-06-19T15:37:00] TestInProgress = True 和 [2026-06-19T15:37:30] SelfTestComplete() 说明这是自检过程的一部分，不是真实泄漏。",
        "间接证据: 若真实CO泄漏，报警器通常会持续报警或触发声光，但25秒后自动恢复。",
        "间接证据: 厨房温度传感器在数据丢失后立即恢复正常（19:05和19:05之后均有连续读数），且烹饪结束（19:45关灶具）后数据正常，说明传感器功能正常，非硬件故障。"
      ]
    }
  ],
  "step4_causal": [
    "因果1: [15:37:00] master_bedroom_light SelfTest → [15:37:05] COState=1（正常：自检模拟CO报警）→ [15:37:30] COState=0, SelfTestComplete（正常自检完成）",
    "因果2: [19:02:30] kitchen_cook_surface On → [19:03-19:45] kitchen_temp 温度从2354上升至2686（正常：烹饪导致温度上升约3.32°C，符合正常范围）",
    "因果3: [19:45:00] kitchen_cook_surface Off → [19:45:30] kitchen_window_contact Open → [19:50-20:30] kitchen_temp 从2630降至2252（正常：关火后开窗通风降温）",
    "因果4: [19:03:00, 19:46:00] kitchen_temp_sensor 报告None（可能异常：在高温或油烟环境下传感器短暂数据丢失，但随后恢复正常，倾向于传感器灵敏度问题或环境干扰）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "主卧CO报警事件已被明确的SelfTestComplete日志证实为自检，厨房传感器数据丢失可能是油烟干扰，实际无真实安全威胁。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "未发现真实安全威胁。主卧CO报警为自检，厨房温度传感器数据丢失为短暂环境干扰，家庭整体安全状态正常。",
    "recommended_actions": [
      "无需紧急操作。",
      "建议定期检查厨房温度传感器是否受油烟影响，必要时清洁或调整安装位置。",
      "建议维护主卧CO报警器，确保自检功能持续正常。"
    ]
  }
}
```

Explanation: 假设A: [normal] 主卧CO报警器因自检（SelfTestComplete）导致的短暂CO状态误报，厨房温度传感器因烹饪高温或油烟干扰出现短暂数据丢失。

Explanation: 假设B: [anomaly] 主卧存在真实一氧化碳泄漏隐患，厨房温度传感器可能因长期高温环境出现硬件故障。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 主卧CO报警事件已被明确的SelfTestComplete日志证实为自检，厨房传感器数据丢失可能是油烟干扰，实际无真实安全威胁。

无需紧急操作。 建议定期检查厨房温度传感器是否受油烟影响，必要时清洁或调整安装位置。 建议维护主卧CO报警器，确保自检功能持续正常。

主卧存在真实一氧化碳泄漏隐患，厨房温度传感器可能因长期高温环境出现硬件故障。

Hypothesis: A

间接证据: 一整天内（15:37后）无其他CO相关事件，无人员不适报告。

Hypothesis: B


BA-04-FP: 传感器触发延迟导致顺序看似跳跃

客厅occupancy在阳台和主卧之间有触发（2秒时），移动路径合理

```json
{
  "step1_evidence": [
    "1. [2026-06-23T07:02:07] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后温度传感器首次出现None值，可能传感器故障或通信异常",
    "2. [2026-06-23T07:11:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具关闭后传感器再次出现None值，确认该传感器存在间断性故障",
    "3. [2026-06-23T07:02:07-07:10:30] 厨房窗户在灶具使用期间打开（BooleanState=False） — 正常通风行为，但存在灶具无人看管风险（未见到相关Occupancy证据）",
    "4. [2026-06-23T18:34:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第二次烹饪期间温度传感器再次报None，确认传感器故障模式",
    "5. [2026-06-23T18:55:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第二次烹饪后传感器再次报None，进一步确认故障",
    "6. [2026-06-23T06:25:00-07:36:25] master_bedroom_occupancy持续为1，住户起床后一直留在主卧，未出现正常晨间行动路线（卫生间-厨房） — 行为异常，可能健康问题或传感器误报",
    "7. [2026-06-23T07:36:25-07:36:35] 住户在07:36:25手动开门后，仅2秒自动锁门，期间玄关Occupancy触发 — 正常外出行为，但出门速度极快，可能存在尾随风险",
    "8. [2026-06-23T16:07:00-] 住户16:07回家，但master_bedroom_occupancy从07:36到16:07一直为1未变 — 传感器可能stuck，或者住户回家前一直有人/另一个家在主卧？矛盾点",
    "9. [2026-06-23T22:24:00-22:24:34] 晚间住户关灯关空调、关窗帘、关门、关主卧灯 — 正常就寝序列",
    "10. [2026-06-23全日志] master_bedroom_occupancy在06:25后保持1从未变0 — 高度疑似传感器stuck-at-1故障"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户早上6:25起床后就在主卧活动（如用手机、看书），直到7:36才出门上班。下午16:07回家后继续在主卧休息。厨房温度传感器因电磁干扰或WiFi暂时断开出现None值。这是一个正常工作日作息。"},
    {"id": "B", "type": "anomaly", "description": "master_bedroom_occupancy传感器卡死在Occupancy=1状态，实际住户可能已经离开。厨房温度传感器存在间歇性硬件故障，需要维修。"},
    {"id": "C", "type": "anomaly", "description": "住户06:25起床后并未离开主卧，07:36外出时玄关Occupancy触发但住户可能尾随进入，然后16:07回家时主卧Occupancy仍为1，暗示可能有另一个人一直在主卧（入侵者或家庭成员），但该人未离开。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["支持：07:36住户手动开门→出门→自动锁门，玄关Occupancy触发，是正常外出模式（直接证据）", "支持：16:07住户手动开门→回家，玄关Occupancy再次触发（直接证据）", "支持：22:24就寝序列完整（关灯、关空调、关窗帘、锁门、关卧室灯）表明住户正常作息（直接证据）", "支持：厨房温度传感器两次出现None都是在灶具开启/关闭后，可能是电磁干扰（间接证据）"], "opposing": ["否定：06:25-07:36长达71分钟主卧Occupancy从未变0，期间住户未去卫生间/厨房，不符合正常起床后行为（间接证据）", "否定：07:36出门后到16:07回家，主卧Occupancy一直为1，如果传感器正常，说明有人一直未离开主卧（间接证据）", "否定：16:07回家后，主卧Occupancy仍为1，此时如果传感器正常，则有两人同时在主卧，但此后从未离开（间接证据）"]},
    {"hypothesis": "B", "supporting": ["支持：master_bedroom_occupancy在06:25后从未变0，持续到次日日志结束，共超过17小时——极符合传感器stuck-at-1故障特征（直接证据）", "支持：其他所有Occupancy传感器（客厅、次卧、卫生间、阳台）在无人时均正常报告0，唯独主卧传感器不变化（直接证据）", "支持：kitchen_temp_sensor两次在灶具操作后出现None值，之后又恢复，符合间歇性故障模式（直接证据）", "支持：07:36-16:07住户外出期间，主卧Occupancy=1但无其他活动记录（灯/空调未变），符合传感器故障（间接证据）"], "opposing": ["否定：无直接否定证据，因为stuck-at故障的特征就是数值不变"]},
    {"hypothesis": "C", "supporting": ["支持：07:36-16:07主卧Occupancy=1，如果传感器正常，说明有人一直留在主卧（间接证据）", "支持：16:07住户回家后，主卧Occupancy仍为1，如果正常，说明有两人（间接证据）"], "opposing": ["否定：07:36住户出门时，玄关Occupancy触发但无异常（如多人的步态模式无法由单一传感器分辨），无法确认尾随（间接证据）", "否定：如果入侵者一直在主卧，应当有其他活动（如走动、开灯、开窗等），但无任何相关事件（间接证据）", "否定：22:24住户正常就寝，主卧Occupancy仍为1，没有异常报告——如果真有入侵者，22:24后应当有冲突（间接证据）"]}
  ],
  "step4_causal": [
    "传感器stuck → master_bedroom_occupancy持续报告Occupancy=1（正常原因：硬件故障，异常原因：入侵者）",
    "灶具开启 → 厨房温度短暂升高 → 但传感器在高温时刻报None（正常原因：电磁干扰；异常原因：传感器硬件故障）",
    "住户开门 → 玄关Occupancy触发（正常因果：进出触发）",
    "住户出门 → 自动上锁（正常因果：自动锁门逻辑）",
    "夏季高温（日志中温度从23.50°C持续升到25.xx°C）→ 所有房间温度同步上升（正常因果：环境温度自然升高）",
    "17:45回家开空调 → 客厅温度从23.34°C逐渐下降（正常因果：空调降温）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "medium",
    "false_positive_risk": "尽管有极低概率（<5%）是正常行为（住户真的在主卧待了一整天+入侵者从未活动的极端情况），但传感器stuck-at-1的特征非常明确——其他所有Occupancy传感器正常变化，仅有主卧传感器17小时不变，且无任何活动事件支持。因此误报风险很低。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_stuck",
    "threat_description": "主卧Occupancy传感器疑似卡死在Occupancy=1状态超过17小时，厨房温度传感器间歇性报None值",
    "recommended_actions": [
      "1. 立即检查master_bedroom_occupancy传感器：重新上电或复位，确认是否恢复",
      "2. 检查kitchen_temp_sensor：查看接线和通信，必要时更换",
      "3. 如果传感器复位后恢复，说明是临时故障；如不恢复，需联系厂家更换",
      "4. 同时可调取门口摄像头回放07:36和16:07的记录，确认出门/回家时是否有异常尾随，以彻底排除假设C的可能性"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户早上6:25起床后就在主卧活动（如用手机、看书），直到7:36才出门上班。下午16:07回家后继续在主卧休息。厨房温度传感器因电磁干扰或WiFi暂时断开出现None值。这是一个正常工作日作息。

Explanation: 假设B: [anomaly] master_bedroom_occupancy传感器卡死在Occupancy=1状态，实际住户可能已经离开。厨房温度传感器存在间歇性硬件故障，需要维修。

Explanation: 假设C: [anomaly] 住户06:25起床后并未离开主卧，07:36外出时玄关Occupancy触发但住户可能尾随进入，然后16:07回家时主卧Occupancy仍为1，暗示可能有另一个人一直在主卧（入侵者或家庭成员），但该人未离开。

Explanation: 最可能假设: B, 置信度: high

Explanation: 误报可能性: 尽管有极低概率（<5%）是正常行为（住户真的在主卧待了一整天+入侵者从未活动的极端情况），但传感器stuck-at-1的特征非常明确——其他所有Occupancy传感器正常变化，仅有主卧传感器17小时不变，且无任何活动事件支持。因此误报风险很低。

3. 如果传感器复位后恢复，说明是临时故障；如不恢复，需联系厂家更换

Hypothesis: A

支持：16:07住户手动开门→回家，玄关Occupancy再次触发（直接证据）

Hypothesis: B

否定：无直接否定证据，因为stuck-at故障的特征就是数值不变

Hypothesis: C

住户开门 → 玄关Occupancy触发（正常因果：进出触发）

住户出门 → 自动上锁（正常因果：自动锁门逻辑）


BA-05-FP: 邻居/亲友代为浇花/喂宠物

通过门锁合法进入（有效的临时 UserIndex），进出有完整的开锁+锁门记录

```json
{
  "step1_evidence": [
    "厨房灶具开启期间传感器多次报空: [19:08:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None | — 灶具开启后不久温度传感器读数变为None，可能传感器故障或过热保护",
    "厨房温度非正常急剧升高: [19:00] 23.49°C → [19:40] 26.80°C，40分钟内上升3.31°C | — 远超过正常烹饪温度变化范围(3-5°C)的上升速度，且发生在灶具开启期间",
    "厨房窗户在烹饪后立即打开: [19:39:30] kitchen_window_contact | BooleanState.StateValue = False | — 关火后30秒就开窗，可能是在排放过量油烟",
    "厨房灶具关闭后温度仍高居不下: [19:39:00] cook_surface关闭后，kitchen_temp仍在26°C以上持续至20:15 | — 热量异常积聚",
    "浴室传感器持续30分钟重复报告: [06:46:03-06:59:35] bathroom_occupancy 每5分钟1次，共约7次 | — 但时间上对应晨起洗漱，频率尚可接受",
    "玄关传感器全天持续触发: [07:25:15-23:00] entrance_occupancy 每5分钟报告一次=1，全天不间断 | — 不符合正常人类行为模式，疑似传感器故障",
    "客厅运动传感器极其规律触发: [19:57:04-23:47:04] living_room_occupancy 每2分钟报告一次=1，持续近4小时 | — 间隔精确为2分钟，非人类活动模式，疑似传感器故障",
    "灶具开启前厨房无准备活动: [19:07:00] kitchen_light开启，但之前[18:30-19:00] kitchen区域无occupancy报告 | — 可能住户直接进入厨房未触发传感器，或传感器死角",
    "下午时段全屋温度一致持续下降: [12:00 25.2°C → 17:00 23.5°C] 所有房间同步降温约1.7°C | — 符合日常下午自然降温规律",
    "深夜时段有未授权开门事件: [22:47:00] front_door_lock | UserIndex=5 手动解锁开门，[22:57:00]再次自动锁上 | — UserIndex=5非住户本人，可能是访客或异常操作"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常烹饪活动：住户晚间做饭，火力较大导致厨房局部过热，开窗通风散热，温度传感器因高温短暂故障（None），后续正常"},
    {"id": "B", "type": "anomaly", "description": "潜在火灾风险：灶具火力异常（传感器报None），厨房温度异常升高，住户可能未及时发现，存在安全隐患"},
    {"id": "C", "type": "anomaly", "description": "入侵事件：深夜22:47有非住户用户(UserIndex=5)开门进入，可能为尾随或凭证盗用"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["直接证据: [19:07]-[19:39] 厨房灯和灶具正常操作，关火后开窗", "直接证据: [19:10-19:40] 厨房温度从24.77°C升到26.80°C，正常烹饪热量", "间接证据: 关火后温度逐步回落至20:15的22.87°C，恢复正常模式"], "opposing": ["间接证据: 温度上升速度(3.31°C/40min)偏快，可能火力开太大", "直接证据: [19:08:00] 传感器报None，虽然可解释为高温保护"]},
    {"hypothesis": "B", "supporting": ["直接证据: [19:08:00] 传感器报None，可能存在过热", "直接证据: 温度上升3.31°C/40min，超过正常烹饪温升", "间接证据: 开窗在关火后立即进行(30秒)，可能是闻到异味或烟雾"], "opposing": ["间接证据: 无烟雾报警器触发(无SmokeAlarm事件)", "直接证据: [19:39]灶具正常关闭，无异常操作失败事件", "间接证据: 温度曲线呈单峰后回落，符合正常烹饪后散热"]},
    {"hypothesis": "C", "supporting": ["直接证据: [22:47:00] door_lock LockOperation(UserIndex=5, Manual)开门", "直接证据: [22:57:00]同一用户再次锁定，操作序列不完整", "间接证据: 22:00后正常是休息时间(客厅灯和空调已关[22:10])"], "opposing": ["直接证据: [22:10:40]门已关闭并自动上锁，家庭处于锁定状态", "直接证据: 无入侵传感器(门窗打开报警、运动异常)触发", "间接证据: 22:47-22:57期间entrance_occupancy依然每5分钟报告=1，非入侵模式"]}
  ],
  "step4_causal": [
    "X=灶具开启 → Y=厨房温度升高 3-5°C（正常因果）",
    "X=灶具开启/高火力 → Y=温度传感器报None（正常因果：传感器高温保护/短暂故障）",
    "X=关火 → Y=打开厨房窗户（正常因果：通风散热）",
    "X=关火+开窗 → Y=温度逐步回落（正常因果）",
    "X=住户回家(18:10) → Y=[客厅灯/空调/运动]开启（正常因果）",
    "entrance_occupancy连续报告=1（每5分钟）— 与任何设备操作无关 → 正常行为或传感器故障（异常关联可能性低）",
    "living_room_occupancy每2分钟报告=1（19:57-23:47）— 间隔精确，与人类活动模式不吻合 → 疑似传感器卡死/周期性故障（异常关联）",
    "X=22:47开门(UserIndex=5) — 与正常作息不符 → 异常行为（需要进一步确认）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "厨房温度上升速度和传感器报None可能只是正常高火力烹饪后的临时现象，加上无烟感报警，误报可能性中等"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "未发现明确的安全威胁。厨房温度异常上升和传感器报None高度疑似正常烹饪（高火力），无烟雾报警器触发；夜间UserIndex=5开门事件需关注但无配合证据链（如门窗入侵传感器触发）。整体行为模式在正常范围。",
    "recommended_actions": [
      "检查厨房温度传感器是否因过热导致短暂故障，必要时重置或更换",
      "关注22:47 UserIndex=5开门事件，与住户确认是否为访客或家庭成员",
      "观察entrance_occupancy长期规律性，可能传感器故障需定期检查",
      "确保厨房烟雾报警器正常工作，建议每月测试一次"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常烹饪活动：住户晚间做饭，火力较大导致厨房局部过热，开窗通风散热，温度传感器因高温短暂故障（None），后续正常

Explanation: 假设B: [anomaly] 潜在火灾风险：灶具火力异常（传感器报None），厨房温度异常升高，住户可能未及时发现，存在安全隐患

Explanation: 假设C: [anomaly] 入侵事件：深夜22:47有非住户用户(UserIndex=5)开门进入，可能为尾随或凭证盗用

Explanation: 最可能假设: A, 置信度: medium

Explanation: 误报可能性: 厨房温度上升速度和传感器报None可能只是正常高火力烹饪后的临时现象，加上无烟感报警，误报可能性中等

检查厨房温度传感器是否因过热导致短暂故障，必要时重置或更换
关注22:47 UserIndex=5开门事件，与住户确认是否为访客或家庭成员
观察entrance_occupancy长期规律性，可能传感器故障需定期检查
确保厨房烟雾报警器正常工作，建议每月测试一次

Hypothesis: A

直接证据: [19:07]-[19:39] 厨房灯和灶具正常操作，关火后开窗

间接证据: 关火后温度逐步回落至20:15的22.87°C，恢复正常模式

间接证据: 温度上升速度(3.31°C/40min)偏快，可能火力开太大
直接证据: [19:08:00] 传感器报None，虽然可解释为高温保护

Hypothesis: B

直接证据: [19:08:00] 传感器报None，可能存在过热
直接证据: 温度上升3.31°C/40min，超过正常烹饪温升
间接证据: 开窗在关火后立即进行(30秒)，可能是闻到异味或烟雾

间接证据: 无烟雾报警器触发(无SmokeAlarm事件)
直接证据: [19:39]灶具正常关闭，无异常操作失败事件
间接证据: 温度曲线呈单峰后回落，符合正常烹饪后散热

Hypothesis: C

直接证据: [22:57:00]同一用户再次锁定，操作序列不完整

间接证据: 22:00后正常是休息时间(客厅灯和空调已关[22:10])

直接证据: [22:10:40]门已关闭并自动上锁，家庭处于锁定状态

直接证据: 无入侵传感器(门窗打开报警、运动异常)触发

X=灶具开启 → Y=厨房温度升高 3-5°C（正常因果）

X=关火 → Y=打开厨房窗户（正常因果：通风散热）

X=关火+开窗 → Y=温度逐步回落（正常因果）

X=住户回家(18:10) → Y=[客厅灯/空调/运动]开启（正常因果）


BA-04-FP: 传感器触发延迟导致顺序看似跳跃

客厅occupancy在阳台和主卧之间有触发（2秒时），移动路径合理

```json
{
  "step1_evidence": [
    "[2026-06-15T18:25:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2703 — 厨房温度从18:00的24.00°C急剧上升至27.03°C，随后持续攀升至最高约27.2°C（18:30-18:40），远超日间正常波动范围。",
    "[2026-06-15T18:53:30] kitchen_cook_surface | OnOff.OnOff = True — 在厨房温度已经异常高企后，灶具被开启，进一步加剧了风险。",
    "[2026-06-15T18:54:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后仅一分钟，厨房温度传感器即报告None（无效读数），可能因过热失效。",
    "[2026-06-15T19:51:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在19:51被打开，正值灶具使用期间，可能为通风排烟行为。",
    "[2026-06-15T19:52:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 传感器再次报告None，表明传感器仍处于故障或高温保护状态。",
    "[2026-06-15T18:20:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2633 — 厨房温度已达26.33°C，而其他房间温度约为23°C，温差明显，表明厨房发生过热事件，可能为烹饪或设备异常。",
    "[2026-06-15T18:00:00-18:15:00] kitchen_temp_sensor | 温度从24.00°C（18:00）→24.48°C（18:05）→25.24°C（18:10）→25.67°C（18:15）→26.33°C（18:20）— 在17:55温度仅为23.20°C，但18:00时突然跃升至24.00°C，之后每5分钟升温约0.5-0.8°C，不符合自然升温规律。",
    "[2026-06-15T07:38:16] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 住户早上手动解锁出门。",
    "[2026-06-15T18:21:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 住户傍晚手动开锁进门。",
    "[2026-06-15T20:20:00] balcony_door_contact | BooleanState.StateValue = False — 阳台门在20:20被打开，随后主卧和客厅运动传感器几乎同时触发，可能为住户活动或通风。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "正常烹饪行为导致厨房温度异常升高。住户可能在18:00左右开始做饭（但日志中无灶具开启记录，直到18:53才开启），后因高温或油烟打开窗户通风，温度传感器或因过热短暂失效。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "厨房设备（如烤箱、灶具未记录或洗碗机）在无人看管情况下发生过热，或存在火灾隐患。灶具在18:53才开启，但温度从18:00已开始飙升，说明存在其他未记录的热源（如烤箱忘记关闭），且温度传感器在18:54报告None可能因高温损坏。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "[间接证据] 18:53 厨房灯和灶具被开启，表明住户在18:53之后确实在进行烹饪活动。",
        "[间接证据] 19:51 厨房窗户被打开，可能是为了散去烹饪产生的热气和油烟。",
        "[间接证据] 18:21-18:53 期间，入口和客厅有连续的人员活动（运动传感器每3-5分钟触发一次），符合住户回家后在客厅休息并准备做饭的情景。"
      ],
      "opposing": [
        "[直接证据] 温度从18:00开始快速上升（24.00°C→26.33°C），但直到18:53才有灶具开启记录，这近1小时的温度飙升缺乏直接热源记录。",
        "[间接证据] 18:00-18:20的升温速率（每5分钟~0.6°C）异常，不符合正常烹饪的逐步升温曲线。",
        "[直接证据] 18:54温度传感器读数变为None，可能是过热导致传感器失效或自我保护，这在正常烹饪中不常见。"
      ]
    },
    {
      "hypothesis": "B",
      "description": "异常/异常",
      "supporting": [
        "[间接证据] 18:00-18:53期间，厨房温度快速且持续升高（24.00°C到27.03°C），但无烹饪设备操作记录，暗示存在未监控的热源（如忘记关闭的烤箱或电磁炉）。",
        "[直接证据] 18:54和19:52温度传感器两次报告None，可能由于高温导致传感器损坏或进入保护模式，此为异常过热信号。",
        "[间接证据] 厨房温度在18:20已达26.33°C，而客厅温度仅23°C，温差超过3°C，说明厨房有强烈的局部热源。"
      ],
      "opposing": [
        "[间接证据] 19:51厨房窗户被打开后，温度在20:00左右从27.19°C快速回落至22.70°C，之后趋于正常，符合通风散热的效果，说明热源在开窗后可能已被关闭或移除。",
        "[间接证据] 18:53灶具被手动开启，表明住户在18:53时已在厨房活动并准备做饭，因此之前可能也在厨房忙其他烹饪准备，未记录到热源但存在合理行为（如准备食材时已开启烤箱）。",
        "[间接证据] 日志中未出现SmokeAlarm或FireAlarm报警，说明火情尚未严重到触发烟雾报警器。"
      ]
    }
  ],
  "step4_causal": [
    "[异常关联] 18:00 kitchen_temp_sensor 温度从23.20°C跃升至24.00°C并持续快速上升，同时段无灶具或任何已知热源记录 → 存在未记录的热源（如忘记关闭的烤箱或灶具持续小火，或传感器故障）。",
    "[正常因果] 18:53 kitchen_cook_surface.OnOff = True → 后续厨房温度在19:00-19:30期间维持在较高水平（25°C~27°C），表明烹饪正在进行。",
    "[正常因果] 19:51 kitchen_window_contact = False（窗开） → 20:00后厨房温度快速下降至22.70°C，符合通风降温效果。",
    "[异常关联] 18:54 kitchen_temp_sensor = None（在灶具开启后1分钟） → 可能由于短时极高温度导致传感器读数失效或保护性中断。",
    "[正常因果] 18:21 住户回家（front_door open, entrance+living_room occupancy） → 之后的活动轨迹符合日常起居：先到客厅开灯开空调，后进入厨房烹饪。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "high",
    "false_positive_risk": "中等。虽然整体趋势可以用正常烹饪解释（住户回家→做饭→开窗），但18:00-18:53期间的近1小时快速升温且无设备记录，以及传感器两次报告None，仍暗示存在潜在的未监控热源或传感器故障风险。在没有烟雾报警触发的情况下，火灾风险较低，但设备过热或损坏的可能性不容忽视。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "fire_risk",
    "threat_description": "厨房在18:00-18:20期间出现不明热源导致的快速升温（24.00°C→26.33°C），且在灶具正式开启后温度传感器短暂失效（None），存在过热或设备故障导致的火灾风险。",
    "recommended_actions": [
      "建议检查厨房所有电器（尤其是烤箱、微波炉、未记录灶具炉头）是否正常关闭，确认无未熄火灶头或发热体。",
      "检查或更换厨房温度传感器，确认其是否因高温损坏或存在故障。",
      "考虑在厨房加装独立的温度或烟雾监控系统，并确认现有烟雾报警器工作正常。",
      "提醒住户注意烹饪安全，确保无人看管时关闭所有热源。"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常烹饪行为导致厨房温度异常升高。住户可能在18:00左右开始做饭（但日志中无灶具开启记录，直到18:53才开启），后因高温或油烟打开窗户通风，温度传感器或因过热短暂失效。

Explanation: 假设B: [anomaly] 厨房设备（如烤箱、灶具未记录或洗碗机）在无人看管情况下发生过热，或存在火灾隐患。灶具在18:53才开启，但温度从18:00已开始飙升，说明存在其他未记录的热源（如烤箱忘记关闭），且温度传感器在18:54报告None可能因高温损坏。

Explanation: 最可能假设: B, 置信度: medium

Explanation: 误报可能性: 中等。虽然整体趋势可以用正常烹饪解释（住户回家→做饭→开窗），但18:00-18:53期间的近1小时快速升温且无设备记录，以及传感器两次报告None，仍暗示存在潜在的未监控热源或传感器故障风险。在没有烟雾报警触发的情况下，火灾风险较低，但设备过热或损坏的可能性不容忽视。

检查或更换厨房温度传感器，确认其是否因高温损坏或存在故障。

考虑在厨房加装独立的温度或烟雾监控系统，并确认现有烟雾报警器工作正常。

提醒住户注意烹饪安全，确保无人看管时关闭所有热源。

Hypothesis: A

[间接证据] 19:51 厨房窗户被打开，可能是为了散去烹饪产生的热气和油烟。

Hypothesis: B

异常/异常


活动从卧室开始（住户起床），路径合理（卧室→客厅→厨房→卧室），最终回到卧室

```json
{
  "step1_evidence": [
    "[2026-06-22T19:00:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 温度传感器突然无数据，但很快恢复。",
    "[2026-06-22T19:49:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具关闭后，传感器再次短暂无数据，可能因高温导致短暂故障。",
    "[2026-06-22T20:04:00] kitchen_dishwasher | OnOff.OnOff = True — 洗碗机在晚饭后开启，属于正常行为。",
    "[2026-06-22T06:35:08] bathroom_occupancy | OccupancySensing.Occupancy = 1 — 早上六点半，住户进入卫生间，符合正常起床时间。",
    "[2026-06-22T07:25:09] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 住户手动开门，随后自动上锁，是正常出门/回家流程。",
    "[2026-06-22T22:05:45] front_door_contact | BooleanState.StateValue = True — 晚上十点，入户门关闭，是住户就寝前的正常操作。",
    "[2026-06-22T18:21:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 下午六点二十一分，住户回家开门，随后厨房温度开始异常升高。",
    "[2026-06-22T18:59:30] kitchen_cook_surface | OnOff.OnOff = True — 住户回家后约38分钟开启灶具，引发厨房温度从约23°C急速升至约27°C。",
    "[2026-06-22T19:48:00] kitchen_cook_surface | OnOff.OnOff = False — 约48分钟后关闭灶具，厨房温度随后开始回落，是正常的烹饪活动。",
    "[2026-06-22T19:48:30] kitchen_window_contact | BooleanState.StateValue = False — 关火后不久厨房窗户被打开，可能是为了通风散味，符合常理。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "这是一个典型的工作日家庭活动：住户早上起床-上班-下午回家-做饭-休息-就寝。所有设备行为均符合正常作息。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器在高温后出现‘None’值，可能是传感器因高温而暂时性故障或电路老化。"},
    {"id": "C", "type": "anomaly", "description": "无人时灶具未关闭导致火灾风险：虽然灶具在有人时关闭了，但若传感器在高温下失效，可能在真正的危险发生时无法告警。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "直接证据：06:35 卫生间使用，07:25 出门并自动锁门，这是标准工作日早晨活动。",
      "直接证据：18:21 回家，18:59 开灶具，19:48 关灶具并开窗，这是标准晚餐行为。",
      "间接证据：整个日志中，所有运动传感器在夜间（00:00-06:00）均为 Occupancy=0，表明无人活动，睡眠正常。",
      "间接证据：空调在回家后被开启（18:21），在睡前被关闭（22:05），符合夏季舒适需求。"
    ], "opposing": [
      "间接证据：厨房温度传感器在峰值后出现两次‘None’，这有点不寻常，但不足以推翻正常假设。"
    ]},
    {"hypothesis": "B", "supporting": [
      "直接证据：19:00:00 和 19:49:00，kitchen_temp_sensor 上报 MeasuredValue = None，表明该时刻传感器无法提供有效读数。",
      "间接证据：厨房温度在18:55达到约27°C（2697）的高点，19:00立即变成None，可能是热浪影响了传感器元件。"
    ], "opposing": [
      "间接证据：在19:00之后，传感器快速恢复了正常读数（2529），并在19:49后再次正常，这表明故障是暂时性的，不是永久性损坏。",
      "间接证据：同时间段内，家中其他温度传感器（客厅、卧室）均运行正常，排除了系统层面的问题。"
    ]},
    {"hypothesis": "C", "supporting": [
      "间接证据：如果传感器在高温下出现‘None’值，那么在未来真正发生燃气泄漏或失火时，这个传感器可能无法正确上报极端高温，从而延迟或阻碍安全响应。"
    ], "opposing": [
      "直接证据：本次事件中，灶具在有人监控下正常开启和关闭，没有发生无人空烧的情况。",
      "间接证据：19:48 厨房窗户被打开，说明住户就在附近，并且意识到了厨房的油烟和温度。"
    ]}
  ],
  "step4_causal": [
    "正常因果：开灯(onoff_light) → 相应区域 Occupancy 传感器触发（住户活动）。",
    "正常因果：18:21 回家 → 客厅灯、空调开启（正常归家行为）。",
    "正常因果：18:59 开启灶具 → 厨房温度从约24°C持续上升至约27°C（正常烹饪），在19:48关火后逐渐回落。",
    "正常因果：19:48 关火 → 厨房窗户打开（19:48:30），可能是为了散味降温。",
    "异常关联：厨房温度传感器在高温峰值（约2700）后短时间内出现‘None’值（19:00和19:49），表明传感器可能无法应对极端环境或存在老化问题。",
    "正常因果：22:05 关灯关空调 → 入户门关闭并自动上锁（住户就寝）。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "低。温度传感器出现‘None’是非常明确的设备状态报告，虽不构成安全威胁，但提示了设备稳定性隐患。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器在经历烹饪高温后出现短暂无数据现象，可能表明传感器灵敏度或耐温性下降，存在隐患但不构成当前安全威胁。",
    "recommended_actions": [
      "检查厨房温度传感器是否有物理损伤或老化，考虑更换以保障长期可靠性。",
      "为厨房配置独立的烟雾报警器和燃气泄漏探测器，以作为温度传感器的冗余。",
      "日常留意厨房温度读数，如再次出现‘None’值，应立即维修或更换。"
    ]
  }
}
```

Explanation: 假设A: [normal] 这是一个典型的工作日家庭活动：住户早上起床-上班-下午回家-做饭-休息-就寝。所有设备行为均符合正常作息。

Explanation: 假设B: [anomaly] 厨房温度传感器在高温后出现‘None’值，可能是传感器因高温而暂时性故障或电路老化。

Explanation: 假设C: [anomaly] 无人时灶具未关闭导致火灾风险：虽然灶具在有人时关闭了，但若传感器在高温下失效，可能在真正的危险发生时无法告警。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 低。温度传感器出现‘None’是非常明确的设备状态报告，虽不构成安全威胁，但提示了设备稳定性隐患。

检查厨房温度传感器是否有物理损伤或老化，考虑更换以保障长期可靠性。 为厨房配置独立的烟雾报警器和燃气泄漏探测器，以作为温度传感器的冗余。 日常留意厨房温度读数，如再次出现‘None’值，应立即维修或更换。

Hypothesis: A

Hypothesis: B

Hypothesis: C

直接证据：本次事件中，灶具在有人监控下正常开启和关闭，没有发生无人空烧的情况。

正常因果：18:21 回家 → 客厅灯、空调开启（正常归家行为）。

正常因果：22:05 关灯关空调 → 入户门关闭并自动上锁（住户就寝）。


FG-03-FP: 烟雾报警器自检触发CO检测

```json
{
  "step1_evidence": [
    "提取的关键事件1: [2026-06-02T10:03:00] kitchen_smoke_alarm | SmokeCoAlarm.TestInProgress = True; [2026-06-02T10:03:05] COState = 1; [2026-06-02T10:03:30] COState = 0; TestInProgress = False; Event: SelfTestComplete() — 烟雾报警器在无住户活动时间（10:00所有房间Occupancy=0，10:04才触发entrance_occupancy）执行自检并报告了COState=1(CO报警)，虽在30秒内自行恢复，但CO报警事件本身值得关注",
    "提取的关键事件2: [2026-06-02T19:04:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None; [2026-06-02T19:54:00] 再次出现None — 厨房温度传感器在灶具开启期间(19:03-19:53)两次读数变为None，表明传感器可能出现了间歇性故障或数据通信中断",
    "提取的关键事件3: [2026-06-02T19:00:00] kitchen_temp_sensor = 2364; [2026-06-02T19:03:30] cook_surface开启; [2026-06-02T19:05:00] 2425; [19:10] 2479; [19:15] 2552; [19:20] 2619; [19:25] 2671; [19:30] 2688; [19:35] 2676; [19:40] 2688; [19:45] 2628; [19:50] 2604; [19:53] cook_surface关闭 -> 厨房温度从19:00的23.64°C骤升至19:40的26.88°C，上升3.24°C，符合正常烹饪导致的温度上升模式"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常家居活动：住户早上06:37起床、洗漱（卫生间），07:06进入厨房（可能是早饭），07:19出门上班（手动解锁→开门→外出→关门→自动上锁）。傍晚18:18下班回家（手动开门→开灯→开空调→在客厅活动），19:03进厨房做饭（开灯、开灶具，厨房温度急剧上升），19:53关灶具、开窗通风散油烟，20:02开启洗碗机。22:03离家（关灯、关空调、锁门）。期间厨房烟雾报警器于10:03执行了一次自检并短暂触发了CO报警（约30秒后恢复）。entrance_occupancy传感器在07:19住户出门后至18:18回家前，每隔约5分钟就有一次短暂的Occupancy=1触发，疑似传感器敏感度过高或存在故障，但并非入侵行为。"},
    {"id": "B", "type": "anomaly", "description": "CO漏气隐患+传感器故障：上午10:03厨房烟雾报警器自检时触发了CO报警（COState=1），虽30秒后自清除，但不能排除当时环境中存在微量CO。夜间（00:00-06:00）所有房间温度持续上升（客厅22.77°C→24.84°C），不符合夜间自然降温规律，可能空调制热或环境存在持续热源（但日志中无空调开启记录）。厨房温度传感器在灶具开启期间两次出现None读数，可能存在间歇性硬件故障。entrance_occupancy全天每5分钟规律触发，可能传感器损坏"},
    {"id": "C", "type": "anomaly", "description": "尾随入侵：07:19住户出门（门口传感器显示：解锁→开门→出门→关门→上锁），但entrance_occupancy从07:19到18:18期间每隔5分钟持续被触发，说明有人在玄关活动。可能有人尾随住户进入室内并躲藏起来，之后在室内各区域活动（但所有其他区域的Occupancy传感器在此期间均为0，矛盾）"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["直接证据：07:19住户出门的完整操作链（解锁→开门→出门→关门→自动上锁），正常外出模式", "直接证据：18:18住户回家的完整操作链（手动解锁→开门→开玄关灯→客厅灯→空调），正常回家模式", "直接证据：19:03厨房灯亮→灶具开启→19:53灶具关闭→开窗→洗碗机开启，完整的烹饪流程", "间接证据：厨房温度从19:00的23.64°C升至19:40的26.88°C（+3.24°C），灶具关闭后逐步回落，符合正常烹饪规律", "间接证据：00:00-06:00所有房间温度持续上升（~2°C），可能因夏季夜晚环境温度高或保温效应，并非异常"],
    "opposing": ["间接证据：entrance_occupancy从07:19到18:18期间每5分钟规律触发（7:24, 7:29, 7:34, ..., 18:14），住户不在家时玄关不应有人活动，这不符合正常居住模式", "直接证据：厨房烟雾报警器在10:03自检时短时报警COState=1，虽然可能是自检误触发，但不能完全排除环境中有CO", "直接证据：厨房温度传感器在19:04和19:54两次出现None，设备存在间歇性故障"]},
    {"hypothesis": "B", "supporting": ["直接证据：烟雾报警器确实报告了COState=1，虽然持续仅30秒且伴随SelfTestComplete事件，但不能完全忽略", "直接证据：厨房温度传感器在灶具工作期间出现None读数，表明设备不稳定", "间接证据：夜间温度持续上升不符合典型降温曲线，但日志中无异常事件佐证（无设备打开、无门窗异常、所有Occupancy为0），可能只是环境热"],
    "opposing": ["间接证据：CO报警事件伴随TestInProgress=True，且随后SelfTestComplete，表明是设备自检触发的，并非环境真实CO泄漏", "间接证据：夜间温度上升（22.77→24.84°C，+2°C）在夏季可能因白天日照蓄热在夜间释放，属于正常现象", "间接证据：entrance_occupancy规律触发，但无其他任何传感器在该时间段有响应（门锁无操作、门窗传感器无触发、其他区域Occupancy均为0），更可能是传感器故障而非尾随入侵"]},
    {"hypothesis": "C", "supporting": ["直接证据：07:19住户出门后，entrance_occupancy仍持续触发至18:18，长达11小时", "间接证据：玄关是入户必经区域，有人持续活动可能表示有人滞留"],
    "opposing": ["直接证据：所有其他区域的Occupancy传感器在07:19-18:18期间一直为0，如果有尾随者进入且躲藏，不可能完全不活动（至少会触发厨房、卫生间、卧室等传感器）", "直接证据：门窗传感器（入户门、阳台门、厨房窗、客厅窗、卧室窗）在此期间均无状态变化，排除了他人从外部再次进入的可能", "间接证据：entrance_occupancy的触发时间非常规律（精确每5分钟一次），不是人类活动的典型模式（人类活动时间间隔不固定），更像是传感器自触发或灵敏度问题"]}
  ],
  "step4_causal": [
    "因果关系1: 07:19 住户手动解锁 → 开门 → 出门 → 关门 → 自动上锁（正常外出因果链）",
    "因果关系2: 10:03 烟雾报警器自检(TestInProgress=True) → 短暂CO报警(COState=1) → 自检完成(COState=0, SelfTestComplete)（正常设备自检逻辑，并非真实CO泄漏）",
    "因果关系3: 18:18 住户回家 → 手动解锁 → 开门 → 开玄关灯、客厅灯、空调（正常回家因果链）",
    "因果关系4: 19:03 厨房灯开 → 灶具开启 → 厨房温度从23.64°C逐步升至26.88°C → 19:53灶具关闭 → 开窗通风 → 温度逐步回落（正常烹饪因果链）",
    "因果关系5: 07:19-18:18 entrance_occupancy每5分钟规律触发 → 无其他传感器联动响应（门锁、门窗、其他区域Occupancy均静默）（异常关联：不符合人体活动模式，疑似传感器硬件故障或触发阈值过低）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "正常家庭活动可能性极高。CO报警事件伴随自检标志，且30秒恢复，是设备自检的正常行为，并非真实环境CO泄漏。entrance_occupancy的规律触发，无任何入侵行为的佐证证据，更可能是传感器故障。夜间温度上升在夏季是正常现象。厨房温度传感器None值可能是短暂的通信瞬断。整体判断为正常。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "玄关运动传感器(entrance_occupancy)可能在住户不在家期间（07:19-18:18）存在规律性误触发（每5分钟），疑似传感器硬件故障或灵敏度设置问题。厨房温度传感器(kitchen_temp_sensor)在灶具工作期间两次出现None读数，存在间歇性通信或硬件故障。",
    "recommended_actions": ["检查玄关运动传感器的安装位置是否正对通风口或热源（如空调出风口、路由器），可能导致误触发", "检查玄关传感器的灵敏度设置，适当降低灵敏度以消除环境干扰", "重启厨房温度传感器并检查其连接稳定性，如None错误持续出现，考虑更换传感器", "检查厨房烟雾报警器的自检日志，确认CO报警确实是由自检程序触发的，若担心可咨询专业维保人员"]
  }
}
```

Explanation: 假设A: [normal] 正常家居活动：住户早上06:37起床、洗漱（卫生间），07:06进入厨房（可能是早饭），07:19出门上班（手动解锁→开门→外出→关门→自动上锁）。傍晚18:18下班回家（手动开门→开灯→开空调→在客厅活动），19:03进厨房做饭（开灯、开灶具，厨房温度急剧上升），19:53关灶具、开窗通风散油烟，20:02开启洗碗机。22:03离家（关灯、关空调、锁门）。期间厨房烟雾报警器于10:03执行了一次自检并短暂触发了CO报警（约30秒后恢复）。entrance_occupancy传感器在07:19住户出门后至18:18回家前，每隔约5分钟就有一次短暂的Occupancy=1触发，疑似传感器敏感度过高或存在故障，但并非入侵行为。

Explanation: 假设B: [anomaly] CO漏气隐患+传感器故障：上午10:03厨房烟雾报警器自检时触发了CO报警（COState=1），虽30秒后自清除，但不能排除当时环境中存在微量CO。夜间（00:00-06:00）所有房间温度持续上升（客厅22.77°C→24.84°C），不符合夜间自然降温规律，可能空调制热或环境存在持续热源（但日志中无空调开启记录）。厨房温度传感器在灶具开启期间两次出现None读数，可能存在间歇性硬件故障。entrance_occupancy全天每5分钟规律触发，可能传感器损坏

Explanation: 假设C: [anomaly] 尾随入侵：07:19住户出门（门口传感器显示：解锁→开门→出门→关门→上锁），但entrance_occupancy从07:19到18:18期间每隔5分钟持续被触发，说明有人在玄关活动。可能有人尾随住户进入室内并躲藏起来，之后在室内各区域活动（但所有其他区域的Occupancy传感器在此期间均为0，矛盾）

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 正常家庭活动可能性极高。CO报警事件伴随自检标志，且30秒恢复，是设备自检的正常行为，并非真实环境CO泄漏。entrance_occupancy的规律触发，无任何入侵行为的佐证证据，更可能是传感器故障。夜间温度上升在夏季是正常现象。厨房温度传感器None值可能是短暂的通信瞬断。整体判断为正常。

检查玄关传感器的灵敏度设置，适当降低灵敏度以消除环境干扰

重启厨房温度传感器并检查其连接稳定性，如None错误持续出现，考虑更换传感器

Hypothesis: A

Hypothesis: B

直接证据：厨房温度传感器在灶具工作期间出现None读数，表明设备不稳定

Hypothesis: C

间接证据：玄关是入户必经区域，有人持续活动可能表示有人滞留


FG-03-FP: 烟雾报警器自检触发CO检测

```json
{
  "step1_evidence": [
    "提取的关键事件1: [2026-06-18T07:04:02] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在灶具开启期间突然报告'None'，这是明确的异常信号",
    "提取的关键事件2: [2026-06-18T07:21:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次报告'None'，确认不是单次偶发",
    "提取的关键事件3: [2026-06-18T18:40:00-18:40:30] kitchen_smoke_alarm | SmokeCoAlarm.TestInProgress = True → COState = 1 → COState = 0 → SelfTestComplete — 烟雾报警器执行了自检，CO状态短暂为1(报警)，但很快自行恢复。这可能是自检的正常过程，也可能是传感器间歇性故障",
    "提取的关键事件4: [2026-06-18T18:49:00-19:02:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None (两次, 间隔约13分钟) — 晚上做饭期间厨房温度传感器再次失效，与该设备在早餐时的情况一致，表明该传感器存在持续性故障"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "设备正常行为：厨房温度传感器在特定工况（如高温或快速温度变化）下，因硬件保护机制或数据传输暂时中断而报告'None'，属于可恢复的偶发异常，烟雾报警自检也是正常操作"},
    {"id": "B", "type": "anomaly", "description": "设备故障：厨房温度传感器存在间歇性硬件或通信故障（sensor malfunction），导致在关键时间点（灶具开启后）报告'None'；烟雾报警器COState短暂报警可能为传感器灵敏度漂移或自检误报"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["支持证据1: 两次'None'事件都发生在灶具开启后数分钟内，且温度传感器在其他时间（未烹饪时）都能正常工作并返回有效读数", "支持证据2: 烟雾报警器的'TestInProgress = True'和'SelfTestComplete'事件明确表明这是一次自检，COState短暂为1可能是自检流程的一部分（模拟CO浓度）"], "opposing": ["否定证据1: 灶具开启后温度快速上升，正常传感器应在高温下持续工作，而非报告'None'。'None'表示数据无效或通信中断，不是正常行为", "否定证据2: 该传感器在两次独立的不同烹饪时段（早餐和晚餐）均出现相同'None'故障，不是偶发，而是重复性故障模式"]},
    {"hypothesis": "B", "supporting": ["支持证据1[间接]: 厨房温度传感器仅在灶具开启后报告'None'，而在其他时间均正常，表明故障可能与高温应力或灶具电磁干扰有关", "支持证据2[间接]: 同一传感器在两次独立烹饪事件中表现出相同的故障模式（07:04和18:49-19:02），时间间隔长，排除临时干扰，指向硬件老化或设计缺陷", "支持证据3[间接]: 自检事件后COState=1但很快归零，虽然自检可解释，但结合温度传感器问题，不排除烟雾报警器也存在传感器状态不稳定的隐患"], "opposing": ["否定证据1[间接]: 烟雾报警器的自检事件完整（TestInProgress→COState→SelfTestComplete），没有其他异常报警（如COState持续1或FireAlarm），表现正常", "否定证据2[间接]: 日志中无其他任何设备报警（如DoorLockAlarm、HardwareFaultAlert）或用户操作失败事件，整体安全状态看似平稳"]}
  ],
  "step4_causal": [
    "因果关系1: 灶具开启 → 厨房温度传感器报告'None'（异常关联：灶具开启是导致传感器失效的诱因）",
    "因果关系2: smoke_alarm自检 → COState短暂=1（正常因果：自检流程的一部分，模拟CO浓度）",
    "因果关系3: 多次'None'报告 → 推断传感器硬件故障（异常关联：同一设备、相同工况下的重复失效模式）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "medium",
    "false_positive_risk": "极低。两次'None'报告明确违反设备传感器应返回有效读数的基本原则，且故障模式高度一致，不属于正常波动或噪声"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器在灶具开启后出现间歇性故障，连续两次在烹饪关键时间点报告 'None'，存在无法监控厨房温度的风险，可能延误火灾或过热预警",
    "recommended_actions": ["检查并更换厨房温度传感器硬件，或检查其与智能家居网关的通信链路", "对厨房烟雾报警器进行功能复核，确保CO和烟雾检测功能正常", "在传感器更换前，建议在烹饪时手动关注厨房情况，避免过度依赖自动温度监控"]
  }
}
```

Explanation: 假设A: [normal] 设备正常行为：厨房温度传感器在特定工况（如高温或快速温度变化）下，因硬件保护机制或数据传输暂时中断而报告'None'，属于可恢复的偶发异常，烟雾报警自检也是正常操作

Explanation: 假设B: [anomaly] 设备故障：厨房温度传感器存在间歇性硬件或通信故障（sensor malfunction），导致在关键时间点（灶具开启后）报告'None'；烟雾报警器COState短暂报警可能为传感器灵敏度漂移或自检误报

Explanation: 最可能假设: B, 置信度: high

Explanation: 误报可能性: 极低。两次'None'报告明确违反设备传感器应返回有效读数的基本原则，且故障模式高度一致，不属于正常波动或噪声

检查并更换厨房温度传感器硬件，或检查其与智能家居网关的通信链路 对厨房烟雾报警器进行功能复核，确保CO和烟雾检测功能正常 在传感器更换前，建议在烹饪时手动关注厨房情况，避免过度依赖自动温度监控

Hypothesis: A

Hypothesis: B


FG-04-FP: 低电量报警但传感器仍正常工作

```json
{
  "step1_evidence": [
    "厨房烟雾报警器电池告警: [2026-06-07T21:58:00] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 烟雾报警器电池需要更换，是安全设备维护提醒",
    "厨房温度传感器异常高温及随后数据丢失: [2026-06-08T18:20:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2637 持续上升到18:30的2717，然后18:52报告None（数据丢失）— 厨房在灶具开启前温度已异常高，随后传感器完全失效，高度可疑",
    "厨房烟雾报警器触发: [2026-06-08T22:08:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 厨房冒烟，确凿的安全事件",
    "厨房灶具在夜间异常开启: [2026-06-08T21:58:00] kitchen_cook_surface | OnOff.OnOff = True — 住户已于21:45离家（门锁、灯光关闭），但灶具随后开启，存在火灾风险",
    "玄关运动传感器极其规律的周期性触发: 从[2026-06-08T07:33:17]起，entrance_occupancy以每5分钟（精确间隔）的报告频率持续触发Occupancy=1，直到日志结束 — 非人类活动模式，可能硬件故障或信号干扰",
    "厨房温度传感器数据短暂恢复: [2026-06-08T18:52:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None（数据丢失），随后19:00恢复为2499 — 传感器可能因过热暂时失效后恢复",
    "入户门在家时状态: [2026-06-08T07:33:21] 住户出门（门锁解锁开门），[2026-06-08T07:33:32] 门自动上锁 — 正常离家行为",
    "厨房窗户在烹饪后异常开启: [2026-06-08T19:50:30] kitchen_window_contact | BooleanState.StateValue = False（窗户打开）— 可能在烹饪产生烟雾后开窗通风",
    "夜间无人时厨房灶具开启后烟雾报警器触发: 22:08烟雾报警，22:13灶具关闭，22:18烟雾警报解除，整个过程无人在厨房（厨房Occupancy未报告有人） — 无人看管的危险烹饪",
    "客厅空调在有人时开启但温度未显著下降: [2026-06-08T18:05:32] living_room_ac开启，但客厅温度从2319缓慢下降到18:30的2299后基本稳定 — 空调效果正常，但非关键异常"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "住户在离家前使用灶具烹饪，产生了烟雾，但忘记关火就离开了。烟雾报警器启动后，住户通过远程操作关闭了灶具（或自动关闭）。温度传感器因靠近高温灶具短时过热失效，之后恢复。玄关传感器可能是软件bug或附近有移动物体/宠物触发。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "外来入侵者：住户21:45离家锁门后，入侵者通过某种手段（如技术开锁/尾随/未锁窗户）进入室内，打开灶具试图制造火灾/破坏，被烟雾报警器阻止。玄关传感器规律性触发可能是入侵者反复经过门口区域或传感器本身故障。"
    },
    {
      "id": "C",
      "type": "anomaly",
      "description": "设备综合故障：厨房温度传感器因硬件故障长时间输出错误高温读数（18:00-18:45）并最终失效，而灶具实际未开。烟雾报警器的触发可能是误报。玄关传感器触发模式异常说明整个系统可能存在通信/定时扫描的软件逻辑错误。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据: 18:51:30灶具开启 — 表明住户确实在烹饪",
        "直接证据: 19:50灶具关闭 — 说明烹饪结束",
        "间接证据: 19:50:30厨房窗户被打开 — 住户可能闻到烟味主动开窗通风",
        "间接证据: 温度曲线在灶具开启后（18:51）先升后降 — 符合烹饪正常热量传递，19:00后温度从2717快速下降到正常值 — 说明烟味散去后恢复正常"
      ],
      "opposing": [
        "间接证据: 住户21:45才离家锁门，但灶具在21:58再次开启 — 与第一次烹饪(18:51-19:50)间隔2小时，如果是同一住户，不应离家后又远程开火",
        "间接证据: 18:30厨房温度已达2717°C（即27.17°C），而灶具18:51才开 — 温度在灶具开启前就已急剧上升，不合常理"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据: 21:58灶具在住户离家后开启 — 无人居住环境中出现危险操作",
        "直接证据: 22:08烟雾报警器触发，22:13灶具关闭 — 疑似入侵者被烟雾报警驱离或远程关闭",
        "间接证据: 18:00-18:10厨房温度从2394(23.94°C)升至2450(24.50°C) — 这段时间无人报告Occupancy=1，温度异常升高可能有人偷偷进入厨房",
        "间接证据: 玄关传感器规律持续触发(07:33后每5分钟) — 可能是入侵者持续在门口活动或放置了干扰物"
      ],
      "opposing": [
        "直接证据: 21:45门锁正常自动上锁（LockState=1），门窗未报告打开 — 未发现非正常进入痕迹",
        "间接证据: 主卧/次卧Occupancy全天为0，客厅Occupancy仅晚上有人（18:05-21:45）— 入侵者无理由只在厨房和玄关活动而不进入其他房间",
        "间接证据: 未发现门锁操作失败、暴力破解迹象"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "直接证据: 18:52厨房温度传感器报告None — 明显硬件异常",
        "直接证据: 玄关传感器自07:33起精确每5分钟报告Occupancy=1 — 极其规律，非人类活动模式",
        "间接证据: 18:00-18:51灶具开启前厨房温度就已飙升 — 如果传感器故障，异常读数可能在灶具操作前就被错误报告",
        "间接证据: 烟雾报警器在22:08触发，但22:18即解除（仅10分钟），且22:13灶具关闭 — 如果是真火情，烟雾不会这么快散去"
      ],
      "opposing": [
        "间接证据: 烟雾报警器的触发与灶具开启时间高度吻合 — 如果是故障巧合，概率较低",
        "间接证据: 厨房窗户在19:50被打开（烹饪结束后）— 如果是设备故障导致的误读，开窗行为更可能是住户的主观决策",
        "间接证据: 温度传感器18:00前读数正常(约23°C)，故障模式更像被外部热源加热而非硬件stuck"
      ]
    }
  ],
  "step4_causal": [
    "正常因果: 灶具开启(18:51) → 厨房温度升高 → 开窗通风(19:50) → 温度回落（第一次烹饪）",
    "异常关联: 无人在家时灶具开启(21:58) → 烟雾报警器触发(22:08) — 无人看管的危险操作",
    "异常关联: 厨房温度传感器在灶具开启前(18:00-18:51)持续升高 — 可能传感器故障/受到外部热源影响/有人未触发Occupancy传感器",
    "异常关联: 玄关传感器每5分钟规律触发(07:33后) — 疑似传感器硬件stuck-at故障或软件定时扫描错误",
    "正常因果: 住户离家(21:45门锁/关灯/关空调) → 家中无人 — 正常就寝/外出行为"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A + C 混合（正常烹饪 + 设备故障）",
    "confidence": "medium",
    "severity": "high",
    "false_positive_risk": "有一定误报可能：玄关传感器规律触发更可能是硬件故障而非入侵；21:58灶具开启可能是住户离家后忘记关火（自动定时烹饪或远程误操作），而非恶意入侵。但烟雾报警器真实触发表明存在实际火灾风险。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "fire_risk",
    "threat_description": "夜间无人时灶具异常开启并触发烟雾报警，存在火灾隐患",
    "recommended_actions": [
      "立即检查厨房灶具状态，确认已关闭并断电",
      "更换厨房烟雾报警器电池（BatteryAlert=1）",
      "检查厨房温度传感器是否因长期高温暴露而损坏（18:52报告None），必要时更换",
      "查看玄关运动传感器的固件/硬件状态，排除规律性触发故障",
      "确认门锁、门窗在21:45后无异常开合记录，排除入侵可能",
      "考虑为灶具添加远程断电或自动关火安全策略"
    ]
  }
}
```

夜间无人时灶具异常开启并触发烟雾报警，存在火灾隐患

Explanation: 假设A: [normal] 住户在离家前使用灶具烹饪，产生了烟雾，但忘记关火就离开了。烟雾报警器启动后，住户通过远程操作关闭了灶具（或自动关闭）。温度传感器因靠近高温灶具短时过热失效，之后恢复。玄关传感器可能是软件bug或附近有移动物体/宠物触发。

Explanation: 假设B: [anomaly] 外来入侵者：住户21:45离家锁门后，入侵者通过某种手段（如技术开锁/尾随/未锁窗户）进入室内，打开灶具试图制造火灾/破坏，被烟雾报警器阻止。玄关传感器规律性触发可能是入侵者反复经过门口区域或传感器本身故障。

Explanation: 假设C: [anomaly] 设备综合故障：厨房温度传感器因硬件故障长时间输出错误高温读数（18:00-18:45）并最终失效，而灶具实际未开。烟雾报警器的触发可能是误报。玄关传感器触发模式异常说明整个系统可能存在通信/定时扫描的软件逻辑错误。

Explanation: 最可能假设: A + C 混合（正常烹饪 + 设备故障）, 置信度: medium

Explanation: 误报可能性: 有一定误报可能：玄关传感器规律触发更可能是硬件故障而非入侵；21:58灶具开启可能是住户离家后忘记关火（自动定时烹饪或远程误操作），而非恶意入侵。但烟雾报警器真实触发表明存在实际火灾风险。

立即检查厨房灶具状态，确认已关闭并断电

查看玄关运动传感器的固件/硬件状态，排除规律性触发故障

确认门锁、门窗在21:45后无异常开合记录，排除入侵可能

考虑为灶具添加远程断电或自动关火安全策略

Hypothesis: A

直接证据: 18:51:30灶具开启 — 表明住户确实在烹饪

直接证据: 19:50灶具关闭 — 说明烹饪结束

间接证据: 19:50:30厨房窗户被打开 — 住户可能闻到烟味主动开窗通风

Hypothesis: B

直接证据: 21:58灶具在住户离家后开启 — 无人居住环境中出现危险操作

间接证据: 未发现门锁操作失败、暴力破解迹象

Hypothesis: C

直接证据: 18:52厨房温度传感器报告None — 明显硬件异常

A + C 混合（正常烹饪 + 设备故障）


FG-01-FP: 煲汤/慢炖（正常长时间开灶）

温度上升后稳定（不持续飙升），住户定期回来检查，烟雾传感器未触发

```json
{
  "step1_evidence": [
    "1. [06:42:09] kitchen_cook_surface | OnOff.OnOff = True — 灶具在住户于 06:41 开启厨房灯后约 30 秒开启，符合正常烹饪模式。随后在 [06:58:00] 关闭，持续约 16 分钟，时长合理。",
    "2. [06:58:30] kitchen_window_contact | BooleanState.StateValue = False — 灶具关闭后约 30 秒厨房窗户被打开，可能是住户为了通风散味，行为合理。",
    "3. [06:42:09][06:59:00][18:14:00][19:12:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在烹饪期间及之后报告值为 None，可能是传感器暂时失效或数据读取异常。但是 [06:59:00] 后恢复正常报告，[07:00:00] 有读数 2511。[18:14:00] 再次出现 None 值，持续到 [19:12:00] 再次报告 None。[19:12:00] 之后恢复正常。[19:12:00] 后恢复正常。综合来看，None 值出现在烹饪/开窗事件中，可能为传感器受热/气流影响产生的瞬态故障，不属于严重的固定故障。",
    "4. [09:17:00] kitchen_temp_sensor | MeasuredValue = 2700 — 厨房温度在 [09:12:00] 灶具开启后 5 分钟读数正常 (2538)，5 分钟后突然跳变到 27.00°C。这比周围房间温度高约 1.5°C，属于正常的烹饪引起的温度上升。",
    "5. [09:42:00] kitchen_temp_sensor | MeasuredValue = 2750 — 厨房温度在 [09:42:00] 达到 27.50°C，比 [09:17:00] 上升 0.5°C，仍在合理升温范围内。之后恢复正常读数[09:45:00] 2544。",
    "6. [09:32:00] living_room_occupancy | Occupancy = 1 — 在 [09:30:25] 玄关有人的前提下，客厅出现人活动迹象。但住户正在厨房做饭，客厅有人活动可能是住户在做饭间隙去客厅。",
    "7. [10:00:25] ~ [18:00:03] entrance_occupancy 始终为 1 — 从上午 10 点到傍晚 6 点，玄关运动传感器一直有人，这与住户 [07:15:29] 出门、[16:20:00] 回家的记录矛盾。玄关传感器可能卡死（stuck-at-1），属于传感器故障。",
    "8. [07:15:24] front_door_contact | BooleanState.StateValue = False — 住户 07:15 开门出门，这是正常行为。",
    "9. [07:15:29] front_door_lock | DoorLock.LockState = 1 — 住户出门后 20 秒门自动上锁，功能正常。",
    "10. [07:15:29] ~ [16:20:00] front_door_contact | BooleanState.StateValue = True / front_door_lock | DoorLock.LockState = 1 — 住户出门后，入户门保持关闭和锁定状态至 16:20，期间无异常开门记录。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "entrance_occupancy 传感器故障：玄关运动传感器从 10:00-18:00 期间持续报告有人，是传感器硬件故障（stuck-at-1），而非真正的入侵或异常行为。"},
    {"id": "B", "type": "anomaly", "description": "入侵或被尾随：入侵者在住户 [07:15] 外出后从阳台或窗户潜入，然后一直停留在玄关区域，导致传感器持续触发。"},
    {"id": "C", "type": "anomaly", "description": "住户异常滞留：住户从未离开房屋，一直在玄关区域逗留（如玩手机或搬运物品），导致传感器持续触发。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["（直接证据）玄关传感器从10:00到18:00持续报告Occupancy=1，持续8小时，不符合正常人体息和活动规律。",
   "（间接证据）其他区域传感器在相同时间段内多次报告Occupancy=0，表明传感器并非系统性故障。",
   "（间接证据）[07:15:24] 入户门打开（住户外出），[07:15:29] 门自动上锁，符合出门场景。"],
"opposing": ["（直接证据）[07:15:24]入户门打开，与传感器持续触发矛盾。如果传感器故障，它不会仅在入户门打开后立即变为0，而是会持续为1。但如果故障在 10:00 后恶化，仍可解释。"]},
    {"hypothesis": "B", "supporting": ["（直接证据）entrance_occupancy持续为1，表明玄关有人活动。",
"（间接证据）[12:08:10] living_room_occupancy = 0，说明客厅无人。如果入侵者一直在玄关，且玄关无其他活动（如开灯、开门），可能性较低。"],
"opposing": ["（直接证据）[07:15:22] 住户手动开锁出门，[07:15:29] 自动上锁，期间无异常。",
"（间接证据）[16:20:00] 住户回家开门时，无外部闯入迹象；门锁和门磁状态正常。",
"（间接证据）若入侵者于 07:15-16:20 期间进入，为何玄关传感器持续触发但无其他房间的活动？且传感器并未触发报警或入侵检测。"]},
    {"hypothesis": "C", "supporting": ["（直接证据）entrance_occupancy持续为1。",
"（间接证据）[07:15:12] 主卧灯关闭，[07:15:22] 手动开锁，[07:15:24] 开门。如果住户一直未外出，则[07:15:24]开门后应立即有进入或外出动作，但玄关传感器无变化。"],
"opposing": ["（直接证据）[07:15:24] front_door_contact从True变为False（门打开），[07:15:28]又变为True（门关闭），[07:15:29]门锁自动上锁。这是出门并关门上锁的典型序列。",
"（直接证据）[16:20:00] front_door_lock被手动开锁（LockOperationType=1, Manual），[16:20:02]门打开，[16:20:03]玄关传感器触发。如果玄关传感器在16:20前已持续触发，则[16:20:03]触发事件是冗余的，不符合传感器在Occupancy=1时再次触发的逻辑。更可能的是，传感器在16:20前为0，16:20后变为1，但日志显示16:20之前有[16:00:25] entrance_occupancy=1，因此状态冲突。"]}
],
"step4_causal": [
"（正常因果）灶具开启 → 厨房温度逐步升高（09:17:00 27.00°C），灶具关闭 → 温度逐步回落 → 开窗通风（正常烹饪散热行为）。",
"（正常因果）住户闹钟/起床（05:58 主卧有人）→ 主卧开灯 → 做早饭 → 关灶具 → 关厨房灯 → 开门外出（正常晨间流程）。",
"（异常关联）[10:00:25]起 entrance_occupancy持续=1，但 [07:15:29] 住户已外出 → 极有可能是传感器故障（stuck-at-1），而非异常滞留或入侵。"
],
"step5_assessment": {
"most_likely_hypothesis": "A",
"confidence": "high",
"severity": "low",
"false_positive_risk": "入侵或被尾随的可能性极低，因为其他传感器（门窗、门锁、其他区域运动传感器）均无异常，且住户按时回家。"
},
"step6_decision": {
"is_anomaly": false,
"threat_type": "sensor_malfunction",
"threat_description": "玄关运动传感器在住户外出时段（10:00-18:00）持续报告有人，疑似传感器硬故障（stuck-at-1），但无其他安全威胁迹象。",
"recommended_actions": [
"检查玄关运动传感器状态，确认是否硬件故障或安装位置遮挡。",
"必要时重启或更换传感器。",
"建议暂时增加玄关传感器的报警逻辑，结合门磁状态判断，避免误报。"
]
}
}
```

Explanation: 假设A: [normal] entrance_occupancy 传感器故障：玄关运动传感器从 10:00-18:00 期间持续报告有人，是传感器硬件故障（stuck-at-1），而非真正的入侵或异常行为。

Explanation: 假设B: [anomaly] 入侵或被尾随：入侵者在住户 [07:15] 外出后从阳台或窗户潜入，然后一直停留在玄关区域，导致传感器持续触发。

Explanation: 假设C: [anomaly] 住户异常滞留：住户从未离开房屋，一直在玄关区域逗留（如玩手机或搬运物品），导致传感器持续触发。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 入侵或被尾随的可能性极低，因为其他传感器（门窗、门锁、其他区域运动传感器）均无异常，且住户按时回家。

检查玄关运动传感器状态，确认是否硬件故障或安装位置遮挡。 必要时重启或更换传感器。 建议暂时增加玄关传感器的报警逻辑，结合门磁状态判断，避免误报。

Hypothesis: A

Hypothesis: B

（直接证据）entrance_occupancy持续为1，表明玄关有人活动。

Hypothesis: C


FG-04-FP: 低电量报警但传感器仍正常工作

```json
{
  "step1_evidence": [
    "[2026-05-31T06:33:00] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 烟雾报警器电池低电量告警，可能影响安全监控功能，需尽快更换电池。",
    "[2026-06-01T06:43:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 厨房烟雾报警器检测到烟雾，值得关注，但需结合灶具状态判断。",
    "[2026-06-01T07:13:15] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 07:13:15 入户门锁手动解锁，之后 DoorLock.LockState = 2 (已解锁)。",
    "[2026-06-01T07:13:17] front_door_contact | BooleanState.StateValue = False, 然后 True — 入户门在解锁后打开又关闭，符合正常出门行为。",
    "[2026-06-01T18:30:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 18:30:00 入户门锁手动解锁，住户回家。",
    "[2026-06-01T18:30:02] front_door_contact | BooleanState.StateValue = False — 门打开，之后玄关灯亮起，客厅灯亮起，符合回家场景。",
    "[2026-06-01T19:00:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2365 — 在厨房无活动记录时，温度陡升至23.65°C，但随后灶具在19:03开启，说明这是烹饪前的准备阶段。",
    "[2026-06-01T19:03:30] kitchen_cook_surface | OnOff.OnOff = True — 灶具开启，开始烹饪。",
    "[2026-06-01T19:04:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在烹饪期间第一次出现读数为空，可能为传感器异常或通信问题。",
    "[2026-06-01T19:46:00] kitchen_cook_surface | OnOff.OnOff = False — 烹饪结束，灶具关闭。",
    "[2026-06-01T19:46:30] kitchen_window_contact | BooleanState.StateValue = False — 烹饪结束后厨房窗户打开，可能是为了散油烟。",
    "[2026-06-01T19:47:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第二次出现读数为空，结合19:04的空值，存在间歇性传感器故障的可能。",
    "[2026-06-01T20:14:00] kitchen_dishwasher | OnOff.OnOff = True — 洗碗机在20:14开启，正常使用。",
    "[2026-06-01T22:14:26] front_door_contact | BooleanState.StateValue = True — 22:14:26 入户门关闭。",
    "[2026-06-01T22:14:27] front_door_lock | Event: LockOperation(LockOperationType=0, OperationSource=Auto) — 门锁自动上锁，之后 door_lock.LockState = 1 (已锁)。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户的正常居家生活：早上出门上班，傍晚回家，晚上做饭、开洗碗机，然后临睡前关门关灯。厨房温度传感器在烹饪期间出现两次 None 读数是偶发性传感器通信问题，非严重异常。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器存在硬件故障（间歇性故障/通信丢失），可能在未来无法正确报告火灾或燃气泄漏时的温度异常。烟雾报警器电池低电量也增加了安防风险。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "（直接证据）[06:33] 厨房灶具开启 → 厨房温度逐步升高至 ~26°C 并触发烟雾报警（正常烹饪油烟），之后关火 → 厨房温度回落。",
        "（直接证据）[07:13] 住户解锁门锁并出门 → 门打开后关闭，门锁自动上锁。",
        "（直接证据）[18:30] 住户回家 → 解锁入户门 → 进门 → 开灯 → 开空调。",
        "（直接证据）[19:03-19:46] 厨房灶具开启 → 烹饪持续约42分钟 → 结束后关火。",
        "（直接证据）[22:14] 住户离开客厅（关灯、关空调） → 关闭入户门 → 门锁自动上锁 → 进入卧室就寝的正常行为。",
        "（间接证据）所有房间的 Occupancy 传感器在深夜（00:00-07:00）均为0，符合睡眠状态。",
        "（间接证据）厨房窗户在烹饪后打开（19:46），这是散油烟的正常操作。"
      ],
      "opposing": [
        "（间接证据）厨房温度传感器在烹饪期间出现两次 None 读数（19:04 和 19:47），这在正常传感器行为中不常见，提示可能存在间歇性故障或通信问题。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "（直接证据）[19:04:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 烹饪刚开始1分钟后，温度传感器无法返回读数。",
        "（直接证据）[19:47:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 烹饪结束后再次出现 None。",
        "（间接证据）[05-31 06:33] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 烟雾报警器电池低电量，如果未及时更换，可能造成安防盲区。"
      ],
      "opposing": [
        "（间接证据）除了两次 None 之外，其他时间厨房温度传感器均能正常上报数据，且值合理（随烹饪升高、冷却后下降），不是完全失灵的 stuck-at 故障。",
        "（间接证据）传感器在烹饪结束后持续降温直到接近室温（22-23°C），说明传感器基本功能正常。"
      ]
    }
  ],
  "step4_causal": [
    "（正常因果）[06:33] 灶具开启 → 厨房温度逐步升高（从 23°C 到 26°C） → 触发烟雾报警（烹饪油烟） → [06:48] 灶具关闭后报警解除。",
    "（正常因果）[07:13] 住户手动解锁门锁 → 开门 → 出门 → 关门 → 门锁自动上锁（正常出门行为）。",
    "（正常因果）[18:30] 住户回家 → 手动解锁门锁 → 进门 → 玄关灯亮 → 客厅灯亮、客厅空调开启（正常回家行为）。",
    "（正常因果）[19:03~19:46] 灶具开启 → 厨房温度从 23.65°C 迅速上升至 26.83°C，并在关火后逐渐回落 → 烹饪结束开窗散味。",
    "（正常因果）[20:14] 洗碗机开启 → 在厨房无人时运行洗涤程序（正常）。",
    "（正常因果）[22:14] 住户离开客厅（关灯、关空调） → 关闭入户门 → 门锁自动上锁 → 就寝。",
    "（可能异常关联）烹饪期间厨房温度传感器两次上报 None 值 → 可能原因是：传感器间歇性硬件故障、通信干扰、或 Matter 协议的数据异常。目前无其他设备受影响，故障范围局限。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "温度传感器的两次 None 读数极有可能是短暂的通信抖动或协议异常，而非硬件永久故障。烟雾报警器电池低电量是轻微隐患，用户可自行更换。整体数据与正常居家行为高度吻合，当前判定为正常的误报风险较低。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器出现两次短暂通信失败（None），但已自行恢复，目前无持续安全威胁。",
    "recommended_actions": [
      "用户尽快更换厨房烟雾报警器的电池（5月31日已报告低电量），确保安防设备正常运作。",
      "用户可检查厨房温度传感器与 Matter 网关之间的信号强度或摆放位置，排除遮挡或干扰。",
      "如果厨房温度传感器再次出现 None 读数或读数异常，建议更换传感器以确保火灾预警功能可靠。"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户的正常居家生活：早上出门上班，傍晚回家，晚上做饭、开洗碗机，然后临睡前关门关灯。厨房温度传感器在烹饪期间出现两次 None 读数是偶发性传感器通信问题，非严重异常。

Explanation: 假设B: [anomaly] 厨房温度传感器存在硬件故障（间歇性故障/通信丢失），可能在未来无法正确报告火灾或燃气泄漏时的温度异常。烟雾报警器电池低电量也增加了安防风险。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 温度传感器的两次 None 读数极有可能是短暂的通信抖动或协议异常，而非硬件永久故障。烟雾报警器电池低电量是轻微隐患，用户可自行更换。整体数据与正常居家行为高度吻合，当前判定为正常的误报风险较低。

Hypothesis: A

（间接证据）厨房窗户在烹饪后打开（19:46），这是散油烟的正常操作。

Hypothesis: B

（正常因果）[20:14] 洗碗机开启 → 在厨房无人时运行洗涤程序（正常）。


BA-05-FP: 邻居/亲友代为浇花/喂宠物

通过门锁合法进入（有效的临时 UserIndex），进出有完整的开锁+锁门记录

```json
{
  "step1_evidence": [
    "[2026-06-22T06:27:00] master_bedroom_occupancy = 1 → 住户醒来，是一天活动的开始，但后续主卧Occupancy在06:27至09:00期间每约5分钟规律上报一次，无变化间隔几乎恒定，疑似非常规人类活动模式。",
    "[2026-06-22T06:57:30] kitchen_window_contact = False (打开) + [06:57:00] kitchen_cook_surface = False → 灶具关闭后约30秒厨房窗户被打开，推测是通风行为，但后续有开灶具操作。",
    "[2026-06-22T06:58:00] 和 [07:03:07] kitchen_temp_sensor = None → 厨房温度传感器两次上报空白值，可能存在间歇性通信故障或传感器失能。",
    "[2026-06-22T07:28:32] entrance_occupancy = 1 在住户离家过程中出现，但住户已在07:28:29解锁并开门。至07:28:34上锁，正常离家。但在07:33:32、07:38:32等时刻entrance_occupancy又反复变为1，而住户已外出，表明设备可能持续在门口区域产生误检或有其他物体移动。",
    "[2026-06-22T07:28:29] front_door_lock LockOperation(Unlock, Manual) + door_contact打开 → 随后 [07:28:34] auto lock → 07:28:31-33 door contact短暂关闭再打开并关闭 → 正常离家关门流程。但在07:28:32和07:33:32之后entrance_occupancy多次为1，而家中无其他Occupancy信号，可能传感器灵敏度高或存在尾随。",
    "[2026-06-22T06:27:00 至 09:00] master_bedroom_occupancy每约5分钟规律上报=1，持续近3小时，且住户08:00后应在离家状态（07:28已离开），但主卧Occupancy仍在30秒到5分钟时间隔持续上报，不符合人类活动规律，疑似传感器卡死或持续性误报。",
    "[2026-06-22T18:36:30] kitchen_cook_surface = True → [19:13:00] kitchen_cook_surface = False → 期间厨房Occupancy始终为0（无运动传感器在厨房，但无人在场），但厨房温度无明显异常上升（温度在正常波动范围），且后续19:13:30打开厨房窗户正常通风，应为正常烹饪。",
    "[2026-06-22T06:57:30] kitchen_window_contact = False → [19:13:30] kitchen_window_contact = False → 窗户可能在日间一直开启，或者两次独立打开事件。结合灶具操作时间点，正常通风行为。",
    "[2026-06-22T14:00:00至16:00] 室内温度整体从~25°C降至~24°C，符合日间温度自然回落，没有异常剧烈波动。",
    "[2026-06-22T22:43:27] front_door_contact = True → [22:43:28] auto lock → 晚间睡前正常关门落锁，无异常。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "主卧Occupancy传感器在06:27后持续规律上报为1，可能是传感器灵敏度高或存在故障性重复触发（硬件stuck-at-1），实际未有人持续停留在主卧。entrance_occupancy在住户离家后反复为1，可能是传感器对光线变化或宠物/外部震动敏感，产生误报。整体是设备故障导致日志异常，但无安全威胁。"},
    {"id": "B", "type": "anomaly", "description": "住户离家后，entrance_occupancy反复触发，且主卧Occupancy持续为1，可能有人非法进入后长时间滞留或使用门禁系统后的尾随行为，但未触发任何门窗报警；但门锁在07:28和16:19等时间正常操作且状态明确，未报警。"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器在06:58和07:03两次报告None值，可能存在间歇性通信故障或传感器供电不稳，导致数据丢失，属设备故障。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "主卧Occupancy在住户离家（07:28）之后仍每隔5分钟左右上报=1，持续到09:00，没有Occupancy=0的日志，但住户09:00不可能在卧室（已外出），间接证据：设备逻辑异常，支持传感器故障解释。",
        "entrance_occupancy在住户离家后（07:33至08:58）仍每5分钟上报=1，而其他房间Occupancy全为0，没有人类活动配合，间接证据：可能是传感器对震动/光影变化过于敏感。",
        "未出现任何DoorLockAlarm、HardwareFaultAlert等真正的报警事件，直接证据：门锁、门窗传感器均报告正常状态，无入侵迹象。"
      ],
      "opposing": [
        "如果传感器是stuck-at-1，为何在06:27之前都正常上报Occupancy=0？06:27后才卡住，不支持纯粹硬件stuck-at，更可能是软件逻辑或环境干扰（如住户在卧室持续待至09:00？但07:28后住户已离开家）。",
        "entrance_occupancy在16:19住户回家后仍规律触发，但此时有人在家，可解释为正常活动。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "住户离家后entrance_occupancy反复为1，且主卧Occupancy持续为1，间接证据：存在室内有人的可能性，但无法解释为何无其他房间活动（厨房、客厅Occupancy=0）。",
        "如果入侵者只待在卧室和玄关区域，有可能避开其他传感器，间接证据：但缺乏直接证据（门锁报警、门磁异常）。"
      ],
      "opposing": [
        "入户门在07:28和16:19均正常上锁/解锁，无撬锁或暴力开门事件，直接证据：门锁状态正常。",
        "所有门窗传感器（front_door_contact、kitchen_window_contact等）状态与正常进出行为一致，无异常打开记录，直接证据：无非法进入路径。",
        "主卧Occupancy规律性上报（每5分钟），不符合人类驻留特征（人类会偶尔移动导致Occupancy变化），间接证据：更支持传感器故障。",
        "entrance_occupancy在住户回家后（16:19后）仍规律触发，但此时户主在家可解释为正常，减弱入侵假设。"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "kitchen_temp_sensor在06:58和07:03两次直接报告MeasuredValue=None，之后恢复正常，直接证据：存在间歇性通信异常，可能是射频干扰或传感器供电问题。",
        "该传感器在06:57:30厨房窗户打开后不久即无数据，间接证据：环境变化（窗户开闭引起的微动）可能影响接触或信号。"
      ],
      "opposing": [
        "07:03:07后传感器恢复上报有效数值，再未出现None，故障短暂且自愈，可能是温度读取瞬间错误，非严重硬件故障。",
        "其余时间该传感器与其他房间温度变化趋势一致，未发现传感器卡死或漂移迹象。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果: 住户起床（06:27 master_bedroom_occupancy=1）→ 开灯、活动 → 06:57关灶具 → 06:57:30开窗通风 → 07:02开厨房灯和灶具准备早餐 → 07:28离家（解锁、开门、出门、上锁）。",
    "正常因果: 住户下班回家（16:19 front_door_lock解锁）→ 进入客厅（18:18客厅Occupancy=1）→ 开灯、开空调 → 18:36厨房开灶具做饭 → 19:13关灶具 → 19:13:30开窗通风 → 晚间客厅休闲 → 22:43关灯、关空调、关窗、上锁 → 就寝。",
    "正常因果: 夏季白天室外温度高+日照 → 室内温度从凌晨~22.6°C逐步上升至午后~25.5°C，傍晚再次回落，符合日间温度变化规律。",
    "异常关联: 住户离家后（07:28后）→ master_bedroom_occupancy持续规律为1（约每5分钟），同时entrance_occupancy也规律触发（每5分钟），但其他房间Occupancy全为0，且门锁无异常 → 最可能解释是占用传感器故障或环境干扰，而非入侵。",
    "异常关联: 厨房温度传感器在开窗后两次报告None → 可能传感器信号因开窗产生瞬间中断或读取错误（正常→异常）。但立即恢复，无后续影响。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "较低。主卧和玄关传感器的规律性触发完全符合硬件故障或环境干扰模式，且无任何安全设备报警、门锁异常或无人时的危险设备运行。即使假设B有一定可能性，所需的前提条件（入侵者只待在主卧和玄关、不触发任何其他传感器、不触发门锁报警）极不合理，因此正常传感器故障解释的置信度高。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "整体日志显示正常家庭生活活动，主卧与玄关占用传感器存在疑似故障性持续上报，但无安全威胁。厨房温度传感器曾短暂报告None值，随后恢复正常。",
    "recommended_actions": [
      "检查主卧与玄关的占用传感器是否安装松动、被遮挡或存在软件固件问题，建议重启传感器或更换电池。",
      "检查厨房温度传感器的通信链路和供电是否稳定，排除临时干扰源。",
      "日常监控传感器状态，如果规律性误报持续存在，考虑更换设备。"
    ]
  }
}
```

Explanation: 假设A: [normal] 主卧Occupancy传感器在06:27后持续规律上报为1，可能是传感器灵敏度高或存在故障性重复触发（硬件stuck-at-1），实际未有人持续停留在主卧。entrance_occupancy在住户离家后反复为1，可能是传感器对光线变化或宠物/外部震动敏感，产生误报。整体是设备故障导致日志异常，但无安全威胁。

Explanation: 假设B: [anomaly] 住户离家后，entrance_occupancy反复触发，且主卧Occupancy持续为1，可能有人非法进入后长时间滞留或使用门禁系统后的尾随行为，但未触发任何门窗报警；但门锁在07:28和16:19等时间正常操作且状态明确，未报警。

Explanation: 假设C: [anomaly] 厨房温度传感器在06:58和07:03两次报告None值，可能存在间歇性通信故障或传感器供电不稳，导致数据丢失，属设备故障。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 较低。主卧和玄关传感器的规律性触发完全符合硬件故障或环境干扰模式，且无任何安全设备报警、门锁异常或无人时的危险设备运行。即使假设B有一定可能性，所需的前提条件（入侵者只待在主卧和玄关、不触发任何其他传感器、不触发门锁报警）极不合理，因此正常传感器故障解释的置信度高。

检查厨房温度传感器的通信链路和供电是否稳定，排除临时干扰源。

日常监控传感器状态，如果规律性误报持续存在，考虑更换设备。

Hypothesis: A

Hypothesis: B

Hypothesis: C

其余时间该传感器与其他房间温度变化趋势一致，未发现传感器卡死或漂移迹象。


活动从卧室开始（住户起床），路径合理（卧室→客厅→厨房→卧室），最终回到卧室

```json
{
  "step1_evidence": [
    "[2026-06-17T18:50:30] kitchen_cook_surface | OnOff.OnOff = True — 厨房灶具在住户回家后约45分钟时被手动开启，可能开始烹饪。",
    "[2026-06-17T18:51:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后仅30秒，厨房温度传感器报告值为None（无读数或错误值）。",
    "[2026-06-17T19:34:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在约44分钟后被关闭。",
    "[2026-06-17T19:35:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具关闭后1分钟，温度传感器再次上报None值。",
    "[2026-06-17T19:34:30] kitchen_window_contact | BooleanState.StateValue = False — 灶具关闭后30秒，厨房窗户传感器显示窗户被打开（可能为了通风散味）。",
    "[2026-06-17T06:37:06 至 08:38:31] bathroom_occupancy | OccupancySensing.Occupancy = 1 — 卫生间运动传感器在约2小时期间内，每隔约5分钟极其规律地触发（06:37, 06:42, 06:47, ... 08:38）。模式：触发时间间隔精确为5分钟（300秒），非人类正常使用卫生间的随机模式。",
    "[2024-06-17 07:10 至 23:55] entrance_occupancy | OccupancySensing.Occupancy = 1 — 从住户离家（07:10）到回家（18:05）期间，入户门运动传感器极其规律地每5分钟触发一次，与卫生间运动传感器模式高度相似。",
    "[2024-06-17 20:09:08 至 23:55] living_room_occupancy | OccupancySensing.Occupancy = 1 — 晚上20:09后，客厅运动传感器也呈现出极其规律的每5分钟触发一次的模式。",
    "[2026-06-17T18:05:23] living_room_ac | OnOff.OnOff = True — 空调在室内温度约23.30°C时被开启，设定为制冷模式(3)。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户回家后正常做晚饭 → 灶具开启（烹饪）→ 厨房温度升高 → 关火、开窗通风。运动传感器的规律触发可能为设备固有心跳报告机制或网络轮询导致的假象。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器存在硬件故障或连接问题，导致在高温或关键时期（灶具开关前后）上报None值。"},
    {"id": "C", "type": "anomaly", "description": "多个运动传感器（卫生间、入户门、客厅）在一天内出现极其规律的周期性触发，高度疑似传感器stuck-at故障或通信故障，非真实人类活动。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "18:05 住户开门回家 → 18:50 打开厨房灯和灶具（正常夜间烹饪行为）",
      "灶具开启后厨房温度从 ~26.29°C 升高至峰值 ~27.08°C，关火后回落（符合烹饪的热效应）",
      "关火后打开厨房窗户（正常通风行为）",
      "客厅空调开启，客厅温度稳定在 ~23°C（正常制冷运行）"
    ], "opposing": [
      "灶具开启和关闭后，厨房温度传感器立即上报None值，而非正常温度读数（异常行为，不支持完全正常解释）"
    ]},
    {"hypothesis": "B", "supporting": [
      "厨房温度传感器在灶具开启后仅30秒（18:51）即上报None（直接证据：传感器通信失败）",
      "灶具关闭后1分钟（19:35）再次上报None（直接证据：传感器两次出现相同故障模式）",
      "在 18:50 之前和 19:35 之后，传感器均能正常上报温度值（间接证据：故障与灶具开关在时间上高度关联）"
    ], "opposing": [
      "故障仅发生在灶具开关时刻，可能只是临时通信干扰或瞬间过热导致传感器保护性离线，非永久性损坏"
    ]},
    {"hypothesis": "C", "supporting": [
      "卫生间运动传感器在06:37至08:38期间，每次触发间隔精确为5分钟（直接证据：06:37, 06:42, 06:47, ...），非随机",
      "入户门运动传感器在07:10至18:05离家期间，同样精确每5分钟触发一次（直接证据：07:10:19, 07:15:19, 07:20:19...），但室内无人",
      "客厅运动传感器在20:09至23:55期间，同样精确每5分钟触发一次（直接证据：20:09:08, 20:14:08, 20:19:08...）",
      "多个传感器呈现相同的周期性模式（间接证据：系统级故障的可能性高）"
    ], "opposing": [
      "住户活动期间（如回家后客厅有人）周期信号依然存在（间接证据：可能传感器正常工作，但周期心跳与真实活动叠加）",
      "若为stuck-at故障，传感器应恒为1而非周期性触发（间接证据：周期触发更像是传感器自身的刷新机制）"
    ]}
  ],
  "step4_causal": [
    "灶具开启 → 厨房温度升高（正常因果：烹饪产生热量）",
    "灶具开启 → 厨房温度传感器上报None（异常关联：温度冲击或电磁干扰可能导致传感器临时通信失败）",
    "灶具关闭后开窗 → 厨房温度快速下降（正常因果：通风散热）",
    "灶具关闭后1分钟 → 厨房温度传感器再次上报None（异常关联：温度骤降同样可能触发传感器保护）",
    "运动传感器精确每5分钟触发一次 → 疑似传感器的心跳/轮询机制（异常因果：非人类活动模式，极可能是设备固件心跳或网络轮询导致）",
    "空调开启 → 客厅温度稳定在~23°C（正常因果：制冷运行）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "C",
    "confidence": "high",
    "severity": "medium",
    "false_positive_risk": "部分运动传感器的周期性触发可能由智能家居平台的默认轮询机制（如每5分钟刷新一次设备状态）造成，尤其当传感器不支持变化上报（Only Report On Change）时。但卫生间传感器在无人时段（06:37-08:38入户门已锁，住户离家后）依然触发，且入户门传感器在住户离家后同样触发，说明至少这两个传感器存在异常，轮询机制无法解释为何在无人在家时依然上报Occupancy=1。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_stuck",
    "threat_description": "多个运动传感器（卫生间、入户门、客厅）呈现极其规律的每5分钟周期性触发模式，与正常人类活动不符，高度疑似传感器stuck-at高电平故障或通信层面伪报。同时厨房温度传感器在灶具开关关键事件期间出现两次None值故障。",
    "recommended_actions": [
      "立即检查卫生间、入户门、客厅运动传感器的固件版本和通信协议，确认是否存在仅报告变化的功能开启",
      "对比智能家居平台的轮询间隔，若为5分钟，则周期性触发可能非异常；但卫生间和入户门在无人在家时依然上报Occupancy=1，需重点排查传感器硬件是否卡死",
      "检查厨房温度传感器的物理安装位置，确认是否距离灶具过近导致高温损坏或连接器松动",
      "如故障确认为硬件卡死（sensor stuck），请联系设备制造商更换或校准传感器"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户回家后正常做晚饭 → 灶具开启（烹饪）→ 厨房温度升高 → 关火、开窗通风。运动传感器的规律触发可能为设备固有心跳报告机制或网络轮询导致的假象。

Explanation: 假设B: [anomaly] 厨房温度传感器存在硬件故障或连接问题，导致在高温或关键时期（灶具开关前后）上报None值。

Explanation: 假设C: [anomaly] 多个运动传感器（卫生间、入户门、客厅）在一天内出现极其规律的周期性触发，高度疑似传感器stuck-at故障或通信故障，非真实人类活动。

Explanation: 最可能假设: C, 置信度: high

Explanation: 误报可能性: 部分运动传感器的周期性触发可能由智能家居平台的默认轮询机制（如每5分钟刷新一次设备状态）造成，尤其当传感器不支持变化上报（Only Report On Change）时。但卫生间传感器在无人时段（06:37-08:38入户门已锁，住户离家后）依然触发，且入户门传感器在住户离家后同样触发，说明至少这两个传感器存在异常，轮询机制无法解释为何在无人在家时依然上报Occupancy=1。

检查厨房温度传感器的物理安装位置，确认是否距离灶具过近导致高温损坏或连接器松动

Hypothesis: A

18:05 住户开门回家 → 18:50 打开厨房灯和灶具（正常夜间烹饪行为）

关火后打开厨房窗户（正常通风行为）

客厅空调开启，客厅温度稳定在 ~23°C（正常制冷运行）

Hypothesis: B

Hypothesis: C

多个传感器呈现相同的周期性模式（间接证据：系统级故障的可能性高）

灶具开启 → 厨房温度升高（正常因果：烹饪产生热量）

灶具关闭后开窗 → 厨房温度快速下降（正常因果：通风散热）

空调开启 → 客厅温度稳定在~23°C（正常因果：制冷运行）


FG-02-FP: 电暖器/取暖器正常使用

有人在房间且温度上升后趋于稳定（不是持续飙升），无烟雾报警触发

```json
{
  "step1_evidence": [
    "[2026-06-03T06:50:09] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器间歇性报告 None 值，可能传感器故障",
    "[2026-06-03T07:27:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第二次报告 None 值，确认故障模式",
    "[2026-06-03T17:19:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2200 — 该读数相比前后约 2350 突然下降 150（即 1.5°C），不符合正常温度变化规律，可能是传感器漂移或干扰",
    "[2026-06-03T17:49:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2500 — 该读数相比前后约 2330 突然上升 170（即 1.7°C），同样不符合正常温度变化规律，进一步确认传感器漂移或间歇性故障",
    "[2026-06-03T18:38:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第三次报告 None 值，灶具开启期间",
    "[2026-06-03T19:26:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第四次报告 None 值，灶具关闭后开窗期间",
    "[2026-06-03T07:26:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户被打开，发生在灶具关闭后30秒，是正常通风行为",
    "[2026-06-03T19:25:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户再次被打开，发生在灶具关闭后30秒，是正常通风行为",
    "[2026-06-03T06:49:39] kitchen_cook_surface | OnOff.OnOff = True — 早上6:49开启灶具，正常早餐时间",
    "[2026-06-03T07:26:00] kitchen_cook_surface | OnOff.OnOff = False — 约36分钟后关闭灶具，正常烹饪时长"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器存在间歇性硬件故障或通信问题，但家庭整体安全状态正常，没有发生安全事故。烹饪行为、通风行为都符合正常作息，无人时也没有危险设备运行。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障导致误报或读数异常，但需要排除是否存在火灾隐患（例如灶具未关闭时传感器失效导致的盲区）。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[直接证据] 灶具开启和关闭时间符合正常烹饪行为（06:49-07:26）；[直接证据] 厨房窗户在灶具关闭后30秒打开进行通风，行为合理；[直接证据] 传感器报告 None 值共4次，且伴随正常值恢复，符合间歇性故障特征；[间接证据] 整个日志中没有烟雾报警器触发，说明没有火灾发生"], "opposing": ["[间接证据] 如果传感器完全故障，无法在灶具开启时监测温度升高，但本案例中传感器在灶具开启后仍正常报告了部分有效数据"]},
    {"hypothesis": "B", "supporting": ["[直接证据] 传感器在灶具开启期间（06:49-07:26, 18:37-19:25）曾报告过 None 值，理论上如果温度异常升高，传感器可能无法正常上报；[直接证据] 传感器出现过两次异常单值（17:19 的 2200 和 17:49 的 2500），可能指示传感器开始不稳定"], "opposing": ["[直接证据] 烟雾报警器在此期间从未触发，排除了实际火灾；[直接证据] 灶具关闭后厨房窗户被正常打开通风，住户行为合理；[间接证据] 所有房间温度整体下降趋势一致（从凌晨约22.8°C到傍晚约22.5°C），符合夏季夜间降温规律，没有局部异常高温点"]}
  ],
  "step4_causal": [
    "灶具开启 → 厨房温度上升（正常因果，烹饪过程中温度上升约1-2°C是正常的）",
    "灶具关闭 → 厨房窗户打开（正常因果，住户进行自然通风排烟）",
    "传感器读数异常（None值/单值跳变）→ 疑似传感器硬件故障或通信问题（异常关联，但未导致实际安全事件）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "传感器故障本身有较小的误报风险，但家庭安全未受实质影响。烟雾报警器未触发是直接证据，确认无火灾风险。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器存在间歇性故障（多次报告 None 值和异常跳变读数），但家庭整体安全状态正常，无火灾或安全隐患。",
    "recommended_actions": [
      "1. 检查厨房温度传感器的蓝牙/Wi-Fi连接是否稳定，必要时重置传感器",
      "2. 如果故障频繁出现，考虑更换厨房温度传感器以保证烹饪时的温度监测功能",
      "3. 可考虑在厨房增加额外的温度传感器作为冗余，确保灶具监控不出现盲区"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器存在间歇性硬件故障或通信问题，但家庭整体安全状态正常，没有发生安全事故。烹饪行为、通风行为都符合正常作息，无人时也没有危险设备运行。

Explanation: 假设B: [anomaly] 厨房温度传感器故障导致误报或读数异常，但需要排除是否存在火灾隐患（例如灶具未关闭时传感器失效导致的盲区）。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 传感器故障本身有较小的误报风险，但家庭安全未受实质影响。烟雾报警器未触发是直接证据，确认无火灾风险。

1. 检查厨房温度传感器的蓝牙/Wi-Fi连接是否稳定，必要时重置传感器
2. 如果故障频繁出现，考虑更换厨房温度传感器以保证烹饪时的温度监测功能
3. 可考虑在厨房增加额外的温度传感器作为冗余，确保灶具监控不出现盲区

Hypothesis: A

Hypothesis: B

灶具开启 → 厨房温度上升（正常因果，烹饪过程中温度上升约1-2°C是正常的）

灶具关闭 → 厨房窗户打开（正常因果，住户进行自然通风排烟）


CH-05-FP: 孩子安静写作业后正常活动

虽然安静了1.5小时，但之后正常起身活动去了其他房间，说明只是在专注写作业

```json
{
  "step1_evidence": [
    "[06:32:02] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器报告 None 值，可能故障或通信异常",
    "[07:26:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次报告 None，确认故障模式",
    "[18:42:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第三次报告 None，结合灶具开启，可能故障",
    "[19:08:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第四次报告 None",
    "[06:31:32] kitchen_cook_surface | OnOff.OnOff = True — 厨房灶具开启",
    "[06:32:02] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后30秒温度传感器失效",
    "[07:25:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具关闭，烹饪结束",
    "[07:25:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户打开，可能为通风",
    "[18:41:30] kitchen_cook_surface | OnOff.OnOff = True — 晚间再次开启灶具（晚餐）",
    "[19:07:00] kitchen_cook_surface | OnOff.OnOff = False — 晚间灶具关闭"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器间歇性故障，但灶具正常使用，住户在做饭期间开关窗户通风，属于正常烹饪行为。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障导致无法监控烹饪温度，可能存在灶具开启时无人看管或传感器通信中断的安全风险。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
        "灶具开启后约1小时关闭（06:31→07:25），属于正常烹饪时长（直接证据）",
        "灶具关闭后厨房窗户打开（07:25:30），符合饭后通风逻辑（间接证据）",
        "晚间灶具再次开启并关闭（18:41→19:07），与晚餐时间吻合（直接证据）",
        "厨房窗户在晚间烹饪后再次打开（19:07:30），通风合理（间接证据）",
        "厨房温度传感器在其他时段报告正常数值，如 06:25 为 2486，06:35 为 2489（直接证据）"
      ], "opposing": [
        "温度传感器在灶具开启时立即报 None（06:32、18:42），而非逐步升温，故障时机可疑（间接证据）"
      ]},
    {"hypothesis": "B", "supporting": [
        "厨房温度传感器在两次烹饪期间均报告 None（06:32、07:26、18:42、19:08），表明存在硬件故障或通信问题（直接证据）",
        "传感器 None 值与灶具开启时间高度相关，可能受高温影响导致故障（间接证据）",
        "其他房间温度传感器均正常报告数值，排除全局通信问题（直接证据）"
      ], "opposing": [
        "灶具正常操作，炊具关闭和窗户打开均符合正常使用（直接证据）",
        "无烟雾报警器触发（direct evidence — kitchen_smoke_alarm 无事件）",
        "住户在家（多个传感器检测到 occupancy=1），有人看管（间接证据）"
      ]}
  ],
  "step4_causal": [
    "灶具开启 → 厨房温度传感器报告 None（异常关联，传感器可能受热故障）",
    "灶具关闭 → 厨房窗户打开（正常因果，通风）",
    "时间 06:31 厨房温度和 occupancy 数据正常 → 传感器突然 None（异常，非正常逐步升温）",
    "其他房间温度正常波动（正常因果，日间自然变化）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "medium",
    "false_positive_risk": "灶具操作正常，未见烧干或烟雾报警，风险为设备故障而非火灾；但温度传感器是厨房安全关键监测设备，故障本身需关注。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器在灶具开启时多次报告 None，疑似高温或通信故障，已丧失监控烹饪温度的能力。",
    "recommended_actions": [
      "检查厨房温度传感器硬件状态，必要时更换或重新配对",
      "确认厨房烟雾报警器功能正常作为冗余安全监测",
      "考虑添加灶具专用温度传感器或智能灶具联动",
      "提醒住户注意烹饪期间不要依赖自动温度监控"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器间歇性故障，但灶具正常使用，住户在做饭期间开关窗户通风，属于正常烹饪行为。

Explanation: 假设B: [anomaly] 厨房温度传感器故障导致无法监控烹饪温度，可能存在灶具开启时无人看管或传感器通信中断的安全风险。

Explanation: 最可能假设: A, 置信度: medium

Explanation: 误报可能性: 灶具操作正常，未见烧干或烟雾报警，风险为设备故障而非火灾；但温度传感器是厨房安全关键监测设备，故障本身需关注。

检查厨房温度传感器硬件状态，必要时更换或重新配对 确认厨房烟雾报警器功能正常作为冗余安全监测 考虑添加灶具专用温度传感器或智能灶具联动 提醒住户注意烹饪期间不要依赖自动温度监控

Hypothesis: A

灶具开启后约1小时关闭（06:31→07:25），属于正常烹饪时长（直接证据）

灶具关闭后厨房窗户打开（07:25:30），符合饭后通风逻辑（间接证据）

晚间灶具再次开启并关闭（18:41→19:07），与晚餐时间吻合（直接证据）

厨房窗户在晚间烹饪后再次打开（19:07:30），通风合理（间接证据）

Hypothesis: B

传感器 None 值与灶具开启时间高度相关，可能受高温影响导致故障（间接证据）

其他房间温度传感器均正常报告数值，排除全局通信问题（直接证据）

灶具正常操作，炊具关闭和窗户打开均符合正常使用（直接证据）

住户在家（多个传感器检测到 occupancy=1），有人看管（间接证据）

灶具开启 → 厨房温度传感器报告 None（异常关联，传感器可能受热故障）

灶具关闭 → 厨房窗户打开（正常因果，通风）

其他房间温度正常波动（正常因果，日间自然变化）


CH-01-FP: 孩子生病请假在家（家长陪护）

家长也在家（多个房间有活动），不只是儿童房，说明有成人陪护

```json
{
  "step1_evidence": [
    "[2026-06-17T06:51:30] kitchen_window_contact | BooleanState.StateValue = False — 早上打开厨房窗户，可能与烹饪有关，但在后面多次烹饪期间未观察到再次关闭，可能处于长期开启状态。",
    "[2026-06-17T06:52:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器间歇性报告None值，表示传感器可能不稳定或存在通信问题。",
    "[2026-06-17T06:52:33] kitchen_cook_surface | OnOff.OnOff = True — 早晨6:52开启灶具，但在此之前06:51已开窗，这可能是一个安全隐患（燃气灶开窗通风，也可能表示灶具无人看管）。",
    "[2026-06-17T07:19:20] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) 住户手动解锁出门 — 正常出门行为。",
    "[2026-06-17T07:19:20] front_door_lock | DoorLock.LockState = 2 （解锁）— 正常出门解锁。",
    "[2026-06-17T07:19:22] front_door_contact | BooleanState.StateValue = True 门关闭 — 正常出门。",
    "[2026-06-17T16:06:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) 手动解锁开门 — 可能是住户回家或外人进入。",
    "[2026-06-17T19:06:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在19:06再次显示打开，可能是第二次烹饪时打开，但状态未变。",
    "[2026-06-17T19:07:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次报告None，确认间歇性故障。",
    "[2026-06-17T18:03:14] living_room_ac | OnOff.OnOff = True 客厅空调开启 — 住户回家后开启空调，正常行为。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器偶发性通信故障，其他事件均为住户正常作息与烹饪行为。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器存在硬件故障，且厨房窗户长期开启未关闭，可能与灶具同时使用存在安全隐患。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["06:52 和 19:07 温度传感器报告None，但其他时间恢复正常读数，可能是偶发通信问题（间接证据）", "07:19-07:22 出门行为符合正常作息（直接证据）", "18:03 回家后开启空调，行为一致（直接证据）", "烹饪时段厨房温度有正常上升，传感器功能尚可（间接证据）"], "opposing": ["温度传感器在一天内多次报告None（06:52, 06:53, 07:07, 18:50, 19:07），不是偶发性而是反复出现（直接证据）", "厨房窗户开启状态始终为False（打开），未观察到关闭记录，可能未关闭（间接证据）"]},
    {"hypothesis": "B", "supporting": ["厨房温度传感器反复报告None值，指示传感器不稳定或故障（直接证据）", "06:51 和 19:06 两次烹饪时段窗户均显示打开，可能为通风，但也可能忘记关闭（间接证据）", "灶具开启后窗户打开是正常安全行为，但若长期不关则影响安全（间接证据）"], "opposing": ["窗户打开可能是住户为通风而有意为之，不属于异常（间接证据）", "传感器在大多数时间仍能正常报告温度，故障不持续（间接证据）"]}
  ],
  "step4_causal": [
    "厨房温度传感器报告None → 灶具同时开启（正常关联，传感器不稳定是故障）",
    "住户起床→主卧→儿童房→厨房→出门（正常日常行为时序）",
    "住户回家→客厅空调开启（正常关联）",
    "厨房窗户始终为打开状态，但无法确定是否在两次烹饪之间关闭后又打开（信息不足）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "窗户状态可能在日志时间范围内被关闭且未记录（传感器未产生事件），温度传感器None值可能为通信延时而非故障。因此判定为正常但有轻微不确定性。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "整体行为正常。厨房温度传感器存在间歇性通信故障，但未导致实际安全隐患。",
    "recommended_actions": [
      "建议检查厨房温度传感器的电池或网络连接，确认None报告是否由通信问题引起。",
      "确认厨房窗户是否在烹饪后关闭，以确保安防和节能。"
    ]
  }
}
```

整体行为正常。厨房温度传感器存在间歇性通信故障，但未导致实际安全隐患。

Explanation: 假设A: [normal] 厨房温度传感器偶发性通信故障，其他事件均为住户正常作息与烹饪行为。

Explanation: 假设B: [anomaly] 厨房温度传感器存在硬件故障，且厨房窗户长期开启未关闭，可能与灶具同时使用存在安全隐患。

Explanation: 最可能假设: A, 置信度: medium

Explanation: 误报可能性: 窗户状态可能在日志时间范围内被关闭且未记录（传感器未产生事件），温度传感器None值可能为通信延时而非故障。因此判定为正常但有轻微不确定性。

建议检查厨房温度传感器的电池或网络连接，确认None报告是否由通信问题引起。 确认厨房窗户是否在烹饪后关闭，以确保安防和节能。

厨房温度传感器偶发性通信故障，其他事件均为住户正常作息与烹饪行为。

Hypothesis: A

07:19-07:22 出门行为符合正常作息（直接证据）

18:03 回家后开启空调，行为一致（直接证据）

烹饪时段厨房温度有正常上升，传感器功能尚可（间接证据）

Hypothesis: B

厨房温度传感器反复报告None值，指示传感器不稳定或故障（直接证据）

灶具开启后窗户打开是正常安全行为，但若长期不关则影响安全（间接证据）

窗户打开可能是住户为通风而有意为之，不属于异常（间接证据） 传感器在大多数时间仍能正常报告温度，故障不持续（间接证据）

厨房温度传感器报告None → 灶具同时开启（正常关联，传感器不稳定是故障）
住户起床→主卧→儿童房→厨房→出门（正常日常行为时序）
住户回家→客厅空调开启（正常关联）
厨房窗户始终为打开状态，但无法确定是否在两次烹饪之间关闭后又打开（信息不足）


路径是 儿童房→卫生间→儿童房，直来直去没有去其他地方，持续时间短

```json
{
  "step1_evidence": [
    "未发现可疑事件：日志中仅有温度传感器和占用传感器的周期性读数，所有占用传感器从00:00到23:55一直报告0（无人），这是一个典型的“无人住宅”场景。温度读数在所有房间随时间自然波动，没有出现固定不变或单向漂移的情况，也没有任何设备报警、操作失败或状态矛盾事件。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "这是一个无人住宅的正常数据：住户全部外出，家里无人，所有温度传感器测量值随外界环境自然变化，设备处于待机状态，没有触发任何安全或故障事件。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[直接证据] 所有7个占用传感器（living_room, dining_room, master_bedroom, second_bedroom, kids_room, master_bathroom, entrance）在00:00至23:55期间每半小时报告一次，Occupancy始终为0。", "[间接证据] 没有灶具、门锁、窗户、窗帘、空调、灯光等任何设备的操作日志，设备处于完全静止状态。", "[直接证据] 所有4个温度传感器（living_room, master_bedroom, kids_room, kitchen）的读数在一天内呈现正常的先升后降日间波动（从22°C左右到25°C左右再回落），波动幅度约3-5°C，符合夏季日温变化规律。"], "opposing": ["无 无任何异常信号支持其他假设。"]}
  ],
  "step4_causal": [
    "因果关系1: 无人住宅 → 所有占用传感器报告0（正常）",
    "因果关系2: 日间太阳照射和环境传热 → 所有房间温度在午后达到最高，凌晨最低（正常日间正弦曲线）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "不存在误报风险，因为日志中确实没有任何异常信号。如果实际上家里有人但所有传感器都失灵，那属于传感器批量故障，但本日志中温度传感器读数正常变化，所以这种情况概率极低。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "家庭状态正常，所有设备数据符合无人住宅的预期模式，没有发现任何安全威胁或设备故障。",
    "recommended_actions": ["无需采取任何措施。"]
  }
}
```

Explanation: 假设A: [normal] 这是一个无人住宅的正常数据：住户全部外出，家里无人，所有温度传感器测量值随外界环境自然变化，设备处于待机状态，没有触发任何安全或故障事件。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 不存在误报风险，因为日志中确实没有任何异常信号。如果实际上家里有人但所有传感器都失灵，那属于传感器批量故障，但本日志中温度传感器读数正常变化，所以这种情况概率极低。

Hypothesis: A

无 无任何异常信号支持其他假设。

因果关系1: 无人住宅 → 所有占用传感器报告0（正常）


只在儿童房一个房间内发生，kids_room_occupancy=1，有小孩在场

```json
{
  "step1_evidence": [
    "[2026-06-09T06:33:08] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器首次报告 None 值，可能为瞬时通信问题或传感器故障。",
    "[2026-06-09T07:29:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次报告 None 值，且发生在关火后，间隔近1小时，需关注。",
    "[2026-06-09T18:37:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第三次报告 None 值，发生在晚上做饭时，持续约2分钟。",
    "[2026-06-09T18:51:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第四次报告 None 值，发生在关火后约1分钟，持续约2分钟。",
    "[2026-06-09T21:31:00 ~ 21:31:08] kids_room_light | OnOff.OnOff 在8秒内连续切换4次 (True/False/True/False) — 儿童房灯光反复开关，可能为儿童玩耍开关或开关故障，需关注儿童安全。",
    "[2026-06-09T07:41:17 ~ 07:41:20] front_door_lock | 住户离家过程：手动开锁 → 开门 → 出门 → 自动上锁 — 这是标准正常的离家流程，时间间隔符合逻辑。",
    "[2026-06-09T07:28:30 ~ 07:29:00] kitchen_window_contact | 厨房窗户在做饭后打开，同时 kitchen_temp_sensor 报告 None — 可能住户为通风打开窗户，温度传感器受气流影响。",
    "[2026-06-09T07:28:06] dining_room_occupancy | OccupancySensing.Occupancy = 1 — 关火后餐厅有人活动，符合住户去餐厅就餐的日常活动模式。",
    "[2026-06-09T16:20:00 ~ 22:42:00] 住户下午回家，晚间在家活动，约22:42 回卧室并关闭客厅灯和空调，22:42 门锁自动上锁 — 标准正常晚间回家及就寝流程。",
    "[2026-06-09T21:31:02 ~ 21:31:08] kids_room_light 快速切换后，kids_room_occupancy 在21:31:00 仍为 1 — 儿童房内有人，灯光快速切换行为可能是儿童好奇心驱使。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器偶发通信故障，可能由于无线信号干扰或传感器暂时离线。住户全天行为正常，无入侵或异常活动迹象。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器存在间歇性硬件故障或电池/电源问题，导致传感器读数间歇性丢失。儿童房灯光快速切换可能是儿童在玩耍开关，属正常行为但需留意。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[直接证据] kitchen_temp_sensor 在一天中仅4次报告 None，每次持续时间短(<5分钟)，其余时间读数正常，与其他温度传感器同步变化。", "[间接证据] 厨房温度传感器在做饭期间（06:32-07:28, 18:36-18:50）读数正常，且在关火后逐步回落，说明传感器功能基本正常。", "[间接证据] 当天所有门锁、窗户、灯光、运动传感器行为均符合住户正常作息，无入侵或异常事件。", "[间接证据] 儿童房灯光快速切换后，儿童房 occupancy 持续为 1，且之后灯光被关闭，符合儿童玩耍开关的场景。"], "opposing": ["[直接证据] 传感器报告 None 并非完全正常，可能表示信号中断、传感器重启或瞬时故障。"]},
    {"hypothesis": "B", "supporting": ["[直接证据] kitchen_temp_sensor 在一天中4次报告 None，频率较高，且都在有人使用厨房的时段附近，可能暗示传感器对温度/使用敏感。", "[间接证据] kids_room_light 在8秒内4次开关，若为儿童玩耍，则需确认儿童年龄与安全，以防儿童接触电器。", "[间接证据] 未在日志中看到 kitchen_temp_sensor 的通信恢复或电池状态，无法排除硬件故障。"], "opposing": ["[直接证据] 传感器大多数时间工作正常，读数合理，与其他传感器（如油烟机未报告报警）一致，不支持硬件完全故障。", "[间接证据] 厨房窗户在07:28和18:50被打开，可能开窗通风造成气流，导致传感器瞬时读数异常（但温度传感器一般不受此影响）。"]}
  ],
  "step4_causal": [
    "[06:32:38] kitchen_cook_surface 开启 → [06:33:08] kitchen_temp_sensor 报告 None (关联但非异常，传感器启动或短暂干扰)",
    "[07:28:30] kitchen_window_contact 打开 → [07:29:00] kitchen_temp_sensor 报告 None (因果弱，开窗不直接导致温度传感器读数丢失)",
    "[18:36:30] kitchen_cook_surface 开启 → [18:37:00] kitchen_temp_sensor 报告 None (关联，可能传感器受热或启动干扰)",
    "[18:50:00] kitchen_cook_surface 关闭 → [18:50:30] kitchen_window_contact 打开 → [18:51:00] kitchen_temp_sensor 报告 None (关联，关火后开窗通风，传感器短暂异常)",
    "[21:31:00 ~ 21:31:08] kids_room_light 快速切换4次 → [21:31:00] kids_room_occupancy = 1 (正常因果，儿童房有人，儿童可能玩耍开关)",
    "所有温度传感器在凌晨时段（00:00~06:00）缓慢上升约2°C，符合夏季夜间环境温度自然升高，属正常。",
    "白天温度传感器随日照上升，13:00后开始下降，17:00~18:00 后继续下降，符合日间温度变化规律。",
    "早上06:11 主卧有人 → 06:11 开灯 → 06:24 主卫有人 → 06:32 厨房开灯/开灶 → 07:28 关火 → 07:41 离家 → 门锁自动上锁：完整的正常晨间活动序列。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "厨房温度传感器报告 None 可能被误判为硬件故障，但基于传感器在绝大多数时间正常工作，且整体环境无其他异常，更可能是偶发通信问题而非故障。儿童房灯光快速切换符合正常儿童行为，误报可能性极低。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "整体家庭安全状况正常，未发现入侵、火灾、设备故障等安全威胁。",
    "recommended_actions": [
      "检查厨房温度传感器固件或连接稳定性，确保其通信链路正常，消除偶发None值。",
      "关注儿童房灯光反复开关行为，确认儿童年龄与安全，确保无儿童触电或误操作风险。",
      "建议配置传感器健康监控提醒，若kitchen_temp_sensor在24小时内再次报告None，则需派技术人员上门检查或更换传感器。"
    ]
  }
}
```

整体家庭安全状况正常，未发现入侵、火灾、设备故障等安全威胁。

Explanation: 假设A: [normal] 厨房温度传感器偶发通信故障，可能由于无线信号干扰或传感器暂时离线。住户全天行为正常，无入侵或异常活动迹象。

Explanation: 假设B: [anomaly] 厨房温度传感器存在间歇性硬件故障或电池/电源问题，导致传感器读数间歇性丢失。儿童房灯光快速切换可能是儿童在玩耍开关，属正常行为但需留意。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 厨房温度传感器报告 None 可能被误判为硬件故障，但基于传感器在绝大多数时间正常工作，且整体环境无其他异常，更可能是偶发通信问题而非故障。儿童房灯光快速切换符合正常儿童行为，误报可能性极低。

检查厨房温度传感器固件或连接稳定性，确保其通信链路正常，消除偶发None值。

关注儿童房灯光反复开关行为，确认儿童年龄与安全，确保无儿童触电或误操作风险。

Hypothesis: A

Hypothesis: B


BA-04-FP: 传感器触发延迟导致顺序看似跳跃

客厅occupancy在阳台和主卧之间有触发（2秒时），移动路径合理

```json
{
  "step1_evidence": [
    "未发现可疑事件"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "全日温度变化为正常的日间自然波动，所有传感器读数均在合理范围内变化，所有区域均无人员活动，一切正常。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["所有4个温度传感器（客厅、主卧、儿童房、厨房）的温度数据在24小时内均呈现典型的日间正弦波动：凌晨低（约22.40°C）、午后高（约25.55°C）、晚间回落，符合正常自然规律。（直接证据）", "所有温度传感器在每一分钟采样点之间均有正常波动（变化在0.1-0.5°C范围内），未出现连续超过2小时的完全固定读数。（直接证据）", "所有7个运动传感器（客厅、餐厅、主卧、次卧、儿童房、主卫、玄关）在全天几乎每30分钟的报告周期内均报告 Occupancy=0，仅21:03时由于阳台门打开导致客厅和主卧短暂出现 Occupancy=1，之后又恢复为0。这符合住户可能短暂进出阳台的正常行为。（直接证据）", "厨房温度未出现异常升高（例如做饭期间的3-5°C升温），也无任何灶具、烟雾报警器、漏水传感器的报警事件。（直接证据）", "所有门窗传感器、门锁、窗帘、家电等均无任何异常状态报告或操作失败记录。（直接证据）"], "opposing": ["无。"]}
  ],
  "step4_causal": [
    "正常因果：太阳升起（环境升温）→ 所有室内温度传感器同步缓慢上升（正常日照和环境传热）",
    "正常因果：太阳下山（环境降温）→ 所有室内温度传感器同步缓慢下降（正常环境散热）",
    "正常因果：21:03 阳台门打开 → 客厅和主卧运动传感器短暂触发（住户可能去阳台晾衣或收衣）",
    "正常因果：所有区域 Occupancy=0 → 无人活动，所有传感器读数正常（住户可能外出或已休息）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "误报可能性极低，所有传感器读数均符合正常日间波动和无人居住的预期模式。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "家庭安全状况正常，未发现任何安全威胁或异常情况。",
    "recommended_actions": [
      "无需采取任何措施。"
    ]
  }
}
```

家庭安全状况正常，未发现任何安全威胁或异常情况。

Explanation: 假设A: [normal] 全日温度变化为正常的日间自然波动，所有传感器读数均在合理范围内变化，所有区域均无人员活动，一切正常。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 误报可能性极低，所有传感器读数均符合正常日间波动和无人居住的预期模式。

Hypothesis: A

误报可能性极低，所有传感器读数均符合正常日间波动和无人居住的预期模式。


BA-04-FP: 传感器触发延迟导致顺序看似跳跃

客厅occupancy在阳台和主卧之间有触发（2秒时），移动路径合理

```json
{
  "step1_evidence": [
    "[2026-06-24T06:36:07] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房灶具开启后，温度传感器立即报告None，这可能是传感器故障或过热保护，属于异常的传感器行为/故障信号。",
    "[2026-06-24T07:29:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房灶具关闭后，传感器再次报告None，这是短时间内第二次出现None值，进一步支持传感器故障的判断。",
    "[2026-06-24T07:45:33] front_door_lock | LockOperation(LockOperationType=0, OperationSource=Auto) — 住户出门后，门锁由自动模式锁定，符合正常离家流程。",
    "[2026-06-24T16:30:00] front_door_lock | LockOperation(LockOperationType=1, OperationSource=Manual) — 下午4:30,有住户回家，手动解锁门锁，符合正常回家流程。",
    "[2026-06-24T18:14:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 晚餐期间，灶具开启后，厨房温度传感器第三次报告None，这是一个重复出现的可疑模式，确认传感器存在问题。",
    "[2026-06-24T19:26:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 晚餐结束后，传感器第四次报告None，进一步确认了厨房温度传感器的间歇性故障。",
    "[2026-06-24T06:36:07 至 2026-06-24T19:26:00] kitchen_temp_sensor — 在一天中，厨房温度传感器在烹饪活动开始和结束的关键时刻多次报告None，而非返回一个正常或异常的温度值，这是一个典型的传感器间歇性故障特征。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器（kitchen_temp_sensor）存在间歇性硬件故障，导致在某些条件下（如温度快速变化时）无法提供读数，但家庭整体安全无虞。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障是虚假信号，实际存在更严重的问题，比如灶具过热导致传感器损坏，或者存在火灾风险。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["直接证据: 厨房温度传感器在一天内四次报告MeasuredValue = None，均发生在灶具开启或关闭后的短时间内（如06:36:07, 07:29:00, 18:14:00, 19:26:00）。\n直接证据: 在传感器报告None之后，后续时间点（如06:40:00, 07:30:00）又能正常读取到温度值，表明故障是间歇性的，非常符合硬件间歇性故障的特征。\n间接证据: 尽管传感器故障，但日志中没有厨房烟雾报警器（kitchen_smoke_alarm）触发，也没有灶具持续长时间无人操作的记录。所有其他房间的温度传感器读数正常，排除了全屋性的环境问题。"], "opposing": ["间接证据: 无法完全排除传感器损坏是由内部电路过热或局部损坏引起的，这可能与灶具使用有关。\n间接证据: 无法从日志中直接判断传感器硬件本身的具体故障模式。" ]},
    {"hypothesis": "B", "supporting": ["间接证据: 传感器在灶具使用期间出现None，存在过热导致传感器失效的可能性。\n间接证据: 灶具使用高峰（早餐、晚餐）与传感器故障的时间点重合。"], "opposing": ["直接证据: 厨房烟雾报警器（kitchen_smoke_alarm）从未触发，这是排除火灾/烟雾危险的最直接证据。\n直接证据: 灶具操作正常，有明确的开启和关闭记录（06:35:37开启，07:28:00关闭；18:13:30开启，19:25:00关闭），没有“忘关火”或“无人看管”的情况。\n间接证据: 灶具开启后，厨房温度在正常烹饪范围内的波动（如06:35:00的24.97°C到08:00:00的25.22°C），没有出现极端温升。\n直接证据: 无任何其他设备（如漏水传感器、CO报警器）报告异常。"]}
  ],
  "step4_causal": [
    "灶具开启 → 厨房温度传感器报告None（异常关联：传感器无法在快速温变或高温环境下工作）。",
    "灶具开启 → 厨房温度正常上升（正常因果：烹饪导致室温升高，但幅度在正常范围内，且传感器恢复正常后读数合理）。",
    "灶具关闭 → 厨房温度传感器报告None（异常关联：证实传感器故障与灶具工作状态相关，但非绝对因果，也可能是巧合）。",
    "住户离家 → 入户门自动上锁（正常因果：安防自动化逻辑正常）。",
    "住户回家 → 入户门手动解锁（正常因果：正常进出门流程）。",
    "住户进入厨房 → 厨房灯开启 → 灶具开启（正常因果：正常做饭流程，有人在场，无异常）。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "低。传感器间歇性读取None值是明确的硬件故障信号，但所有其他安全相关设备（烟雾报警器、漏水传感器、门锁等）均报告正常，且家庭居住人员的活动模式完全符合正常作息，因此将该故障判断为安全风险较低是合理的。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器存在间歇性硬件故障，导致在烹饪期间无法提供温度读数，建议及时检查或更换，以确保能准确监测厨房环境。",
    "recommended_actions": ["1. 检查并更换厨房温度传感器（kitchen_temp_sensor）。", "2. 确认厨房烟雾报警器（kitchen_smoke_alarm）功能正常，以弥补温度监控的暂时缺失。", "3. 观察后续日志，确保传感器更换后不再出现None值。"]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器（kitchen_temp_sensor）存在间歇性硬件故障，导致在某些条件下（如温度快速变化时）无法提供读数，但家庭整体安全无虞。

Explanation: 假设B: [anomaly] 厨房温度传感器故障是虚假信号，实际存在更严重的问题，比如灶具过热导致传感器损坏，或者存在火灾风险。

Explanation: 最可能假设: A, 置信度: high

Explanation: 误报可能性: 低。传感器间歇性读取None值是明确的硬件故障信号，但所有其他安全相关设备（烟雾报警器、漏水传感器、门锁等）均报告正常，且家庭居住人员的活动模式完全符合正常作息，因此将该故障判断为安全风险较低是合理的。

3. 观察后续日志，确保传感器更换后不再出现None值。

Hypothesis: A

直接证据: 厨房温度传感器在一天内四次报告MeasuredValue = None，均发生在灶具开启或关闭后的短时间内（如06:36:07, 07:29:00, 18:14:00, 19:26:00）。
直接证据: 在传感器报告None之后，后续时间点（如06:40:00, 07:30:00）又能正常读取到温度值，表明故障是间歇性的，非常符合硬件间歇性故障的特征。
间接证据: 尽管传感器故障，但日志中没有厨房烟雾报警器（kitchen_smoke_alarm）触发，也没有灶具持续长时间无人操作的记录。所有其他房间的温度传感器读数正常，排除了全屋性的环境问题。

间接证据: 无法完全排除传感器损坏是由内部电路过热或局部损坏引起的，这可能与灶具使用有关。
间接证据: 无法从日志中直接判断传感器硬件本身的具体故障模式。

Hypothesis: B

间接证据: 传感器在灶具使用期间出现None，存在过热导致传感器失效的可能性。
间接证据: 灶具使用高峰（早餐、晚餐）与传感器故障的时间点重合。

直接证据: 厨房烟雾报警器（kitchen_smoke_alarm）从未触发，这是排除火灾/烟雾危险的最直接证据。
直接证据: 灶具操作正常，有明确的开启和关闭记录（06:35:37开启，07:28:00关闭；18:13:30开启，19:25:00关闭），没有“忘关火”或“无人看管”的情况。
间接证据: 灶具开启后，厨房温度在正常烹饪范围内的波动（如06:35:00的24.97°C到08:00:00的25.22°C），没有出现极端温升。
直接证据: 无任何其他设备（如漏水传感器、CO报警器）报告异常。

住户离家 → 入户门自动上锁（正常因果：安防自动化逻辑正常）。

住户回家 → 入户门手动解锁（正常因果：正常进出门流程）。


BA-02-FP: 住户周末改变习惯早起做饭

住户先从卧室起床再去厨房（正常路径），虽然时间段不同寻常但行为模式是住户自己

```json
{
  "step1_evidence": [
    "厨房温度传感器间歇性报告None: 时间 06:49:10, 06:52:00, 15:11:00, 18:15:00, 19:11:00 — 温度传感器报告None值，可能为通信故障或传感器故障（值得关注的传感器异常）。",
    "全屋温度异常上升: 时间00:00至06:00，所有室温从22.6°C持续上升至约24.8°C，上升约2.2°C，在凌晨时段（无日照、无空调运行）持续上升，不符合夜间温度自然下降规律（值得关注的异常趋势）。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "自然气温变化：当日为夏季，夜间环境温度本身就高，加上建筑蓄热效应，导致室内温度在凌晨持续缓慢上升。"},
    {"id": "B", "type": "anomaly", "description": "空调/供暖系统异常运行：可能存在空调（living_room_ac）意外开启（虽然在日志中未看到开启记录），或者建筑内其他热源（如管道问题）导致全屋升温。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["夏季夜间气温可能偏高，日志中全屋温度同步上升，符合外部环境温度影响（间接证据）", "所有温度传感器读数变化趋势一致，表明是环境因素而非单一设备故障（间接证据）"], "opposing": ["凌晨2-4点是日间最低温时段，温度应下降而非持续上升（直接证据，温度读数）", "日志中living_room_ac无开启记录，排除空调意外制热（直接证据，设备状态）"]},
    {"hypothesis": "B", "supporting": ["温度持续上升不符合夜间自然降温规律（直接证据，温度变化曲线）", "所有房间温度同步上升，符合中央空调或全屋供暖影响的模式（间接证据）"], "opposing": ["日志中未发现任何空调或加热设备开启记录（直接证据）", "若为空调制热，温度上升速度（约0.2°C/5分钟）偏慢，更符合环境升温（间接证据）"]}
  ],
  "step4_causal": [
    "温度全面上升：日志中无对应热源设备开启 → 全屋温度同步上升（异常关联，但原因不明）",
    "厨房温度传感器间歇None：可能与传感器本身故障有关，与温度上升无直接因果关系（传感器故障）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A（自然气温变化）",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "该判断存在一定不确定性。夏季凌晨气温反常升高是可能发生的，但日志中缺少室外温度对比数据，无法完全排除设备误报或热源异常。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "全屋温度在凌晨出现持续上升，但无设备报警或危险设备开启记录，更可能为环境气温变化所致。",
    "recommended_actions": ["建议加装室外温度传感器以获取对比数据", "检查厨房温度传感器状态，排除传感器故障", "如果持续出现类似情况，建议检查空调系统是否存在隐性故障"]
  }
}
```

Explanation: 假设A: [normal] 自然气温变化：当日为夏季，夜间环境温度本身就高，加上建筑蓄热效应，导致室内温度在凌晨持续缓慢上升。

Explanation: 假设B: [anomaly] 空调/供暖系统异常运行：可能存在空调（living_room_ac）意外开启（虽然在日志中未看到开启记录），或者建筑内其他热源（如管道问题）导致全屋升温。

Explanation: 最可能假设: A（自然气温变化）, 置信度: medium

Explanation: 误报可能性: 该判断存在一定不确定性。夏季凌晨气温反常升高是可能发生的，但日志中缺少室外温度对比数据，无法完全排除设备误报或热源异常。

建议加装室外温度传感器以获取对比数据 检查厨房温度传感器状态，排除传感器故障 如果持续出现类似情况，建议检查空调系统是否存在隐性故障

Hypothesis: A

夏季夜间气温可能偏高，日志中全屋温度同步上升，符合外部环境温度影响（间接证据） 所有温度传感器读数变化趋势一致，表明是环境因素而非单一设备故障（间接证据）

凌晨2-4点是日间最低温时段，温度应下降而非持续上升（直接证据，温度读数）

Hypothesis: B

温度持续上升不符合夜间自然降温规律（直接证据，温度变化曲线） 所有房间温度同步上升，符合中央空调或全屋供暖影响的模式（间接证据）

日志中未发现任何空调或加热设备开启记录（直接证据）