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

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

```json
{
  "step1_evidence": [
    "[2026-06-21T07:54:00] kitchen_cook_surface | OnOff.OnOff = True — 灶具在早上7:54开启，这是正常的早餐烹饪时间。",
    "[2026-06-21T08:04:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 烟雾报警器触发，这是一个明确的设备报警事件，需要关注。",
    "[2026-06-21T08:09:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在烟雾报警后5分钟关闭，可能为住户手动关闭。",
    "[2026-06-21T08:14:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 0 — 烟雾报警器在灶具关闭后5分钟复位，符合正常逻辑。",
    "[2026-06-21T09:13:09] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器首次报告None值（通信中断或故障），之后到09:54、12:03、12:30、18:07、18:36多次出现None值，表明该传感器间歇性故障。",
    "[2026-06-21T12:02:30] kitchen_cook_surface | OnOff.OnOff = True — 灶具在中午12:02再次开启，正常午餐时间。",
    "[2026-06-21T12:29:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在12:29关闭。",
    "[2026-06-21T18:06:30] kitchen_cook_surface | OnOff.OnOff = True — 灶具在傍晚18:06开启，正常晚餐时间。",
    "[2026-06-21T18:35:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在18:35关闭。",
    "[2026-06-21T22:50:34] front_door_contact | BooleanState.StateValue = True — 入户门在22:50被关闭。",
    "[2026-06-21T22:50:35] front_door_lock | DoorLock.LockState = 1 — 门锁在22:50自动上锁。",
    "[2026-06-21T22:50:15] bedroom_occupancy | OccupancySensing.Occupancy = 1 — 卧室在22:50有人，配合关灯、关窗、关门锁等行为，表明住户准备就寝。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "住户正常作息：早上烹饪时产生烟雾触发报警器，但住户及时关闭灶具并通风，报警解除。白天和晚上也有正常的烹饪活动。厨房温度传感器存在间歇性通信故障。晚上住户正常就寝。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "火灾风险：早上烹饪可能因操作不当导致严重烟雾，虽然灶具关闭且报警解除，但可能存在未被发现的火灾隐患。厨房温度传感器故障可能是由高温损坏引起的。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "支持（直接证据）: [08:04] 烟雾报警器触发后，[08:09] 灶具关闭，[08:14] 报警解除——明确证据表明住户及时处理了烟雾。",
        "支持（直接证据）：之后全天在[12:02]和[18:06]再次正常使用灶具，无异常报警。",
        "支持（间接证据）：晚上[22:50]的关灯、关窗、关门、锁门行为序列符合正常就寝流程。",
        "支持（间接证据）: 整个一天中，卧室和客厅的温度传感器读数变化平滑，符合日间自然波动和空调开启后降温的正常模式，未出现异常高温。"
      ],
      "opposing": [
        "否定（间接证据）: 厨房温度传感器在烟雾报警后出现多次None值，可能暗示设备因过热损坏，不完全排除火灾隐患。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "支持（直接证据）: SmokeAlarm在烹饪期间确实被触发过一次，表明当时厨房有烟雾。",
        "支持（直接证据）: 厨房温度传感器在报警后和后续烹饪中多次报告None值，可能存在故障。"
      ],
      "opposing": [
        "否定（直接证据）: 灶具在触发报警后很快被关闭，且烟雾报警随后复位，没有持续报警。",
        "否定（间接证据）：除了厨房传感器，其他房间的温度传感器读数正常，未发现异常高温。后续两次烹饪中也未再触发烟雾报警。",
        "否定（间接证据）：如果厨房存在真实火灾，温度会持续升高并蔓延，但厨房传感器虽间歇性故障，在恢复时（如12:05为26.57°C, 12:10为27.16°C）的读数虽高但仍在正常烹饪温度范围内，且之后迅速回落。"
      ]
    }
  ],
  "step4_causal": [
    "因果关系1: 厨房灶具开启 ([07:54]) → 厨房温度上升 (间接证据，因传感器间歇故障，但恢复后的读数支持) → 烟雾报警器触发 ([08:04]) —— 正常因果（烹饪产生烟雾）。",
    "因果关系2: 住户关闭灶具 ([08:09]) → 烟雾散去 → 烟雾报警器复位 ([08:14]) —— 正常因果（住户及时处理）。",
    "因果关系3: 厨房灶具开启 ([12:02]) → 厨房温度传感器间歇性报告None值 → 后续恢复的高温读数（如[12:10]的2716）—— 可能正常（传感器受热影响），也可能异常（传感器损坏）。",
    "因果关系4: 住户完成一天活动 → 关闭客厅灯和空调 → 关闭入户门 → 门锁自动上锁 → 卧室灯关闭。这是非常清晰的正常夜间就寝行为序列。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "低。烟雾报警是真实事件，但后续行为表明已被成功处置。厨房温度传感器故障是独立问题，与火灾无直接关联。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "家庭整体安全状况正常。早上短暂出现烹饪烟雾引发报警，但住户已及时处理。",
    "recommended_actions": [
      "建议检查厨房烟雾报警器，确认其灵敏度是否正常，避免未来因正常烹饪导致误报。",
      "建议更换厨房温度传感器，其间歇性通信问题可能是硬件故障，影响厨房环境监控。"
    ]
  }
}
```

家庭整体安全状况正常。早上短暂出现烹饪烟雾引发报警，但住户已及时处理。

Explanation: 假设A: [normal] 住户正常作息：早上烹饪时产生烟雾触发报警器，但住户及时关闭灶具并通风，报警解除。白天和晚上也有正常的烹饪活动。厨房温度传感器存在间歇性通信故障。晚上住户正常就寝。

Explanation: 假设B: [anomaly] 火灾风险：早上烹饪可能因操作不当导致严重烟雾，虽然灶具关闭且报警解除，但可能存在未被发现的火灾隐患。厨房温度传感器故障可能是由高温损坏引起的。

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

Explanation: 误报可能性: 低。烟雾报警是真实事件，但后续行为表明已被成功处置。厨房温度传感器故障是独立问题，与火灾无直接关联。

建议检查厨房烟雾报警器，确认其灵敏度是否正常，避免未来因正常烹饪导致误报。 建议更换厨房温度传感器，其间歇性通信问题可能是硬件故障，影响厨房环境监控。

Hypothesis: A

Hypothesis: B


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

```json
{
  "step1_evidence": [
    "[2026-06-11T19:01:30] kitchen_cook_surface | OnOff.OnOff = True — 灶具开启，烹饪开始",
    "[2026-06-11T19:02:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 温度传感器短暂丢失读数，可能受高温影响或瞬时故障",
    "[2026-06-11T19:34:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具关闭",
    "[2026-06-11T19:34:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在灶具关闭后立即被打开，推测为住户开窗通风",
    "[2026-06-11T19:35:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 温度传感器再次丢失读数",
    "[2026-06-11T19:05:00至19:35:00] kitchen_temp_sensor | 温度从 2419 (24.19°C) 快速上升至 2680 (26.80°C)，灶具关闭后逐步回落 — 这是正常的烹饪升温现象，峰值约 2.6°C 的温升在合理范围内",
    "[2026-06-11T07:16:17至07:16:26] front_door_lock | 住户手动解锁出门，5秒后自动上锁 — 正常出门行为",
    "[2026-06-11T18:30:00至18:30:32] front_door_lock / entrance_light / living_room_occupancy / living_room_ac | 住户回家，进门后开灯，客厅有人，开启空调 — 正常回家行为",
    "[2026-06-11T21:51:00至21:51:30] 住户关闭客厅灯，进入卧室，关灯，拉窗帘，自动锁门 — 正常就寝行为"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常烹饪场景：住户在19:01开始做饭，约19:34关火，厨房温度正常升/降，开窗通风，之后启动洗碗机，一切正常。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器间歇性故障：传感器在烹饪过程中两次报告 None 值，可能存在传感器不稳定或硬件问题。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "时间关联直接证据: 灶具开启(19:01:30) → 厨房温度从24.19°C升至26.80°C，涨幅约2.6°C，符合正常烹饪温升",
        "时序正常: 灶具关闭(19:34:00) → 厨房温度开始回落(19:35:00起逐步下降)",
        "行为连贯: 关火后立即开窗(19:34:30)，符合住户通风习惯",
        "后续正常: 20:09启动洗碗机，之后客厅温度维持在~22.5°C，整体环境无异常"
      ],
      "opposing": [
        "无反对证据"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "间接证据: 19:02:00 和 19:35:00 两次出现 kitchen_temp_sensor 报告 None 值，表示传感器读数异常/丢失",
        "间接证据: 厨房温度在19:05-19:35期间快速上升约24°C（从2419到2680），但客厅和卧室温度保持稳定（约22.8°C和21.8°C），温差合理，传感器未完全失效"
      ],
      "opposing": [
        "直接证据: 传感器在非 None 时刻的读数连续且合理（温度逐步上升和下降），并非完全卡死或漂移",
        "直接证据: None 值出现在烹饪开始和关闭后不久，可能是高温蒸汽或油烟短暂影响传感器（非永久性故障）",
        "直接证据: 后续20:00后传感器恢复正常读值，未再出现 None"
      ]
    }
  ],
  "step4_causal": [
    "正常因果: kitchen_cook_surface.OnOff=True → kitchen_temp_sensor 温度从2419逐步升至2680（烹饪加热）",
    "正常因果: kitchen_cook_surface.OnOff=False → kitchen_temp_sensor 温度逐步回落（关火后散热）",
    "正常关联: 关火后立即打开厨房窗户（BooleanState=False）→ 住户正常通风降温（非异常）",
    "异常关联: 烹饪期间 kitchen_temp_sensor 两次报告 None → 可能是传感器短暂受蒸汽/油烟遮挡或瞬时通讯故障，但非持续性故障",
    "正常因果: 住户出门(07:16) → 回家(18:30) → 客厅活动 → 就寝(21:51)，全天行为模式一致，无矛盾"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "无异常结论，误报风险很低。厨房温度传感器短暂报告 None 更像是短暂环境干扰（高温蒸汽），非持续性故障，且后续恢复正常。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "全天设备日志显示正常住户行为：早晨出门、傍晚回家、正常烹饪、就寝。厨房温度短暂上升后回落，烹饪后开窗通风。传感器短暂 None 值属于轻微瞬时异常，不影响安全判断。",
    "recommended_actions": [
      "无需紧急操作。可关注厨房温度传感器在类似高温场景下是否再次出现 None 值，如频繁发生，考虑检查传感器安装位置或更换。"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常烹饪场景：住户在19:01开始做饭，约19:34关火，厨房温度正常升/降，开窗通风，之后启动洗碗机，一切正常。

Explanation: 假设B: [anomaly] 厨房温度传感器间歇性故障：传感器在烹饪过程中两次报告 None 值，可能存在传感器不稳定或硬件问题。

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

Explanation: 误报可能性: 无异常结论，误报风险很低。厨房温度传感器短暂报告 None 更像是短暂环境干扰（高温蒸汽），非持续性故障，且后续恢复正常。

Hypothesis: A

行为连贯: 关火后立即开窗(19:34:30)，符合住户通风习惯

Hypothesis: B

直接证据: 后续20:00后传感器恢复正常读值，未再出现 None


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

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

```json
{
  "step1_evidence": [
    "[2026-06-03T18:51:30] kitchen_cook_surface | OnOff.OnOff = True — 灶具在住户回家后开启，开始烹饪。这是正常事件，但需关注后续是否有关火记录。",
    "[2026-06-03T18:52:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在灶具开启后不久报告无数据（None）。这可能是一个传感器故障或通信问题。",
    "[2026-06-03T19:30:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在约39分钟后关闭，符合正常烹饪时长。",
    "[2026-06-03T19:30:30] kitchen_window_contact | BooleanState.StateValue = False — 灶具关闭后30秒，厨房窗户被打开。这是正常的通风行为。",
    "[2026-06-03T19:31:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在窗户打开后又报告为None。这进一步表明该传感器可能存在间歇性故障或通信问题。",
    "[2026-06-03T21:56:27] bedroom_window | WindowCovering.CurrentPositionLiftPercent100ths = 10000 — 卧室窗帘在睡觉前关闭（10000代表完全关闭），这是正常的睡前行为。",
    "[2026-06-03T21:56:32] front_door_lock | DoorLock.LockState = 1 — 入户门在睡前被自动锁定。这是正常的安防操作。",
    "[2026-06-03T18:52:00] 至 [2026-06-03T19:31:00] kitchen_temp_sensor 两次报告 None — 厨房温度传感器在烹饪和开窗后出现间歇性无数据报告，是唯一值得关注的异常信号。",
    "整日各房间温度波动：客厅 22.63°C→25.57°C→22.42°C，卧室 21.65°C→24.58°C→21.53°C，厨房 22.77°C→27.14°C→22.41°C — 整体温度变化在合理范围，厨房温度因烹饪短暂升高是正常现象。",
    "所有运动传感器（occupancy）在无人时段（00:00-06:42）均报告为0，无异常夜间活动。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器（kitchen_temp_sensor）因高温或蒸汽干扰出现间歇性通信故障或读数异常，但实际无安全威胁。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障（间歇性无数据）可能表明设备存在硬件问题，如过热损坏、连接松动或即将完全失效。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "直接证据: [2026-06-03T18:52:00] 和 [2026-06-03T19:31:00] kitchen_temp_sensor报告None，这是两次间歇性无数据事件。",
      "间接证据: 灶具在18:51:30开启，厨房温度随后会快速上升（从18:45的26.55°C到18:50的26.26°C，但18:52后无数据，后于18:55恢复为25.75°C）。高温蒸汽可能干扰了传感器通信。",
      "间接证据: 灶具在19:30关闭后，窗户立即打开通风，19:31传感器再次报告None，可能由于开关窗动作导致的瞬时信号中断。"
    ], "opposing": [
      "间接证据: 如果只是高温干扰，传感器应在温度下降后稳定工作。但19:31的None报告出现在灶具关闭后且窗户打开通风时，此时温度已开始下降，干扰因素应减弱。",
      "间接证据: 日志中未显示其他传感器有类似问题，表明可能是该传感器特定问题。"
    ]},
    {"hypothesis": "B", "supporting": [
      "直接证据: kitchen_temp_sensor在同一天内两次报告None，表明其运行不稳定。",
      "间接证据: 该传感器在烹饪后（18:52）和开窗后（19:31）均出现无数据状态，说明其对环境变化（温度、湿度或气流）异常敏感，可能是硬件老化或故障的迹象。",
      "间接证据: 在19:31报告None后，该传感器在19:35又恢复正常读数（22.85°C），这种间歇性行为是传感器故障的常见表现。"
    ], "opposing": [
      "间接证据: 没有其他报警（如HardwareFaultAlert）伴随发生，故障程度可能较轻。",
      "间接证据: 传感器在大部分时间仍能正常报告数据，未完全失效。"
    ]}
  ],
  "step4_causal": [
    "正常因果: [18:01] 住户回家 → [18:01] 开启客厅空调 → [18:01-18:55] 客厅温度从23.18°C逐步下降至22.89°C，符合空调制冷效果（正常）。",
    "正常因果: [18:01] 住户回家 → [18:01] 开启客厅灯 → 客厅运动传感器持续报告Occupancy=1（正常居家活动）。",
    "正常因果: [18:51] 厨房灯开启 → [18:51] 灶具开启 → 厨房温度从26.26°C开始上升 → 峰值达27.14°C（正常烹饪加热）。",
    "正常因果: [19:30] 灶具关闭 → [19:30] 厨房窗户打开 → 厨房温度逐渐回落（正常降温通风）。",
    "正常因果: [19:52] 洗碗机启动 → [19:52] 进入运行状态OperationalState=1（正常使用）。",
    "正常因果: [21:56] 关客厅灯/空调 → [21:56] 进入卧室 → 卧室灯开、窗帘关 → 门锁自动上锁（正常睡前流程）。",
    "异常关联: [18:52] 和 [19:31] kitchen_temp_sensor报告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": "厨房温度传感器在烹饪和开窗后出现两次间歇性无数据报告（None），可能因高温蒸汽干扰或传感器硬件故障所致，存在潜在功能退化风险。",
    "recommended_actions": [
      "1. 观察未来几天厨房温度传感器数据是否持续正常。如果再次出现None报告，建议更换传感器。",
      "2. 检查传感器安装位置是否靠近灶具或通风口，避免蒸汽或气流直接冲击。",
      "3. 确认传感器固件为最新版本，排除潜在的软件通信问题。",
      "4. 如传感器频繁失效，考虑配置烟雾报警器联动作为火灾预警的备用方案。"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器（kitchen_temp_sensor）因高温或蒸汽干扰出现间歇性通信故障或读数异常，但实际无安全威胁。

Explanation: 假设B: [anomaly] 厨房温度传感器故障（间歇性无数据）可能表明设备存在硬件问题，如过热损坏、连接松动或即将完全失效。

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

Explanation: 误报可能性: 中等。两次None报告可能是由于烹饪产生的高温蒸汽暂时影响了传感器，并非永久性故障。但由于是间歇性异常，仍存在传感器即将失效的可能性。

2. 检查传感器安装位置是否靠近灶具或通风口，避免蒸汽或气流直接冲击。

3. 确认传感器固件为最新版本，排除潜在的软件通信问题。

4. 如传感器频繁失效，考虑配置烟雾报警器联动作为火灾预警的备用方案。

Hypothesis: A

间接证据: 日志中未显示其他传感器有类似问题，表明可能是该传感器特定问题。

Hypothesis: B

间接证据: 传感器在大部分时间仍能正常报告数据，未完全失效。


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

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

```json
{
  "step1_evidence": [
    "[2026-06-23T19:00:00] kitchen_cook_surface: OnOff = True 且 kitchen_temp_sensor 开始急剧上升 — 烹饪开始",
    "[2026-06-23T19:01:00] kitchen_temp_sensor: TemperatureMeasurement.MeasuredValue = None — 传感器短暂失效",
    "[2026-06-23T19:34:00] kitchen_cook_surface: OnOff = False — 烹饪结束。但在之后20分钟内，厨房温度仍异常持续偏高（2600-2700+），远高于正常烹饪降温曲线",
    "[2026-06-23T19:34:30] kitchen_window_contact: BooleanState.StateValue = False — 烹饪结束后立刻打开窗户，说明住户在主动通风排烟/散热",
    "[2026-06-23T19:35:00] kitchen_temp_sensor: TemperatureMeasurement.MeasuredValue = None — 传感器再次短暂失效",
    "[2026-06-23T20:02:00] kitchen_dishwasher: OnOff = True, OperationalState = 1（运行中）— 餐后启动洗碗机，符合正常行为",
    "[2026-06-23T18:25:00] 住户回家: 开门 → 开灯 → 开空调，完整正常回家流程",
    "[2026-06-23T06:25:00] 住户起床: 卧室灯亮 → 窗帘打开 → 卫生间活动 → 厨房短暂开灯 → 07:25出门锁门，完整正常起床离家流程",
    "[2026-06-23T21:49:00至22:40] 夜间就寝流程: 关客厅灯 → 关空调 → 卧室灯亮 → 窗帘关闭 → 检查门锁 → 卧室Occupancy持续为1，且卧室灯22:38关闭，符合正常入睡行为",
    "[2026-06-23T19:01:00及19:35:00] kitchen_temp_sensor: 报告None值 — 温度传感器短暂通信失败或故障，但随后恢复",
    "[2026-06-23T00:00至06:25] 所有Occupancy传感器均为0，温度整体从22.7°C缓慢上升到24.8°C — 正常夜间温升，无人活动",
    "[2026-06-23T07:25至18:25] 所有Occupancy传感器均为0，温度整体从25.3°C缓慢波动上升到23.1°C — 正常日间无人状态下的自然温度波动（由于空调或通风降温）"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常晚餐烹饪和餐后清洁行为：住户18:25回家，19:00开始做饭，19:34关火并开窗通风，20:02启动洗碗机，随后在客厅正常活动，21:49结束就寝。"},
    {"id": "B", "type": "anomaly", "description": "设备故障或火灾隐患：厨房温度传感器间歇故障（报告None），且在灶具关闭后厨房温度异常偏高且下降缓慢，结合开窗行为，可能存在灶具未完全关闭或通风不良导致的过热风险。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
        "直接证据：[19:00] 灶具开启，[19:34] 灶具关闭，[20:02] 洗碗机启动 — 完整烹饪-清洁流程",
        "直接证据：[19:34:30] 窗户打开，[19:35至20:25] 厨房温度从26.73°C逐步下降到22.53°C — 自然通风降温",
        "直接证据：[19:00至19:30] 客厅Occupancy持续为1 — 住户在客厅（等待烹饪），正常",
        "间接证据：烹饪期间厨房温度在19:30达到峰值26.91°C（在灶具附近合理），随后逐步下降",
        "间接证据：住户21:49完成就寝流程，无任何异常报警"
      ], "opposing": [
        "间接证据：灶具关闭后厨房温度仍持续在26°C以上约20分钟，比正常烹饪后降温趋势略慢，开窗后逐渐正常"
      ]},
    {"hypothesis": "B", "supporting": [
        "直接证据：[19:01] 和 [19:35] kitchen_temp_sensor 报告 None — 传感器间歇故障/通信中断",
        "间接证据：灶具关闭后厨房温度峰值26.91°C，且20分钟内仅下降约0.6°C，下降幅度偏小",
        "间接证据：传感器故障与温度异常同时出现，可能存在关联"
      ], "opposing": [
        "直接证据：开窗后温度开始持续下降，最终恢复正常 — 无持续过热",
        "直接证据：无任何烟雾报警器触发（kitchen_smoke_alarm），无硬件故障报警",
        "直接证据：住户一直在客厅（Occupancy=1），能够随时监控厨房情况，未报告异常",
        "间接证据：传感器None值可能是高温导致的短暂通信中断，而非永久故障"
      ]}
  ],
  "step4_causal": [
    "正常因果：灶具开启(19:00) → 厨房温度急剧上升(19:00-19:30, 23.6°C→26.91°C) — 正常烹饪加热",
    "正常因果：灶具关闭(19:34) → 开窗通风(19:34:30) → 厨房温度开始逐渐下降 — 住户主动散热",
    "正常因果：烹饪结束(19:34) → 洗碗机启动(20:02) — 正常餐后清洁",
    "正常因果：回家(18:25) → 开灯→开空调 → 客厅Occupancy持续=1 — 正常居家行为",
    "异常关联：灶具处于高温状态(19:01, 19:35) → kitchen_temp_sensor 报告 None（两次）— 高温可能导致传感器通信失败或保护性关机，属于设备对异常工况的反应",
    "正常因果：厨房温度从峰值(26.91°C)逐步回落至23°C以下(20:30) — 通风和自然冷却，无持续热源"
  ],
  "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": [
      "监控厨房温度传感器未来是否持续出现通信异常，如有建议更换",
      "保持厨房通风良好，避免长时间高温环境对电子设备的影响",
      "定期检查烟雾报警器功能，确保防火安全"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常晚餐烹饪和餐后清洁行为：住户18:25回家，19:00开始做饭，19:34关火并开窗通风，20:02启动洗碗机，随后在客厅正常活动，21:49结束就寝。

Explanation: 假设B: [anomaly] 设备故障或火灾隐患：厨房温度传感器间歇故障（报告None），且在灶具关闭后厨房温度异常偏高且下降缓慢，结合开窗行为，可能存在灶具未完全关闭或通风不良导致的过热风险。

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

Explanation: 误报可能性: 温度传感器短暂None值可能是高温环境下的正常通信波动，且厨房无烟雾报警，温度最终恢复正常，误报风险较高

监控厨房温度传感器未来是否持续出现通信异常，如有建议更换 保持厨房通风良好，避免长时间高温环境对电子设备的影响 定期检查烟雾报警器功能，确保防火安全

Hypothesis: A

间接证据：住户21:49完成就寝流程，无任何异常报警

Hypothesis: B

间接证据：传感器故障与温度异常同时出现，可能存在关联

直接证据：开窗后温度开始持续下降，最终恢复正常 — 无持续过热

间接证据：传感器None值可能是高温导致的短暂通信中断，而非永久故障


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

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

```json
{
  "step1_evidence": [
    "[2026-06-13T08:56:09] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在灶具开启后立即变为 None，可能为临时通信问题或传感器重置",
    "[2026-06-13T09:52:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 再次出现 None 值，且前后灶具已关闭，可能与窗户打开有关",
    "[2026-06-13T12:11:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第三次灶具开启后传感器读数为 None，形成重复模式，值得关注",
    "[2026-06-13T18:39:00] kitchen_cook_surface | OnOff = True — 日志中出现不规范的属性名（OnOff 而非 OnOff.OnOff），可能是格式问题或设备故障",
    "[2026-06-13T18:41:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第四次灶具开启后温度传感器变为 None",
    "[2026-06-13T18:44:00] kitchen_temp_sensor | MeasuredValue = 2700 — 日志中出现不规范的属性名（MeasuredValue 而非 TemperatureMeasurement.MeasuredValue），且数值在短时间内从 None 跳变为 27.00°C，可能为传感器恢复或数据错误",
    "[2026-06-13T19:09:00] kitchen_temp_sensor | MeasuredValue = 2750 — 再次出现不规范属性名，数值 27.50°C 与前后温度（约 22-23°C）不一致，可能为数据错误"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器存在间歇性通信问题或临时故障，灶具开启时传感器因过热保护而暂时关闭读数，随后恢复"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器硬件故障或软件缺陷，导致在某些条件下（灶具开启）报告 None 或错误的读数"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["厨房温度传感器在灶具开启时立即变为 None，灶具关闭或窗户打开后恢复，符合过热保护或安全机制的行为（直接证据）", "传感器在 None 间隔期间其他房间温度正常读数，说明非共因故障（间接证据）", "温度传感器在 None 后都能恢复正常读数，且数值变化符合烹饪引起的温度上升和下降趋势（间接证据）"], "opposing": ["传感器在灶具关闭后（如 09:52）仍然上报 None，说明并非单纯由灶具开启引起（间接证据）", "None 的出现时间与灶具开启不完全同步（有时延迟），不符合严格的热保护触发模式（间接证据）", "出现不规范的属性名（'OnOff'、'MeasuredValue'）可能暗示传感器固件或协议异常（间接证据）"]},
    {"hypothesis": "B", "supporting": ["传感器多次在灶具开启后上报 None，存在重复模式（直接证据）", "日志中出现不规范的属性名称，可能表示数据格式化错误或固件缺陷（直接证据）", "18:44 和 19:09 出现异常高值（27°C 以上），远高于当时其他房间温度（约 22-23°C），可能为错误的传感器读数（直接证据）"], "opposing": ["传感器在大多数时间能正常上报读数，且数值合理（间接证据）", "没有其他故障报警（如烟雾报警器未触发），说明整体厨房环境安全（间接证据）", "灶具正常开关，用户行为（如打开窗户）与温度变化一致，用户可能正常使用（间接证据）"]}
  ],
  "step4_causal": [
    "厨房灶具开启 → 厨房温度传感器变为 None（异常关联：可能是过热保护，也可能是传感器故障）",
    "厨房灶具关闭 + 厨房窗户打开 → 厨房温度传感器恢复正常读数（正常因果：通风降温后传感器可工作）",
    "厨房灶具再次开启 → 厨房温度传感器再次变为 None（重复异常关联，强化模式）",
    "不规范的属性名（OnOff、MeasuredValue）出现 → 可能是传感器固件或通信协议错误（异常原因）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "none",
    "false_positive_risk": "存在误报可能性：厨房温度传感器可能在灶具高温区域因过热保护而暂时关闭，这是部分传感器的正常安全设计。但重复出现的 None 和不规范属性名使得单纯的过热保护解释不够充分，且没有证据表明传感器过热保护会关闭 15 分钟以上。由于无实际安全威胁（烟雾报警器未触发，灶具正常使用且用户在附近），风险等级定为无。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器可能间歇性故障，灶具开启时频繁上报 None 并出现不规范属性名，但未产生实际安全威胁。",
    "recommended_actions": ["建议检查厨房温度传感器的固件版本并考虑更新", "如果问题持续，考虑更换传感器以获取可靠的厨房温度数据"]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器存在间歇性通信问题或临时故障，灶具开启时传感器因过热保护而暂时关闭读数，随后恢复

Explanation: 假设B: [anomaly] 厨房温度传感器硬件故障或软件缺陷，导致在某些条件下（灶具开启）报告 None 或错误的读数

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

Explanation: 误报可能性: 存在误报可能性：厨房温度传感器可能在灶具高温区域因过热保护而暂时关闭，这是部分传感器的正常安全设计。但重复出现的 None 和不规范属性名使得单纯的过热保护解释不够充分，且没有证据表明传感器过热保护会关闭 15 分钟以上。由于无实际安全威胁（烟雾报警器未触发，灶具正常使用且用户在附近），风险等级定为无。

建议检查厨房温度传感器的固件版本并考虑更新 如果问题持续，考虑更换传感器以获取可靠的厨房温度数据

Hypothesis: A

传感器在 None 间隔期间其他房间温度正常读数，说明非共因故障（间接证据）

Hypothesis: B

传感器多次在灶具开启后上报 None，存在重复模式（直接证据）

日志中出现不规范的属性名称，可能表示数据格式化错误或固件缺陷（直接证据）

传感器在大多数时间能正常上报读数，且数值合理（间接证据）

没有其他故障报警（如烟雾报警器未触发），说明整体厨房环境安全（间接证据）


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

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

```json
{
  "step1_evidence": [
    "[2026-06-12T18:57:30] kitchen_cook_surface | OnOff.OnOff = True — 住户于18:08外出后（前门锁门），18:57再次开启灶具，但此时厨房无运动传感器触发记录（厨房无运动传感器），可能为住户再次进入厨房烹饪，或存在遗忘风险。",
    "[2026-06-12T18:58:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 18:58厨房温度传感器报告None，19:38再次报告None，表明传感器可能出现间歇性通信故障或硬件问题。",
    "[2026-06-12T19:37:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户被打开，可能与烹饪产生的热量或油烟有关，属于正常行为，但需关注是否在无人时关闭。",
    "[2026-06-12T17:59:30] kitchen_cook_surface | OnOff.OnOff = True — 开始第一次烹饪（18:00左右厨房温度从2349升至2399，正常）。",
    "[2026-06-12T18:08:00] 至 [2026-06-12T18:08:09] front_door_lock: 解锁，front_door_contact: 打开 → 另一住户或同户返回，正常进出。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常烹饪活动：住户在17:59开始烹饪晚餐，18:08另一人（或同一人短暂外出后）返回并开启空调，18:57再次开启灶具进行后续烹饪（如炒菜），19:37关闭灶具并打开窗户通风，期间温度传感器因高温或油烟短暂失联，属于正常家居行为。"},
    {"id": "B", "type": "anomaly", "description": "烹饪后忘记关火/设备故障：住户可能于19:37关闭灶具后未完全关闭（或灶具故障），而温度传感器在19:30之后读数已恢复至正常范围（约22.8°C），且后续厨房温度无异常上升，故可能性较低。同时温度传感器间歇性None值可能预示传感器老化或故障。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[17:59:30] 灶具开启 → [18:00] 厨房温度从约23.5°C升至24.0°C（直接证据，正常烹饪升温）", "[18:08] 入户门解锁→住户返回开灯开空调（直接证据，正常返回）", "[18:57] 灶具再次开启→可能为炒第二道菜（间接证据，行为合理）", "[19:37] 灶具关闭→[19:37:30] 窗户打开通风（直接证据，常规动作）", "烹饪结束后厨房温度持续下降至正常水平，无持续异常高温"], "opposing": ["[18:58] 和 [19:38] 厨房温度传感器报告None，但传感器在其他时间点正常读数，且无其他设备报警，可能为短暂通信中断，不支持严重故障"]},
    {"hypothesis": "B", "supporting": ["[18:58] 和 [19:38] 温度传感器两次报告None，可能是传感器过热保护或硬件故障（直接证据，但轻微）"], "opposing": ["灶具在19:37被明确关闭（直接证据，OnOff=False）", "此后厨房温度在30分钟内从约23.1°C降至22.8°C，且再无异常升温（直接证据，无忘关火迹象）", "全日志无任何烟感报警、无HardwareFaultAlert（直接证据，无严重故障）", "传感器None仅发生两次且间隔40分钟，其他时间均正常运行"]}
  ],
  "step4_causal": [
    "灶具开启（17:59）→ 厨房温度上升（17:59-18:00正常因果）",
    "住户开门返回（18:08）→ 客厅灯开启、空调开启（正常因果，住户到家）",
    "第二次灶具开启（18:57）→ 短暂高温可能导致传感器报None（18:58，异常因果：传感器可能因高温短暂失联）",
    "灶具关闭（19:37）→ 窗户打开通风（正常因果）",
    "窗户打开（19:37）→ 厨房温度加速回落至室温（正常因果）",
    "烹饪结束（19:37）→ 厨房温度在20分钟内恢复正常（22.8°C），无异常（正常因果）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "厨房温度传感器两次报None是唯一需关注的异常，但无烟感报警、灶具已正常关闭、温度已回落，误报为严重威胁的可能性极低。传感器间歇性通信问题可能性更大。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "当日活动为正常生活行为，厨房烹饪活动符合日常模式，未发现入侵、遗忘关火或设备严重故障的可靠证据。厨房温度传感器出现两次None值，可能为传感器自身短暂通信异常或过热保护，建议关注。",
    "recommended_actions": [
      "检查厨房温度传感器（kitchen_temp_sensor）的Wi-Fi或Zigbee连接状态，确认是否存在信号干扰或电池电量不足。",
      "观察后续该传感器是否频繁报告None，如持续出现，考虑更换或维修传感器。",
      "无需紧急响应，日志整体安全，可正常归档。"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常烹饪活动：住户在17:59开始烹饪晚餐，18:08另一人（或同一人短暂外出后）返回并开启空调，18:57再次开启灶具进行后续烹饪（如炒菜），19:37关闭灶具并打开窗户通风，期间温度传感器因高温或油烟短暂失联，属于正常家居行为。

Explanation: 假设B: [anomaly] 烹饪后忘记关火/设备故障：住户可能于19:37关闭灶具后未完全关闭（或灶具故障），而温度传感器在19:30之后读数已恢复至正常范围（约22.8°C），且后续厨房温度无异常上升，故可能性较低。同时温度传感器间歇性None值可能预示传感器老化或故障。

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

Explanation: 误报可能性: 厨房温度传感器两次报None是唯一需关注的异常，但无烟感报警、灶具已正常关闭、温度已回落，误报为严重威胁的可能性极低。传感器间歇性通信问题可能性更大。

观察后续该传感器是否频繁报告None，如持续出现，考虑更换或维修传感器。

无需紧急响应，日志整体安全，可正常归档。

Hypothesis: A

[18:08] 入户门解锁→住户返回开灯开空调（直接证据，正常返回）

[18:57] 灶具再次开启→可能为炒第二道菜（间接证据，行为合理）

烹饪结束后厨房温度持续下降至正常水平，无持续异常高温

Hypothesis: B

传感器None仅发生两次且间隔40分钟，其他时间均正常运行

灶具开启（17:59）→ 厨房温度上升（17:59-18:00正常因果）

住户开门返回（18:08）→ 客厅灯开启、空调开启（正常因果，住户到家）

灶具关闭（19:37）→ 窗户打开通风（正常因果）

窗户打开（19:37）→ 厨房温度加速回落至室温（正常因果）


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

```json
{
  "step1_evidence": [
    "[06:22:00] bedroom_light | SmokeCoAlarm.COState = 1 (持续约25秒后归零) — CO报警触发，但后续无任何跟进，住户可能未处理",
    "[07:37:16] front_door_lock | LockOperation(Manual) 解琐 → 住户出门 — 07:37:20 自动上锁",
    "[18:20:00] front_door_lock | LockOperation(Manual) 解琐 → 住户回家 — 18:20:02 开门",
    "[19:00] kitchen_temp_sensor 从2351开始异常快速上升: 19:05=2425, 19:15=2553, 19:25=2664, 19:35=2685 — 比正常烹饪升温快,且有两次报告None",
    "[19:07:00] kitchen_temp_sensor = None — 传感器读数中断",
    "[19:52:30] kitchen_window_contact = False(打开) — 烹饪期间开窗排烟是合理的",
    "[19:53:00] kitchen_temp_sensor = None — 再次中断读数"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户正常回家后做饭，开启了灶具和洗碗机。厨房温度因烹饪而快速上升，开窗通风排烟，CO报警可能是误报或烹饪产生的短暂警报。"},
    {"id": "B", "type": "normal", "description": "厨房温度传感器受高温影响出现短暂通信故障（报告None），随后恢复。这是设备在极端环境下的异常行为，但本质上属于设备故障而非安全威胁。"},
    {"id": "C", "type": "anomaly", "description": "厨房温度异常快速上升（10分钟升15°C），传感器两次报告None，可能表示发生了明火或过热危险（如油锅起火），住户未及时发现。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[19:06:30] 灶具开启（直接证据）→ 烹饪 → 厨房温度上升（正常因果）", "[19:52:30] 厨房窗户打开（直接证据）→ 排烟降温", "[19:46:00] 洗碗机运行，符合正常做饭后洗碗的程序", "[19:52:00] 灶具关闭（直接证据）→ 之后温度开始回落"], "opposing": ["CO报警在06:22触发时家中尚未有人活动（当时所有Occupancy=0），但报警后25秒自动清除，且当日无后续CO相关事件（可能为自检或设备初始化误报）"]},
    {"hypothesis": "B", "supporting": ["[19:07:00] 灶具开启后30秒，厨房温度传感器报告None（直接证据）", "[19:53:00] 灶具关闭后1分钟，再次报告None（直接证据）", "传感器读数最终在20:25回落至正常水平，说明设备并未完全损坏"], "opposing": ["这种模式（灶具开启/关闭时报告None）可能只是传感器在极端温度下的正常行为，不一定代表故障", "两个None值前后都有有效读数，恢复迅速，不像是严重硬件故障"]},
    {"hypothesis": "C", "supporting": ["[19:15→19:35] 厨房温度10分钟内从25.53°C升至26.85°C，升温1.32°C，比正常烹饪稍快（正常做饭升温3-5°C需更长时间）", "传感器两次报告None（间接证据：可能表明温度超出传感器量程或通信被热干扰）", "CO报警发生在06:22（与厨房无关），但当日无其他异常"], "opposing": ["温度峰值26.85°C仍在合理烹饪范围内（灶具正常工作的温度），未出现极端超限读数", "[19:52:00] 灶具已被关闭，温度随即回落", "整个晚上厨房占用信息不足（未直接显示有人在厨房），但住户回家后打开厨房灯并开灶，且在客厅有人，正常生活动线合理", "没有烟雾报警、火警类明确报警"]}
  ],
  "step4_causal": [
    "[19:00] 厨房灯开 → [19:06:30] 灶具开启 → 厨房温度上升（正常因果: 正常烹饪）",
    "[19:07:00] 灶具开启 → 厨房温度传感器报告None（异常关联: 可能温度过高或设备瞬态故障）",
    "[19:52:00] 灶具关闭 → [19:52:30] 厨房窗户打开（正常因果: 排烟降温）",
    "[19:52:00] 灶具关闭 → 温度逐渐回落（正常因果）",
    "[06:22] CO报警 → 25秒后自动消失且当天无后续（很可能为设备自检误报，非威胁）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "中等。厨房温度上升和开窗行为完全合理，CO报警已自行清除且当天无后续，温度传感器None值可能是正常范围外的瞬态行为。未发现明火、烟雾、异常长时间无人或无法解释的高温残留，所以判定为正常的设备行为或轻微传感器故障可能性最大。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "家中情况正常。住户傍晚回家后正常做饭（开启灶具、洗碗机），因烹饪使厨房温度上升且传感器短暂中断读数，但随后关火、开窗降温。早晨的CO报警已自行清除，很可能是设备初始化误报。未发现安全威胁。",
    "recommended_actions": [
      "1. 建议检查厨房温度传感器是否存在过热保护或通信问题，必要时进行校准或更换",
      "2. 确认CO报警器处于正常自检状态，排除误报可能",
      "3. 提醒住户注意：烹饪期间灶具旁勿离人，可考虑增设烟雾报警联动，确保厨房安全"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户正常回家后做饭，开启了灶具和洗碗机。厨房温度因烹饪而快速上升，开窗通风排烟，CO报警可能是误报或烹饪产生的短暂警报。

Explanation: 假设B: [normal] 厨房温度传感器受高温影响出现短暂通信故障（报告None），随后恢复。这是设备在极端环境下的异常行为，但本质上属于设备故障而非安全威胁。

Explanation: 假设C: [anomaly] 厨房温度异常快速上升（10分钟升15°C），传感器两次报告None，可能表示发生了明火或过热危险（如油锅起火），住户未及时发现。

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

Explanation: 误报可能性: 中等。厨房温度上升和开窗行为完全合理，CO报警已自行清除且当天无后续，温度传感器None值可能是正常范围外的瞬态行为。未发现明火、烟雾、异常长时间无人或无法解释的高温残留，所以判定为正常的设备行为或轻微传感器故障可能性最大。

1. 建议检查厨房温度传感器是否存在过热保护或通信问题，必要时进行校准或更换
2. 确认CO报警器处于正常自检状态，排除误报可能
3. 提醒住户注意：烹饪期间灶具旁勿离人，可考虑增设烟雾报警联动，确保厨房安全

Hypothesis: A

[19:52:30] 厨房窗户打开（直接证据）→ 排烟降温

[19:46:00] 洗碗机运行，符合正常做饭后洗碗的程序

[19:52:00] 灶具关闭（直接证据）→ 之后温度开始回落

Hypothesis: B

[19:07:00] 灶具开启后30秒，厨房温度传感器报告None（直接证据）
[19:53:00] 灶具关闭后1分钟，再次报告None（直接证据）
传感器读数最终在20:25回落至正常水平，说明设备并未完全损坏

两个None值前后都有有效读数，恢复迅速，不像是严重硬件故障

Hypothesis: C

传感器两次报告None（间接证据：可能表明温度超出传感器量程或通信被热干扰）

CO报警发生在06:22（与厨房无关），但当日无其他异常

[19:52:00] 灶具已被关闭，温度随即回落

没有烟雾报警、火警类明确报警

[19:52:00] 灶具关闭 → 温度逐渐回落（正常因果）


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

```json
{
  "step1_evidence": [
    "[2026-06-09T18:18:20] 前 kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 烟雾报警器电池低，属于安防设备隐患，但未持续。",
    "[2026-06-09T14:45:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 烟雾报警短暂触发，15分钟后解除，与灶具开启时间重叠。",
    "[2026-06-09T19:33:00]-[19:34:00] kitchen_cook_surface 关闭 → kitchen_window_contact 打开 → kitchen_temp_sensor 报告 None — 做饭后立即开窗通风，温度传感器短暂不可用（可能被蒸汽遮挡/暂时故障），但随后恢复读值且未持续异常。",
    "[2026-06-09T19:06:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 传感器短暂无读数，后续恢复，与做饭蒸汽环境相关。",
    "[2026-06-09T19:34:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 开窗通风后再次短暂无读数，但之后恢复正常上传。",
    "[2026-06-09T18:28:20] 起 living_room_occupancy 每 4-5 分钟精确报告 Occupancy=1，持续至夜间 — 非常规律的周期性心跳，非人类活动模式（人类不会每5分钟精准触发运动传感器）。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "客厅运动传感器误报或配置为短时间刷新：传感器可能处于心跳模式或软件固定轮询间隔，实际住户在客厅活动但传感器仅周期性触发。或者传感器检测范围覆盖风扇、植物等恒动源。"},
    {"id": "B", "type": "anomaly", "description": "客厅运动传感器硬件故障（stuck-at 或周期性故障）：传感器以极其精确的5分钟（约300秒）间隔报告Occupancy=1，无论实际是否有人，属于典型的传感器硬件时序故障。这是设备故障，非入侵。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "间接证据：住户18:28回家后至22:10期间确实在客厅活动（开灯、开空调、做饭后回来），合理推断客厅有人，周期性 Occupancy=1 可能恰好匹配人类停留但传感器刷新率固定。",
        "间接证据：做饭期间厨房无运动传感器数据，但住户确实在厨房活动（开灯、开灶具），说明运动传感器刷新周期可能较长或处于其他房间。"
      ],
      "opposing": [
        "直接证据：18:28-22:10 期间 living_room_occupancy 报告频率极其规律，间隔恒定为 300 秒（18:28:20 → 18:33:20 → 18:38:20 ...），人类不会如此精准地每5分钟触发一次运动传感器。",
        "直接证据：22:10后住户已离开客厅进入卧室（卧室Occupancy=1且灯点亮），但客厅 Occupancy 仍然每5分钟报告1次，持续至23:54，此时客厅无人。这直接否定了“住户在客厅活动”的解释。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：18:28:20 至 23:54:03 期间（超过5小时），living_room_occupancy 报告间隔恒定为 300 秒（精确到秒级），共约65次全相同间隔，这是硬件定时器故障的典型特征。",
        "直接证据：22:10后住户明确在卧室（卧室Occupancy=1, 灯亮、窗帘关闭），但客厅Occupancy仍持续每5分钟报告1次，而此时客厅应无人。",
        "直接证据：运动传感器极其规律的周期性触发（精确每5分钟一次），属于我定义的硬件故障而非人类活动。"
      ],
      "opposing": [
        "无直接否定证据。传感器从未报告 Occupancy=0 来验证故障模式，但持续的=1本身就是故障表现。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果：14:35 灶具开启 → 15分钟后的 14:45 SmokeAlarm=1（短暂烟雾或油蒸汽触发报警） → 14:50 灶具关闭 → 14:55 报警解除。因果关系合理。",
    "正常因果：19:05 灶具再次开启 → 厨房温度从 ~24℃ 迅速升至 ~26.8℃（正常烹饪升温） → 19:33 灶具关闭 → 19:33 厨房窗户打开（开窗散味） → 温度传感器短暂无读数（可能蒸汽遮挡）。因果关系正常。",
    "正常因果：18:28 住户回家 → 解锁、开门、开玄关灯 → 客厅Occupancy变为1（住户进入客厅） → 开客厅灯和空调。正常回家流程。",
    "正常因果：22:10 住户准备睡觉 → 关闭客厅灯和空调 → 进入卧室 → 开卧室灯、拉窗帘 → 入户口门确认关闭。正常就寝准备流程。",
    "异常关联：18:28:20 后 living_room_occupancy 每5分钟精确触发一次，与住户实际活动位置无关（22:10后住户在卧室，客厅Occupancy仍持续报告）→ 传感器硬件故障。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "极低。运动传感器以精确的300秒周期连续报告 Occupancy=1 超过5小时，且22:10后客厅无人时依旧触发，不可能是正常人类活动。这是典型的传感器固件/硬件时序故障。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "客厅运动传感器以精确300秒周期持续报告Occupancy=1，无论是否有人，疑似传感器硬件时序故障（stuck-at周期性错误），需维修或更换。",
    "recommended_actions": [
      "重启客厅运动传感器（living_room_occupancy），观察是否恢复正常。",
      "如重启无效，联系厂家检修或更换传感器硬件。",
      "烟雾报警器（kitchen_smoke_alarm）电池低电量（BatteryAlert=1）需尽快更换电池，确保安防功能正常。",
      "厨房温度传感器（kitchen_temp_sensor）在做饭期间短暂无读数，若后续恢复正常则无需处理，但可关注是否再次出现。"
    ]
  }
}
```

Explanation: 假设A: [normal] 客厅运动传感器误报或配置为短时间刷新：传感器可能处于心跳模式或软件固定轮询间隔，实际住户在客厅活动但传感器仅周期性触发。或者传感器检测范围覆盖风扇、植物等恒动源。

Explanation: 假设B: [anomaly] 客厅运动传感器硬件故障（stuck-at 或周期性故障）：传感器以极其精确的5分钟（约300秒）间隔报告Occupancy=1，无论实际是否有人，属于典型的传感器硬件时序故障。这是设备故障，非入侵。

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

Explanation: 误报可能性: 极低。运动传感器以精确的300秒周期连续报告 Occupancy=1 超过5小时，且22:10后客厅无人时依旧触发，不可能是正常人类活动。这是典型的传感器固件/硬件时序故障。

如重启无效，联系厂家检修或更换传感器硬件。

Hypothesis: A

Hypothesis: B


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

```json
{
  "step1_evidence": [
    "厨房烟雾报警器电池低电量: [2026-06-03T09:55:00] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 烟雾报警器电池电量低，属于安全设备故障预警，需关注。",
    "厨房烟雾报警器触发后自动解除(疑似烹饪烟雾): [2026-06-04T10:05:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 → [2026-06-04T10:15:00] SmokeState = 0 — 触发时厨房灶具已开启，且10分钟后解除，最大可能为正常烹饪导致的轻微烟雾。",
    "厨房灶具在有人时开启，且随后厨房温度读数异常(变为None): [2026-06-04T09:55:00] kitchen_cook_surface On=On → [2026-06-04T18:52:00] & [2026-06-04T19:40:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 传感器读数中断，可能是烹饪导致的热量过高或传感器故障。",
    "深夜至凌晨室内温度异常持续升高: 00:00至06:00期间，厨房、客厅、卧室温度均持续单向大幅上升(厨房从22.64°C升至24.77°C，卧室从21.74°C升至23.83°C，客厅从22.81°C升至24.76°C)，远超正常夜间降温规律，属于异常的单向漂移。",
    "空调在傍晚开启后，客厅温度仍持续高于卧室且无明显下降: [2026-06-04T18:23:39] living_room_ac On=On,SysMode=3 → 随后1小时内客厅温度在22.94-23.22°C之间，未显示向设定值趋近的迹象(如快速下降)，与制冷模式开启后降温预期不符。",
    "凌晨2-5点所有区域运动传感器持续报告无人: 从00:00至06:25，全部运动传感器持续报告 Occupancy=0，与“温度异常升高”这一现象构成逻辑矛盾，排除人为活动导致，指向非人为因素。",
    "清晨6:25后出现正常起床行为，住户活动序列符合日常: 卫生间亮灯→卧室亮灯→打开窗帘→厨房亮灯→出门，活动正常，排除了前夜无人时段住户在家的可能。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "环境温升属于季节性自然现象(如夏日清晨气温快速回升)或由于建筑保温性能良好在夏季出现室内温度整体偏高。"},
    {"id": "B", "type": "anomaly", "description": "多处温度传感器出现系统性漂移故障(sensor_drift)，导致读数持续单向偏离真实温度。"},
    {"id": "C", "type": "anomaly", "description": "空调、灶具等大功率设备同时运行导致室内异常升温，但证据显示无人时段这些设备未开启，可能性低。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "【直接证据】凌晨阶段所有温度传感器读数同步上升，三室趋势一致，符合建筑整体受热模型",
        "【直接证据】凌晨时段室内活动为零，排除人为热源干扰，温升更可能是环境因素(如夏季日出早，太阳辐射提前使建筑吸热)",
        "【间接证据】当日可能存在特殊天气(如热浪)，但日志中无室外温度可对比"
      ],
      "opposing": [
        "【间接证据】夜间(00:00-06:00)通常是温度低谷期，室内温度应呈现下降或持平，而非持续大幅上升(3-4°C)，温升幅度超过日均波动(±2°C)的合理范围",
        "【间接证据】卧室温度传感器在白天(09:00-12:00)波动剧烈(24.42°C→24.33°C→24.36°C→24.42°C...)，呈锯齿状，不符合单纯建筑升温的平滑曲线"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "【直接证据】三个传感器显示连续10小时以上的单向同步大幅上升(22°C→25°C)，完全违背夜间降温的自然规律，是传感器漂移的典型模式",
        "【直接证据】厨房温度传感器在烹饪期间出现两次'None'回传，表明传感器在高温下已不稳定或即将失效",
        "【直接证据】空调开启后客厅温度读数变化不大(22.94°C→22.98°C→22.86°C)，未体现制冷效果，可能是传感器读数不反映真实室温"
      ],
      "opposing": [
        "【间接证据】如果三传感器同时发生漂移，概率较低，但若为同批次产品故障则可能",
        "【间接证据】白天(09:00-18:00)温度大致呈现上午升→中午平稳→下午降的循环，趋势仍部分符合日变化(虽然数值偏高)，不完全符合完全卡死的漂移模式"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "【直接证据】傍晚开空调+灶具做饭时厨房温度确实急剧上升(到27.11°C后回落)，设备对温度有可观测的因果影响"
      ],
      "opposing": [
        "【直接证据】凌晨无人时段所有设备均未启动(灶具、空调、灯、门锁均无事件)，无法解释凌晨温升"
      ]
    }
  ],
  "step4_causal": [
    "正常因果: 灶具开启 → 厨房温度快速上升(09:55-10:05厨房灶具开→烟雾报警触发→关火，厨房温升5°C) — 正常烹饪",
    "正常因果: 住户出门(07:21解锁→07:21出门→07:21闭锁) → 随后全室Occupancy变为无人 — 正常出门",
    "正常因果: 下班回家(18:23解锁→亮灯→开客厅灯→开空调) → 客厅Occupancy=1 — 正常回家",
    "正常因果: 开火煮饭(09:55开灶具) → 轻微烟雾触发报警(10:05) → 关火(10:10) → 报警解除(10:15) — 短暂烹饪烟雾，属正常",
    "异常关联: 深夜(00:00-06:00)全部运动传感器无人 + 室内温度持续单向上升 — 排除人为热源和自然降温规律，指向传感器漂移",
    "异常关联: 空调开启(18:23)后客厅温度读数基本不变 — 空调制冷效果无法体现在温度传感器读数上，进一步佐证传感器读数异常"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "medium",
    "false_positive_risk": "如果当天确实出现异常热浪(如室外温度达到36°C以上)且建筑保温/隔热极好，同时空调故障导致无法降温，则有可能出现该温升模式，但多种迹象(厨房传感器None、空调读数不符)指向漂移概率更高。该判断存在中等误报风险。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_drift",
    "threat_description": "至少卧室、厨房、客厅共3个温度传感器疑似出现系统性漂移故障，凌晨时段读数持续单向快速漂移，导致温度数据完全失真，可能影响空调自动控制等依赖温度的逻辑",
    "recommended_actions": [
      "立即检查或更换卧室、厨房、客厅3个温度传感器，优先更换厨房温度传感器(曾报告None)",
      "检查所有同批次温度传感器的固件版本，判断是否有已知漂移Bug",
      "手动使用红外测温仪验证当前真实室内温度，校准系统",
      "检查空调制冷效果，确认客厅实际温度是否如读数所示未降温"
    ]
  }
}
```

Explanation: 假设A: [normal] 环境温升属于季节性自然现象(如夏日清晨气温快速回升)或由于建筑保温性能良好在夏季出现室内温度整体偏高。

Explanation: 假设B: [anomaly] 多处温度传感器出现系统性漂移故障(sensor_drift)，导致读数持续单向偏离真实温度。

Explanation: 假设C: [anomaly] 空调、灶具等大功率设备同时运行导致室内异常升温，但证据显示无人时段这些设备未开启，可能性低。

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

Explanation: 误报可能性: 如果当天确实出现异常热浪(如室外温度达到36°C以上)且建筑保温/隔热极好，同时空调故障导致无法降温，则有可能出现该温升模式，但多种迹象(厨房传感器None、空调读数不符)指向漂移概率更高。该判断存在中等误报风险。

检查所有同批次温度传感器的固件版本，判断是否有已知漂移Bug

手动使用红外测温仪验证当前真实室内温度，校准系统

检查空调制冷效果，确认客厅实际温度是否如读数所示未降温

Hypothesis: A

【间接证据】当日可能存在特殊天气(如热浪)，但日志中无室外温度可对比

Hypothesis: B

【间接证据】如果三传感器同时发生漂移，概率较低，但若为同批次产品故障则可能

Hypothesis: C


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

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

```json
{
  "step1_evidence": [
    "厨房温度异常升高: [19:03:30] kitchen_cook_surface OnOff=True → [19:20:00] kitchen_temp_sensor 从2271(00:00)飙升至2603(+332) — 2分钟内从正常烹饪温度骤升至异常高温，远超正常烹饪5°C涨幅",
    "厨房温度传感器短暂失效: [19:04:00] kitchen_temp_sensor MeasuredValue=None → [19:05:00] 恢复2426 — 传感器在灶具开启后突然返回None值，随后恢复，可能暂时过载或故障",
    "无人时危险设备运行: [07:14:18] 住户离家，所有Occupancy=0，但 [08:20:00] 厨房有运动(08:21)后灶具开启(08:21:30) — 但住户于18:30才回家，8:21-18:30期间无住户在场，灶具却运行，但后续日志显示18:30有人回家，中间存在矛盾",
    "厨房温度传感器再次短暂失效: [19:29:00] kitchen_temp_sensor MeasuredValue=None → [19:30:00] 恢复2671 — 灶具关闭后传感器再次返回None值，故障模式重复",
    "厨房温度回落缓慢: [19:28:00] 灶具关闭后，厨房温度从2676(19:25)缓慢下降至2262(20:35) — 符合自然冷却规律，但期间厨房窗户被打开(19:28:30)，可能为排烟或降温",
    "卧室运动传感器心跳模式: [22:14:21] 至 [22:55:28] 卧室Occupancy每5分钟触发一次1/0模式，精确如21:19:21, 22:24:21等 — 住户已上床(灯关闭22:53)，该模式可能是人体翻身触发，但周期非常规律",
    "客厅空调开启导致温度下降: [18:30:18] 空调开启后，客厅温度从2306(18:30)逐步降至2243(22:35) — 正常因果",
    "厨房窗户在烹饪后被打开: [19:28:30] kitchen_window_contact StateValue=False — 灶具关闭后立即开窗，正常排烟降温"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户在8:21-8:30之间其实在家并进行了烹饪，但运动传感器或时间序列存在微小偏移/误差，导致日志看似矛盾；或者当日另有他人(如家人/保洁)在家中"},
    {"id": "B", "type": "anomaly", "description": "住户于07:14离家后，有人(入侵者)在08:20进入并使用了厨房(灶具)，随后住户18:30回家发现异常；厨房温度异常骤升可能是灶具使用不当或持续空烧"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器故障，导致读数在烹饪期间出现None值且升温幅度异常；但灶具确实被开启和关闭，有人活动属实"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["支持-间接: 08:20 bedroom_occupancy=1, 08:21 living_room_occupancy=1, 08:21:30 kitchen_cook_surface=True — 可能住户短暂回家后又离开了", "支持-间接: 19:03-19:28 正常烹饪行为(开灯→开灶具→关灶具→开窗散烟)"], "opposing": ["否定-直接: 07:14:18 门锁自动上锁，front_door_contact=True(门关好)，表明住户已离家且门已关", "否定-间接: 08:20-18:30间无front_door记录，若住户回家应有开门记录"]},
    {"hypothesis": "B", "supporting": ["支持-直接: 07:14-18:30间无门锁/门事件，但08:20-08:21有卧室/客厅运动传感器触发，之后灶具开启", "支持-间接: 厨房温度19:20达到267.6°C，远高于正常烹饪(通常≤100°C)，可能灶具空烧或油温过高"], "opposing": ["否定-间接: 若入侵，通常不会开灶具烹饪(易被发现)；入侵者更可能翻找财物", "否定-间接: 08:21后运动传感器报告仅出现在08:20-08:30，随后再无人活动，行为不符合入侵者持续活动"]},
    {"hypothesis": "C", "supporting": ["支持-直接: 厨房温度传感器两次返回None(19:04, 19:29)，且温度读数从8:30-18:30几乎持平(2533左右)，可能处于故障模式", "否定-直接: 灶具确实被开启(08:21:30)和关闭(19:28)，温度升高趋势与烹饪一致；None可能是间歇性通信故障而非传感器完全失效"], "opposing": ["否定-间接: 传感器故障无法解释08:20-08:30的运动传感器触发和灶具开启行为"]}
  ],
  "step4_causal": [
    "07:14:14 门锁解锁 → 07:14:16 门打开 → 07:14:18 门关闭并自动上锁 → 住户离家（正常因果）",
    "08:20-08:21 卧室/客厅运动触发 → 08:21:30 灶具开启 → 厨房温度从08:20的2537逐步升高至12:00的2524，但变化不明显（异常关联：无人回家记录下有人活动并开启灶具）",
    "19:03:30 灶具开启 → 19:04:00 温度传感器None（可能过载）→ 19:05:00 恢复 → 厨房温度从2426(19:05)快速升至2676(19:25)（正常因果：烹饪导致温度上升，但涨幅3-5°C正常，此处上涨约25°C异常）",
    "19:28:00 灶具关闭 → 19:28:30 厨房窗户打开 → 温度逐步回落（正常因果：排烟降温）",
    "18:30:18 空调制冷开启 → 客厅温度从2306持续下降 → 22:14:13 空调关闭（正常因果）",
    "22:14:00-23:00 卧室Occupancy每5分钟心跳式触发 → 住户在床但睡眠不稳或传感器灵敏（正常行为，但需关注健康隐患）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "C",
    "confidence": "medium",
    "severity": "high",
    "false_positive_risk": "存在误报可能：如果08:20的灶具开启是智能家居自动化误操作(如定时烹饪)，或前一日未关闭的灶具残留事件，则整体为正常；但温度达到2676°C远超正常烹饪温度(通常≤150°C)，火灾风险较高"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "fire_risk",
    "threat_description": "厨房灶具在19:03-19:28期间使用时温度传感器升至2676°C(约267.6°C)，远超正常烹饪温度(通常≤150°C)，存在油温过高或空烧引发火灾的严重风险；此外，08:20-08:30无人情况下的灶具开启事件表明可能存在自动化逻辑错误或入侵者进入",
    "recommended_actions": [
      "立即检查厨房灶具和温度传感器状态，确认是否仍有异常热量或火灾隐患",
      "检查08:20-08:30期间是否有门锁或门窗被打开的记录，排除入侵可能",
      "查看智能家居自动化规则，确认是否存在错误的定时/自动化操作导致灶具在无人在家时开启",
      "检查厨房温度传感器是否存在硬件故障，必要时更换",
      "建议安装厨房烟雾报警器联动灶具自动关闭功能，当无人且温度异常时自动切断燃气/电源"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户在8:21-8:30之间其实在家并进行了烹饪，但运动传感器或时间序列存在微小偏移/误差，导致日志看似矛盾；或者当日另有他人(如家人/保洁)在家中

Explanation: 假设B: [anomaly] 住户于07:14离家后，有人(入侵者)在08:20进入并使用了厨房(灶具)，随后住户18:30回家发现异常；厨房温度异常骤升可能是灶具使用不当或持续空烧

Explanation: 假设C: [anomaly] 厨房温度传感器故障，导致读数在烹饪期间出现None值且升温幅度异常；但灶具确实被开启和关闭，有人活动属实

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

Explanation: 误报可能性: 存在误报可能：如果08:20的灶具开启是智能家居自动化误操作(如定时烹饪)，或前一日未关闭的灶具残留事件，则整体为正常；但温度达到2676°C远超正常烹饪温度(通常≤150°C)，火灾风险较高

立即检查厨房灶具和温度传感器状态，确认是否仍有异常热量或火灾隐患

检查08:20-08:30期间是否有门锁或门窗被打开的记录，排除入侵可能

检查厨房温度传感器是否存在硬件故障，必要时更换

Hypothesis: A

Hypothesis: B

否定-间接: 若入侵，通常不会开灶具烹饪(易被发现)；入侵者更可能翻找财物

Hypothesis: C


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

```json
{
  "step1_evidence": [
    "事件1: [2026-06-14T19:45:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 厨房烟雾报警器触发，这是明确的报警事件，表明存在烟雾或潜在的火灾风险。",
    "事件2: [2026-06-14T19:35:00] kitchen_cook_surface | OnOff.OnOff = True — 报警前约10分钟灶具被打开，结合烟雾报警，表明是在烹饪过程中产生了过量烟雾。",
    "事件3: [2026-06-14T19:50:00] kitchen_cook_surface | OnOff.OnOff = False; SmokeState = 0 — 灶具关闭后烟雾报警器很快解除，事件持续时间短，符合烹饪时偶尔产生的烟雾（如煎炸）特征。",
    "事件4: [2026-06-13T19:35:00] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 前一天晚上烟雾报警器报告电池低电量，属于设备维护问题，但未在日志中看到电池恢复正常的记录。",
    "事件5: [2026-06-14T23:50:18~23:55:00] bedroom_occupancy = 1; living_room_occupancy = 1 — 深夜时分（23:50之后），卧室和客厅的运动传感器同时保持有人状态，这可能是住户在夜间活动，但持续到接近午夜仍有两区域同时检测到人，值得关注。",
    "事件6: [2026-06-14T22:50:00~22:50:43] 住户睡觉前的关门、锁门、关灯系列操作 — 22:50关客厅灯、关空调、关卧室窗帘、关卧室灯、自动锁门，是正常的就寝流程，但之后客厅和卧室的Occupancy仍然为1，说明住户并未完全就寝，或者传感器有残留。",
    "事件7: [2026-06-14T12:50:00~13:00:00 及之后] 客厅温度传感器读数 (living_room_temp_sensor) 在开空调后从约25.5°C逐步下降到约24.1°C（17:00），然后基本稳定在22~23°C — 空调制冷效果正常，读数符合预期。",
    "事件8: [2026-06-14T11:00:00~12:30:00] 厨房温度传感器 (kitchen_temp_sensor) 从26.0°C急速上升到29.41°C（11:35），然后逐步下降 — 这个急剧升温时间段对应于两次灶具使用（09:23和11:56），厨房温度变化符合灶具使用导致的局部高温（正常）。",
    "事件9: [2026-06-14T23:30:00~23:55:00] 卧室和客厅运动传感器同时为1且持续30分钟以上 — 正常就寝时间（23:30之后）两个区域同时有人的行为模式较少见，可能是住户在卧室和客厅之间穿梭，或者传感器有延迟/串扰。",
    "事件10: 日志中未发现门锁异常、漏水报警、窗户传感器异常打开、操作失败事件等 — 安全相关的主要设备（门锁、门窗传感器）状态正常。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "住户正常烹饪导致烟雾报警：住户在19:35开启灶具进行烹饪，可能因煎炒或油温过高产生了少量烟雾触发了报警器，随后关火打开窗户（19:50关火后19:55报警解除），属于正常的烹饪事故。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "厨房火灾隐患/烹饪失控：烟雾报警器的持续报警（尽管时间较短）可能是灶具使用不当或厨房有易燃物接近，导致了较大的烟雾，存在潜在的火灾风险。"
    },
    {
      "id": "C",
      "type": "anomaly",
      "description": "烟雾报警器误报（电池低电量导致）：前一天（6月13日）报警器报告了电池低电量，低电量可能导致报警器误触发，此次报警可能是电池问题引起的误报。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据：报警触发时间（19:45）紧跟在灶具开启（19:35）之后约10分钟，且烟雾报警持续约5分钟（19:45~19:50），之后灶具关闭（19:50）报警解除（19:55），时间上完全吻合正常烹饪场景。",
        "直接证据：报警期间及之后厨房温度传感器读数（19:45~19:50: 22.85°C ~ 22.75°C）未出现异常高温，说明烟雾不是由火灾引起的，而是短暂烹饪烟雾。",
        "间接证据：住户当时在家（厨房与客厅有灯亮着，Occupancy为1），有能力及时处理关火。"
      ],
      "opposing": [
        "直接证据：报警前一天（6月13日19:35）有电池低电量报警，低电量可能降低报警器可靠性或导致误报，但此次报警与灶具使用时间高度吻合，与电池低电量的关联不直接。",
        "间接证据：报警后未记录厨房窗户的打开动作（但19:50报警解除后，19:55:30有厨房窗户传感器False状态（打开）的记录），说明可能在报警期间或之后开了窗，属于正常应对行为。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：烟雾报警器明确触发了SmokeState=1报警，说明存在烟雾，存在潜在的火灾风险。",
        "直接证据：灶具开启后仅10分钟就触发报警，意味着可能油温过高或食物烧焦，烟雾量较大。"
      ],
      "opposing": [
        "直接证据：报警持续时间很短（仅5分钟），灶具关闭后立即解除，表明烟雾源被迅速控制和消除，没有演变为火灾。",
        "直接证据：厨房温度传感器在整个报警期间读数无异常升高（保持在22.7~22.9°C），如果有持续明火或高温，温度传感器应会显著上升。",
        "直接证据：没有烟雾报警持续、灶具未关、温度飙升等火灾蔓延的迹象。"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "直接证据：前一天（6月13日19:35）有低电量报警（BatteryAlert=1），低电量可能使传感器工作不稳定，导致误报。",
        "间接证据：报警解除后（19:55）没有记录电池状态恢复正常的日志，说明电池低电量问题可能未被解决。"
      ],
      "opposing": [
        "直接证据：报警时间与灶具使用高度相关（开启后10分钟触发，关闭后立即解除），如果是电池导致的误报，这种时间上的强相关性不太可能。",
        "直接证据：报警解除后住户关闭了灶具（19:50），且次日（14日）没有再出现烟雾报警，说明是一次性事件，而非持续性的传感器故障。"
      ]
    }
  ],
  "step4_causal": [
    "因果关系1: 灶具开启(19:35) → 厨房局部产生烟雾(烹饪) → 烟雾报警触发(19:45)（正常因果：烹饪行为导致报警）。",
    "因果关系2: 烟雾报警触发 → 住户察觉并关火(19:50) + 打开窗户(19:55:30) → 烟雾消散 → 报警解除(19:55)（正常因果：住户正确应对）。",
    "因果关系3: 报警前一天电池低电量(19:35) — 与次日烟雾报警的关系：低电量可能降低了传感器灵敏度或增加了误报概率，但基于时间关联（与灶具使用）更倾向于是真实报警（间接关联，非直接因果）。",
    "因果关系4: 夜间运动传感器双区域同时检测到人(23:30~23:55) — 可能原因是住户在客厅和卧室之间走动、传感器检测范围交叉覆盖、或者传感器延迟复位（正常/异常边界：深夜长时间两区域Occupancy为1值得关注）。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "较低。烟雾报警器被真实触发，但属于正常烹饪行为而非火灾，误判为火灾风险的可能性较低。电池低电量因素增加了轻微误报概率，但时间关联性非常强。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "家庭安全状况正常，无明确可报告的异常威胁。",
    "recommended_actions": [
      "建议检查并更换厨房烟雾报警器电池，消除低电量隐患。",
      "记录一次轻度烹饪烟雾事件，作为正常家庭活动的参考基线。",
      "对于深夜（23:30后）客厅和卧室同时持续检测到Occupancy=1的情况，建议检查运动传感器的安装位置和灵敏度，确认是否存在误触发或信号串扰。"
    ]
  }
}
```

家庭安全状况正常，无明确可报告的异常威胁。

Explanation: 假设A: [normal] 住户正常烹饪导致烟雾报警：住户在19:35开启灶具进行烹饪，可能因煎炒或油温过高产生了少量烟雾触发了报警器，随后关火打开窗户（19:50关火后19:55报警解除），属于正常的烹饪事故。

Explanation: 假设B: [anomaly] 厨房火灾隐患/烹饪失控：烟雾报警器的持续报警（尽管时间较短）可能是灶具使用不当或厨房有易燃物接近，导致了较大的烟雾，存在潜在的火灾风险。

Explanation: 假设C: [anomaly] 烟雾报警器误报（电池低电量导致）：前一天（6月13日）报警器报告了电池低电量，低电量可能导致报警器误触发，此次报警可能是电池问题引起的误报。

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

Explanation: 误报可能性: 较低。烟雾报警器被真实触发，但属于正常烹饪行为而非火灾，误判为火灾风险的可能性较低。电池低电量因素增加了轻微误报概率，但时间关联性非常强。

建议检查并更换厨房烟雾报警器电池，消除低电量隐患。

记录一次轻度烹饪烟雾事件，作为正常家庭活动的参考基线。

Hypothesis: A

Hypothesis: B

直接证据：没有烟雾报警持续、灶具未关、温度飙升等火灾蔓延的迹象。

Hypothesis: C


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

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

```json
{
  "step1_evidence": [
    "厨房温度异常升高: [2026-06-04T18:00:00至18:55:00] kitchen_temp_sensor 从 2386 持续上升至 2707，远超过烹饪导致的 3-5°C 正常升温范围 (约 47°C 升至约 27°C)，且无人时 (occupancy=0) 持续升温",
    "厨房温度传感器读数为 None: [2026-06-04T18:56:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后传感器立即失效",
    "厨房窗户异常打开: [2026-06-04T19:41:30] kitchen_window_contact | BooleanState.StateValue = False — 在厨房温度异常高且灶具刚关闭 (19:41:00) 后立即打开，可能是人为开窗通风",
    "厨房温度传感器读数为 None (第二次): [2026-06-04T19:42:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 窗户打开后传感器再次失效",
    "入住后厨房温度持续升高: 从 [18:00] 厨房温度 2386 (23.86°C) 升至 [18:55] 2707 (27.07°C)，且整个过程中所有区域 occupancy=0 (无人)",
    "客厅运动传感器周期性触发: [18:29 至 23:52] living_room_occupancy 以精确 5 分钟间隔 (每 5 分 02 秒) 报告 Occupancy=1 — 极其规律，非人类活动模式",
    "厨房温度传感器两次读数为 None: 在灶具开启后和窗户打开后两次失去读数，且均发生在关键事件时刻"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户使用灶具做饭，厨房温度正常升高，开窗通风散热，传感器短暂故障或环境干扰导致 None 读数"},
    {"id": "B", "type": "anomaly", "description": "厨房灶具在无人看管状态下持续加热，导致室温异常升高，存在火灾风险；客厅运动传感器可能是故障或干扰"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器硬件故障，导致读数异常偏高并间歇性失效，灶具使用正常"}
  ],
  "step3_verification": [
    {"hypothesis": "A",
     "supporting": [
       "[18:29] 住户回家 (front_door_lock解锁，entrance_light开) → 厨房灶具可能在之后开启（无明确日志但温度数据暗示），[18:55] kitchen_light和kitchen_cook_surface开启（间接证据），[19:41] 关闭灶具并开窗",
       "[18:55:30] kitchen_cook_surface.OnOff.OnOff = True 直接证明灶具被开启",
       "[19:41:00] kitchen_cook_surface.OnOff.OnOff = False 证明灶具被关闭",
       "[19:41:30] 开窗通风是合理的降温行为"
      ],
     "opposing": [
       "[18:00至18:55] 住户未回家时 (全部occupancy=0) 厨房温度已从23.86°C升至27.07°C，高于正常升幅，且无灶具使用记录",
       "客厅运动传感器的5分钟精确周期性非常不自然，但可能与运动传感器故障有关，不直接否定做饭假说"
      ]},
    {"hypothesis": "B",
     "supporting": [
       "[18:00-18:55] 无人时段温度持续上升至27.07°C，比正常室温高约3°C，可能为灶具待机或小火力加热",
       "温度传感器在灶具开启后立即报None，可能是过热保护或传感器损毁",
       "[18:55] 住户回家后灶具才被正式开启与关闭，但温度在无人时已升 — 可能灶具未完全关闭"
      ],
     "opposing": [
       "[18:55:30] 灶具被住户明确开启，说明住户在家并进行烹饪操作",
       "没有烟雾报警器报警（厨房烟雾报警器无异常记录）",
       "温度升高幅度 (3.2°C) 在长时间小火力下仍属可能"
      ]},
    {"hypothesis": "C",
     "supporting": [
       "[18:56] 和 [19:42] 两次传感器读数为None，表明传感器失效",
       "温度读数在18:00前（全时段）已从22.71°C升至23.86°C，但同一时段living_room和bedroom温度也同步上升约1°C，说明环境正常升温"
      ],
     "opposing": [
       "传感器在两次None后恢复正常工作并报告合理温度（约22.7°C），与灶具关闭和开窗后环境降温一致",
       "温度变化与环境行为（烹饪、开窗）逻辑吻合，非随机故障"
      ]}
  ],
  "step4_causal": [
    "[18:00-18:55] 厨房温度缓慢上升 → 可能为环境自然升温 + 灶具未完全关闭造成的余热（正常微弱） — 正常因果，但需注意",
    "[18:55:30] 开启灶具 → 厨房温度从 2707 继续上升至 2716 — 正常烹饪因果",
    "[18:56:00] 灶具开启 → 温度传感器报 None (可能传感器受影响) — 异常关联，需关注传感器可靠性",
    "[19:41:00] 关闭灶具 → 厨房温度开始下降（2707→2524→2495→…→2274） — 正常因果",
    "[19:41:30] 开窗 → 温度加速下降 — 正常因果",
    "[19:42:00] 窗户打开 → 温度传感器再次报 None (可能气流或湿度影响) — 异常关联，传感器稳定性存疑",
    "客厅运动传感器每5分钟精确触发 → 非人类活动，疑似硬件故障而非入侵 — 异常（传感器故障）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A（正常烹饪 + 传感器偶发故障）",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "中等。温度异常升高主要发生在住户回家前（18:00-18:55），且无人时段温度升幅约3°C，不能完全排除灶具未关闭导致的火灾风险。但住户回家后有明确的烹饪行为，且关闭后开窗，整体行为合理。客厅传感器周期性触发可能为故障，但无安全威胁。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器在关键时刻（灶具开启、开窗）两次报 None，可能存在间歇性故障；客厅运动传感器极其规律地每5分钟触发一次，疑似硬件故障需排查。",
    "recommended_actions": [
      "检查厨房温度传感器（kitchen_temp_sensor）是否松动或损坏，建议重启或更换",
      "检查客厅运动传感器（living_room_occupancy）是否被遮挡或故障，建议重启或更换",
      "确认灶具在无人时是否完全关闭，建议安装灶具使用状态日志监控，并确保人走火灭",
      "检查厨房烟雾报警器是否正常工作"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户使用灶具做饭，厨房温度正常升高，开窗通风散热，传感器短暂故障或环境干扰导致 None 读数

Explanation: 假设B: [anomaly] 厨房灶具在无人看管状态下持续加热，导致室温异常升高，存在火灾风险；客厅运动传感器可能是故障或干扰

Explanation: 假设C: [anomaly] 厨房温度传感器硬件故障，导致读数异常偏高并间歇性失效，灶具使用正常

Explanation: 最可能假设: A（正常烹饪 + 传感器偶发故障）, 置信度: medium

Explanation: 误报可能性: 中等。温度异常升高主要发生在住户回家前（18:00-18:55），且无人时段温度升幅约3°C，不能完全排除灶具未关闭导致的火灾风险。但住户回家后有明确的烹饪行为，且关闭后开窗，整体行为合理。客厅传感器周期性触发可能为故障，但无安全威胁。

确认灶具在无人时是否完全关闭，建议安装灶具使用状态日志监控，并确保人走火灭

检查厨房烟雾报警器是否正常工作

厨房温度传感器硬件故障，导致读数异常偏高并间歇性失效，灶具使用正常

Hypothesis: A

[19:41:30] 开窗通风是合理的降温行为

Hypothesis: B

温度传感器在灶具开启后立即报None，可能是过热保护或传感器损毁

[18:55:30] 灶具被住户明确开启，说明住户在家并进行烹饪操作
没有烟雾报警器报警（厨房烟雾报警器无异常记录）
温度升高幅度 (3.2°C) 在长时间小火力下仍属可能

Hypothesis: C

温度变化与环境行为（烹饪、开窗）逻辑吻合，非随机故障

[19:41:30] 开窗 → 温度加速下降 — 正常因果

A（正常烹饪 + 传感器偶发故障）


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

```json
{
  "step1_evidence": [
    "[2026-06-05T06:27:00至07:39:19] 卧室和卫生间运动传感器频繁交替触发 — 早上6:27起床后，卧室和卫生间传感器交替报告有人，符合正常的晨间活动，非异常信号。",
    "[2026-06-05T07:39:19] front_door_lock | LockOperation(LockOperationType=1, Manual) — 住户手动解锁，正常出门操作。",
    "[2026-06-05T07:39:23] front_door_lock | LockOperation(LockOperationType=0, Auto) → LockState=1 — 出门后自动上锁，正常行为。",
    "[2026-06-05T18:09:00] front_door_lock | LockOperation(LockOperationType=1, Manual) → LockState=2 — 住户手动开门回家。",
    "[2026-06-05T18:46:30] kitchen_cook_surface | OnOff.OnOff = True — 开始做饭。",
    "[2026-06-05T18:47:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器报告空值，可能是传感器故障或通信中断。",
    "[2026-06-05T18:15:00至18:45:00] kitchen_temp_sensor | 温度从 2577 升至 2710，但厨房无 Occupancy=1 记录 — 做饭期间厨房温度正常升高，但厨房无运动传感器，无法判断是否有人。",
    "[2026-06-05T19:30:00] kitchen_cook_surface | OnOff.OnOff = False — 关火，正常做饭结束。",
    "[2026-06-05T19:30:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户被打开，可能是做饭后通风。",
    "[2026-06-05T19:31:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次报告空值，持续异常。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户正常日常生活：早上起床出门，傍晚回家做饭，饭后开窗通风，温度传感器因长时间高温或油烟干扰而短暂失效/通信丢失。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障（硬件故障/通信丢失），可能导致火灾风险无法被及时检测。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[07:39:19-23] 手动开门→自动上锁（正常出门）", "[18:09:00] 手动开门回家", "[18:46:30] 开启灶具→做饭", "[19:30:00] 关火→19:30:30开窗通风（正常行为链）", "整日报表中卧室/客厅/卫生间运动传感器活动模式符合一人居住的日常作息"], "opposing": ["厨房温度传感器在做饭期间和关火后两次报告None，但关火后温度逐步恢复正常（2270左右），说明传感器可能间歇性恢复后再次失效，非完全物理损坏"]},
    {"hypothesis": "B", "supporting": ["[18:47:00] 和 [19:31:00] 厨房温度传感器两次报告None，属明确异常事件", "传感器在正常工作时间（其他传感器稳定读数）下报告None，指向传感器自身问题"], "opposing": ["厨房温度传感器在18:50、19:00、19:10等时间点仍有有效读数（2612→2526→2453），并非完全卡死或持续无输出，可能是间歇性通信中断或过热保护"]}
  ],
  "step4_causal": [
    "因果关系1: 住户回家(18:09) → 开启客厅空调(18:09:27) → 客厅温度逐步下降（2300→22xx）（正常：空调制冷效果）",
    "因果关系2: 开启灶具(18:46:30) → 厨房温度从2500左右升至2700以上（18:15-18:45，正常升温）",
    "因果关系3: 关火(19:30) + 开窗(19:30:30) → 厨房温度从2710逐步回落至2270（正常通风散热）",
    "因果关系4: 厨房温度传感器在做饭期间两次报告None（18:47, 19:31）— 异常关联：传感器可能在高温/高湿环境中发生通信中断或过热保护，或传感器硬件故障"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A 正常生活，伴厨房温度传感器间歇性故障",
    "confidence": "medium",
    "severity": "medium",
    "false_positive_risk": "中等。传感器报告None未必是永久性故障，可能是高温环境下的临时通信丢失，但两次出现在关键时间段（做饭前后）增加了传感器的可疑度。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器在做饭期间两次报告空值，可能已发生故障或通信中断，影响火灾检测能力。",
    "recommended_actions": [
      "1. 检查厨房温度传感器（kitchen_temp_sensor）是否物理损坏或电池耗尽，必要时更换。",
      "2. 确认 Matter 网络连接是否稳定，排除 Zigbee/Thread 通信问题。",
      "3. 验证厨房烟雾报警器（kitchen_smoke_alarm）状态是否正常，确保次级火灾防护能力。",
      "4. 观察未来1-2天传感器是否能恢复正常读数。"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户正常日常生活：早上起床出门，傍晚回家做饭，饭后开窗通风，温度传感器因长时间高温或油烟干扰而短暂失效/通信丢失。

Explanation: 假设B: [anomaly] 厨房温度传感器故障（硬件故障/通信丢失），可能导致火灾风险无法被及时检测。

Explanation: 最可能假设: A 正常生活，伴厨房温度传感器间歇性故障, 置信度: medium

Explanation: 误报可能性: 中等。传感器报告None未必是永久性故障，可能是高温环境下的临时通信丢失，但两次出现在关键时间段（做饭前后）增加了传感器的可疑度。

4. 观察未来1-2天传感器是否能恢复正常读数。

厨房温度传感器故障（硬件故障/通信丢失），可能导致火灾风险无法被及时检测。

Hypothesis: A

[07:39:19-23] 手动开门→自动上锁（正常出门）
[18:09:00] 手动开门回家
[18:46:30] 开启灶具→做饭
[19:30:00] 关火→19:30:30开窗通风（正常行为链）
整日报表中卧室/客厅/卫生间运动传感器活动模式符合一人居住的日常作息

Hypothesis: B

传感器在正常工作时间（其他传感器稳定读数）下报告None，指向传感器自身问题

A 正常生活，伴厨房温度传感器间歇性故障


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

```json
{
  "step1_evidence": [
    "[2026-06-18T10:34:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 烟雾报警器触发，属于设备明确报警事件，必须报告",
    "[2026-06-18T10:24:00] kitchen_cook_surface | OnOff.OnOff = True — 灶具在烟雾报警前10分钟开启，是可能的原因",
    "[2026-06-18T10:39:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在烟雾报警后5分钟关闭，可能是住户手动关闭或自动关闭",
    "[2026-06-18T10:44:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 0 — 烟雾报警10分钟后解除，符合正常烹饪场景",
    "[2026-06-18T19:16:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在烹饪高峰期（19:15开启灶具）读数变为None，可能传感器故障或过热保护",
    "[2026-06-18T19:32:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第二次出现None读数，值得关注",
    "[2026-06-18T19:31:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在灶具关闭后立即打开，是正常的通风行为",
    "[2026-06-18T06:39:10至08:59:55] bathroom_occupancy | OccupancySensing.Occupancy = 1 每5分钟精确触发一次 — 极其规律的周期性触发模式(每5分钟/300秒)，不符合人类活动模式，可能是传感器硬件故障（stuck-at或误触发）",
    "[2026-06-18T18:09:00至22:10:29] 回家后的正常作息序列 — 开门→开灯→开空调→关灯→关空调→开卧室灯→关窗帘→关门→锁门，属于正常行为模式"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户正常烹饪导致短暂烟雾报警，厨房温度传感器因过热短暂失联后恢复"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器存在间歇性故障，可能因过热损坏；卫生间运动传感器存在硬件故障（极其规律的周期性触发）"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "直接证据: 10:24灶具开启 → 10:34烟雾报警 → 10:39灶具关闭 → 10:44烟雾解除（正常烹饪流程）",
      "直接证据: 19:15灶具再次开启 → 厨房温度从19:10的2485(24.85°C)升至19:20的2608(26.08°C)，升幅约1.2°C（正常烹饪升温）",
      "间接证据: 19:31:30窗户打开 → 19:35温度开始从2673(26.73°C)下降（正常通风散热）",
      "间接证据: 温度传感器两次None读数后恢复正常，可能是灶具高温导致传感器临时过热保护"
    ], "opposing": [
      "间接证据: 卫生间运动传感器每5分钟精确触发一次，从06:39至08:59持续约2.5小时，这是典型的硬件故障模式而非人类活动",
      "间接证据: 19:16温度None读数与19:00到19:10之间温度从2363(23.63°C)快速升至2485(24.85°C)相关，升温速率约1.2°C/10分钟，可能因灶具开启（19:15）前的预热活动"
    ]},
    {"hypothesis": "B", "supporting": [
      "直接证据: 卫生间运动传感器从06:39:10开始每5分钟精确报告Occupancy=1，持续至08:59:55，共约14次，间隔极其规律（300秒），非人类活动模式",
      "直接证据: 厨房温度传感器在19:16和19:32两次报告MeasuredValue=None，在传感器正常工作时不应出现",
      "间接证据: 厨房温度传感器None读数发生在烹饪高峰期间（19:15灶具开启，19:20温度2608即26.08°C），可能因过热导致传感器故障或通信中断"
    ], "opposing": [
      "直接证据: 卫生间运动传感器在08:59:55后不再报告精确的5分钟间隔，模式消失，可能是临时故障或恢复",
      "直接证据: 厨房温度传感器在两次None后恢复正常读数（19:20报告2608，之后持续下降至正常值），没有持续失效",
      "间接证据: 温度传感器None也可能是因高温导致信号暂时丢失，而非永久性硬件故障"
    ]}
  ],
  "step4_causal": [
    "灶具开启(10:24) → 厨房局部烟雾 → 烟雾报警器触发(10:34) → 灶具关闭(10:39) → 烟雾消散 → 报警解除(10:44)（正常因果）",
    "灶具开启(19:15) → 厨房温度快速升高 → 温度传感器过热保护/通信中断(19:16, 19:32) → 窗户打开(19:31) → 温度逐步回落 → 传感器恢复（正常因果）",
    "卫生间运动传感器极其规律的周期性触发(06:39-08:59) → 无明显因果关联（异常关联）",
    "住户18:09回家 → 开灯/开空调 → 正常活动 → 22:10关闭电器就寝 → 关门锁门（正常日常行为）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "烟雾报警和温度传感器None均可用正常烹饪活动解释，且所有设备最终恢复正常，但卫生间运动传感器的异常模式未在更长时间范围内验证，不能完全排除持续存在硬件故障的可能性"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "卫生间运动传感器表现出极其规律的每5分钟周期性触发模式，符合硬件故障（如灵敏度漂移、电路问题）而非人类活动；厨房温度传感器在烹饪高峰出现短暂None值，可能与过热有关，已恢复",
    "recommended_actions": [
      "检查卫生间运动传感器状态，考虑更换或重置",
      "监测厨房温度传感器后续是否稳定，如在非烹饪时段再次出现None读数，则需更换",
      "确认烟雾报警器电池报警（BatteryAlert=1在一天前出现）已处理，建议更换电池"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户正常烹饪导致短暂烟雾报警，厨房温度传感器因过热短暂失联后恢复

Explanation: 假设B: [anomaly] 厨房温度传感器存在间歇性故障，可能因过热损坏；卫生间运动传感器存在硬件故障（极其规律的周期性触发）

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

Explanation: 误报可能性: 烟雾报警和温度传感器None均可用正常烹饪活动解释，且所有设备最终恢复正常，但卫生间运动传感器的异常模式未在更长时间范围内验证，不能完全排除持续存在硬件故障的可能性

检查卫生间运动传感器状态，考虑更换或重置

监测厨房温度传感器后续是否稳定，如在非烹饪时段再次出现None读数，则需更换

住户正常烹饪导致短暂烟雾报警，厨房温度传感器因过热短暂失联后恢复

Hypothesis: A

Hypothesis: B


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

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

```json
{
  "step1_evidence": [
    "[09:17:05] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在灶具开启时报告 None，可能故障或连接中断。",
    "[09:46:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次报告 None。",
    "[12:01:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在午间烹饪时再次报告 None。",
    "[12:47:30] kitchen_window_contact | BooleanState.StateValue = False — 烹饪结束后厨房窗户被打开（正常通风）。",
    "[12:48:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器继续报告 None。",
    "[17:59:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 傍晚烹饪时温度传感器再次报告 None。",
    "[18:38:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 烹饪结束后温度传感器再次报告 None。",
    "[19:31:30] kitchen_cook_surface | OnOff.OnOff = True — 晚间第三次烹饪开启灶具。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器间歇性无线连接丢失或电池接近耗尽，导致报告 None，但传感器并未完全故障，因为在两段 None 之间有时能恢复正常读数。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器硬件故障，即将完全失效，无法提供准确的温度监测，增加忘记关火或火灾未被及时检测的风险。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "间接证据：传感器在 09:17:05 前和 09:20:00 后又开始正常报告（09:20:00 读到 2548），说明是间歇性问题而非永久性故障。",
        "间接证据：类似的情况在 12:01:00-12:05:00、17:59:00-18:05:00 等时间点也观察到 'None' 后恢复，符合无线干扰或低电量的间歇性模式。"
      ],
      "opposing": [
        "没有直接否定证据。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：一天内 kitchen_temp_sensor 共出现 6 次 'None' 报告（09:17:05, 09:46:00, 12:01:00, 17:59:00, 18:38:00, 12:48:00），频率异常高。",
        "间接证据：传感器在烹饪期间多次失效（灶具开启前后），而烹饪是温度监测最关键的时段，故障时机非常不理想。"
      ],
      "opposing": [
        "间接证据：传感器在大部分非烹饪时段读数正常，说明并非完全卡死，仍有工作能力。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果：厨房灶具开启 → 厨房温度升高 30-40°C 以上（正常烹饪，中午最高达 29.21°C 即 29.21°C, 远超环境温度）。",
    "正常因果：烹饪结束后关闭灶具 → 厨房温度逐步下降（从 29.21°C 降到 27.40°C 再到 24.88°C）。",
    "正常因果：烹饪结束打开窗户 → 温度下降速度加快（正常通风行为，在 09:45:30、12:47:30、18:37:30 均有记录）。",
    "异常关联：灶具开启 → kitchen_temp_sensor 在 1-2 分钟内报告 None（间歇性传感器故障，时机可疑但不是恶意事件）。",
    "正常因果：住户起床（08:37）→ 卧室开灯、开窗帘 → 卫生间灯亮（正常晨间活动）。",
    "正常因果：住户从客厅进入卧室（22:49）→ 关客厅灯和空调 → 关卧室窗帘（正常就寝流程）。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "误报可能性较低，传感器确实在关键时段出现多次 'None'，但考虑到其能自行恢复，更可能是低电量或短暂连接问题而非直接安全入侵。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器间歇性报告 None，在烹饪关键时段无法提供温度数据，存在火灾风险未被及时发现的小隐患。",
    "recommended_actions": [
      "检查厨房温度传感器（kitchen_temp_sensor）的电池电量，必要时更换电池。",
      "确认传感器与网关的距离及是否存在信号干扰，建议重新配对或增加中继器。",
      "考虑设置警报规则：若灶具开启超过 5 分钟且温度无变化，自动触发通知。",
      "如果传感器持续故障，尽快更换新设备以保证厨房温度监测功能。"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器间歇性无线连接丢失或电池接近耗尽，导致报告 None，但传感器并未完全故障，因为在两段 None 之间有时能恢复正常读数。

Explanation: 假设B: [anomaly] 厨房温度传感器硬件故障，即将完全失效，无法提供准确的温度监测，增加忘记关火或火灾未被及时检测的风险。

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

Explanation: 误报可能性: 误报可能性较低，传感器确实在关键时段出现多次 'None'，但考虑到其能自行恢复，更可能是低电量或短暂连接问题而非直接安全入侵。

确认传感器与网关的距离及是否存在信号干扰，建议重新配对或增加中继器。

考虑设置警报规则：若灶具开启超过 5 分钟且温度无变化，自动触发通知。

如果传感器持续故障，尽快更换新设备以保证厨房温度监测功能。

Hypothesis: A

Hypothesis: B

间接证据：传感器在大部分非烹饪时段读数正常，说明并非完全卡死，仍有工作能力。


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

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

```json
{
  "step1_evidence": [
    "[18:25:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2702 — 厨房温度持续快速上升，从18:00的23.89°C到18:25的27.02°C，且无灶具开启记录，异常。",
    "[18:20:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2649 — 厨房温度继续异常攀升，达到26.49°C。",
    "[18:15:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2583 — 厨房温度25.83°C，远高于正常水平。",
    "[18:10:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2506 — 厨房温度25.06°C，仍在上升。",
    "[18:05:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2448 — 厨房温度24.48°C，开始异常升高。",
    "[18:29:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 住户回家开锁。",
    "[18:56:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器报告空值（可能故障或断电）。",
    "[19:26:00] kitchen_cook_surface | OnOff.OnOff = False — 住户关闭灶具。",
    "[19:26:30] kitchen_window_contact | BooleanState.StateValue = False — 住户打开厨房窗户通风。",
    "[19:27:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次报告空值。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户回家前忘记关火或灶具意外开启，导致厨房温度升高；回家后及时关闭并开窗通风，未造成严重后果。"},
    {"id": "B", "type": "anomaly", "description": "厨房存在火灾风险：灶具长时间无人看管持续加热（从18:00到19:26），温度一度接近30°C，且温度传感器出现故障/空值。"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器故障：传感器在18:55-19:25期间出现None值，可能因过热损坏或通信故障。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["住户18:29回家后，至19:26关闭灶具（直接证据：CookSurface.OnOff=False）", "住户19:26打开厨房窗户散热（直接证据：window_contact=False）", "之后厨房温度从27.10°C逐步下降至22.77°C（间接证据：温度读数）"], "opposing": ["灶具在住户回家前已处于开启状态约1.5小时（18:00-18:29），无人看管（所有Occupancy=0），这本身是异常行为", "温度传感器在18:56和19:27出现None值，可能过热损坏（间接证据）"]},
    {"hypothesis": "B", "supporting": ["灶具在无人时段（18:00-18:29）持续开启（间接证据：厨房温度从23.89°C升至27.10°C）", "温度峰值达到27.10°C（25%↑），远超正常烹饪升温范围", "传感器出现None值，可能过热导致故障（直接证据：MeasuredValue=None）", "住户回家后5分钟内即关闭灶具，说明是紧急处理（间接证据）"], "opposing": ["未触发烟雾报警器（SmokeAlarm无事件）", "住户回家后处置得当，未造成实际火灾", "灶具最高温度27.10°C，尚未达到起火阈值"]},
    {"hypothesis": "C", "supporting": ["温度传感器在18:56和19:27两次报告None值（直接证据）", "传感器在高温下出现异常，可能过热保护或损坏（间接证据）"], "opposing": ["传感器在18:55之前和19:30之后恢复正常读数，未永久故障", "没有其他传感器异常报告"]}
  ],
  "step4_causal": [
    "灶具开启（无人） → 厨房温度持续上升（18:00-18:25） — 异常",
    "住户回家（18:29） → 发现灶具开启 + 高温 → 关闭灶具（19:26）+ 开窗通风（19:26:30） → 温度下降 — 正常应急响应",
    "厨房温度传感器过热 → 出现None值（18:56, 19:27） — 疑似设备故障（正常因果）",
    "厨房温度下降后 → 传感器恢复读数 — 正常"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "medium",
    "false_positive_risk": "低。证据链完整：无人时段温度异常上升 → 灶具开启（推理） → 住户紧急关火开窗 → 温度回落。虽有其他可能（如传感器故障），但正常解释更符合整体数据。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "unattended_cooking",
    "threat_description": "厨房灶具在住户外出期间（约1.5小时）处于开启状态，导致厨房温度异常升高至27°C，存在火灾风险。住户回家后及时发现并关闭灶具、开窗通风。",
    "recommended_actions": [
      "立即检查灶具及厨房电路，确认是否存在故障导致误开启",
      "考虑安装智能灶具（带自动关闭功能）或烟雾报警联动",
      "建议启用离家模式（场景联动）：离家后自动检测并关闭所有用电器",
      "检查厨房温度传感器是否因过热受损，必要时更换"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户回家前忘记关火或灶具意外开启，导致厨房温度升高；回家后及时关闭并开窗通风，未造成严重后果。

Explanation: 假设B: [anomaly] 厨房存在火灾风险：灶具长时间无人看管持续加热（从18:00到19:26），温度一度接近30°C，且温度传感器出现故障/空值。

Explanation: 假设C: [anomaly] 厨房温度传感器故障：传感器在18:55-19:25期间出现None值，可能因过热损坏或通信故障。

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

Explanation: 误报可能性: 低。证据链完整：无人时段温度异常上升 → 灶具开启（推理） → 住户紧急关火开窗 → 温度回落。虽有其他可能（如传感器故障），但正常解释更符合整体数据。

立即检查灶具及厨房电路，确认是否存在故障导致误开启 考虑安装智能灶具（带自动关闭功能）或烟雾报警联动 建议启用离家模式（场景联动）：离家后自动检测并关闭所有用电器 检查厨房温度传感器是否因过热受损，必要时更换

Hypothesis: A

之后厨房温度从27.10°C逐步下降至22.77°C（间接证据：温度读数）

温度传感器在18:56和19:27出现None值，可能过热损坏（间接证据）

Hypothesis: B

温度峰值达到27.10°C（25%↑），远超正常烹饪升温范围

住户回家后5分钟内即关闭灶具，说明是紧急处理（间接证据）

未触发烟雾报警器（SmokeAlarm无事件） 住户回家后处置得当，未造成实际火灾 灶具最高温度27.10°C，尚未达到起火阈值

Hypothesis: C

温度传感器在18:56和19:27两次报告None值（直接证据） 传感器在高温下出现异常，可能过热保护或损坏（间接证据）

传感器在18:55之前和19:30之后恢复正常读数，未永久故障 没有其他传感器异常报告

灶具开启（无人） → 厨房温度持续上升（18:00-18:25） — 异常

厨房温度下降后 → 传感器恢复读数 — 正常


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

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

```json
{
  "step1_evidence": [
    "[2026-06-06T00:00:00至07:00:00] kitchen_temp_sensor, living_room_temp_sensor, bedroom_temp_sensor | TemperatureMeasurement.MeasuredValue 持续上升 — 从午夜到早上7点，所有房间温度持续单方向上升（客厅22.67°C→25.17°C，卧室21.63°C→24.14°C，厨房22.72°C→25.02°C），上升幅度达2.5°C，不符合凌晨温度自然下降的日间正弦规律。",
    "[2026-06-06T00:00:00至05:30:00] 所有occupancy传感器 | OccupancySensing.Occupancy = 0 — 整夜无人活动，但温度持续上升，排除人为热源（如烹饪）导致的温度变化。",
    "[2026-06-06T09:10:02] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 传感器首次出现None值（无效读数），之后在烹饪期间（09:47, 12:08, 17:59, 18:41）多次出现None。",
    "[2026-06-06T09:47:30] kitchen_window_contact | BooleanState.StateValue = False — 关火后立即开窗，且两次烹饪（12:26:30, 18:40:30）关火后均开窗，可能是为了排烟或降温。",
    "[2026-06-06T11:43:03] front_door_contact | BooleanState.StateValue = False — 在上午11:43有人开门外出，之后在11:43-11:53期间living_room_occupancy仍为1，说明有人在客厅活动。",
    "[2026-06-06T11:43:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=5) — 门锁解锁（开门操作），操作来源为远程（OperationSource=3），用户索引5。",
    "[2026-06-06T11:53:00] front_door_lock | Event: LockOperation(LockOperationType=0, OperationSource=3, UserIndex=5) — 约10分钟后门锁上锁，操作来源同样为远程，用户索引5。",
    "[2026-06-06T23:09:16] front_door_lock | DoorLock.LockState = 1 — 晚上23:09门锁自动上锁，随后卧室灯关闭、卧室窗帘关闭，符合正常就寝流程。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常解释：室内温度持续上升是由于空调/供暖系统在无人时段仍然运行，导致所有房间温度均匀升高。这属于设备自动运行或住户忘记关闭供暖/制冷设备。门窗传感器在烹饪后打开说明住户在排气，属于正常行为。远程开锁（11:43）和远程上锁（11:53）可能是住户使用手机App操作，或智能门锁的自动化（如离家模式）。"},
    {"id": "B", "type": "anomaly", "description": "异常解释-设备故障：温度传感器集体出现单向漂移故障，导致所有房间温度读数同步且持续上升。厨房温度传感器在烹饪期间多次出现None值，可能是传感器硬件故障或通信问题。"},
    {"id": "C", "type": "anomaly", "description": "异常解释-外部入侵/异常行为：凌晨温度上升可能由外部热源（如火灾）导致。远程开锁后（11:43）门打开，但客厅仍检测到有人，可能是入侵者进入或尾随。远程操作来源异常，可能是凭证泄露。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据：夜间温度持续均匀上升（客厅22.67→25.17，卧室21.63→24.14，厨房22.72→25.02），所有房间温度变化趋势一致（+2.5°C），说明是整体环境温度变化而非局部设备加热。",
        "直接证据：温度上升趋势呈现单调递增，没有出现烹饪时厨房温度飙升（如12:00-12:30厨房温度从25.56°C骤升至29.19°C）的局部剧变模式。",
        "直接证据：夜间所有occupancy传感器始终为0，排除人类活动热源。",
        "直接证据：门锁远程操作（OperationSource=3）表明用户可能使用手机App或自动化场景触发，属于正常智能家居使用方式。",
        "间接证据：如果空调/供暖系统设定为恒温（如23°C），但系统可能在夜间进入节能模式并停止制冷/制热，导致室外温度（如果较暖）通过墙体传热使室温缓慢上升。"
      ],
      "opposing": [
        "日志中没有空调/供暖设备开启或运行状态的记录（如living_room_ac的状态只在10:14和23:09有开关记录），无法直接确认空调在夜间是否运行。",
        "如果空调处于制热模式并持续运行，室温通常会稳定在设定值附近（±0.3°C），而非持续单向上升2.5°C。持续单向上升更符合空调关闭后室外热量传入。",
        "空调在10:14才被手动开启，说明之前可能处于关闭状态，夜间温度上升并非由空调导致。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：厨房温度传感器多次（09:10, 09:48, 12:08, 17:59, 18:41）报告None值，表明传感器存在间歇性通信故障或读数异常。",
        "直接证据：三个温度传感器的读数变化趋势几乎完全同步（如00:00-07:00同时上升），这种同步性在正常环境下不太常见（不同房间热容量不同，温升速率应有差异）。",
        "间接证据：如果整晚所有传感器同步漂移，可能是环境共性因素（如电源电压波动、电磁干扰）或传感器共用参考电压电路出现问题。"
      ],
      "opposing": [
        "温度上升幅度（+2.5°C）在物理上完全可能（凌晨室外温度上升，室内通过墙壁传导升温），且上升速率（约0.35°C/小时）合理。",
        "传感器出现None值的时间均在烹饪开始或结束时，可能由于高温超出量程或传感器温度保护触发，而非持续性硬件故障。",
        "在白天（07:00之后），三个温度传感器读数开始出现差异（如厨房在烹饪时明显高于其他房间），说明传感器各自工作正常。"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "直接证据：11:43门锁远程开锁（LockOperationType=1），同时门传感器变成False（门打开），表明有人员进入或离开。",
        "直接证据：11:43门解锁后，客厅occupancy传感器仍为1（直到11:53门锁上锁后才变为0？实际上living_room_occupancy在11:43-11:59期间持续为1），表明有人在室内活动。",
        "间接证据：远程操作（OperationSource=3）可能来自恶意用户或入侵者破解了门锁凭证。",
        "间接证据：凌晨温度持续上升可能与外界环境（如夏季夜晚较热）有关，但无人时段温度异常升高也可能暗示建筑围护结构被破坏（如门窗未关导致热空气进入）。"
      ],
      "opposing": [
        "远程操作来源（OperationSource=3）表示门锁状态变更由远程应用（非本地按键）触发，这是智能门锁的正常功能，不一定是入侵。用户索引5（UserIndex=5）是固定住户的凭证。",
        "11:43解锁到11:53上锁的时间间隔（10分钟）符合住户短暂外出（如取快递、扔垃圾）或出门后使用App上锁的正常行为模式。",
        "客厅occupancy在门打开后仍为1，且持续到11:59才变为0（12:00之后变为0？日志中12:00时living_room_occupancy=0），这可能是传感器滞后或住户仍在客厅活动并未出门。",
        "没有发现任何入侵的典型迹象（如窗户传感器在异常时间触发、门锁多次尝试失败等）。",
        "凌晨温度上升曲线平滑，没有突然的阶跃变化，不支持门窗突然打开导致大量热空气涌入。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果：空调关闭 → 室外热量通过围护结构传入 → 室内温度缓慢均匀上升（从午夜到早晨）+2.5°C（正常自然温升）",
    "正常因果：灶具开启（09:09:32）→ 厨房温度从25.55°C开始上升（正常烹饪升温）",
    "正常因果：烹饪结束关火 → 开窗通风降温（09:47:30, 12:26:30, 18:40:30）（正常行为）",
    "正常因果：住户起床（08:30）→ 卧室灯亮 → 卫生间灯亮 → 厨房灯亮（正常晨间路线）",
    "正常因果：住户开门外出（11:43）→ 远程上锁（11:53）（正常离家操作）",
    "正常因果：就寝前（23:09）→ 关客厅灯、关空调、关卧室窗帘、锁门、关卧室灯（正常睡前流程）",
    "异常关联：厨房温度传感器在烹饪开始/结束时多次报告None值 → 可能存在传感器故障或通信问题（异常）",
    "正常因果：空调开启（10:14）→ 客厅温度开始逐步下降（从25.58°C降至午后24°C左右）（正常空调降温效应）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "误报可能性较低。温度上升已通过常识推理（空调关闭+室外传入热量）得到合理解释，且整夜无人活动排除了人为热源。厨房温度传感器None值仅在烹饪前后出现，可解释为高温保护。门锁远程操作有合理时间间隔和行为模式。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "家庭状况正常。凌晨温度均匀上升是空调关闭后室外热量传入的自然现象；厨房温度传感器在烹饪时出现None值可能是量程或通信问题，但恢复正常；门锁远程操作符合住户日常行为。",
    "recommended_actions": [
      "无需紧急处理。",
      "建议检查厨房温度传感器是否安装位置靠近灶具，导致高温时读数异常，可考虑调整传感器位置或更换。",
      "建议设置空调恒温场景（如夜间23°C），以维持舒适温度并避免室温大幅波动。",
      "保持当前监控状态，无需警报。"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常解释：室内温度持续上升是由于空调/供暖系统在无人时段仍然运行，导致所有房间温度均匀升高。这属于设备自动运行或住户忘记关闭供暖/制冷设备。门窗传感器在烹饪后打开说明住户在排气，属于正常行为。远程开锁（11:43）和远程上锁（11:53）可能是住户使用手机App操作，或智能门锁的自动化（如离家模式）。

Explanation: 假设B: [anomaly] 异常解释-设备故障：温度传感器集体出现单向漂移故障，导致所有房间温度读数同步且持续上升。厨房温度传感器在烹饪期间多次出现None值，可能是传感器硬件故障或通信问题。

Explanation: 假设C: [anomaly] 异常解释-外部入侵/异常行为：凌晨温度上升可能由外部热源（如火灾）导致。远程开锁后（11:43）门打开，但客厅仍检测到有人，可能是入侵者进入或尾随。远程操作来源异常，可能是凭证泄露。

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

Explanation: 误报可能性: 误报可能性较低。温度上升已通过常识推理（空调关闭+室外传入热量）得到合理解释，且整夜无人活动排除了人为热源。厨房温度传感器None值仅在烹饪前后出现，可解释为高温保护。门锁远程操作有合理时间间隔和行为模式。

建议设置空调恒温场景（如夜间23°C），以维持舒适温度并避免室温大幅波动。

保持当前监控状态，无需警报。

Hypothesis: A

直接证据：夜间所有occupancy传感器始终为0，排除人类活动热源。

Hypothesis: B

Hypothesis: C

没有发现任何入侵的典型迹象（如窗户传感器在异常时间触发、门锁多次尝试失败等）。

正常因果：住户开门外出（11:43）→ 远程上锁（11:53）（正常离家操作）


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

```json
{
  "step1_evidence": [
    "1: [09:04:07] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在做饭期间报告 None，疑似通信不稳定或传感器瞬时故障",
    "2: [09:37:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在灶具关闭后立即打开，是正常行为（通风），非异常",
    "3: [09:38:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第二次报告 None，间隔约 33 分钟，疑似传感器间歇性故障",
    "4: [11:00:00-11:51:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue 从 2603 急剧上升至 2941（约 29°C 升至 29.4°C），随后快速下降至 2603 以下 — 这是正常的烹饪/灶具热效应，灶具开启导致温度上升，关火后下降",
    "5: [11:52:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第三次 None，时间巧合于第二次灶具开启，疑似每次灶具开启时传感器短暂故障",
    "6: [12:42:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第四次 None，再次在灶具关后几分钟出现",
    "7: [18:11:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第五次 None，第三次灶具开启时出现",
    "8: [18:41:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第六次 None，第四次灶具关后出现",
    "9: [20:30:00] living_room_occupancy | OccupancySensing.Occupancy = 1 — 晚上 8:30 客厅有人的正常活动，非异常",
    "10: [22:45:22] front_door_contact | BooleanState.StateValue = True — 入户门关闭，[22:45:23] front_door_lock | DoorLock.LockState = 1 — 门上锁，正常就寝前的安全操作"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器在灶具开启/关闭时短暂通信丢失（None），原因是灶具电磁干扰或传感器本地缓存刷新延迟，属于正常设备特性，无安全隐患"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器存在间歇性故障（通信中断或硬件不稳定），每次灶具使用时加剧，可能导致未来在真正火灾风险时无法报告异常温度"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器数据 None 并非通信故障，而是传感器物理损坏或线路老化，需要更换"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["每次 None 出现后传感器很快恢复正常读数，如 09:05:00 恢复 2543，09:40:00 恢复 2549", "None 仅在灶具开启（09:04、11:52、18:11）或关闭后（09:38、12:42、18:41）短暂出现，与热冲击时间点强相关", "灶具关闭后 window_contact=False（开窗）是正常通风行为，与传感器 None 无直接因果关系"], "opposing": ["None 出现频率较高（一天 6 次），虽然每次都快速恢复，但仍超出正常传感器偶尔丢包的预期"]},
    {"hypothesis": "B", "supporting": ["传感器在关键热事件时（灶具开启/关闭）出现 None，说明存在关联性，可能是热应力导致接触不良", "如果未来发生真正的火灾，传感器可能在关键时刻失效"], "opposing": ["每次 None 持续时间极短（1-5 分钟），且传感器从未报告过固定不变或明显错误的温度值", "灶具温度上升和下降曲线完全正常，传感器在可读时的精度和响应均无问题"]},
    {"hypothesis": "C", "supporting": ["一天内出现 6 次 None，频率较高", "每次都在关键烹饪时间点出现"], "opposing": ["传感器在非 None 时读数完全正常且与其他房间传感器变化趋势一致", "如果是物理损坏，不会每次都能恢复正常"]}
  ],
  "step4_causal": [
    "灶具开启 (09:03:37) → 厨房温度持续上升 (09:05-11:50) → 正常烹饪因果",
    "灶具开启 (09:03:37) → kitchen_temp_sensor None (09:04:07) → 异常关联：灶具电磁干扰或热冲击可能短暂中断传感器通信",
    "灶具关闭 (09:37:00) → kitchen_window_contact=False (09:37:30) → 正常通风因果",
    "灶具关闭 (09:37:00) → kitchen_temp_sensor None (09:38:00) → 异常关联：关火后的温度骤降也许导致传感器读数延迟刷新",
    "后续 4 次 None 均重复灶具开启/关闭后 1-5 分钟出现 → 模式异常，非偶然"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "None 值在智能家居系统中较常见，可能是通信层面的短暂丢包或传感器刷新周期导致的。本案例中每次出现 None 后传感器立即恢复正常，且温度曲线完全符合正常烹饪模式（上升-峰值-下降），没有出现 stuck-at、单向漂移等典型故障信号。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器偶发 None 值，但恢复快速，温度曲线正常，当前无实际安全威胁，但需关注传感器通信稳定性",
    "recommended_actions": [
      "检查厨房温度传感器的通信信号强度，确保其 Zigbee/Thread 网络连接稳定",
      "清洁传感器外壳，排除灰尘或油污影响",
      "如多次出现 None，考虑更换传感器或重新配对",
      "建立传感器健康监测规则：如果在 30 分钟内出现 2 次以上 None，发出通知提醒用户检查"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器在灶具开启/关闭时短暂通信丢失（None），原因是灶具电磁干扰或传感器本地缓存刷新延迟，属于正常设备特性，无安全隐患

Explanation: 假设B: [anomaly] 厨房温度传感器存在间歇性故障（通信中断或硬件不稳定），每次灶具使用时加剧，可能导致未来在真正火灾风险时无法报告异常温度

Explanation: 假设C: [anomaly] 厨房温度传感器数据 None 并非通信故障，而是传感器物理损坏或线路老化，需要更换

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

Explanation: 误报可能性: None 值在智能家居系统中较常见，可能是通信层面的短暂丢包或传感器刷新周期导致的。本案例中每次出现 None 后传感器立即恢复正常，且温度曲线完全符合正常烹饪模式（上升-峰值-下降），没有出现 stuck-at、单向漂移等典型故障信号。

清洁传感器外壳，排除灰尘或油污影响

如多次出现 None，考虑更换传感器或重新配对

Hypothesis: A

Hypothesis: B

如果未来发生真正的火灾，传感器可能在关键时刻失效

灶具温度上升和下降曲线完全正常，传感器在可读时的精度和响应均无问题

Hypothesis: C

一天内出现 6 次 None，频率较高
每次都在关键烹饪时间点出现

传感器在非 None 时读数完全正常且与其他房间传感器变化趋势一致
如果是物理损坏，不会每次都能恢复正常


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

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

```json
{
  "step1_evidence": [
    "[2026-06-19T06:52:05] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 传感器报告None值，可能存在故障",
    "[2026-06-19T07:11:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 同一传感器再次报告None，故障持续",
    "[2026-06-19T18:13:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第三次出现None值，确认传感器间歇性故障",
    "[2026-06-19T19:21:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第四次出现None值",
    "[2026-06-19T07:10:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户打开，可能为通风",
    "[2026-06-19T19:20:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在关火1分钟后打开，合理通风行为",
    "[2026-06-19T06:51:35] kitchen_cook_surface | OnOff.OnOff = True — 灶具开启，开始烹饪",
    "[2026-06-19T07:10:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具关闭",
    "[2026-06-19T18:12:30] kitchen_cook_surface | OnOff.OnOff = True — 第二次烹饪开始",
    "[2026-06-19T19:20:00] kitchen_cook_surface | OnOff.OnOff = False — 第二次烹饪结束",
    "[2026-06-19T06:17:00] master_bedroom_occupancy | OccupancySensing.Occupancy = 1 — 住户起床"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器间歇性故障，但住户行为正常，两次烹饪后均及时关火并开窗通风"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障可能掩盖了烹饪时的异常高温风险，需关注传感器恢复后的温度数据"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据: 两次烹饪（06:51-07:10, 18:12-19:20）均有清晰的开启和关闭记录",
        "直接证据: 灶具关闭后1分钟内厨房窗户均被打开（07:10:30, 19:20:30），符合正常通风行为",
        "直接证据: 烹饪期间厨房温度传感器在None值间隔恢复时读数正常（如07:00记录2516，07:05记录2499，均在合理范围）",
        "间接证据: 全天其他传感器（客厅、卧室温度）读数符合日间升、夜间降的自然模式"
      ],
      "opposing": [
        "直接证据: 厨房温度传感器在两次烹饪期间均报告None值，说明传感存在缺陷",
        "间接证据: 传感器故障导致无法确认烹饪期间厨房实际温度是否过高"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据: 厨房温度传感器在4个关键时刻报告None（06:52, 07:11, 18:13, 19:21），均在烹饪期间或刚关火时"
      ],
      "opposing": [
        "直接证据: 传感器恢复后读数（如07:00的2516, 19:25的2292）均在正常范围内，未显示异常高温",
        "间接证据: 烟雾报警器（kitchen_smoke_alarm）在整个日志期间未触发任何报警",
        "间接证据: 住户按时关火、及时开窗通风的行为表明没有异常"
      ]
    }
  ],
  "step4_causal": [
    "正常因果: kitchen_cook_surface开启 (06:51) → kitchen_temp_sensor报告None (06:52) — 传感器故障与烹饪行为时间上关联，但非因果关系",
    "正常因果: kitchen_cook_surface关闭 (07:10) → kitchen_window_contact打开 (07:10:30) — 合理通风行为",
    "正常因果: kitchen_cook_surface关闭 (19:20) → kitchen_window_contact打开 (19:20:30) — 再次合理通风",
    "正常因果: 住户起床 (06:17) → 开灯 (06:17:02) → 前往厨房 (06:51) → 开始烹饪 — 正常的晨间行为序列",
    "正常因果: 全天各房间温度呈日间升高、夜间回落的自然模式 — 无异常温度趋势"
  ],
  "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": "厨房温度传感器间歇性报告None值，存在传感故障，但未发现火灾或不安全烹饪行为",
    "recommended_actions": [
      "检查厨房温度传感器的连接和电池状态，必要时更换传感器",
      "确认厨房烟雾报警器工作正常（日志中未触发，需手动自检）",
      "用户无需紧急响应，但建议联系智能家居维护人员检修传感器"
    ]
  }
}
```

厨房温度传感器间歇性报告None值，存在传感故障，但未发现火灾或不安全烹饪行为

Explanation: 假设A: [normal] 厨房温度传感器间歇性故障，但住户行为正常，两次烹饪后均及时关火并开窗通风

Explanation: 假设B: [anomaly] 厨房温度传感器故障可能掩盖了烹饪时的异常高温风险，需关注传感器恢复后的温度数据

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

Explanation: 误报可能性: 厨房温度传感器间歇性故障已通过多次None值报告确认，但该故障不影响其他安全功能（烟雾报警器正常），且住户行为正常，误判为安全威胁的可能性很低

检查厨房温度传感器的连接和电池状态，必要时更换传感器 确认厨房烟雾报警器工作正常（日志中未触发，需手动自检） 用户无需紧急响应，但建议联系智能家居维护人员检修传感器

厨房温度传感器间歇性故障，但住户行为正常，两次烹饪后均及时关火并开窗通风

厨房温度传感器故障可能掩盖了烹饪时的异常高温风险，需关注传感器恢复后的温度数据

Hypothesis: A

间接证据: 全天其他传感器（客厅、卧室温度）读数符合日间升、夜间降的自然模式

直接证据: 厨房温度传感器在两次烹饪期间均报告None值，说明传感存在缺陷
间接证据: 传感器故障导致无法确认烹饪期间厨房实际温度是否过高

Hypothesis: B

间接证据: 住户按时关火、及时开窗通风的行为表明没有异常

正常因果: 全天各房间温度呈日间升高、夜间回落的自然模式 — 无异常温度趋势


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

```json
{
  "step1_evidence": [
    "[2026-06-29T19:14:00] kitchen_temp_sensor TemperatureMeasurement.MeasuredValue = None — 温度传感器在灶具开启后立即报None，可能为读取失败、通信中断或传感器过热保护",
    "[2026-06-29T19:47:00] kitchen_temp_sensor TemperatureMeasurement.MeasuredValue = None — 灶具关闭后传感器再次报None，结合之前的行为，指向传感器间歇性故障",
    "[2026-06-29T19:46:30] kitchen_window_contact BooleanState.StateValue = False — 灶具关闭后窗户被打开，属于正常通风行为，但需确认是否有人管理",
    "[2026-06-29T13:02:02至13:02:08] living_room_light_1 OnOff.OnOff 在2秒内快速切换4次 — 灯被快速开关，可能是用户测试开关、开关故障或儿童玩耍",
    "[2026-06-29T07:36:13至07:36:14] front_door_contact 先False(开)再True(关)，同时entrance_occupancy连续两次Occupancy=1 — 住户出门后立即自动锁门，行为正常",
    "[2026-06-29T07:36:09至07:36:14] entrance_occupancy 连续两次Occupancy=1 — 住户从屋内走到门口再出门，触发逻辑正常",
    "[2026-06-29T22:03:44至22:03:45] front_door_contact= True后立即自动上锁 — 住户回家关门后自动上锁，正常行为",
    "[2026-06-29T18:01:00至18:01:35] 住户回家操作序列：开门 → 开玄关灯 → 客厅灯 → 开空调 — 正常回家行为",
    "[2026-06-29T19:13:30] kitchen_cook_surface OnOff = True — 灶具在19:13开启",
    "[2026-06-29T19:46:00] kitchen_cook_surface OnOff = False — 约33分钟后关闭，属于正常烹饪时长"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户正常在家烹饪晚餐：19:13开启灶具，约33分钟后关闭，期间厨房温度从23.63°C升至26.90°C（正常升温范围），之后开窗通风、启动洗碗机，一切正常。厨房温度传感器偶发None是由于高温触发保护或无线干扰，非设备故障。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器存在间歇性故障（读数飘忽/通信中断）：灶具开启和关闭后2次出现None值，表明传感器电路或无线模块有问题。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["灶具开启后厨房温度从23.63°C持续上升至26.90°C，符合正常烹饪温升（<5°C），时间曲线合理（直接证据）", "关灶后温度逐步下降，符合热惯性和开窗通风逻辑（直接证据）", "关灶后立即开窗通风（kitchen_window_contact=False），属于正常排油烟行为（直接证据）", "客厅/卧室温度几乎不受影响，说明非全屋性升温（直接证据）", "晚上22:03住户离家后门窗关闭、门锁自动上锁，安全行为无异常（直接证据）", "白天13:02的快速开关灯仅发生在客厅有人时(living_room_occupancy=1)，更可能是用户操作（间接证据）"], "opposing": ["厨房温度传感器在19:14和19:47两次报None，虽然不是完全固定，但间歇性None表明传感器或通信存在不稳定（直接证据）"]},
    {"hypothesis": "B", "supporting": ["灶具开启后1分钟（19:14）和灶具关闭后1分钟（19:47）传感器均报None，时机敏感，可能为过热/电路保护导致（直接证据）", "白天其他时间段传感器读数正常，说明非永久故障而是间歇性（直接证据）"], "opposing": ["传感器在None前后（19:15、19:50）又能正常读数，温度值连续合理，说明功能基本正常，None可能仅为1次采样失败（直接证据）", "同一时间段内其他设备（烤箱、灯、门锁）通信正常，排除网络大面积故障（间接证据）"]}
  ],
  "step4_causal": [
    "厨房灶具开启 → 厨房温度逐步上升（正常因果：烹饪放热）",
    "厨房温度上升 → 厨房温度传感器在高温环境下偶发None（异常关联：传感器可能受高温影响或无线模块偶发故障）",
    "厨房灶具关闭 + 窗户打开 → 厨房温度加速回落（正常因果：通风换热）",
    "住户回家序列：开门 → 玄关灯 → 客厅灯 → 空调开启 → 温度开始下降（正常因果：制冷启动）",
    "客厅灯13:02快速开关4次 → 在此期间客厅Occupancy=1（正常因果：用户在操作灯具，非无人故障）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "厨房温度传感器2次报None容易被误判为严重故障，但结合前后数值连续、行为逻辑合理，更可能是传感器偶发采样异常或过热保护导致的瞬态None，非持续性故障。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "家庭全天状态正常。住户早上离家、傍晚回家、晚上烹饪后再次离家的行为序列符合日常作息，所有温度变化均在合理范围内。唯一需关注的是厨房温度传感器偶发None值，建议后续监控。",
    "recommended_actions": [
      "检查厨房温度传感器(kitchen_temp_sensor)固件版本和信号强度，排查偶发None的原因",
      "确认厨房窗户传感器(厨房窗户传感器)状态正常，防止长期通风忘记关闭",
      "无其他安全威胁，当前无紧急措施"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户正常在家烹饪晚餐：19:13开启灶具，约33分钟后关闭，期间厨房温度从23.63°C升至26.90°C（正常升温范围），之后开窗通风、启动洗碗机，一切正常。厨房温度传感器偶发None是由于高温触发保护或无线干扰，非设备故障。

Explanation: 假设B: [anomaly] 厨房温度传感器存在间歇性故障（读数飘忽/通信中断）：灶具开启和关闭后2次出现None值，表明传感器电路或无线模块有问题。

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

Explanation: 误报可能性: 厨房温度传感器2次报None容易被误判为严重故障，但结合前后数值连续、行为逻辑合理，更可能是传感器偶发采样异常或过热保护导致的瞬态None，非持续性故障。

确认厨房窗户传感器(厨房窗户传感器)状态正常，防止长期通风忘记关闭

无其他安全威胁，当前无紧急措施

Hypothesis: A

关灶后温度逐步下降，符合热惯性和开窗通风逻辑（直接证据）

客厅/卧室温度几乎不受影响，说明非全屋性升温（直接证据）

晚上22:03住户离家后门窗关闭、门锁自动上锁，安全行为无异常（直接证据）

Hypothesis: B

白天其他时间段传感器读数正常，说明非永久故障而是间歇性（直接证据）

同一时间段内其他设备（烤箱、灯、门锁）通信正常，排除网络大面积故障（间接证据）

厨房灶具开启 → 厨房温度逐步上升（正常因果：烹饪放热）

厨房灶具关闭 + 窗户打开 → 厨房温度加速回落（正常因果：通风换热）


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

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

```json
{
  "step1_evidence": [
    "厨房温度传感器间歇性报告 None 值: [06:35:10] [kitchen_temp_sensor] TemperatureMeasurement.MeasuredValue = None — 温度传感器在烹饪期间和烹饪后多次报告 None，可能为通信故障或传感器异常。",
    "厨房窗户在灶具使用后立即被打开: [07:11:30] [kitchen_window_contact] BooleanState.StateValue = False — 关火后立即开窗，可能是正常通风，但也可能为异常行为的一部分。",
    "清晨长时间温度异常上升: [00:00]~[06:30] 全屋温度从约22.7°C持续单向上升至约24.9°C（客厅），不符合凌晨降温的自然规律 — 疑似空调异常开启或环境热源影响。",
    "玄关运动传感器极其规律的周期性触发: [07:29:28]~[11:59:28] 入口运动传感器每5分钟（精确间隔）触发一次 Occupancy=1，持续时间超4小时 — 极可能是传感器故障/卡死，非人类活动模式。",
    "入户门在住户离开后再次被打开: [08:25:00] [front_door_lock] UserIndex=5 解锁开门，且 [08:35:00] 再次上锁 — 可能有另一人外出（尾随/正常），需结合运动传感器判断。",
    "主卧运动传感器长时间持续 Occupancy=1 但无人活动迹象: [06:30]~[23:55] master_bedroom_occupancy 始终为1（除少数时间点外）— 传感器可能卡住，或为住户一直呆在卧室，但结合其长时间无其他活动，更倾向卡死。",
    "厨房灶具在傍晚再次开启: [18:43:30] kitchen_cook_surface OnOff=True，并在约12分钟后关闭 — 正常晚餐烹饪。",
    "厨房温度传感器在烹饪期间再次报告 None: [18:44:00] kitchen_temp_sensor = None — 与该传感器在烹饪期间间歇性故障的模式一致。",
    "夜间（凌晨）全楼温度持续上升约2°C: 从23:55到06:00，各房间温度升高约2°C — 可能为空调或暖气设备故障。",
    "客厅空调在住户回家后开启，随后温度稳定: [17:56:15] living_room_ac OnOff=True, SystemMode=3 (Cool)，之后温度下降至约23°C — 正常空调使用。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "正常解释: 所有异常均可由住户的日常行为、设备正常老化或传感器间歇性通信故障解释。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "异常解释: 厨房温度传感器存在间歇性通信/硬件故障；玄关和主卧运动传感器存在硬件卡死问题；凌晨温度异常上升可能因空调/暖气设备异常开启。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "[直接] 住户正常作息: 06:30主卧亮灯起床，07:24出门，17:56回家 — 符合正常作息。",
        "[直接] 厨房烹饪行为: 06:34开灶、07:11关火，18:43开灶、18:56关火 — 一日两餐正常。",
        "[间接] 凌晨温度上升可解释为: 日志未提供空调/暖气状态，可能为环境自然升温或住户未报告的暖气开启。"
      ],
      "opposing": [
        "[直接] 玄关运动传感器精确每5分钟触发一次，持续4小时 — 人类不可能如此规律，极可能是传感器卡死。",
        "[直接] 主卧运动传感器从06:30起持续为1，长达17小时 — 即便人在卧室睡觉，也不可能完全不离开床（如去卫生间），高度疑似卡死。",
        "[直接] 厨房温度传感器两次报告None，且均在烹饪期间 — 硬件间歇性故障模式明显。"
      ]
    },
    {
      "hypothesis": "B",
      "type": "anomaly",
      "description": "异常解释: 厨房温度传感器存在间歇性通信/硬件故障；玄关和主卧运动传感器存在硬件卡死问题。",
      "supporting": [
        "[直接] 玄关运动传感器每5分钟精确触发（07:29:28, 07:34:28, ...） — 典型定时器/硬件卡死模式。",
        "[直接] 主卧运动传感器从06:30至23:55几乎持续为1 — 住户若一直在主卧，不可能完全不出卧室（未检测到卫生间、客厅活动），且住户在07:24出门后主卧仍为1 — 传感器故障。",
        "[直接] 厨房温度传感器两次在烹饪期间报告None，但后续恢复正常 — 间歇性通信/传感器故障。",
        "[直接] 凌晨温度单向上升约2°C — 可能是暖气设备异常开启（日志未提供暖气状态）。"
      ],
      "opposing": [
        "[间接] 异常温度上升也可能是住户开暖气 — 但属于正常行为。",
        "[间接] 运动传感器虽规律触发，但每次触发后玄关灯未自动亮起 — 可能住户设置了静默模式。"
      ]
    }
  ],
  "step4_causal": [
    "住户起床 → 开主卧灯 → 厨房灯亮 → 灶具开启 → 厨房温度稍升（正常晨间烹饪）",
    "灶具开启 → 厨房温度传感器报告None（异常关联：传感器在高温/热源干扰下故障）",
    "关火 → 开窗通风（正常行为）",
    "住户出门 → 入户门解锁、开门、关门、自动上锁（正常离家流程）",
    "入户门再次被打开（UserIndex=5）（正常/异常：可能尾随或第二人外出）",
    "玄关运动传感器每5分钟触发（异常关联：硬件定时器/卡死，非人类活动）",
    "主卧运动传感器持续为1（异常关联：传感器卡死，无法感知真实状态）",
    "住户回家 → 开客厅灯、开空调 → 客厅温度稳定（正常）",
    "晚上烹饪 → 关火开窗 → 洗碗机启动（正常）",
    "住户睡前关灯、关空调、拉起窗帘、锁门 → 卧室就寝（正常）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "medium",
    "false_positive_risk": "较低。玄关和主卧运动传感器的模式完全不符合人类行为，传感器卡死的概率极高。厨房温度传感器间歇None为明显的通信/硬件故障。凌晨温度上升存在不确定性（可能为暖气开启），但并非主要依据。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_stuck",
    "threat_description": "主卧和玄关运动传感器疑似卡死（主卧连续17小时报告有人、玄关精确每5分钟触发），厨房温度传感器存在间歇性通信故障。这些故障导致安防系统无法准确感知真实人员活动状态，可能掩盖入侵或跌倒等真实威胁。",
    "recommended_actions": [
      "立即检查和更换主卧运动传感器（master_bedroom_occupancy），其持续报告有人但不响应真实活动。",
      "立即检查和更换玄关运动传感器（entrance_occupancy），其周期性精确触发为典型的硬件故障模式。",
      "检查厨房温度传感器通信连接或更换传感器，该传感器在烹饪期间间歇性报告None。",
      "核实凌晨温度上升原因（检查空调/暖气日志，询问住户是否使用取暖），排除设备误开启风险。",
      "考虑临时增加入户区域其他传感器的布防（如门磁与运动传感器联动），以补偿运动传感器故障期间的安防盲区。"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常解释: 所有异常均可由住户的日常行为、设备正常老化或传感器间歇性通信故障解释。

Explanation: 假设B: [anomaly] 异常解释: 厨房温度传感器存在间歇性通信/硬件故障；玄关和主卧运动传感器存在硬件卡死问题；凌晨温度异常上升可能因空调/暖气设备异常开启。

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

Explanation: 误报可能性: 较低。玄关和主卧运动传感器的模式完全不符合人类行为，传感器卡死的概率极高。厨房温度传感器间歇None为明显的通信/硬件故障。凌晨温度上升存在不确定性（可能为暖气开启），但并非主要依据。

检查厨房温度传感器通信连接或更换传感器，该传感器在烹饪期间间歇性报告None。

Hypothesis: A

Hypothesis: B

[间接] 异常温度上升也可能是住户开暖气 — 但属于正常行为。

关火 → 开窗通风（正常行为）

住户出门 → 入户门解锁、开门、关门、自动上锁（正常离家流程）

入户门再次被打开（UserIndex=5）（正常/异常：可能尾随或第二人外出）

玄关运动传感器每5分钟触发（异常关联：硬件定时器/卡死，非人类活动）

主卧运动传感器持续为1（异常关联：传感器卡死，无法感知真实状态）

住户回家 → 开客厅灯、开空调 → 客厅温度稳定（正常）

晚上烹饪 → 关火开窗 → 洗碗机启动（正常）

住户睡前关灯、关空调、拉起窗帘、锁门 → 卧室就寝（正常）


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

```json
{
  "step1_evidence": [
    "[2026-06-27T09:10:00] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 烟雾报警器电池电量低报警，属于设备维护提醒。",
    "[2026-06-28T09:10:00] kitchen_cook_surface | OnOff.OnOff = True — 灶具在早上9:10开启，开始烹饪。",
    "[2026-06-28T09:20:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 灶具开启10分钟后，烟雾报警器触发烟雾报警，可能存在烹饪不当或烟雾过大。",
    "[2026-06-28T09:25:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在烟雾报警后5分钟关闭，表明可能有人响应。",
    "[2026-06-28T09:30:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 0 — 灶具关闭5分钟后，烟雾报警解除。",
    "[2026-06-28T09:10:00至09:20:00] kitchen_temp_sensor | 温度从25.50°C(2550)上升至25.50°C(2550)，无明显温升，但在09:15时短暂下降至25.43°C(2543)，数据波动正常。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "住户正常烹饪时产生烟雾，触发了烟雾报警器，住户及时关闭灶具并处理了烟雾，报警解除。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "住户烹饪时发生小型火灾或严重烧焦，导致烟雾报警，虽然最后关闭了灶具，但存在火灾安全隐患或烹饪过程中无人看管。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据: [09:10] 灶具开启 → [09:20] 烟雾报警 → [09:25] 灶具关闭 → [09:30] 报警解除。整个事件链在15分钟内完成，符合正常应对流程。",
        "直接证据: 整个过程中所有Occupancy传感器始终为0，说明住户可能在厨房内但未触发其他区域传感器，或者厨房无occupancy传感器，无法确认是否有人。",
        "间接证据: 厨房温度传感器在事件期间读数在25.43°C~25.50°C间波动，未见异常剧烈升温，不支持火源持续燃烧的情况。"
      ],
      "opposing": [
        "间接证据: 在灶具开启和烟雾报警期间，所有房间的Occupancy传感器均为0，虽然厨房无occupancy传感器，但entrance、living_room等区域均无人，可能住户在厨房内但未在其他区域活动，或者住户不在家？(灶具自动开启？可能性低)"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "间接证据: 烟雾报警器报警（SmokeState=1）是一个明确的危险信号，表明有烟雾产生，可能为火灾或严重烧焦。",
        "间接证据: 整个住宅所有Occupancy传感器在06:00至10:00之间持续显示无人，这段时间包括烹饪时间，无法确认厨房有人看管。"
      ],
      "opposing": [
        "直接证据: 灶具在报警后5分钟即关闭（09:25），且烟雾报警在5分钟后解除（09:30），整个过程短暂，不符合严重火灾的持续性和破坏性。",
        "间接证据: 厨房温度未出现异常飙升，排除持续明火或高温。"
      ]
    }
  ],
  "step4_causal": [
    "因果关系1: 灶具开启（09:10）→ 烟雾报警器报警（09:20）[正常因果：烹饪产生烟雾]",
    "因果关系2: 灶具关闭（09:25）→ 烟雾报警解除（09:30）[正常因果：烟源消失后报警解除]",
    "因果关系3: 所有区域Occupancy=0 + 灶具开启 → 烟雾报警 [异常关联：无人看管烹饪可能增加风险]"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "低。烟雾报警是真实事件，但在15分钟内恢复正常，更可能是正常烹饪产生的短暂烟雾。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "事件整体符合正常烹饪行为，烟雾报警后住户及时响应并关闭灶具，未造成持续风险。",
    "recommended_actions": [
      "更换厨房烟雾报警器电池（BatteryAlert = 1）。",
      "考虑在厨房安装Occupancy传感器，以便在无人看管时提供灶具运行告警。"
    ]
  }
}
```

事件整体符合正常烹饪行为，烟雾报警后住户及时响应并关闭灶具，未造成持续风险。

Explanation: 假设A: [normal] 住户正常烹饪时产生烟雾，触发了烟雾报警器，住户及时关闭灶具并处理了烟雾，报警解除。

Explanation: 假设B: [anomaly] 住户烹饪时发生小型火灾或严重烧焦，导致烟雾报警，虽然最后关闭了灶具，但存在火灾安全隐患或烹饪过程中无人看管。

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

Explanation: 误报可能性: 低。烟雾报警是真实事件，但在15分钟内恢复正常，更可能是正常烹饪产生的短暂烟雾。

更换厨房烟雾报警器电池（BatteryAlert = 1）。
考虑在厨房安装Occupancy传感器，以便在无人看管时提供灶具运行告警。

Hypothesis: A

Hypothesis: B

间接证据: 厨房温度未出现异常飙升，排除持续明火或高温。


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

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

```json
{
  "step1_evidence": [
    "[2026-06-24T18:00:00至19:00:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue 从 2398 上升至 2713 后又下降至 2532 — 厨房温度在晚餐时间段出现大幅异常上升（上升超过30°C），与正常烹饪导致的3-5°C温差严重不符，可能是灶具火力异常、火灾或传感器故障。",
    "[2026-06-24T18:59:30] kitchen_cook_surface | OnOff.OnOff = True — 厨房灶具开启，与温度急速上升时间点吻合。",
    "[2026-06-24T19:00:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None 然后 2532 — 传感器在数据更新周期内出现 'None' 值，异常。",
    "[2026-06-24T19:51:30] kitchen_window_contact | BooleanState.StateValue = False — 烹饪结束后约2分钟，厨房窗户被打开，可能是为排除烟雾或异味。",
    "[2026-06-24 T07:14:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=5) — 住户通过App解锁，正常出门。",
    "[2026-06-24T07:38:17] front_door_lock | DoorLock.LockState = 2, 紧接着 Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 住户手动解锁，随后自动上锁，看似有人外出，但时间线有重叠，需注意可能的尾随风险。",
    "[2026-06-24 T07:38:17 至 07:38:25] entrance_occupancy | OccupancySensing.Occupancy = 1 (多次触发) — 玄关运动传感器在门解锁期间反复触发，可能表示有多人在门口活动，存在尾随风险。",
    "[2026-06-24T07:43:20至12:00:00] entrance_occupancy | OccupancySensing.Occupancy = 1 (每5分钟精确触发一次) — 玄关运动传感器从早上7:43到晚上23:00几乎每5分钟触发一次，时间间隔极其规律，不像是人类活动模式，怀疑是传感器故障或误报。",
    "[2026-06-24T07:24:00] front_door_lock | Event: LockOperation(LockOperationType=0, OperationSource=3, UserIndex=5) — 出门7分钟后，再次用App锁门，可能是操作延迟，也可能是有人尾随进入后再次确认关门。",
    "[2026-06-24T22:01:33] front_door_contact | BooleanState.StateValue = True（门关闭）然后 [22:01:34] front_door_lock | DoorLock.LockState = 1 — 门关后1秒自动上锁，时间精确，属于正常居家行为。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "晚餐做饭导致的温度异常: 住户在18:59开启灶具做饭，高温烹饪（爆炒、油炸等）导致厨房温度暂时升高到47°C（2713-2731=约27°C），关火后温度下降，符合做饭时的逻辑。传感器短暂报告 'None' 是数据上报的暂时异常。"},
    {"id": "B", "type": "anomaly", "description": "厨房火灾风险: 厨房温度在短时间内急剧上升超过30°C，远高于正常烹饪水平，且传感器短暂失效。这可能是灶具火力失控或厨房出现了小范围火灾，住户打开窗户排烟。"},
    {"id": "C", "type": "anomaly", "description": "玄关运动传感器故障/尾随: 从7:43开始，玄关运动传感器精确每5分钟触发一次，这不符合人类随机活动模式，更像是设备定时发送的心跳或故障。同时，在早入户门解锁期间出现了多个人体感应，可能存在尾随入侵。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["支持证据：18:59 灶具开启 → 同一时间段温度急剧上升 (直接证据)", "支持证据：19:51 灶具关闭 → 温度随后下降 (直接证据)", "支持证据：19:51 窗户被打开 (行为合乎常理，排烟)", "支持证据：20:00后温度恢复至正常范围 (23.0°C左右) (直接证据)", "否定证据：温度上升幅度(>20°C)远超正常烹饪3-5°C，需要更高级别热源（如烤箱、爆炒），但未出现烟雾报警。"], "opposing": ["否定证据：温度在30分钟内从约24°C升至47°C，即使爆炒也不太可能，除非是商用级别设备或烤箱长时间工作。"]},
    {"hypothesis": "B", "supporting": ["支持证据：温度异常高，达47.13°C (直接证据)", "支持证据：传感器短暂报告 'None' 可能表示超出量程或中断 (间接证据)", "支持证据：窗户被打开 (行为合理，通风排烟) (间接证据)", "否定证据：厨房烟雾报警器 (kitchen_smoke_alarm) 没有发出报警 (直接证据)"], "opposing": []},
    {"hypothesis": "C", "supporting": ["支持证据：07:38-07:43 期间玄关多次触发，且与门锁动作重叠 (直接证据)", "支持证据：07:43到23:00 几乎所有运动传感器（其他房间均为0）只有玄关以精确5分钟间隔报告=1 (直接证据)", "否定证据：整个日志中没有其他运动传感器（客厅、卧室）在同样规律地触发，说明只有玄关异常 (间接证据)"], "opposing": []}
  ],
  "step4_causal": [
    "因果关系1: 18:59 灶具开启 → 18:59-19:00 厨房温度急剧上升 → 19:51 灶具关闭，温度开始下降 → 19:51 窗户打开（排烟）—— 正常的烹饪-排放因果关系。",
    "因果关系2: 19:51 窗户打开 → 温度加速下降（20:00后恢复）—— 正常。",
    "因果关系3: 07:14 住户通过App解锁出门 → 07:24 再次App锁门（可能发现未锁好）→ 07:38 再次手动解锁并出门 → 07:38:24 关门自动上锁 —— 正常行为，但两次近距离操作可能表示异常（如有人尾随出门/进门）。",
    "异常关联4: 07:38 门口活动 (entrance occupancy) → 此后每5分钟触发一次，且持续到晚间 —— 正常人类不会在门口站几个小时并精确每5分钟动一次。这很可能是传感器stuck-at或周期性误报。",
    "正常因果5: 06:47 上厕所 → 07:14 出门上班 → 18:08 回家 → 22:01 再次出门（可能是倒垃圾或短暂外出）→ 22:08-23:00 在家（玄关/客厅传感器持续触发）—— 正常日常作息。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A（正常烹饪）与 C（传感器故障）合并",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "温度上升高可能是一种误判。日志中未出现烟雾报警，灶具关闭后温度下降，窗户打开行为合理。因此更可能是住户进行了长时间、大火力的烹饪，而非真实火灾。玄关传感器规律触发极可能是设备故障而非尾随入侵，因为全天的门锁事件和传感器模式都支持正常作息。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器可能在烹饪期间因过热或干扰短暂异常，但无持续安全威胁。玄关运动传感器可能存在周期性误报的硬件故障。整体家庭安全无异常入侵或火灾风险。",
    "recommended_actions": ["监测厨房温度传感器在后续烹饪期间是否再次出现类似异常，如有持续则更换", "检查并重启玄关运动传感器，观察触发模式是否恢复正常", "家庭用户注意日常烹饪时避免长时间高温空烧，确保灶具安全关闭"]
  }
}
```

Explanation: 假设A: [normal] 晚餐做饭导致的温度异常: 住户在18:59开启灶具做饭，高温烹饪（爆炒、油炸等）导致厨房温度暂时升高到47°C（2713-2731=约27°C），关火后温度下降，符合做饭时的逻辑。传感器短暂报告 'None' 是数据上报的暂时异常。

Explanation: 假设B: [anomaly] 厨房火灾风险: 厨房温度在短时间内急剧上升超过30°C，远高于正常烹饪水平，且传感器短暂失效。这可能是灶具火力失控或厨房出现了小范围火灾，住户打开窗户排烟。

Explanation: 假设C: [anomaly] 玄关运动传感器故障/尾随: 从7:43开始，玄关运动传感器精确每5分钟触发一次，这不符合人类随机活动模式，更像是设备定时发送的心跳或故障。同时，在早入户门解锁期间出现了多个人体感应，可能存在尾随入侵。

Explanation: 最可能假设: A（正常烹饪）与 C（传感器故障）合并, 置信度: medium

Explanation: 误报可能性: 温度上升高可能是一种误判。日志中未出现烟雾报警，灶具关闭后温度下降，窗户打开行为合理。因此更可能是住户进行了长时间、大火力的烹饪，而非真实火灾。玄关传感器规律触发极可能是设备故障而非尾随入侵，因为全天的门锁事件和传感器模式都支持正常作息。

监测厨房温度传感器在后续烹饪期间是否再次出现类似异常，如有持续则更换 检查并重启玄关运动传感器，观察触发模式是否恢复正常 家庭用户注意日常烹饪时避免长时间高温空烧，确保灶具安全关闭

Hypothesis: A

支持证据：18:59 灶具开启 → 同一时间段温度急剧上升 (直接证据)

支持证据：19:51 灶具关闭 → 温度随后下降 (直接证据)

支持证据：19:51 窗户被打开 (行为合乎常理，排烟)

支持证据：20:00后温度恢复至正常范围 (23.0°C左右) (直接证据)

Hypothesis: B

支持证据：温度异常高，达47.13°C (直接证据)

支持证据：传感器短暂报告 'None' 可能表示超出量程或中断 (间接证据)

支持证据：窗户被打开 (行为合理，通风排烟) (间接证据)

Hypothesis: C

A（正常烹饪）与 C（传感器故障）合并


```json
{
  "step1_evidence": [
    "[2026-06-12T07:02:07] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后温度传感器立即变为None，疑似传感器故障或通信中断。",
    "[2026-06-12T07:13:30] kitchen_window_contact | BooleanState.StateValue = False (打开) — 烹饪期间打开窗户是正常排烟行为，但后续再次出现打开操作，需确认。",
    "[2026-06-12T07:14:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具关闭后传感器仍为None，故障持续。",
    "[2026-06-12T17:25:00] living_room_light_1 | OccupancySensing.Occupancy = 1 (奇怪，light设备report occupancy) — 客厅灯设备错误地报告了Occupancy属性，可能是数据错乱或设备固件Bug。",
    "[2026-06-12T17:25:04-08] living_room_light_1 | OnOff.OnOff 快速切换 True/False/True/False — 几秒钟内灯反复开关4次，可能是住户手动测试，也可能是电气故障或幽灵操作。",
    "[2026-06-12T18:28:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第二次烹饪时传感器再次为None，确认该传感器持续故障。",
    "[2026-06-12T18:59:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第二次烹饪结束后传感器仍为None。",
    "[2026-06-12T07:43:11-13] 住户离家：主卧灯关→门锁手动解锁→门开→Occupancy=1玄关→门关→自动上锁 — 正常出门流程。",
    "[2026-06-12T16:20:00] 住户回家：门锁手动解锁→门开→玄关Occupancy=1 — 正常回家流程。",
    "[2026-06-12T22:13:00-21] 住户睡前操作：客厅灯关、空调关、主卧窗帘关闭、大门确认关闭并自动上锁、主卧灯关 — 正常就寝流程。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器硬件故障（持续输出None），不影响安全；客厅灯的Occupancy报告和快速开关可能是住户手动操作或设备固件小Bug。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障导致火灾风险监控缺失（烹饪时无法检测温度异常上升）；客厅灯异常行为可能预示电气故障或入侵者破坏设备。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[直接] 日志中无其他报警事件（无烟雾报警、无漏水、无门窗异常打开），整体行为符合正常作息（06:20起床→07:43出门→18:18回家→22:13睡觉）。", "[间接] 住户两次烹饪（07:01和18:27）均开启灶具后又关闭，窗户在烹饪后打开，属于正常行为。", "[间接] 客厅灯快速开关可能只是住户在测试或无意触碰。"], "opposing": ["[直接] kitchen_temp_sensor 连续两次在烹饪期间输出None，而非正常温度读数，表明不是偶然丢包，而是持续故障。"]},
    {"hypothesis": "B", "supporting": ["[直接] kitchen_temp_sensor 在灶具开启时（07:02, 18:28）输出None，导致无法监测厨房温度，若发生火灾将无预警。", "[直接] living_room_light_1 报告Occupancy属性（属于数据错乱），且出现快速开关，可能存在电气隐患。"], "opposing": ["[直接] 无厨房烟雾报警触发（kitchen_smoke_alarm无事件），证明实际未发生火灾。", "[直接] 无其他设备报警，所有运动传感器和门窗传感器均与住户行为一致。"]}
  ],
  "step4_causal": [
    "正常因果: 07:01 灶具开启 → 07:02 厨房温度传感器输出None（传感器故障，非正常因果）",
    "正常因果: 07:43 住户出门 → 门锁操作、灯光关闭（正常离家行为）",
    "正常因果: 18:27 灶具开启 → 18:28 厨房温度传感器再次None（故障复现）",
    "正常因果: 22:13 住户就寝 → 关灯关空调关窗帘锁门（正常睡前流程）",
    "异常关联: 17:25 living_room_light_1 报告Occupancy+快速开关 → 设备数据异常，但无其他环境证据支持入侵"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "厨房温度传感器故障是明确的硬件问题，但尚未造成实际安全事件。客厅灯异常行为更可能是固件Bug或误报。整体家庭安全状况正常。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器持续在烹饪期间输出None，存在火灾监控盲区风险，但当前未发生实际安全事件。",
    "recommended_actions": [
      "检查并更换 kitchen_temp_sensor 设备，确保其正常读取温度。",
      "检查 living_room_light_1 的固件版本，排查Occupancy误报和快速开关问题。",
      "建议在厨房增加独立的烟雾/温度监测设备作为冗余。"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器硬件故障（持续输出None），不影响安全；客厅灯的Occupancy报告和快速开关可能是住户手动操作或设备固件小Bug。

Explanation: 假设B: [anomaly] 厨房温度传感器故障导致火灾风险监控缺失（烹饪时无法检测温度异常上升）；客厅灯异常行为可能预示电气故障或入侵者破坏设备。

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

Explanation: 误报可能性: 厨房温度传感器故障是明确的硬件问题，但尚未造成实际安全事件。客厅灯异常行为更可能是固件Bug或误报。整体家庭安全状况正常。

建议在厨房增加独立的烟雾/温度监测设备作为冗余。

Hypothesis: A

[间接] 客厅灯快速开关可能只是住户在测试或无意触碰。

Hypothesis: B

[直接] 无其他设备报警，所有运动传感器和门窗传感器均与住户行为一致。

正常因果: 07:43 住户出门 → 门锁操作、灯光关闭（正常离家行为）

正常因果: 22:13 住户就寝 → 关灯关空调关窗帘锁门（正常睡前流程）


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

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

```json
{
  "step1_evidence": [
    "厨房温度异常: 18:00 开始厨房温度从 ~23.96°C(2396) 快速上升至 18:45 的 27.14°C(2714)，且 18:49-19:34 期间灶具开启 (kitchen_cook_surface.OnOff=True)，温度最高达 ~27.14°C，远超正常烹饪升温幅度(3-5°C)，疑似火灾或严重过热。",
    "厨房温度传感器异常读数: 18:50 和 19:35 出现两次 TemperatureMeasurement.MeasuredValue = None，之后恢复正常，可能传感器受高温影响或临时故障。",
    "厨房窗户异常打开: 19:34:30 灶具关闭后，厨房窗户 (kitchen_window_contact) 由关闭变为打开 (BooleanState.StateValue=False)，可能是住户主动开窗散热，但未在日志中看到后续关闭记录。",
    "卫生间运动传感器异常规律: 从 06:29:07 开始，卫生间传感器 (bathroom_occupancy) 以精确每5分钟的间隔触发 (06:34:07, 06:39:07, 06:44:07)，触发时刻高度规律，非人类活动模式，疑似 sensor_stuck 或硬件故障。",
    "玄关运动传感器持续触发: 07:22 住户出门后，从 07:27:23 到 18:30，entrance_occupancy 几乎每5分钟报告 "Occupancy=1"，持续一整天，不符合正常无人时段的传感器行为，疑似故障。",
    "客厅运动传感器晚上持续触发: 从 18:00 住户回家后，living_room_occupancy 持续每5分钟报告 "Occupancy=1"，时间间隔极其均匀 (05s、07s、09s等)，不排除传感器 stuck 或故障。",
    "卫生间浴霸/灯开启时间与运动传感器联动可疑: 06:29:07 卫生间灯开 → 运动传感器立刻触发，但随后传感器以固定5分钟间隔触发与灯无关，灯在06:47关闭后传感器仍周期性触发直到07:48后变为0，之后18:48后传感器又周期触发，模式异常。",
    "客厅温度读数错误: 06:20:00 存在一个异常读数 2200 (22.00°C)，与前后读数(24.87→24.82)偏差较大，可能为通信干扰或传感器暂态异常。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户在晚上做饭时使用灶具导致厨房温度正常升高，开窗散热后温度回落；卫生间传感器可能因潮湿或水汽导致规律触发；玄关传感器可能因门口有物品遮挡或环境风干扰而规律误触。"},
    {"id": "B", "type": "anomaly", "description": "厨房高温可能因火灾或灶具故障导致过热，窗户为紧急通风；卫生间、玄关和客厅传感器均存在明显的固定周期触发模式，极可能为硬件故障（sensor_stuck或电路问题）。"},
    {"id": "C", "type": "anomaly", "description": "厨房高温后传感器一度报告 None，可能传感器已损坏；卫生间和玄关传感器持续规律触发可能是系统时间同步或心跳包机制异常，而非真实物理事件。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "支持-直接: 18:49:30 灶具开启 → 厨房温度从 18:45:00 的 26.71°C 升至 18:50:00 的 26.24°C → 19:34:00 灶具关闭 → 温度逐步回落，符合正常烹饪因果",
      "支持-直接: 19:34:30 厨房窗户打开，为烹饪后散热，是正常行为",
      "支持-间接: 卫生间传感器在无人时每隔5分钟触发一次，可能因水汽或设备老化导致，不一定是安全威胁"
    ], "opposing": [
      "否定-间接: 厨房温度峰值 27.14°C 远高于正常做饭升温3-5°C（从基础23°C升至约28°C以内可接受，但这里从23.39°C升至27.14°C，升温约3.75°C，勉强在正常范围），但温度上升速度较快，且未看到厨房温度传感器正常回落前的读数，灶具开启仅45分钟，温度达27°C偏高但并非不可能",
      "否定-直接: 卫生间传感器精确每5分钟触发，不是人类活动特征",
      "否定-直接: 玄关传感器在住户离开后的整个白天(07:27~18:00)持续每5分钟报告Occupancy=1，不符合正常空白期行为",
      "否定-直接: 客厅传感器在住户回家后(18:00~23:55)同样以固定间隔触发，无变化，可疑"
    ]},
    {"hypothesis": "B", "supporting": [
      "支持-直接: 厨房温度从 23.96°C (18:00) 升至 27.14°C (18:45)，升温约3.18°C，灶具开启于18:49，说明升温在灶具开启之前就已开始，提示可能有其他热源（如烤箱、微波炉）或设备过热",
      "支持-直接: 厨房温度传感器在灶具开启期间出现两次 None 值，表明传感器可能过载或故障",
      "支持-直接: 卫生间、玄关、客厅三个传感器均表现出高度规律的每5分钟触发模式，硬件故障概率极高",
      "支持-直接: 传感器规律触发从不同时间开始：卫生间06:29→07:48，玄关07:27→18:00，客厅18:00→23:55，说明多个传感器同时异常，可能是系统级问题"
    ], "opposing": [
      "否定-间接: 无其他火灾相关设备报警（烟感、CO报警器未触发），火灾风险较低",
      "否定-间接: 温度在灶具关闭后迅速回落，符合正常散热曲线，无明显持续升温"
    ]},
    {"hypothesis": "C", "supporting": [
      "支持-直接: 厨房温度传感器在灶具开启后出现两次 None，支持传感器损坏或过热保护",
      "支持-直接: 多个传感器规律触发，间隔完全相同（5分钟），更可能是系统配置错误或通信协议异常（如轮询间隔固定）而非真实物理事件",
      "支持-间接: 如果传感器故障，通常不会同时出现在不同房间，但这里三个房间同时出现，指向系统性问题"
    ], "opposing": [
      "否定-间接: 传感器规律触发的时间点不完全对齐（卫生间06:29、玄关07:27、客厅18:00），不支持同一时钟源故障",
      "否定-间接: 传感器在特定时间段恢复为0（卫生间07:48后变0），说明传感器仍可正常切换状态"
    ]}
  ],
  "step4_causal": [
    "正常因果: 灶具开启 (kitchen_cook_surface.OnOff=True) → 厨房温度升高3-5°C → 关火后温度逐步回落",
    "正常因果: 厨房温度升高 → 住户开窗通风 (kitchen_window_contact.StateValue=False) → 温度进一步下降",
    "异常关联: 厨房温度传感器在高温时报告 None → 可能传感器过热或电路故障 (传感器故障)",
    "异常关联: 卫生间、玄关、客厅三个运动传感器以精确5分钟间隔规律触发 → 非人类活动模式，极可能为硬件故障或系统轮询机制异常 (sensor_stuck)",
    "正常因果: 住户07:22出门 (入户门开闭+门锁动作) → 家中无人 → 玄关传感器不应持续触发，但这里触发了一整天 → 排除正常行为",
    "正常因果: 住户18:00回家 → 客厅人感触发 → 开灯开空调 → 正常晚间活动"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "medium",
    "false_positive_risk": "厨房温度异常可能被误判为火灾，但实际只是正常烹饪 + 夏季基础温度偏高；传感器规律触发虽然有故障特征，但未导致实际安全事件，误报可能性中等偏低。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "fire_risk, sensor_malfunction",
    "threat_description": "厨房灶具使用期间温度异常升高至27°C以上，且传感器一度报告None，存在设备过热或潜在火灾风险；卫生间、玄关、客厅三个运动传感器均出现高度规律的5分钟周期触发模式，极可能硬件故障或系统轮询异常，需维修。",
    "recommended_actions": [
      "立即检查厨房设备（灶具、烤箱等）是否有过热或故障迹象，必要时联系维修",
      "更换或校准 kitchen_temp_sensor，确认其读数是否准确或在高温下是否可靠",
      "重启或重置 bathroom_occupancy、entrance_occupancy、living_room_occupancy 三个传感器，检查固件更新，排除硬件故障",
      "确认厨房窗户是否已关闭，防止安全风险或能源浪费",
      "检查全屋烟雾报警器是否正常工作，必要时进行联动测试"
    ]
  }
}
```