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

```json
{
  "step1_evidence": [
    "[2026-06-25T06:40:09] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在灶具开启后瞬间返回空值，可能传感器故障或通信异常",
    "[2026-06-25T07:11:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次出现空值，与灶具关闭和窗户打开时间接近，疑似传感器异常",
    "[2026-06-25T18:46:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 晚间烹饪时厨房温度传感器第三次出现空值，且灶具开启后立即发生，高度可疑",
    "[2026-06-25T19:26:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具关闭后厨房温度传感器再次空值，与窗户打开时间重叠",
    "[2026-06-25T06:39:39] kitchen_cook_surface | OnOff.OnOff = True — 早晨灶具开启，正常烹饪行为",
    "[2026-06-25T07:10:00] kitchen_cook_surface | OnOff.OnOff = False — 约30分钟后灶具关闭，正常烹饪时长",
    "[2026-06-25T18:45:30] kitchen_cook_surface | OnOff.OnOff = True — 晚间灶具再次开启，正常晚餐烹饪",
    "[2026-06-25T19:25:00] kitchen_cook_surface | OnOff.OnOff = False — 约40分钟后灶具关闭，正常烹饪时长",
    "[2026-06-25T21:08:00] kitchen_smoke_alarm | SmokeCoAlarm.TestInProgress = True — 厨房烟雾报警器进入自检模式",
    "[2026-06-25T21:08:05] kitchen_smoke_alarm | SmokeCoAlarm.COState = 1 — 自检期间CO状态短暂触发（正常自检行为）",
    "[2026-06-25T21:08:30] kitchen_smoke_alarm | SmokeCoAlarm.TestInProgress = False — 自检完成，无实际报警"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器存在间歇性通信故障或软件BUG，导致在特定操作（灶具开启/关闭、窗户打开）时短暂返回空值，但不影响实际温度监测功能"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器硬件故障（如焊点松动、连接器接触不良），在振动或温度变化环境下间歇性失效，可能影响火灾监测能力"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器受到外部干扰（如电磁干扰或电源波动），导致在电器启动时通讯中断"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据：每次空值后传感器均恢复读数（约5-15分钟内），且读数在合理范围，表明未完全坏死",
        "直接证据：传感器在非烹饪时段读数正常且连续，无其他异常模式",
        "直接证据：日志中共3次空值，每次都与灶具或窗户操作严格关联（06:40灶具开→空值、07:11灶具关+窗开→空值、18:46灶具开→空值、19:26灶具关+窗开→空值），符合操作触发特征",
        "间接证据：家中其他传感器均无异常，不存在系统性通信问题"
      ],
      "opposing": [
        "间接证据：Matter协议设备通常具有完善的错误处理和重试机制，不应频繁返回None值",
        "间接证据：如果仅是软件BUG，应影响所有设备，但仅厨房温度传感器受影响"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：在同一传感器上反复出现None值，且触发条件相似（灶具/窗户操作），符合硬件接触不良特征",
        "间接证据：温度变化引起的热胀冷缩可能导致焊点临时断开，这与灶具开启后温度变化时间点吻合",
        "间接证据：设备安装位置靠近灶具和窗户，可能长期受油烟、湿度影响导致连接器氧化"
      ],
      "opposing": [
        "直接证据：传感器恢复后读数完全正常，无漂移或卡死等硬件故障常见表现",
        "间接证据：如果是硬件故障，应出现更多异常读数，但仅4次短暂丢失",
        "间接证据：烟雾报警器在21:08正常完成自检且CO传感器正常，说明厨房区域供电和通信整体稳定"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "间接证据：灶具和洗碗机等高功率设备启动时可能产生电磁干扰",
        "直接证据：空值事件均发生在灶具或窗户操作瞬间，符合干扰触发模式"
      ],
      "opposing": [
        "间接证据：家中其他传感器（如客厅温度、主卧温度）在相同时间点均正常，电磁干扰应影响更广范围",
        "间接证据：Matter协议使用Zigbee/Thread/Wi-Fi，通常具有抗干扰机制"
      ]
    }
  ],
  "step4_causal": [
    "因果1: 厨房灶具开启（06:39:39）→ kitchen_temp_sensor 返回 None（06:40:09）— 异常关联（温度上升触发传感器瞬断）",
    "因果2: 厨房灶具关闭 + 窗户打开（07:10-07:10:30）→ kitchen_temp_sensor 返回 None（07:11）— 异常关联（门窗操作导致线缆微动触发接触不良）",
    "因果3: 晚间灶具开启（18:45:30）→ kitchen_temp_sensor 返回 None（18:46）— 异常关联（与早晨模式一致）",
    "因果4: 晚间灶具关闭 + 窗户打开（19:25-19:25:30）→ kitchen_temp_sensor 返回 None（19:26）— 异常关联（与上午模式一致）",
    "正常因果: 住户早晨起床（06:26）→ 厨房烹饪（06:39开灶具）→ 关火开窗通风（07:10-07:10:30）→ 出门上班（07:21）— 正常日常行为序列",
    "正常因果: 住户下午回家（16:34开门）→ 客厅活动（17:41开灯/空调）→ 厨房烹饪（18:45开灶具）→ 关火开窗通风（19:25-19:25:30）→ 启动洗碗机（19:48）→ 休息 — 正常日常行为序列",
    "正常因果: 烟雾报警器自检（21:08）→ 短暂触发CO状态 → 完成自检 — 正常设备维护行为"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "存在一定的误报可能，因为每次空值后传感器恢复正常，且与正常操作高度关联，硬件彻底故障的可能性较低。但如果是硬件故障早期症状而被误判为正常，存在漏报风险。综合而言，当前更可能是传感器通信层面的小概率瞬态问题（如传感器在特定操作下的数据采集时序冲突），而非真正的安全威胁。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "不存在安全威胁。厨房温度传感器在灶具操作时出现4次短暂空值，但每次均快速恢复且读数正常，整体家庭行为（早起烹饪→上班、下班回家→烹饪晚餐→休息）符合正常生活规律，烟雾报警器自检正常，无实际报警。",
    "recommended_actions": [
      "1. 观察厨房温度传感器后续表现，若空值出现频率增加或恢复时间延长，建议检查传感器连接",
      "2. 确认厨房烟雾报警器正常工作（今日已通过自检，无需立即操作）",
      "3. 保持正常生活习惯观察"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器存在间歇性通信故障或软件BUG，导致在特定操作（灶具开启/关闭、窗户打开）时短暂返回空值，但不影响实际温度监测功能

Explanation: 假设B: [anomaly] 厨房温度传感器硬件故障（如焊点松动、连接器接触不良），在振动或温度变化环境下间歇性失效，可能影响火灾监测能力

Explanation: 假设C: [anomaly] 厨房温度传感器受到外部干扰（如电磁干扰或电源波动），导致在电器启动时通讯中断

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

Explanation: 误报可能性: 存在一定的误报可能，因为每次空值后传感器恢复正常，且与正常操作高度关联，硬件彻底故障的可能性较低。但如果是硬件故障早期症状而被误判为正常，存在漏报风险。综合而言，当前更可能是传感器通信层面的小概率瞬态问题（如传感器在特定操作下的数据采集时序冲突），而非真正的安全威胁。

2. 确认厨房烟雾报警器正常工作（今日已通过自检，无需立即操作）

3. 保持正常生活习惯观察

厨房温度传感器受到外部干扰（如电磁干扰或电源波动），导致在电器启动时通讯中断

Hypothesis: A

直接证据：传感器在非烹饪时段读数正常且连续，无其他异常模式

间接证据：家中其他传感器均无异常，不存在系统性通信问题

间接证据：如果仅是软件BUG，应影响所有设备，但仅厨房温度传感器受影响

Hypothesis: B

间接证据：设备安装位置靠近灶具和窗户，可能长期受油烟、湿度影响导致连接器氧化

直接证据：传感器恢复后读数完全正常，无漂移或卡死等硬件故障常见表现

间接证据：如果是硬件故障，应出现更多异常读数，但仅4次短暂丢失

Hypothesis: C

间接证据：灶具和洗碗机等高功率设备启动时可能产生电磁干扰 直接证据：空值事件均发生在灶具或窗户操作瞬间，符合干扰触发模式


通过门锁合法进入（有 LockOperation 事件+有效 UserIndex），不是通过窗户

```json
{
  "step1_evidence": [
    "厨房温度异常: [2026-06-13T08:58:04] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第一次出现厨房温度传感器读数丢失，之后厨房烹饪期间温度读数均正常恢复。",
    "厨房温度异常: [2026-06-13T12:00:00 - 12:50:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue 从 2597 升至 2928 — 中午12:00-12:30期间厨房温度急剧上升约 33°C，远超正常烹饪导致的温度变化，且无灶具开启记录，可能是潜在火情或传感器严重漂移。",
    "厨房温度异常: [2026-06-13T12:08:30] kitchen_cook_surface | OnOff.OnOff = True — 在温度急剧上升后才开启灶具，但温度起点已异常偏高（2597=25.97°C 到 2662=26.62°C 再到 2719=27.19°C 后开启灶具，实际温度起点约 25.97°C，上升约 3°C 后开灶，属于正常启动；但更早在12:00时温度已达到 2597，异常。",
    "厨房温度尖峰: [2026-06-13T12:30:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = 2928 — 厨房温度达到当日最高点 29.28°C，而此时客厅温度仅 25.18°C，温差达 4.1°C，异常偏大。",
    "厨房温度异常: [2026-06-13T08:58:04, 09:52:00, 12:09:00, 12:40:00, 18:00:00, 18:32:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器多次报告 None 值，可能存在间歇性通信或传感器故障。",
    "异常时间的窗户打开: [2026-06-13T09:51:30, 12:39:30, 18:31:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在烹饪后立即打开，属于正常通风行为，非异常。",
    "门锁正常操作: [2026-06-13T18:32:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=5) — 有人使用凭证开锁，之后玄关运动传感器触发，为正常回家行为。",
    "门口正常锁门: [2026-06-13T23:04:20-21] front_door_contact | BooleanState.StateValue = True 然后 front_door_lock | DoorLock.LockState = 1 — 住户关门并自动上锁，属于正常就寝前操作。",
    "空调运行和客厅温控: [2026-06-13T10:09:09] living_room_ac | OnOff.OnOff = True, Thermostat.SystemMode = 3 — 空调开启后客厅温度从 25.48°C 逐步下降到 25°C 左右并保持稳定，正常温控表现。",
    "住户离开: [2026-06-13T23:04:00] living_room_light_1 | OnOff.OnOff = False 且 living_room_ac | OnOff.OnOff = False — 住户在23:04关闭客厅灯和空调，随后门关闭并上锁，符合就寝行为。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度中午的异常上升是正常烹饪行为导致：住户在12:00-12:30之间烹饪，使用了灶具，导致厨房温度从约25.4°C升至29.3°C，之后关火开窗降温。传感器多次报告None是间歇性无线干扰或传感器重启。所有事件均为家庭日常活动，无安全威胁。"},
    {"id": "B", "type": "anomaly", "description": "厨房存在火灾或过热风险：中午12:00左右厨房温度已异常偏高（25.97°C），且在无灶具开启记录的情况下持续上升，直到12:08才开启灶具。可能灶具在12:00前已有人为误操作开启但日志未记录，或存在电气故障导致局部过热。温度峰值达29.28°C远超正常烹饪温升，且与其他房间温差过大。"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器存在间歇性硬件故障：传感器在一天内多次报告None值（08:58、09:52、12:09、12:40、18:00、18:32），同时中午的温度异常上升可能是传感器故障导致的虚假读数，并非真实温度。但传感器在其余时间报告的温度与其他房间温度趋势一致，矛盾。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["支持-间接: [12:08:30] kitchen_cook_surface | OnOff.OnOff = True → 灶具在12:08开启，可解释12:00-12:30期间的温度上升，但12:00温度已为2597（25.97°C），开启前5分钟（12:05）为2662（26.62°C），而11:55时仅为2527（25.27°C），说明升温已在12:00开始。", "支持-间接: [12:39:00] kitchen_cook_surface | OnOff.OnOff = False 后 [12:39:30] 开窗，温度逐步下降 → 符合正常烹饪后通风", "支持-间接: 全天其他时段厨房温度与室外或空调影响下的其他房间温度变化趋势基本一致"], "opposing": ["否定-间接: 升温起始点（12:00，温度25.97°C）高于正常烹饪启动前的室温（11:55时25.27°C），仅5分钟升0.7°C，但灶具在12:08才开启，无法解释11:55-12:08之间的升温原因。", "否定-间接: 正常烹饪温升一般3-5°C，但本次峰值29.28°C相对烹饪前（约25.3°C）上升近4°C，虽在合理范围内但偏上限"]},
    {"hypothesis": "B", "supporting": ["支持-间接: 12:00时温度25.97°C，而灶具12:08才开启，存在8分钟无解释的温度上升 → 可能灶具已漏气或误触但日志丢失，或存在其他热源", "支持-间接: 厨房与其他房间温差达4.1°C（29.28°C vs 25.18°C），虽然烹饪可解释但温差偏大"], "opposing": ["否定-间接: 灶具最终在12:08确实被开启，且12:39被关闭，之后温度平稳下降，无持续过热迹象 → 不是未受控制的火情", "否定-间接: 厨房烟雾报警器在日志中未触发（无SmokeAlarm事件） → 无烟雾或火灾证据", "否定-间接: 温度峰值29.28°C（约29°C）仍在安全范围，远达不到火灾危险温度"]},
    {"hypothesis": "C", "supporting": ["支持-直接: [08:58, 09:52, 12:09, 12:40, 18:00, 18:32] 共6次kitchen_temp_sensor报告MeasuredValue=None → 明确传感器通信中断或故障", "支持-间接: 温度传感器在中午的读数跳跃（从2527到2597再到2662）变化速率较快，可能是传感器瞬态噪声"], "opposing": ["否定-直接: 除了None值时间段外，传感器在其他时间段报告的读数与其他房间温度变化趋势一致（整体随空调/室外温度缓慢下降），且没有出现长时间固定值或单向漂移 → 传感器大部分时间工作正常", "否定-间接: 如果中午读数因故障虚假，为何恰好与灶具开启（12:08）和关闭（12:39）的时间吻合？更可能是真实测温"]}
  ],
  "step4_causal": [
    "正常因果: [08:57] 住户使用卫生间 → [08:57:04] 开启厨房灯 → [08:57:34] 开启灶具（早餐烹饪）→ 厨房温度上升但在正常范围（正常晨间流程）",
    "因果冲突: [12:00] 厨房温度从25.27°C（11:55）升至25.97°C → 但日志中灶具在12:08才开启 → 存在8分钟无法解释的升温（异常：无触发源的升温）",
    "正常因果: [12:08] 灶具开启 → 厨房温度从26.62°C升至12:30峰值29.28°C（正常烹饪温升约2.7°C）",
    "正常因果: [12:39] 灶具关闭 → [12:39:30] 开窗通风 → 厨房温度逐步回落（正常烹饪后降温）",
    "故障因果: 传感器多次报告None值（08:58, 09:52, 12:09, 12:40, 18:00, 18:32）→ 传感器间歇性通信故障或供电不稳（异常：设备故障）",
    "正常因果: [10:09] 客厅空调开启 → 客厅及邻近房间温度逐步从25.5°C降至约25°C并维持（正常温控）",
    "正常因果: [18:32] 开锁 → [18:32:05] 玄关运动 → [18:32:30] 客厅运动 → [18:33] 开灯（住户正常回家行为）",
    "正常因果: [23:04] 关灯、关空调 → [23:04:20] 关门 → [23:04:21] 自动上锁 → 住户就寝（正常夜间流程）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "中午厨房温度上升与灶具开启高度相关（开启后温度进一步升高，关闭后下降），但12:00-12:08之间8分钟的无源升温存在模糊地带。可能原因是日志采样间隔（5分钟）导致实际灶具开启时间未被精确记录（12:00-12:05之间可能已有人触发了灶具但日志上报延迟）。传感器多次None值可归因于环境干扰（如高温、蒸汽影响无线通信）。总体而言更可能为正常行为，但不100%排除传感器故障或轻微异常。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "全天日志显示为正常家庭活动（早餐、午餐烹饪、午休、晚间回家、就寝），厨房温度中午异常上升与灶具开启时间高度吻合，传感器None值可能为间歇性无线干扰。未发现入侵、火灾、设备卡死等安全威胁。",
    "recommended_actions": [
      "检查厨房温度传感器是否固件支持更新，减少None值上报频率",
      "建议在厨房部署烟雾/温度复合传感器作为冗余，防止单个传感器失效",
      "设置自动化规则：如果厨房温度在无灶具开启记录时超过28°C持续10分钟，向住户手机发送通知"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度中午的异常上升是正常烹饪行为导致：住户在12:00-12:30之间烹饪，使用了灶具，导致厨房温度从约25.4°C升至29.3°C，之后关火开窗降温。传感器多次报告None是间歇性无线干扰或传感器重启。所有事件均为家庭日常活动，无安全威胁。

Explanation: 假设B: [anomaly] 厨房存在火灾或过热风险：中午12:00左右厨房温度已异常偏高（25.97°C），且在无灶具开启记录的情况下持续上升，直到12:08才开启灶具。可能灶具在12:00前已有人为误操作开启但日志未记录，或存在电气故障导致局部过热。温度峰值达29.28°C远超正常烹饪温升，且与其他房间温差过大。

Explanation: 假设C: [anomaly] 厨房温度传感器存在间歇性硬件故障：传感器在一天内多次报告None值（08:58、09:52、12:09、12:40、18:00、18:32），同时中午的温度异常上升可能是传感器故障导致的虚假读数，并非真实温度。但传感器在其余时间报告的温度与其他房间温度趋势一致，矛盾。

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

Explanation: 误报可能性: 中午厨房温度上升与灶具开启高度相关（开启后温度进一步升高，关闭后下降），但12:00-12:08之间8分钟的无源升温存在模糊地带。可能原因是日志采样间隔（5分钟）导致实际灶具开启时间未被精确记录（12:00-12:05之间可能已有人触发了灶具但日志上报延迟）。传感器多次None值可归因于环境干扰（如高温、蒸汽影响无线通信）。总体而言更可能为正常行为，但不100%排除传感器故障或轻微异常。

检查厨房温度传感器是否固件支持更新，减少None值上报频率

建议在厨房部署烟雾/温度复合传感器作为冗余，防止单个传感器失效

Hypothesis: A

Hypothesis: B

Hypothesis: C


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

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

```json
{
  "step1_evidence": [
    "[2026-06-08T13:07:25] bathroom_occupancy | Occupancy=0 — 这是卫生间在整段日志中最后一次被报告为有人的时间点。之后全天卫生间运动传感器一直报告为 Occupancy=0，但根据后续事件，住户显然在家中活动（如做饭、开空调等），卫生间的传感器可能已损坏。",
    "[2026-06-08T13:42:00] kitchen_cook_surface | OnOff=True — 灶具开启，但此时 living_room_occupancy = 0，厨房内也无直接 Occupancy 传感器报告。此后厨房温度传感器（kitchen_temp_sensor）在13:47报告了一个异常高值（2700 → 27.00°C，后骤降至 2489），这可能表明传感器读数异常或烹饪产生大量热量/蒸汽干扰了传感器。",
    "[2026-06-08T13:47:00] kitchen_temp_sensor | MeasuredValue = 2700 —— 相比之前13:45的 2491（24.91°C）在2分钟内骤升至 27.00°C，升温幅度约 2.09°C/min，远超正常烹饪加热速率（通常为0.5-1°C/min）。疑似传感器受热蒸汽/热油飞溅干扰，或传感器本身故障（如漂移）。",
    "[2026-06-08T14:02:00] living_room_occupancy | Occupancy = 1 —— 住户首次被检测到出现在客厅，此时灶具已开启约20分钟。灶具开启期间厨房无 occupancy 传感器数据，无法确认是否有人在厨房照看。",
    "[2026-06-08T14:12:00] kitchen_temp_sensor | MeasuredValue = 2750 —— 再次出现异常快速升温（14:10 的 2468 → 14:12 的 2750，2分钟升约 2.82°C），进一步印证传感器状态不稳定。",
    "[2026-06-08T19:06:30] kitchen_cook_surface | OnOff=True —— 晚上再次开启灶具，此时客厅有住户（living_room_occupancy = 1），但厨房无 Occupancy 传感器，不确定是否有人在厨房。",
    "[2026-06-08T19:07:00] kitchen_temp_sensor | MeasuredValue=None —— 灶具开启后仅30秒，厨房温度传感器报 None（通信中断或传感器故障）。传感器在19:10恢复并报出 2490（24.90°C），但之后持续快速攀升至 21:00+°C级别（实际应为 26-27°C级别），表明传感器数据严重异常。",
    "[2026-06-08T19:50:30] kitchen_window_contact | BooleanState=False —— 灶具关闭后，厨房窗户被打开（通风）。这是合理的操作。",
    "[2026-06-08T19:51:00] kitchen_temp_sensor | MeasuredValue=None —— 窗户打开后传感器再次报 None（可能是开窗通风时的温度瞬变触发了传感器的保护机制，或传感器本身存在间歇性故障）。之后传感器恢复正常（19:55 报 2556），读数逐渐回落。",
    "[bathroom_occupancy 全天报告 Occupancy=0] —— 从13:07到全天结束，卫生间运动传感器再未报告有人。但根据事件序列，住户在19:50-19:56之间进行了烹饪、洗碗等操作，理应有机会进入卫生间。传感器可能一直处于故障状态（stuck at 0）。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "正常烹饪+传感器偶发故障：住户在厨房正常做饭，厨房温度传感器因蒸汽或热油飞溅出现间歇性读数异常（快速升降、None值），但总体上烹饪行为正常。卫生间运动传感器可能因安装位置不佳或低灵敏度而未能检测到住户短暂进入。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "厨房温度传感器故障（漂移/间歇性失灵）：kitchen_temp_sensor 在13:47和14:12出现异常快速升温和剧烈波动（从24.91°C到27.00°C仅2分钟），之后在19:07和19:51出现 None（通信中断），表明传感器存在硬件故障，可能导致误报火灾或不报真实火灾。"
    },
    {
      "id": "C",
      "type": "anomaly",
      "description": "卫生间运动传感器故障（stuck at 0）：bathroom_occupancy 从13:07后一直报告 Occupancy=0，但后续住户正常在家活动（做饭、开空调、开门等），理论上会使用卫生间。传感器可能卡死在“无人”状态，无法检测实际有人进入，属于传感器故障。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "13:42 开启灶具后，厨房温度传感器出现峰值（13:47的2700），随后快速回落至2489，符合烹饪时蒸汽/热油飞溅导致瞬时高温后又恢复正常的模式（间接证据）。",
        "19:50 灶具关闭后，厨房窗户被打开（19:50:30），之后传感器读数快速下降（从2602降至2556），符合通风降温的逻辑（直接证据）。",
        "14:02 住户进入客厅（living_room_occupancy=1），说明有人在家，可能只是短暂进入厨房又离开（间接证据）。",
        "19:10-19:50期间厨房温度持续升高至2600+（26.00°C+），但未超过30°C，不足以触发烟雾报警器（kitchen_smoke_alarm无报警事件），说明烹饪在可控范围内（间接证据）。"
      ],
      "opposing": [
        "厨房温度传感器在13:47和14:12出现2分钟内升温超过2°C/min的异常速率，超出正常烹饪的加热曲线，更像传感器异常（间接证据）。",
        "传感器在19:07和19:51两次出现 None 值，表明存在通信中断或内部错误，而非正常行为（直接证据）。",
        "卫生间运动传感器从13:07后从未报告有人（直接证据），但住户全天在家活动（14:02客厅、19:00+客厅），理应有上卫生间的需求，传感器未触发不符合正常行为模式（间接证据）。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "13:47和14:12的两次异常快速升温（2分钟内升温2-3°C）不符合任何合理的热源加热曲线（直接证据）。",
        "19:07和19:51出现 MeasuredValue=None，且均发生在设备状态变化时（灶具开启/窗户打开），表明传感器对瞬变非常敏感，存在硬件缺陷（直接证据）。",
        "传感器读数在19:10-19:50期间持续攀升但波动剧烈（2614→2679→2671→2674→2687→2633），而非平稳上升，符合漂移或间歇性故障的特征（间接证据）。"
      ],
      "opposing": [
        "传感器在大多数时间能返回合理读数（如19:00的2351、20:00的2513、21:00的2253），与生活规律一致（间接证据）。",
        "没有烟雾报警器报警或灶具异常燃烧记录，说明烹饪没有引发真实火灾（直接证据）。",
        "传感器在窗户打开后读数下降，行为符合物理规律（间接证据）。"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "bathroom_occupancy 从13:07:25最后一次报告 Occupancy=1（且此时用户刚刚结束卫生间活动）后，全天再未报告 Occupancy=1（直接证据）。",
        "住户在14:02、18:10、19:00+ 等多个时间点出现在客厅，且有烹饪、开门、开空调等系列活动，正常情况下应有上卫生间的行为（间接证据）。",
        "卫生间灯（bathroom_light）在06:49开后于07:06关闭，之后再无灯光操作记录，可能住户全天未再进入卫生间，或者传感器/灯控系统故障导致未上报（间接证据）。"
      ],
      "opposing": [
        "住户可能白天未使用卫生间（例如使用次卧卫生间，但次卧无漏水/卫生间相关设备上报），这是可能的正常行为（间接证据）。",
        "没有其他异常报警（如漏水警报）伴随发生，传感器可能只是未被触发（间接证据）。"
      ]
    }
  ],
  "step4_causal": [
    "13:42 灶具开启（正常） → 13:47 厨房温度传感器出现异常峰值2700（异常：2分钟升温2°C/min，非正常烹饪曲线），之后回落至2490（正常）。这一因果关系中温度变化不符合物理规律，推断传感器异常。",
    "14:02 住户首次在客厅被检测到（正常） → 但灶具已开启20分钟，厨房无 Occupancy 传感器无法确认是否有人照看（存在忘关火风险）。",
    "19:06 灶具再次开启（正常） → 19:07 厨房温度传感器报 None（异常：传感器对灶具点火产生的瞬态高温反应过度，或通信链路故障）。",
    "19:50 灶具关闭（正常） → 19:50:30 厨房窗户打开（正常通风） → 19:51 传感器再次报 None（异常：通风引起的温度骤降可能再次触发传感器错误保护或故障）。",
    "bathroom_occupancy 全天自13:07后一直为0（异常） → 住户无法被检测到进入卫生间。这可能是传感器故障，也可能是正常行为（住户不使用该卫生间）。无因果事件链支持侵入。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B（厨房温度传感器故障）和 C（卫生间运动传感器故障）并存",
    "confidence": "medium",
    "severity": "medium",
    "false_positive_risk": "中等。厨房温度传感器的异常快速升温和None值可能被误解为火灾，但无烟雾报警佐证，且住户在灶具开启时在客厅活动，排除了严重火灾的可能。卫生间传感器故障可能被忽略为正常行为差异。但两个传感器同时表现出故障特征，确实需要关注。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器（kitchen_temp_sensor）在两次烹饪期间出现异常快速升温（2分钟2-3°C）和间歇性通信中断（None值），卫生间运动传感器（bathroom_occupancy）全天自13:07后未再触发，疑似卡死故障。两传感器同时异常可能影响家居安全监控。",
    "recommended_actions": [
      "1. 检查 kitchen_temp_sensor 的安装位置是否靠近灶具蒸汽排放口，必要时重新安装或更换传感器。",
      "2. 重置或校准 bathroom_occupancy 传感器；手动在卫生间制造活动测试其是否正常触发。",
      "3. 确认厨房烟雾报警器（kitchen_smoke_alarm）功能正常，确保火灾检测不受温度传感器影响。",
      "4. 考虑在厨房安装 Occupancy 传感器，以便在灶具开启时自动确认是否有人在场，减少忘关火风险。",
      "5. 观察几天，看传感器异常是否复现；若持续异常则报修。"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常烹饪+传感器偶发故障：住户在厨房正常做饭，厨房温度传感器因蒸汽或热油飞溅出现间歇性读数异常（快速升降、None值），但总体上烹饪行为正常。卫生间运动传感器可能因安装位置不佳或低灵敏度而未能检测到住户短暂进入。

Explanation: 假设B: [anomaly] 厨房温度传感器故障（漂移/间歇性失灵）：kitchen_temp_sensor 在13:47和14:12出现异常快速升温和剧烈波动（从24.91°C到27.00°C仅2分钟），之后在19:07和19:51出现 None（通信中断），表明传感器存在硬件故障，可能导致误报火灾或不报真实火灾。

Explanation: 假设C: [anomaly] 卫生间运动传感器故障（stuck at 0）：bathroom_occupancy 从13:07后一直报告 Occupancy=0，但后续住户正常在家活动（做饭、开空调、开门等），理论上会使用卫生间。传感器可能卡死在“无人”状态，无法检测实际有人进入，属于传感器故障。

Explanation: 最可能假设: B（厨房温度传感器故障）和 C（卫生间运动传感器故障）并存, 置信度: medium

Explanation: 误报可能性: 中等。厨房温度传感器的异常快速升温和None值可能被误解为火灾，但无烟雾报警佐证，且住户在灶具开启时在客厅活动，排除了严重火灾的可能。卫生间传感器故障可能被忽略为正常行为差异。但两个传感器同时表现出故障特征，确实需要关注。

5. 观察几天，看传感器异常是否复现；若持续异常则报修。

Hypothesis: A

Hypothesis: B

没有烟雾报警器报警或灶具异常燃烧记录，说明烹饪没有引发真实火灾（直接证据）。

传感器在窗户打开后读数下降，行为符合物理规律（间接证据）。

Hypothesis: C

没有其他异常报警（如漏水警报）伴随发生，传感器可能只是未被触发（间接证据）。

B（厨房温度传感器故障）和 C（卫生间运动传感器故障）并存


WD-03-FP: 住户外出但开了自动浇花系统

漏水传感器触发后在短时间内（3分钟）恢复为false，而非持续触发超过10分钟

```json
{
  "step1_evidence": [
    "[13:54:00] bathroom_water_leak | BooleanState.StateValue = True — 卫生间漏水传感器触发，是明确的异常事件，需要立即关注。",
    "[13:57:00] bathroom_water_leak | BooleanState.StateValue = False — 漏水传感器在3分钟后自行恢复，可能为误报或短暂漏水。",
    "[18:27:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 住户手动解锁入户门（回家）。",
    "[18:27:02] front_door_contact | BooleanState.StateValue = False — 入户门被打开。",
    "[18:27:12] entrance_light | OnOff.OnOff = True — 玄关灯被打开，符合回家动作。",
    "[18:27:30] living_room_ac | OnOff.OnOff = True, Thermostat.SystemMode = 3 — 客厅空调开启，住户回家后开启空调降温。",
    "[19:08:30] kitchen_cook_surface | OnOff.OnOff = True — 厨房灶具开启，住户开始烹饪。",
    "[19:52:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在19:52关闭，烹饪结束。",
    "[19:52:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户被打开，可能是烹饪后散味。",
    "[20:00:00 - 21:00:00] living_room_occupancy 和 entrance_occupancy 持续为 1 — 客厅和玄关有持续有人活动（如看电视、休息）。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "住户的正常回家、烹饪、用餐、休息活动。漏水传感器被短暂误报（如洗手溅水）。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "卫生间存在持续性漏水隐患，虽然传感器已恢复，但可能问题未解决。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据：06:35 卫生间有人使用（灯亮、Occupancy=1），符合正常晨起行为。",
        "直接证据：07:25 入户门解锁、开门、出门并自动锁门，符合住户出门上班模式。",
        "直接证据：18:27 入户门解锁、开门、开灯、开空调，符合住户下班回家模式。",
        "直接证据：19:08 灶具开启，19:52 关闭，为正常烹饪。",
        "直接证据：19:52 厨房窗户打开，烹饪后通风，合理行为。",
        "间接证据：漏水传感器在3分钟后自动恢复，可能是洗手时溅水导致短暂误报。",
        "间接证据：整个时间线上，其他所有传感器数据（温度、运动、门窗）均与正常住户活动模式一致。"
      ],
      "opposing": [
        "间接证据：漏水传感器在13:54触发，而13:45-15:00期间卫生间Occupancy一直为0，如果只是洗手溅水，不太可能持续占用传感器3分钟。",
        "直接证据：13:54-13:57期间，没有其他用水设备（如洗衣机、洗碗机）运行记录，不太可能有大面积积水。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：漏水传感器明确触发，表明检测到水。",
        "间接证据：传感器触发持续3分钟，不是瞬时触发，可能不是单纯的溅水。"
      ],
      "opposing": [
        "直接证据：漏水传感器在13:57自行恢复为False，表明漏水已经停止或已被擦干。",
        "间接证据：后续没有再次触发，也没有其他异常（如湿度升高、地板水渍等检测）。",
        "间接证据：如果存在持续性漏水，传感器应保持触发状态，但实际已恢复。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果：06:35 住户起床 → 卫生间灯亮、Occupancy=1（正常晨间活动）。",
    "正常因果：07:25 住户开门 → 出门上班（门锁手动解锁 → 门开 → 自动上锁）。",
    "正常因果：18:27 住户回家 → 开门、开灯、开空调（正常回家行为）。",
    "正常因果：19:08 灶具开启 → 厨房温度在19:10-19:50期间从2475快速升至2677后回落（正常烹饪）。",
    "正常因果：19:52 灶具关闭 → 厨房窗户打开 → 厨房温度逐步下降（烹饪后通风）。",
    "正常因果：13:54 漏水触发 → 13:57 恢复（可能误报或小水流已干）。",
    "异常关联：无。所有事件均可由正常解释覆盖。"
  ],
  "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

直接证据：07:25 入户门解锁、开门、出门并自动锁门，符合住户出门上班模式。

直接证据：18:27 入户门解锁、开门、开灯、开空调，符合住户下班回家模式。

直接证据：19:08 灶具开启，19:52 关闭，为正常烹饪。

直接证据：19:52 厨房窗户打开，烹饪后通风，合理行为。

间接证据：漏水传感器在3分钟后自动恢复，可能是洗手时溅水导致短暂误报。

Hypothesis: B

直接证据：漏水传感器明确触发，表明检测到水。 间接证据：传感器触发持续3分钟，不是瞬时触发，可能不是单纯的溅水。

间接证据：后续没有再次触发，也没有其他异常（如湿度升高、地板水渍等检测）。

间接证据：如果存在持续性漏水，传感器应保持触发状态，但实际已恢复。

正常因果：18:27 住户回家 → 开门、开灯、开空调（正常回家行为）。

正常因果：13:54 漏水触发 → 13:57 恢复（可能误报或小水流已干）。

异常关联：无。所有事件均可由正常解释覆盖。

漏水传感器触发可能是洗手溅水或传感器灵敏度过高导致的误报，而非真正漏水隐患。


只有1-2次错误（非连续多次），最终成功解锁且 UserIndex 是合法用户

```json
{
  "step1_evidence": [
    "[2026-06-02T07:39:00] front_door_lock | Event: LockOperationError(OperationError=1, OperationSource=3) — 门锁操作错误，且操作源为远程/自动化(3)，可能表示硬件故障或暴力破解尝试",
    "[2026-06-02T07:39:20] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=1) — 错误发生后立即有解锁操作，操作源为自动化(3)但指定UserIndex=1，情况可疑",
    "[2026-06-02T07:04:09] kitchen_light | OnOff.OnOff = True — 早上7:04开启厨房灯",
    "[2026-06-02T07:04:39] kitchen_cook_surface | OnOff.OnOff = True — 紧接着开启灶具",
    "[2026-06-02T07:09:00] kitchen_cook_surface | OnOff.OnOff = False — 仅4分21秒后关闭灶具",
    "[2026-06-02T07:09:30] kitchen_window_contact | BooleanState.StateValue = False — 关火后立即打开厨房窗户",
    "[2026-06-02T07:05:09] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后1分钟温度传感器报None",
    "[2026-06-02T07:10:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 再次报None",
    "[2026-06-02T19:26:00] kitchen_cook_surface | OnOff.OnOff = False — 晚上19:26关闭灶具",
    "[2026-06-02T19:26:30] kitchen_window_contact | BooleanState.StateValue = False — 关火后立即打开窗户",
    "[2026-06-02T19:27:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 关火后1分钟温度传感器再次报None"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户正常生活：早上做饭后察觉异常味/油烟，开窗通风；晚上再次做饭同样处理。厨房温度传感器间歇性故障导致None值，但实际没有安全问题。"},
    {"id": "B", "type": "anomaly", "description": "厨房燃气或烟雾安全隐患：灶具使用后立即开窗+温度传感器报None的组合可能表明有燃气异味触发开窗，温度传感器可能因过热或烟雾干扰而失效。"},
    {"id": "C", "type": "anomaly", "description": "门锁安全威胁：7:39出现一次LockOperationError后立即由自动化源成功解锁，可能表示凭证盗用或系统响应异常。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据：早上厨房活动（开灯→开灶具→4分钟后关灶具→开窗）是典型的快速烹饪场景，可能是煎蛋或热奶",
        "直接证据：晚上19:26再次关灶具+开窗，类似晚饭后通风习惯",
        "间接证据：两次开窗都与关灶具时间高度吻合，是主动行为而非意外",
        "直接证据：温度传感器报None只发生在开灶具后，可能只是传感器自身读取不稳定"
      ],
      "opposing": [
        "间接证据：如果只是正常通风，不必在早晨和晚上都在关火后几秒内立即开窗，可能是遇到了烟雾/异味才急促开窗",
        "间接证据：温度传感器在灶具开启后报None，可能是真实环境变化（如大量蒸汽/油烟）而非纯故障"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "间接证据：两次关火后立即开窗的行为模式提示存在烟雾或燃气味",
        "间接证据：厨房烟雾报警器(kitchen_smoke_alarm)在整个日志中没有任何报警记录，可疑——如果真有烟雾为何不报警",
        "直接证据：温度传感器在灶具开启后立即报None，且灶具仅开4分21秒，可能因油烟或水汽干扰传感器"
      ],
      "opposing": [
        "直接证据：厨房烟雾报警器从未报警，也没有任何烟雾或CO相关的警报事件",
        "直接证据：没有闻到味/身体不适的家庭成员报告",
        "直接证据：灶具使用时间很短（早晚均不到5分钟），不太可能产生大量烟雾"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "直接证据：7:39:00 LockOperationError(OperationError=1) — 操作错误，OperationSource=3（远程/自动化）",
        "直接证据：20秒后(7:39:20) LockOperationType=1(解锁)，OperationSource=3，成功执行，且指定了UserIndex=1 —— 可能有凭据重放或攻击",
        "直接证据：解锁后2秒门接触传感器变为False(打开)，然后快速关闭(22:22:26关门) —— 时间线紧凑，可能是快速进出"
      ],
      "opposing": [
        "间接证据：UserIndex=1通常指住户本人，且事件发生在住户出行时间(7:29)之后，有可能是住户通过手机app远程解锁误操作产生错误又重试成功",
        "间接证据：门锁错误只有一次，并非连续多次"
      ]
    }
  ],
  "step4_causal": [
    "灶具开启(07:04:39) → 厨房温度传感器报None(07:05:09)（异常关联：传感器可能受热影响或损坏）",
    "灶具关闭(07:09:00) → 厨房窗户打开(07:09:30)（可疑关联：可能是为了通风散味，而非正常烹饪流程后的行为）",
    "LockOperationError(07:39:00) → LockOperation解锁成功(07:39:20)（可疑关联：错误后迅速解锁，可能为凭据验证失败后凭据被使用）",
    "住户离家(07:29:28门锁自动上锁) → 回到玄关(07:34:25玄关Occupancy=1)（正常因果：住户可能未离开大楼又返回）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "假设A（正常生活）无法排除厨房安全隐忧，但缺乏烟雾报警器报警的确凿证据。门锁异常虽可疑但仅一次。综合判断为正常，但厨房传感器None值需关注。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器在灶具使用期间出现间歇性None值，建议检查传感器状态，同时虽然灶具使用后立即开窗行为值得留意，但无确凿安全威胁证据。",
    "recommended_actions": [
      "检查厨房温度传感器kitchen_temp_sensor是否存在硬件故障或连接问题",
      "确认厨房烟雾报警器是否正常工作（虽然无报警但建议定期测试）",
      "观察灶具使用习惯，如有持续异味或大量烟雾产生需检查通风和燃气管道",
      "门锁异常仅出现一次且后续正常，可忽略但建议保持监控"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户正常生活：早上做饭后察觉异常味/油烟，开窗通风；晚上再次做饭同样处理。厨房温度传感器间歇性故障导致None值，但实际没有安全问题。

Explanation: 假设B: [anomaly] 厨房燃气或烟雾安全隐患：灶具使用后立即开窗+温度传感器报None的组合可能表明有燃气异味触发开窗，温度传感器可能因过热或烟雾干扰而失效。

Explanation: 假设C: [anomaly] 门锁安全威胁：7:39出现一次LockOperationError后立即由自动化源成功解锁，可能表示凭证盗用或系统响应异常。

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

Explanation: 误报可能性: 假设A（正常生活）无法排除厨房安全隐忧，但缺乏烟雾报警器报警的确凿证据。门锁异常虽可疑但仅一次。综合判断为正常，但厨房传感器None值需关注。

确认厨房烟雾报警器是否正常工作（虽然无报警但建议定期测试）

观察灶具使用习惯，如有持续异味或大量烟雾产生需检查通风和燃气管道

门锁异常仅出现一次且后续正常，可忽略但建议保持监控

Hypothesis: A

直接证据：晚上19:26再次关灶具+开窗，类似晚饭后通风习惯

间接证据：两次开窗都与关灶具时间高度吻合，是主动行为而非意外

直接证据：温度传感器报None只发生在开灶具后，可能只是传感器自身读取不稳定

Hypothesis: B

间接证据：两次关火后立即开窗的行为模式提示存在烟雾或燃气味

直接证据：厨房烟雾报警器从未报警，也没有任何烟雾或CO相关的警报事件 直接证据：没有闻到味/身体不适的家庭成员报告 直接证据：灶具使用时间很短（早晚均不到5分钟），不太可能产生大量烟雾

Hypothesis: C

间接证据：门锁错误只有一次，并非连续多次


第二人通过合法凭证解锁（不同UserIndex），且有合理时间间隔

```json
{
  "step1_evidence": [
    "未发现可疑事件"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "全天无人活动，温度传感器数据呈现典型的日间自然波动，符合夏季凌晨低温、午后高温、晚间回落的正常模式。"},
    {"id": "B", "type": "anomaly", "description": "所有运动传感器全天无触发，温度传感器虽在波动但整体趋势异常偏高，可能暗示空调系统故障或传感器集体漂移。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["所有运动传感器从凌晨到深夜（00:00~23:30）始终报告 Occupancy=0，说明住户全天不在家（直接证据）。", "所有温度传感器的读数在一天内呈现先上升后下降的正弦曲线：00:00 约 22.65°C → 12:00 约 25.22°C（午后峰值）→ 23:00 约 22.54°C（间接证据）。", "温度波动幅度约为 2.5°C（22.65°C ~ 25.22°C），在正常日间温差范围内（±2°C 附近，略宽但可接受）。", "13:00 前后有两个门锁操作事件（UserIndex=1 和 2），推测为住户外出后远程/定时检查或误操作，但无后续入户门状态或运动传感器触发，支持住户不在家（间接证据）。"], "opposing": ["门锁事件发生在 12:59 和 13:04，但所有 Occupancy 传感器均未变化，不支持有人进入（直接证据）。"]},
    {"hypothesis": "B", "supporting": ["午后最高温度达到 25.55°C（25.5°C），略高于典型舒适区间，但在 6 月夏季是合理的（间接证据）。", "所有温度传感器读数高度同步波动，排除单一传感器故障（直接证据）。"], "opposing": ["温度波动并非完全固定或单向漂移，而是有规律升降，符合日间温变曲线（直接证据）。", "没有空调或制冷设备的工作日志，无法验证空调是否故障（间接证据）。"]}
  ],
  "step4_causal": [
    "因果关系1: 住户外出（全天无 Occupancy 触发）→ 温度传感器读数随环境自然波动（正常因果）",
    "因果关系2: 12:59 和 13:04 的门锁操作事件 → 无后续人员活动传感器触发（正常，可能是远程操作或住户离开后的一次性事件）",
    "因果关系3: 全天无任何设备报警或异常状态 → 整体系统运行无中断迹象（正常）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "若实际情况是住户在家但所有运动传感器失效，则可能漏报。但多个传感器同时失效概率极低，且温度传感器正常，此可能性忽略不计。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "全天设备日志显示典型的无人住宅场景：温度传感器读数呈正常日间波动，所有运动传感器无触发，无异常报警或设备故障，无安全威胁。",
    "recommended_actions": ["无需处理；日志正常。"]
  }
}
```

Explanation: 假设A: [normal] 全天无人活动，温度传感器数据呈现典型的日间自然波动，符合夏季凌晨低温、午后高温、晚间回落的正常模式。

Explanation: 假设B: [anomaly] 所有运动传感器全天无触发，温度传感器虽在波动但整体趋势异常偏高，可能暗示空调系统故障或传感器集体漂移。

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

Explanation: 误报可能性: 若实际情况是住户在家但所有运动传感器失效，则可能漏报。但多个传感器同时失效概率极低，且温度传感器正常，此可能性忽略不计。

Hypothesis: A

Hypothesis: B

所有温度传感器读数高度同步波动，排除单一传感器故障（直接证据）。

温度波动并非完全固定或单向漂移，而是有规律升降，符合日间温变曲线（直接证据）。 没有空调或制冷设备的工作日志，无法验证空调是否故障（间接证据）。

因果关系3: 全天无任何设备报警或异常状态 → 整体系统运行无中断迹象（正常）


```json
{
  "step1_evidence": [
    "Event 1: [2026-06-11T06:42:09] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 灶具开启后,厨房温度传感器立即失效,报告None,可能是灶具高温导致传感器损坏或过热保护,值得关注。",
    "Event 2: [2026-06-11T07:03:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在开启约21分钟后关闭,这属于正常烹饪时间,但需结合其他事件确认。",
    "Event 3: [2026-06-11T07:03:30] kitchen_window_contact | BooleanState.StateValue = False — 灶具关闭后30秒,厨房窗户被打开,这是正常通风行为。",
    "Event 4: [2026-06-11T07:04:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第二次报告None,传感器仍未恢复。",
    "Event 5: [2026-06-11T18:39:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 当日晚间再次使用灶具后,传感器再次报告None,进一步确认传感器故障。",
    "Event 6: [2026-06-11T19:28:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 当日第三次灶具使用后传感器再次报告None,模式明显。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "厨房温度传感器在高温烹饪时因过热保护或瞬时干扰而暂时失效,随后可能恢复,属于正常现象。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "厨房温度传感器存在硬件故障,无法承受烹饪产生的高温,或传感器本身损坏,需维修或更换。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据: 三次传感器报告None均发生在灶具开启后不久,符合过热保护或瞬时干扰的直接原因。",
        "间接证据: 灶具关闭后,传感器在后续几分钟内恢复读数(如06:45:00 kitchen_temp_sensor = 2501, 18:40:00 = 2308, 19:30:00 = 2277),表明故障不是永久性的。"
      ],
      "opposing": [
        "间接证据: 传感器在灶具关闭后并未立即恢复,而是经过5-6分钟才有读数,这与瞬时干扰后快速恢复的模式不太吻合。",
        "间接证据: 多次出现完全相同的问题(灶具开启→传感器None),表明存在系统性问题。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据: 三次灶具使用后传感器均报告None,具有明确的重复模式,符合硬件故障的表现。",
        "间接证据: 传感器在关闭灶具后恢复读数,但恢复后的数值有时与正常温度曲线不符(如06:45:00厨房温度从None恢复后升至2501,与周围传感器趋势一致,但无法确认是否为漂移)。"
      ],
      "opposing": [
        "间接证据: 传感器每次都能恢复读数,表明并非永久损坏。",
        "间接证据: 恢复后读数与其他房间温度趋势基本一致,未显示显著漂移,因此故障可能是暂时的。"
      ]
    }
  ],
  "step4_causal": [
    "因果关系1: 灶具开启 (06:41:39) → 厨房温度传感器报告None (06:42:09) — 异常关联: 灶具开启后传感器立即失效,因果关系明确。",
    "因果关系2: 灶具关闭 (07:03:00) → 窗户打开 (07:03:30) → 传感器恢复读数 (06:45:00) — 正常因果: 住户正常通风,传感器在降温后恢复。",
    "因果关系3: 灶具开启 (18:38:30) → 传感器报告None (18:39:00) — 异常关联: 晚间再次验证了该模式。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "低。问题在当日多次出现,模式明确,且传感器能恢复,排除永久损坏,但过热保护失效或瞬时干扰的可能性较低。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器在灶具开启后反复报告None,可能存在过热保护触发或硬件故障,影响安全隐患的及时检测。",
    "recommended_actions": [
      "检查厨房温度传感器的安装位置,确保其远离灶具直接热源。",
      "联系供应商确认传感器是否支持过热保护,并考虑更换为耐高温型号。",
      "若传感器恢复后读数准确,可重置传感器观察后续表现;如问题持续,建议更换。"
    ]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器在高温烹饪时因过热保护或瞬时干扰而暂时失效,随后可能恢复,属于正常现象。

Explanation: 假设B: [anomaly] 厨房温度传感器存在硬件故障,无法承受烹饪产生的高温,或传感器本身损坏,需维修或更换。

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

Explanation: 误报可能性: 低。问题在当日多次出现,模式明确,且传感器能恢复,排除永久损坏,但过热保护失效或瞬时干扰的可能性较低。

检查厨房温度传感器的安装位置,确保其远离灶具直接热源。 联系供应商确认传感器是否支持过热保护,并考虑更换为耐高温型号。 若传感器恢复后读数准确,可重置传感器观察后续表现;如问题持续,建议更换。

Hypothesis: A

Hypothesis: B

间接证据: 传感器每次都能恢复读数,表明并非永久损坏。


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

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

```json
{
  "step1_evidence": [
    "厨房灶具频繁开启且传感器读数异常: [10:49:00] kitchen_cook_surface = True; [10:54:00] kitchen_temp_sensor = 2700 (温度计突然跳变); [11:19:00] kitchen_temp_sensor = 2750 (再次跳变); 其他厨房温度读数在 2540-2550 左右，与 27.00°C和27.50°C 不符; 18:39 灶具再次开启，18:40 temp 变为 None; 这些组合表明灶具可能存在未在正常时段运作或传感器数据异常。",
    "厨房温度传感器间歇性报告 None: [06:31:02], [07:06:00], [18:40:00], [19:09:00] 均出现 kitchen_temp_sensor = None。这是明确的设备故障信号。",
    "凌晨 00:00 至 06:00 全体人员 Occupancy=0 期间，室内温度从 22.64°C (2264) 持续单向上升至最高 24.88°C (2488)，上升约 2.2°C。这一持续的、整体性的升温模式与凌晨环境自然降温的正常模式明显不符。",
    "儿童房温度传感器在 02:20 读数 2345 (23.45°C), 02:30为 2347, 02:35为 2344，而在同时间客厅为 2338->2337，主卧为 2332->2342，厨房为2332->2351。儿童房与其他房间有约0.5°C温差，但数值波动正常，未固定。",
    "白天 08:00 至 18:00 所有Occupancy传感器持续报告有人 (主要在主卧、儿童房、餐厅、玄关、主卫)，运动模式呈现约每5分钟一次的规律性心跳。虽然看似正常，但其极端的规律性与单一房间（主卫、餐厅）持续有人不符家庭日常模式。",
    "18:08:00 当一名住户回家（解锁前门、开门）后，仅在 5 分钟后又在 18:13 触发玄关运动，之后 18:18、18:23等持续重复这一行为。这可能是多人在不同时间回家（正常），或同一人频繁进出（异常）。",
    "19:43 厨房洗碗机开启，19:43:05 OperationalState=1，意味着开始运行。这本身正常，但结合灶具的多次异常状态，值得注意。",
    "厨房窗户在 07:05:30 和 19:08:30 两次被打开 (BooleanState=False)，均在早饭和晚饭时段。这是正常的通风行为。",
    "16:09:00 有人回家（门锁手动解锁），16:14、16:19...等持续约5分钟一次在玄关和儿童房触发Occupancy，直到18:08。这种模式与下午放学的家庭活动模式相符。",
    "22:41:25 最后一次锁门，22:41:20 主卧Occupancy=1，22:41:34 主卧灯关。至此全体家庭成员大概率就寝。但此后所有Occupancy传感器仍然约每5分钟报一次Occupancy=1，直至日志结束。"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "传感器故障导致误报：厨房温度传感器间歇性失灵，导致读数异常（如跳变和None值）；其他房间的Occupancy传感器由于灵敏度或位置问题持续误报有人，实际上屋内早已无人活动。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "设备故障或环境异常：厨房灶具在无人在场时被异常开启，厨房温度传感器间歇性失效，且全屋凌晨出现反常持续升温，可能预示潜在的火灾安全隐患，或空调/供暖系统失控。"
    },
    {
      "id": "C",
      "type": "anomaly",
      "description": "入侵者或尾随：在住户外出/入睡后，异常时段（凌晨或深夜）的持续Occupancy信号可能并非传感器故障，而是有外人进入并停留在室内不同位置。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据：kitchen_temp_sensor 多次报告 None，是明确的传感器通信或物理故障。",
        "间接证据：凌晨全屋温度持续上升2°C+，不符合自然夜间降温规律，很可能是空调/恒温系统的传感器数据偏差或未正确上报冷却状态。",
        "间接证据：在22:41住户明确就寝后，所有非主卧Occupancy传感器（客厅、餐厅、玄关、儿童房、主卫）依然以约5分钟的固定间隔报告Occupancy=1，这是典型的传感器心跳或误报，而非真实人类活动（人类睡着后不会整晚每5分钟在多个房间走动）。"
      ],
      "opposing": [
        "间接证据：厨房灶具在10:49和18:39被手动打开，这是真实的人类操作，不能完全用传感器故障解释。",
        "间接证据：灶具开启后1分钟，厨房温度传感器即跳变到27°C（比环境高2°C），与真实的加热行为时间上吻合，说明灶具可能确实在工作，而传感器并未完全失灵。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：厨房灶具在10:49和18:39两次被开启，且开启后温度立即出现异常升高（2700, 2750），符合灶具工作导致局部升温的物理规律。",
        "直接证据：18:39二次开启灶具时，厨房内并无可确认的Occupancy信号（18:40 厨房Occupancy未报告），存在无人看管的隐患。",
        "间接证据：凌晨全屋温度异常上升2.2°C，可能与空调未关（但传感器显示空调18:08开到22:41，关后温度应该下降才对）或房屋供暖系统异常有关。"
      ],
      "opposing": [
        "直接证据：厨房烟雾报警器（kitchen_smoke_alarm）在整个日志中从未触发，这降低了真实火灾或严重过热的风险。",
        "间接证据：灶具开启时段（10:49-??, 18:39-19:08）与住户活动（儿童房、餐厅、主卫Occupancy持续有人）高度重叠，更可能是正常烹饪而非无人看管。",
        "直接证据：凌晨的Occupancy信号是规律性、多房间同时发生的，不符合入侵者特征（入侵者通常只会短暂触发一个传感器）。"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "间接证据：22:41后家庭进入睡眠模式，但客厅、餐厅、玄关、儿童房的Occupancy仍然每隔约5分钟触发，不能完全排除有人在这些房间活动。",
        "间接证据：儿童房窗户在21:05被关闭（窗帘放下），但没有其他门窗被打破的报告。"
      ],
      "opposing": [
        "间接证据：这些Occupancy触发是非常规律的间隔（约5分钟），且覆盖多个房间，更像传感器轮询而非人类随机活动。",
        "间接证据：门锁在22:41自动锁好，之后没有任何门锁操作事件，排除从正门进入。所有窗户传感器显示关闭（除了厨房窗有时打开但有人在场），物理入侵的可能性极低。",
        "间接证据：没有DoorLockAlarm、SmokeAlarm等安全报警事件。"
      ]
    }
  ],
  "step4_causal": [
    "10:49 灶具开启 → 10:50-10:55 厨房温度升高并在10:54达到峰值27°C（正常因果，但温度计出现跳变值得注意）",
    "06:30 厨房灯亮/灶具开启 → 06:31 厨房温度传感器报 None → 之后温度读数恢复但间歇性故障（异常，传感器故障）",
    "夜间 (00:00-06:00) 全体 Occupancy=0 → 全屋温度持续单向上升约2.2°C（异常，不符合自然降温规律，可能原因包括：空调/供暖系统未正确反馈、传感器整体漂移、或实际环境异常升温）",
    "22:41 就寝（灯、锁、门、窗帘操作）→ 22:41后全屋Occupancy传感器（主卫除外）仍按规律5分钟间隔报有人的模式（异常，正常就寝后不应有如此频繁、多房间的活动）",
    "19:43 洗碗机开启 → 19:43 厨房窗打开（正常，烹饪后通风）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "medium",
    "false_positive_risk": "较低。关键证据（厨房温度传感器None、多个Occupancy传感器在无人时段规律误报、夜间异常升温）均指向传感器/设备故障，而非真实入侵或火灾。但灶具的异常开启和温度跳变仍需警惕，不能完全排除实际风险。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器间歇性故障（报 None 和数值跳变），多名Occupancy传感器在家庭就寝后持续规律误报，以及凌晨全屋温度异常持续上升约 2.2°C，表明多个传感器或相关设备（如空调/供暖系统）存在故障或异常行为。",
    "recommended_actions": [
      "立即检查并重启厨房温度传感器（kitchen_temp_sensor），确认其物理连接和通信状态；如果问题持续，进行更换。",
      "检查并校准所有Occupancy传感器（尤其是客厅、餐厅、玄关、儿童房和主卫），排查是否存在由灰尘、安装位置或固件错误导致的规律性误报。",
      "检查空调/暖通空调系统的运行日志和温度设定值，排查凌晨异常升温的原因，可能是温度传感器漂移或系统未正确报告制冷状态。",
      "暂时密切关注厨房灶具的使用情况，如条件允许，可以添加基于灶具运行时间与Occupancy状态的自动化规则（如灶具开启超过10分钟且Occupancy=0时发出警报）。",
      "收集传感器诊断数据，通知智能家居平台或设备厂商排查潜在的固件/通信层故障。"
    ]
  }
}
```

Explanation: 假设A: [normal] 传感器故障导致误报：厨房温度传感器间歇性失灵，导致读数异常（如跳变和None值）；其他房间的Occupancy传感器由于灵敏度或位置问题持续误报有人，实际上屋内早已无人活动。

Explanation: 假设B: [anomaly] 设备故障或环境异常：厨房灶具在无人在场时被异常开启，厨房温度传感器间歇性失效，且全屋凌晨出现反常持续升温，可能预示潜在的火灾安全隐患，或空调/供暖系统失控。

Explanation: 假设C: [anomaly] 入侵者或尾随：在住户外出/入睡后，异常时段（凌晨或深夜）的持续Occupancy信号可能并非传感器故障，而是有外人进入并停留在室内不同位置。

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

Explanation: 误报可能性: 较低。关键证据（厨房温度传感器None、多个Occupancy传感器在无人时段规律误报、夜间异常升温）均指向传感器/设备故障，而非真实入侵或火灾。但灶具的异常开启和温度跳变仍需警惕，不能完全排除实际风险。

收集传感器诊断数据，通知智能家居平台或设备厂商排查潜在的固件/通信层故障。

Hypothesis: A

Hypothesis: B

Hypothesis: C

19:43 洗碗机开启 → 19:43 厨房窗打开（正常，烹饪后通风）


只有1-2次错误（非连续多次），最终成功解锁且 UserIndex 是合法用户

```json
{
  "step1_evidence": [
    "[2026-06-02T07:01:05] kitchen_light → On — 凌晨7:01，在门锁操作事件后开启厨房灯，与后续事件关联",
    "[2026-06-02T07:01:20] front_door_lock → LockOperation(LockOperationType=1, OperationSource=3, UserIndex=1) — 门锁解锁操作（类型1=解锁，来源3=按键密码，用户1）",
    "[2026-06-02T07:01:22] front_door_contact → StateValue=False — 门被打开",
    "[2026-06-02T07:01:25] entrance_occupancy → Occupancy=1 — 有人进入玄关",
    "[2026-06-02T07:01:35] kitchen_cook_surface → On — 灶具开启，开始烹饪",
    "[2026-06-02T18:26:30] kitchen_cook_surface → On — 傍晚再次开启灶具",
    "[2026-06-02T21:00:04-23:46:03] dining_room_occupancy → Occupancy=1 (每5分钟一次) — 从21:00到23:46，餐厅运动传感器极其规律地每5分钟报告一次有人，无任何变化，疑似传感器卡死",
    "[2026-06-02T22:35:00] living_room_light_1 → Off — 客厅灯关闭",
    "[2026-06-02T22:35:04] living_room_ac → Off — 空调关闭",
    "[2026-06-02T22:35:12] master_bedroom_window → CurrentPositionLiftPercent100ths=10000 — 主卧窗帘关闭（拉到底）"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "住户正常作息：早上7:01家人通过密码解锁进门，开始做早餐，然后正常离家；晚上回家后做饭、活动，22:35就寝，餐厅传感器可能是软件心跳或定时上报，无实际异常。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "入侵事件：有人通过盗取密码在凌晨7:01开门闯入，此时其他家庭成员尚在睡觉，随后开启灶具制造烟雾或热源作为掩护。"
    },
    {
      "id": "C",
      "type": "anomaly",
      "description": "传感器/日志故障：餐厅运动传感器从21:00起规律地每5分钟报告 Occupancy=1，可能是传感器硬件故障（stuck-at）或日志上报逻辑异常，与安全威胁无关。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "直接证据: 07:01:20 密码解锁（OperationSource=3, UserIndex=1）是正常操作方式",
        "直接证据: 07:02 厨房温度传感器上报 None（可能因烹饪高温重置）后续又恢复正常，符合烹饪场景",
        "直接证据: 07:16 灶具关闭，07:49 全家离家的门锁操作（锁门、出门）符合日常作息",
        "间接证据: 16:15 再次开门回家，18:01全家在家活动，22:35关灯关空调关窗帘，符合正常就寝时间",
        "间接证据: 餐厅运动传感器规律上报可能是系统心跳或传感器采样间隔导致，且其他传感器均表现正常"
      ],
      "opposing": [
        "否定证据较弱: 07:01 发生了一次 LockOperationError，但随后立即成功解锁，可能是误触或操作失误"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "间接证据: 07:01 的 LockOperationError(OperationError=1) 可能表示暴力破解或错误尝试",
        "间接证据: UserIndex=1 属于默认管理员账户，若密码泄露可被利用",
        "间接证据: 07:01 厨房开启灶具的时间较早（一般早餐不会在刚进门就开灶具，可能会先做其他准备）"
      ],
      "opposing": [
        "直接证据: LockOperation 的 OperationSource=3 表示正常密码输入，且一次成功，非连续失败",
        "直接证据: LockOperationError 仅出现一次，且用户索引1有效",
        "直接证据: 07:02-07:16 的厨房温度正常变化（灶具开启后上升），无异常高温或烟雾报警触发",
        "间接证据: 入侵者通常不会使用正常密码开门并在后续正常锁门、离家，且16:15返回后无任何异常",
        "间接证据: 全天无任何报警事件（DoorLockAlarm、SmokeAlarm、WaterLeak等）"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "直接证据: 从21:00:04到23:46:03，dining_room_occupancy 每5分钟精确触发一次且值始终为1，无任何间隙",
        "直接证据: 同一时间段其他运动传感器（如living_room、kids_room、master_bedroom、entrance）也有规律上报但偶尔变化，不似完全卡死",
        "间接证据: 21:00-23:46 跨度近3小时，人类不可能在这段时间内每5分钟精确触发同一传感器"
      ],
      "opposing": [
        "直接证据: 餐厅灯在19:50关闭后未再开启，但传感器仍报告有人，存在矛盾",
        "直接证据: 若传感器故障，其他传感器（尤其是同区域）可能也会出现类似模式，但未观察到"
      ]
    }
  ],
  "step4_causal": [
    "正常因果: [07:01] 密码开门 (LockOperation) → 入户门打开 → 玄关运动触发 → 厨房灯开 → 灶具开启 → 厨房温度上升 → [07:16] 关灶具（正常烹饪流程，正常）",
    "正常因果: [07:49] 门锁手动解锁 → 开门 → 出门 → 自动上锁（正常离家流程，正常）",
    "正常因果: [16:15] 手动解锁 → 开门 → 回家 → 开儿童房灯（正常放学/下班回家，正常）",
    "正常因果: [22:35] 关客厅灯 → 关空调 → 关窗帘 → 关主卧灯（正常就寝前操作，正常）",
    "异常关联: [21:00-23:46] 餐厅运动传感器每5分钟精确上报 Occupancy=1，但餐厅灯已关闭且无其他活动佐证（传感器可能故障或系统上报逻辑异常，异常）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "低。所有关键事件（门锁解锁/锁门、烹饪、离家、返回、就寝）均符合正常家庭作息，且无任何报警触发。餐厅运动传感器规律上报虽异常，但极可能是传感器本身故障或系统采样周期问题，不构成安全威胁。7:01的LockOperationError可能是手指误触或键盘脏污，一次即解除。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "全天日志分析表明住户活动完全符合正常家庭作息，无安全威胁。仅发现餐厅运动传感器疑似卡死（从21:00起每5分钟规律上报Occupancy=1），需关注但不属紧急。",
    "recommended_actions": [
      "检查餐厅运动传感器(Id: dining_room_occupancy)是否存在硬件故障或固件上报逻辑异常，建议校准或更换",
      "如7:01的LockOperationError频繁出现，建议重置门锁键盘或清洁触摸区域",
      "日常安全检查：确认所有门窗传感器、烟雾报警器、漏水传感器功能正常，无报警积压"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户正常作息：早上7:01家人通过密码解锁进门，开始做早餐，然后正常离家；晚上回家后做饭、活动，22:35就寝，餐厅传感器可能是软件心跳或定时上报，无实际异常。

Explanation: 假设B: [anomaly] 入侵事件：有人通过盗取密码在凌晨7:01开门闯入，此时其他家庭成员尚在睡觉，随后开启灶具制造烟雾或热源作为掩护。

Explanation: 假设C: [anomaly] 传感器/日志故障：餐厅运动传感器从21:00起规律地每5分钟报告 Occupancy=1，可能是传感器硬件故障（stuck-at）或日志上报逻辑异常，与安全威胁无关。

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

Explanation: 误报可能性: 低。所有关键事件（门锁解锁/锁门、烹饪、离家、返回、就寝）均符合正常家庭作息，且无任何报警触发。餐厅运动传感器规律上报虽异常，但极可能是传感器本身故障或系统采样周期问题，不构成安全威胁。7:01的LockOperationError可能是手指误触或键盘脏污，一次即解除。

日常安全检查：确认所有门窗传感器、烟雾报警器、漏水传感器功能正常，无报警积压

Hypothesis: A

Hypothesis: B

间接证据: UserIndex=1 属于默认管理员账户，若密码泄露可被利用

Hypothesis: C

直接证据: 餐厅灯在19:50关闭后未再开启，但传感器仍报告有人，存在矛盾


```json
{
  "step1_evidence": [
    "厨房温度传感器间歇性报告 None: [06:35:09] kitchen_temp_sensor TemperatureMeasurement.MeasuredValue = None; [07:07:00] kitchen_temp_sensor = None; [18:13:00] kitchen_temp_sensor = None; [19:07:00] kitchen_temp_sensor = None — 温度传感器反复报告None值，且多发生在灶具开启后，可能为传感器故障或连接不稳定。",
    "厨房窗户在烹饪完毕后被打开: [07:06:30] kitchen_window_contact StateValue = False; [19:06:30] kitchen_window_contact StateValue = False — 每次灶具关闭后厨房窗户传感器报告打开，可能是住户通风行为，但也可能为异常通风。",
    "凌晨时段全屋温度持续异常升高: 从00:00时约22.6°C持续上升至06:00时约24.7°C，所有房间温度同步上升超过2°C（正常夜间应下降或保持稳定）—— 这不符合夜间自然温度模式（凌晨应最低）。",
    "凌晨时段所有房间无人但温度持续上升且波动较大: 全屋Occupancy=0，但温度在00:00-06:00之间持续上升约2°C（从22.6°C到24.7°C），且波动频繁（±0.5°C以上），与夜间室温自然下降/稳定趋势矛盾。",
    "主卧和儿童房长时间持续有人: 从06:10 master_bedroom_occupancy=1开始，到23:55仍在报告中，期间不间断（约18小时），儿童房也类似—— 一个房间连续18小时有人且无离开迹象（无睡眠期间Occupancy归零），可能为传感器卡死。",
    "全屋运动传感器在凌晨(00:00-06:00)全部为Occupancy=0，但温度却在不断上升 — 无人但有热源运行（如空调/地暖异常工作）或外部热量侵入。",
    "早晨6点后各房间灯和窗帘操作序列正常 (06:10-06:34) — 卧室→儿童房→主卫→厨房→灶具开启，这是正常的起床活动序列。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "夏季夜间室外气温高，加上建筑保温导致室内温度自然缓慢上升；温度传感器的正常波动以及传感器偶尔失联可能是网络瞬时抖动。"},
    {"id": "B", "type": "anomaly", "description": "全屋温度传感器集体漂移——所有传感器在凌晨时段同步单向上升且波动异常，可能是环境温度的真实升高（如外部热浪或加热设备异常工作），也可能是传感器系统故障或数据中继器故障。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["6月正值夏季，夜间室外温度可能较高，且建筑保温效果会使降温慢", "温度上升缓慢且四个房间同步，符合整体环境变化（整栋建筑升温）", "厨房传感器None值只出现在传感器上报瞬间，后续恢复，可能是网络瞬断"], "opposing": ["凌晨0-5点正常情况应是一天中温度最低时段，6月即使夏季，凌晨也应降温而非持续上升2°C", "全屋所有运动传感器在00:00-06:00均显示Occupancy=0，无任何人为热源（空调/灶具/人体）启动记录，无热源却持续升温不合理"]},
    {"hypothesis": "B", "supporting": ["00:00-06:00四个房间温度持续上升约2.1°C（从2263→2475），趋势一致，不符合自然夜间降温规律", "波动频繁（每5分钟变化1-5个单位），不同于正常温度的缓慢平滑变化", "所有温度传感器同步行为，且无人情况下持续升温——可能为传感器系统级故障（如数据采集器或网关时间戳错误）或确实存在未被感知的热源（如外部热浪涌入）"], "opposing": ["温度上升后，白天6:10之后住户活动开始，温度仍然维持在高位并继续有波动，但整体趋势转为日间正常升温，没有突然跳变", "没有其他设备报警（如烟雾、CO、漏水）等辅助证据", "厨房温度在灶具开启后正常升高，并在关闭后回落，单个传感器功能正常"]}
  ],
  "step4_causal": [
    "因果关系1: 凌晨室外低温 + 室内无热源 → 室内温度应下降或稳定（正常）；但温度报告持续上升 → 传感器数据失真（异常）",
    "因果关系2: 灶具开启 → 厨房温度上升（正常因果）",
    "因果关系3: 灶具关闭 → 厨房窗户被打开（正常通风行为）",
    "因果关系4: 主卧Occupancy连续18小时=1 → 可能是传感器卡死或住户一直未离开房间（异常关联）",
    "因果关系5: 厨房传感器报告None → 可能由于灶具高温或蒸汽影响传感器信号（正常因果）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "中——有可能当晚确实为高温天气（如热浪），室内温度自然上升，但0点-5点上升2°C在夏季虽然偏高但仍有可能；且温度传感器同步变化更支持整体环境变化而非个别故障。但运动传感器在06:00后正常工作（住户起床触发），且温度在白天没有异常跳变，说明传感器系统整体可用。None值仅出现在厨房特定时刻，可能是蒸汽/高温干扰而非系统性故障。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "凌晨时段全屋温度异常持续上升，但所有传感器同步行为更符合外部环境变化（如热浪），且白天恢复正常；厨房温度传感器间歇性None值可能是蒸汽干扰。整体无安全威胁。",
    "recommended_actions": [
      "检查厨房温度传感器安装位置是否靠近灶具，如有需要可调整位置以避免蒸汽干扰",
      "关注未来几晚同一时段温度变化，如果凌晨温度仍持续异常上升，建议对温度传感器系统进行固件升级或校准",
      "主卧运动传感器连续18小时报告有人，建议确认传感器是否卡死（如被物体遮挡）",
      "无需立即采取安全响应措施"
    ]
  }
}
```

Explanation: 假设A: [normal] 夏季夜间室外气温高，加上建筑保温导致室内温度自然缓慢上升；温度传感器的正常波动以及传感器偶尔失联可能是网络瞬时抖动。

Explanation: 假设B: [anomaly] 全屋温度传感器集体漂移——所有传感器在凌晨时段同步单向上升且波动异常，可能是环境温度的真实升高（如外部热浪或加热设备异常工作），也可能是传感器系统故障或数据中继器故障。

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

Explanation: 误报可能性: 中——有可能当晚确实为高温天气（如热浪），室内温度自然上升，但0点-5点上升2°C在夏季虽然偏高但仍有可能；且温度传感器同步变化更支持整体环境变化而非个别故障。但运动传感器在06:00后正常工作（住户起床触发），且温度在白天没有异常跳变，说明传感器系统整体可用。None值仅出现在厨房特定时刻，可能是蒸汽/高温干扰而非系统性故障。

检查厨房温度传感器安装位置是否靠近灶具，如有需要可调整位置以避免蒸汽干扰

主卧运动传感器连续18小时报告有人，建议确认传感器是否卡死（如被物体遮挡）

无需立即采取安全响应措施

Hypothesis: A

6月正值夏季，夜间室外温度可能较高，且建筑保温效果会使降温慢 温度上升缓慢且四个房间同步，符合整体环境变化（整栋建筑升温） 厨房传感器None值只出现在传感器上报瞬间，后续恢复，可能是网络瞬断

Hypothesis: B

波动频繁（每5分钟变化1-5个单位），不同于正常温度的缓慢平滑变化

没有其他设备报警（如烟雾、CO、漏水）等辅助证据

厨房温度在灶具开启后正常升高，并在关闭后回落，单个传感器功能正常

因果关系2: 灶具开启 → 厨房温度上升（正常因果）

因果关系3: 灶具关闭 → 厨房窗户被打开（正常通风行为）


第二人通过合法凭证解锁（不同UserIndex），且有合理时间间隔

好的，我将严格按照 6 个步骤分析您提供的日志。

```json
{
  "step1_evidence": [
    "[2026-06-06T11:53:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=1) — 用户在11:53使用PIN码(指纹/密码, OperationSource=3)解锁入户门。全屋此前所有传感器自00:00起无人活动(Occupancy=0)，表明住户可能首次回家。",
    "[2026-06-06T11:58:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=2) — 在第一次开锁后仅5分钟，另一用户(UserIndex=2)使用PIN码开锁。这在时间上过于紧邻，且正常住户回家后通常不会立即有第二人重复开门动作。这个行为需要重点关注。",
    "[2026-06-06T12:00:00至12:30:00] 全屋Occupancy传感器 | 全部为0 — 门锁事件后，屋内所有运动传感器（包括入口玄关）在接下来超过30分钟内均报告无人。正常住户回家后会触发玄关、客厅等区域的活动。这强烈暗示开门后无人进入，或运动传感器存在覆盖不到的死角/故障。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "正常行为：住户A(UserIndex=1)在11:53回家后不久，住户B(UserIndex=2)在11:58也回家。两人先后进入了屋内但动作很轻，仅进入了传感器不敏感的区域（如直接进入卧室坐下），或传感器的活动触发间隔较长，日志中后续的Occupancy=0更新可能不是实时的，而是定期的状态推送。"},
    {"id": "B", "type": "anomaly", "description": "入侵或尾随：住户A(UserIndex=1)在11:53开门进入，但尾随者(UserIndex=2)在11:58用窃取或复制的凭证（或利用门未关严的时机）再次开门。住户A可能已被控制，因此玄关没有正常的人员走动传感器事件。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "间接证据：两个不同的UserIndex说明是两个不同的授权用户，可能是家庭成员。",
        "间接证据：没有触发DoorLockAlarm或LockOperationError事件，证明两次开锁操作都是系统认可的、成功的操作。"
      ],
      "opposing": [
        "直接证据：在两次合法开锁后，全屋所有Occupancy传感器(包括entrance_occupancy)在超过30分钟内持续为0，这与‘有人进入’的预期严重矛盾。除非用户进入后保持绝对静止，否则至少入口传感器会被触发。",
        "间接证据：两个用户回家时间间隔5分钟，虽然可能，但若为正常先后回家，第二人进入后30分钟仍不触发任何传感器，可能性很低。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：锁被两次成功打开(正常操作)，但随后全屋Occupancy=0至少持续30分钟。这种‘门开了但人没进来’的情况极难用正常行为解释。",
        "间接证据：如果住户A被胁迫或已被控制，确实可能导致安静无声，但传感器未触发依然是一个关键矛盾点。更合理的解释是：开门后，进入者直接控制了住户或屋内无人，但无论如何，入口传感器应该被触发。"
      ],
      "opposing": [
        "间接证据：没有任何报警事件（如DoorLockAlarm、入侵传感器）触发。",
        "间接证据：UserIndex=1和2均为合法凭证，不是暴力破解或未授权尝试。如果凭证被盗用，系统无法直接识别。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果（理论）: UserIndex=1 在11:53开门 → UserIndex=2 在11:58开门 → 两人进入屋内 → 运动传感器应触发Occupancy=1。但日志中 Occupancy=0，此正常因果链条被打破。",
    "异常关联: 两次合法开锁操作（11:53 和 11:58） → 全屋长时间（>30分钟）无任何Occupancy=1的报告 → 强烈怀疑要么是传感器系统严重故障，要么是‘开门后无人进入’，后者指向入侵/尾随后立即离开或住户被控。”
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "high",
    "false_positive_risk": "存在误报可能。1. 传感器网络存在延迟或轮询间隔问题，导致Occupancy状态更新不及时（如传感器只在特定时间点上报）。但30分钟无任何触发远超正常延迟。2. 全屋传感器同时故障的可能性极低。3. 入户者可能是非常小心，直接进入并静坐于某一运动传感器覆盖范围外的区域（如厕所），但这种可能性较低。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "intrusion",
    "threat_description": "入户门在短时间内被两个不同授权用户打开，但此后30分钟全屋无任何人员活动迹象，强烈暗示可能发生尾随入侵或凭证被盗用，且进入者未触发正常活动轨迹。",
    "recommended_actions": [
      "立即查看11:53至12:00期间入户门附近的监控录像（如有）。",
      "立即检查门锁状态（DoorLock.LockState），确认当前门是锁闭状态。",
      "联系家中的其他授权用户，确认谁在11:53和11:58进行了开锁操作，以及当时是否在家。",
      "检查UserIndex=1和UserIndex=2对应的用户身份，并与该时段的活动进行交叉验证。",
      "作为预防措施，考虑重置所有用户的电子门锁凭证。"
    ]
  }
}
```


只有1-2次错误（非连续多次），最终成功解锁且 UserIndex 是合法用户

```json
{
  "step1_evidence": [
    "[2026-06-05T10:04:00] front_door_lock | LockOperationError(OperationError=1, OperationSource=3) — 门锁操作错误，来源为远程/自动操作，可能为攻击信号",
    "[2026-06-05T10:04:20] front_door_lock | LockOperation(LockOperationType=1, OperationSource=3, UserIndex=1) — 解锁操作紧接着错误发生，来源为远程，UserIndex=1 (管理员)",
    "[2026-06-05T10:04:22] front_door_contact | StateValue = False — 门在解锁后被打开",
    "[2026-06-05T10:04:25] entrance_occupancy | Occupancy = 1 — 有人进入玄关",
    "[2026-06-05T06:38:04] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器短暂异常",
    "[2026-06-05T06:58:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器再次短暂异常",
    "[2026-06-05T18:32:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第三次短暂异常",
    "[2026-06-05T18:52:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第四次短暂异常"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户使用智能锁远程解锁后进门，期间发生了一次临时性通信错误，属于正常使用"},
    {"id": "B", "type": "anomaly", "description": "门锁验证失败可能是外部入侵尝试，攻击者绕过认证后成功开门"},
    {"id": "C", "type": "anomaly", "description": "厨房温度传感器间歇性故障，产生 None 值"},
    {"id": "D", "type": "normal", "description": "厨房温度传感器因高温（烹饪）短暂超出范围或通信中断，属于正常现象"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "[直接证据] 门锁解锁操作紧随错误发生 (LockOperation 在 LockOperationError 后约20秒)，之后门被正常打开，玄关有人员进入，符合正常使用流程",
        "[间接证据] 整个白天 (06:00~22:44) 有多次人员出入的规律性轨迹，主卧和儿童房有持续活动，表明家中有住户"
      ],
      "opposing": [
        "[间接证据] 解锁操作来源 OperationSource=3 (远程)，而门锁错误同样是远程来源，可能不是住户本人操作",
        "[间接证据] 在住户全部在家期间 (10:04)，突然的远程解锁行为可能与当前家庭活动场景不符 (此时主卧和儿童房有人，但玄关突然开门)"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "[直接证据] LockOperationError(OperationError=1) 表示认证失败或操作错误，这可能是一次暴力破解或错误的凭证尝试",
        "[间接证据] 错误后立即成功的解锁操作 (来源=3 远程) 可能有攻击者在短时间内破解了密码",
        "[间接证据] 开门后无后续异常行为，但入侵者可能伪装成住户活动"
      ],
      "opposing": [
        "[间接证据] 所有后续活动 (17:51 另一人回家、18:31 做饭、19:20 洗碗等) 均符合正常家庭作息，没有发现破坏、偷窃或异常物品移动的迹象",
        "[间接证据] 家中有儿童（6:50 去儿童房），如果发生入侵，儿童可能会表现出恐慌或异常行为 (无)"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "[直接证据] kitchen_temp_sensor 在 06:38、06:58、18:32、18:52 共 4 次报告 MeasuredValue=None，每次都与烹饪活动时间高度相关",
        "[间接证据] 传感器连续多次 None 值不符合正常传感器行为"
      ],
      "opposing": [
        "[间接证据] None 值均发生在灶具开启后的短时间内 (6:37、18:31)，且每次随后恢复正常 (如 06:40 恢复到 2495、18:35 恢复到 2310)，故障具有临时性和可恢复性"
      ]
    },
    {
      "hypothesis": "D",
      "supporting": [
        "[直接证据] None 值出现后，传感器在下一轮采样中即恢复，没有持续故障",
        "[直接证据] 灶具开启 → 温度传感器短暂 None → 恢复，可能原因是灶具火苗产生的电磁干扰或短时高温超出量程"
      ],
      "opposing": [
        "[间接证据] 温度传感器短暂 None 的频率略高 (一天4次)，可能不仅仅是偶然干扰"
      ]
    }
  ],
  "step4_causal": [
    "LockOperationError → LockOperation(Unlock) → Door Open → Entrance Occupancy (异常关联：密码错误尝试后立即成功，可能为远程攻击)",
    "Cooktop On → kitchen_temp_sensor = None (正常因果：灶具使用产生高温/干扰，传感器短暂失灵后恢复)",
    "Cooktop Off → kitchen_window opened (正常因果：烹饪后开窗通风)"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "门锁错误和成功解锁可能只是蓝牙信号干扰或重试导致的正常行为，但远程来源 (OperationSource=3) 且紧接错误后成功存在一定的安全疑虑"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "整体家庭活动符合正常作息，但门锁远程解锁错误事件值得关注",
    "recommended_actions": [
      "建议检查智能门锁的远程访问日志，确认 UserIndex=1 是否为家庭成员所用",
      "建议为智能门锁开启双因素认证或多重验证",
      "监控厨房温度传感器状态，如频繁出现 None 值，建议更换传感器",
      "当前无需紧急干预，保持观察即可"
    ]
  }
}
```

整体家庭活动符合正常作息，但门锁远程解锁错误事件值得关注

Explanation: 假设A: [normal] 住户使用智能锁远程解锁后进门，期间发生了一次临时性通信错误，属于正常使用

Explanation: 假设B: [anomaly] 门锁验证失败可能是外部入侵尝试，攻击者绕过认证后成功开门

Explanation: 假设C: [anomaly] 厨房温度传感器间歇性故障，产生 None 值

Explanation: 假设D: [normal] 厨房温度传感器因高温（烹饪）短暂超出范围或通信中断，属于正常现象

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

Explanation: 误报可能性: 门锁错误和成功解锁可能只是蓝牙信号干扰或重试导致的正常行为，但远程来源 (OperationSource=3) 且紧接错误后成功存在一定的安全疑虑

建议为智能门锁开启双因素认证或多重验证

监控厨房温度传感器状态，如频繁出现 None 值，建议更换传感器

当前无需紧急干预，保持观察即可

住户使用智能锁远程解锁后进门，期间发生了一次临时性通信错误，属于正常使用

门锁验证失败可能是外部入侵尝试，攻击者绕过认证后成功开门

厨房温度传感器间歇性故障，产生 None 值

厨房温度传感器因高温（烹饪）短暂超出范围或通信中断，属于正常现象

Hypothesis: A

Hypothesis: B

[间接证据] 开门后无后续异常行为，但入侵者可能伪装成住户活动

Hypothesis: C

[间接证据] 传感器连续多次 None 值不符合正常传感器行为

Hypothesis: D

[直接证据] None 值出现后，传感器在下一轮采样中即恢复，没有持续故障


WD-03-FP: 住户外出但开了自动浇花系统

漏水传感器触发后在短时间内（3分钟）恢复为false，而非持续触发超过10分钟

```json
{
  "step1_evidence": [
    "[2026-06-05T10:50:00] second_bathroom_water_leak | BooleanState.StateValue = True — 次卫漏水传感器触发报警，表明可能存在漏水情况",
    "[2026-06-05T10:53:00] second_bathroom_water_leak | BooleanState.StateValue = False — 漏水报警在3分钟后自动消失，可能是误报或临时积水",
    "[2026-06-05T07:29:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在住户离家时被打开，可能是忘记关窗或被人打开",
    "[2026-06-05T18:50:30] kitchen_window_contact | BooleanState.StateValue = False — 晚上厨房窗户又被打开，且不久后灶具被开启，存在安全隐患",
    "[2026-06-05T18:46:30] kitchen_cook_surface | OnOff.OnOff = True — 晚上18:46灶具开启",
    "[2026-06-05T18:50:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具仅运行3.5分钟后关闭，可能是正常操作"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "次卫漏水传感器误报（如日常清洁或小孩玩水溅到传感器），厨房窗户在做饭时打开通风，所有事件都是日常家庭活动的一部分"},
    {"id": "B", "type": "anomaly", "description": "次卫存在真实漏水但已暂时消退，厨房窗户两次被异常打开可能暗示外部人员尝试侵入，或存在安全隐患"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[10:50-10:53] 漏水报警仅持续3分钟，符合误报特征（如临时溅水蒸发）", "[18:46-18:50] 灶具开启仅3.5分钟后关闭，且同时厨房窗户打开，符合正常做饭开窗通风的行为", "全天运动传感器数据显示住户活动正常（早上6:03起床，晚上22:25就寝），无异常时间段活动", "两次开窗（07:29离家时、18:50做饭时）均有对应的正常行为上下文"], "opposing": ["07:29离家时窗户被打开，之后住户离开，窗户一直开到15:57才关闭（那时有人回家），持续开窗8个多小时，不符合安全习惯"]},
    {"hypothesis": "B", "supporting": ["次卫漏水传感器曾经触发，不能完全排除真实漏水的可能性", "07:29离家后厨房窗户一直开着到15:57才关闭，存在未经授权的进入风险", "18:50做饭时窗户再次打开，但灶具仅运行3.5分钟，开窗行为可能与做饭无关"], "opposing": ["没有门窗被破环、门锁异常操作等入侵迹象", "漏水报警3分钟自复，通常真实漏水不会这么快消失", "所有事件都有明确的日常活动对应，不支持入侵假设"]}
  ],
  "step4_causal": [
    "08:29 住户离家 → 08:29 厨房窗户打开（可能是忘记关窗，属于异常关联）",
    "10:50 次卫漏水触发 → 10:53 漏水恢复（可能是临时积水干燥，正常关联或传感器误报）",
    "15:57 住户回家 → 推测厨房窗户被关闭（正常行为）",
    "18:46 厨房灯亮 → 18:46 灶具开启 → 18:50 厨房窗户打开 → 18:50 灶具关闭（正常做饭与通风序列）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "较高。次卫漏水仅持续3分钟，很可能是清洁或玩耍导致的误报。厨房开窗虽然有安全疑虑，但整体有住户行为的合理解释。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "日志中未发现明确的安全威胁。次卫漏水传感器短暂触发可能是误报，厨房窗户在离家时打开存在一般性安全提醒价值，但不构成紧急安全事件。",
    "recommended_actions": ["提醒住户注意离家前检查所有窗户是否关闭", "建议检查次卫漏水传感器是否有灵敏度调整空间，以减少误报", "可考虑在离家场景中添加自动关窗提醒或自动化规则"]
  }
}
```

Explanation: 假设A: [normal] 次卫漏水传感器误报（如日常清洁或小孩玩水溅到传感器），厨房窗户在做饭时打开通风，所有事件都是日常家庭活动的一部分

Explanation: 假设B: [anomaly] 次卫存在真实漏水但已暂时消退，厨房窗户两次被异常打开可能暗示外部人员尝试侵入，或存在安全隐患

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

Explanation: 误报可能性: 较高。次卫漏水仅持续3分钟，很可能是清洁或玩耍导致的误报。厨房开窗虽然有安全疑虑，但整体有住户行为的合理解释。

提醒住户注意离家前检查所有窗户是否关闭 建议检查次卫漏水传感器是否有灵敏度调整空间，以减少误报 可考虑在离家场景中添加自动关窗提醒或自动化规则

Hypothesis: A

两次开窗（07:29离家时、18:50做饭时）均有对应的正常行为上下文

Hypothesis: B

次卫漏水传感器曾经触发，不能完全排除真实漏水的可能性 07:29离家后厨房窗户一直开着到15:57才关闭，存在未经授权的进入风险 18:50做饭时窗户再次打开，但灶具仅运行3.5分钟，开窗行为可能与做饭无关

没有门窗被破环、门锁异常操作等入侵迹象 漏水报警3分钟自复，通常真实漏水不会这么快消失 所有事件都有明确的日常活动对应，不支持入侵假设

15:57 住户回家 → 推测厨房窗户被关闭（正常行为）


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

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

```json
{
  "step1_evidence": [
    "[2026-06-04T06:52:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在关火后、无人在厨房时被打开，且随后厨房温度传感器出现异常",
    "[2026-06-04T06:53:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器在窗户打开后立即报告空值，可能为传感器故障或异常行为",
    "[2026-06-04T06:55:00] second_bathroom_light | OnOff.OnOff = True — 在多数家庭成员尚未离家且集中活动区域外，次卫灯在非典型时间点亮",
    "[2026-06-04T09:49:00] kitchen_cook_surface | OnOff = True — 上午9:49开启灶具，之后厨房温度传感器再次出现异常读数",
    "[2026-06-04T09:54:00] kitchen_temp_sensor | MeasuredValue = 2700 (27.00°C) — 温度传感器在开启灶具约5分钟后报告一个明显异常的跳变值",
    "[2026-06-04T10:19:00] kitchen_temp_sensor | MeasuredValue = 2750 (27.50°C) — 再次出现异常温度读数，与之前类似",
    "[2026-06-04T16:08:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 下午4:08有人手动解锁入户门",
    "[2026-06-04T16:08:00] front_door_lock | DoorLock.LockState = 2 — 紧接着门锁状态变为解锁，但此期间所有运动传感器显示家中无人（entrance_occupancy=1但为正常响应）",
    "[2026-06-04T18:10:17] living_room_ac | OnOff.OnOff = True — 下午6:10客厅空调开启，温度从约23°C开始下降，这与当日整体温度异常上升形成对比",
    "[2026-06-04T18:44:30] kitchen_cook_surface | OnOff.OnOff = True — 傍晚再次开启灶具，随后厨房温度传感器第3次出现空值"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "正常家庭活动：家庭成员在早上6:13起床后正常活动，6:52关火并打开厨房窗户通风。上午和傍晚再次使用灶具做饭，期间温度传感器偶发通讯故障或短暂掉线导致空值。下午4:08有人正常回家。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "传感器故障与潜在安全风险：厨房温度传感器存在间歇性故障（多次报告空值和异常跳变值），且当日整体室内温度从凌晨的22.6°C持续上升至下午高峰时的约25.5°C，最后在傍晚回降。这种异常升温可能由空调使用、外部高温或其他热源引起，需警惕是否存在火源未关闭或持续发热源。"
    },
    {
      "id": "C",
      "type": "anomaly",
      "description": "入侵与破坏行为：不明人员在早上6:53打开厨房窗户（可能为异常进入或破坏传感器），随后温度传感器出现异常。上午9:54和10:19厨房温度传感器出现异常高值（27°C），可能由异常热源（如人为纵火或设备故障）导致。下午4:08有人在无人在家迹象时解锁入户门（entrance_occupancy在16:08之前始终为0），可能为入侵者。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "间接证据：06:13-06:52之间有正常的家庭起床活动轨迹（儿童房→主卧→主卫→厨房→餐厅），符合晨间流程。",
        "直接证据：06:52:10开启餐厅灯，06:52:30打开厨房窗户，07:00:40再次开启灶具，符合做早饭→通风→继续使用的逻辑。",
        "直接证据：下午4:08有人回家后，儿童房灯在16:08:15被打开，显示正常活动。",
        "间接证据：傍晚18:44-19:20为正常晚餐时段，开启灶具后19:20关闭，符合烹饪流程。"
      ],
      "opposing": [
        "间接证据：当天整体温度呈持续上升趋势（从凌晨22.6°C到下午高峰25.5°C），即使考虑正常日间波动，增幅超过3°C且上升时间持续到下午，在夏季下午开启空调后温度才开始下降，暗示外部环境温度可能偏高或存在持续热源。",
        "直接证据：厨房温度传感器在06:53、07:01、18:45和19:21四次报告空值，在09:54和10:19报告异常高值，不能完全用正常家庭活动解释。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "直接证据：厨房温度传感器在一天内报告两次空值（06:53:00、07:01:10、18:45:00、19:21:00）和两次异常高值（09:54:00=2700、10:19:00=2750），明显存在间歇性故障。",
        "直接证据：当日温度轨迹不符合正常的日间正弦曲线，而是持续上升至下午5点左右才开始回落，且上升幅度达到约3°C。但空调在18:10开启后温度迅速下降，说明空调运行正常，升温可能是外部天气或持续性室内热源（如灶具/烤箱长时间开启）导致。",
        "间接证据：厨房窗户在06:52被打开后，温度传感器立即报告空值，暗示窗户打开可能影响了传感器或暴露了其故障脆弱性。"
      ],
      "opposing": [
        "间接证据：多次灶具开启和关闭记录（06:52关、07:00开、09:49开、18:44开、19:20关）表明有人在正常使用厨房，没有发现灶具长时间无人看管的异常记录。",
        "间接证据：所有运动传感器显示全家在凌晨0:00-6:13之间无人活动，与正常夜间睡眠模式一致，未发现异常入侵模式。"
      ]
    },
    {
      "hypothesis": "C",
      "supporting": [
        "直接证据：16:08:00入户门被手动解锁，但根据之前的occupancy报告，从08:00至16:00期间全屋所有运动传感器（包括entrance_occupancy）均报告为0（无人），唯一例外是13:03之后entrance_occupancy始终为1，但这可能为传感器持续检测到人为误报。",
        "间接证据：16:08:00门锁事件发生时，entrance_occupancy在16:03:13为1，但living_room和dining_room在16:00时为0，与正常回家模式（先触发玄关再进入客厅）不符。",
        "直接证据：06:52:30厨房窗户被打开，紧接着温度传感器空值，且当时厨房occupancy并未报告有人，存在异常开窗可能。",
        "间接证据：温度传感器在09:54和10:19报告27°C异常值，可能为非烹饪活动（如故意加热）引起，但无其他烟感报警佐证。"
      ],
      "opposing": [
        "间接证据：没有其他入侵警报（门锁无操作失败报警、无门窗传感器异常触发、无运动传感器在非预期时间触发），仅凭温度异常和门锁一次手动解锁不足以证明入侵。",
        "直接证据：16:08:00门锁手动解锁后，儿童房灯立刻打开，显示是家庭成员正常回家后的操作。",
        "直接证据：06:52:30厨房窗户打开时，根据之前活动轨迹（06:13儿童房→06:16主卧→06:40主卫→06:52餐厅），逻辑上可以推导出有人在餐厅区域活动后打开厨房窗户通风。"
      ]
    }
  ],
  "step4_causal": [
    "正常因果：06:13 kids_room_occupancy=1 → 开灯→开窗帘（正常晨间起床活动）",
    "正常因果：06:52 关灶具 → 开厨房窗户（正常通风操作）",
    "正常因果：07:00 开灶具 → 厨房温度从25.04°C逐步上升（正常烹饪升温）",
    "异常关联：厨房窗户打开 → 厨房温度传感器报告空值（可能因传感器靠近窗户受气流影响导致短暂故障）",
    "异常关联：09:49 开灶具 → 09:54 厨房温度传感器报告27.00°C异常跳变（传感器间歇性故障）",
    "正常因果：18:10 客厅空调开启 → 客厅温度从23.26°C逐步下降至22.76°C（空调正常运行制冷）",
    "异常关联：多次灶具开启 → 对应多次厨房温度传感器空值/异常值（传感器间歇性故障模式）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "medium",
    "false_positive_risk": "中度风险。虽能合理解释为家庭正常活动+传感器偶发故障，但温度传感器的多次异常值与当日整体异常升温趋势相结合，不能完全排除持续热源或安全风险。缺乏烟感报警，降低了火灾直接威胁的可能性。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器存在间歇性故障（多次报告空值和异常高值），同时当日室内温度出现异常持续上升趋势，需进一步排查是否存在未察觉的持续热源或传感器本身需要维修。",
    "recommended_actions": [
      "重启或校准厨房温度传感器，检查其连接是否松动或受潮",
      "检查厨房是否存在未关闭的灶具或发热电器（如洗碗机在19:25开启后未报告关闭）",
      "确认17:00后空调开启前的高温是否由外部天气引起，查看当日天气预报",
      "检查门窗传感器记录以确认是否存在长时间未关闭的门窗导致温度异常",
      "如果传感器问题仍存在，安排技术人员上门检查"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常家庭活动：家庭成员在早上6:13起床后正常活动，6:52关火并打开厨房窗户通风。上午和傍晚再次使用灶具做饭，期间温度传感器偶发通讯故障或短暂掉线导致空值。下午4:08有人正常回家。

Explanation: 假设B: [anomaly] 传感器故障与潜在安全风险：厨房温度传感器存在间歇性故障（多次报告空值和异常跳变值），且当日整体室内温度从凌晨的22.6°C持续上升至下午高峰时的约25.5°C，最后在傍晚回降。这种异常升温可能由空调使用、外部高温或其他热源引起，需警惕是否存在火源未关闭或持续发热源。

Explanation: 假设C: [anomaly] 入侵与破坏行为：不明人员在早上6:53打开厨房窗户（可能为异常进入或破坏传感器），随后温度传感器出现异常。上午9:54和10:19厨房温度传感器出现异常高值（27°C），可能由异常热源（如人为纵火或设备故障）导致。下午4:08有人在无人在家迹象时解锁入户门（entrance_occupancy在16:08之前始终为0），可能为入侵者。

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

Explanation: 误报可能性: 中度风险。虽能合理解释为家庭正常活动+传感器偶发故障，但温度传感器的多次异常值与当日整体异常升温趋势相结合，不能完全排除持续热源或安全风险。缺乏烟感报警，降低了火灾直接威胁的可能性。

重启或校准厨房温度传感器，检查其连接是否松动或受潮 检查厨房是否存在未关闭的灶具或发热电器（如洗碗机在19:25开启后未报告关闭） 确认17:00后空调开启前的高温是否由外部天气引起，查看当日天气预报 检查门窗传感器记录以确认是否存在长时间未关闭的门窗导致温度异常 如果传感器问题仍存在，安排技术人员上门检查

Hypothesis: A

Hypothesis: B

Hypothesis: C

正常因果：06:52 关灶具 → 开厨房窗户（正常通风操作）


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

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

```json
{
  "step1_evidence": [
    "关键事件1: [2026-06-27T11:53:00] kitchen_cook_surface | OnOff.OnOff = True — 11:53 厨房灶具开启。",
    "关键事件2: [2026-06-27T12:03:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 灶具开启后10分钟，厨房烟雾报警器触发烟雾报警。",
    "关键事件3: [2026-06-27T12:08:00] kitchen_cook_surface | OnOff.OnOff = False — 烟雾报警后5分钟，灶具关闭。",
    "关键事件4: [2026-06-27T12:13:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 0 — 灶具关闭后5分钟，烟雾报警解除。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户在厨房做饭时，食物烧焦或烹饪方式不当产生了烟雾，触发了烟雾报警器，住户随后关闭灶具，烟雾消散后报警解除。"},
    {"id": "B", "type": "anomaly", "description": "住户忘记关火导致食物烧焦，但期间并未在厨房（无人），直到烟雾报警响起才赶去关火。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["支持证据1（间接）：灶具开启12分钟后关火，时间在正常烹饪时长范围内。", "支持证据2（间接）：烟雾报警在关火后5分钟内解除，符合处理烹饪烟雾后消散的典型轨迹。", "支持证据3（间接）：所有房间运动传感器在相关时段（11:53-12:08）均显示无人（Occupancy=0），这可能是由于住户在厨房内静止不动，而厨房未安装运动传感器，故未检测到。"], "opposing": ["否定证据1（间接）：11:53 - 12:08 期间，所有房间运动传感器（包括餐厅、玄关、客厅等）均显示无人，无法直接证明有人在厨房。"], "opposing": ["否定证据2（间接）：如果住户全程在厨房，烟雾报警应当能更快（<10分钟）被发现和处理。"], "opposing": ["否定证据3（间接）：如果只是正常烹饪，通常不会达到触发烟雾报警的程度。"]},
    {"hypothesis": "B", "supporting": ["支持证据1（间接）：运动传感器数据显示，在灶具开启期间（11:53-12:08），餐厅和玄关均无人，住户可能在其他房间或外出，忘记关火。", "支持证据2（直接）：烟雾报警器被触发，表明有烟雾产生，通常由食物烧焦导致。", "支持证据3（间接）：从报警到关火间隔5分钟，符合听到报警后从其他房间赶来的情形。"], "opposing": ["否定证据1（间接）：没有其他房间运动传感器显示有人活动，表明住户可能不在家。"], "opposing": ["否定证据2（间接）：整个日志期间所有运动传感器均为0，无法排除住户在厨房静止不动。"]}
  ],
  "step4_causal": [
    "因果关系1: 厨房灶具开启 (正常烹饪) → 厨房温度升高（从11:55的2525到12:00的2531，正常升温）→ 烟雾报警触发 (异常，表明烹饪出了问题) → 灶具关闭 (人为操作) → 烟雾报警解除 (正常，烟雾消散)。",
    "因果关系2: 缺少厨房运动传感器数据，无法直接关联住户是否在厨房。所有其他房间运动传感器均显示无人，不能证明住户不在厨房。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "误报可能性存在。烟雾报警器可能因烹饪油烟触发，而非火灾。灶具在15分钟内关闭，表明问题得到及时控制。所有运动传感器无人也可能是住户静止在厨房。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "一次可能的烹饪烟雾事件，住户已及时处理，不构成安全威胁。",
    "recommended_actions": ["建议检查厨房通风，避免烹饪时产生过多烟雾。", "确认烟雾报警器灵敏度设置是否合适。", "考虑添加厨房运动传感器，以增强活动监测。"]
  }
}
```

一次可能的烹饪烟雾事件，住户已及时处理，不构成安全威胁。

Explanation: 假设A: [normal] 住户在厨房做饭时，食物烧焦或烹饪方式不当产生了烟雾，触发了烟雾报警器，住户随后关闭灶具，烟雾消散后报警解除。

Explanation: 假设B: [anomaly] 住户忘记关火导致食物烧焦，但期间并未在厨房（无人），直到烟雾报警响起才赶去关火。

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

Explanation: 误报可能性: 误报可能性存在。烟雾报警器可能因烹饪油烟触发，而非火灾。灶具在15分钟内关闭，表明问题得到及时控制。所有运动传感器无人也可能是住户静止在厨房。

建议检查厨房通风，避免烹饪时产生过多烟雾。 确认烟雾报警器灵敏度设置是否合适。 考虑添加厨房运动传感器，以增强活动监测。

Hypothesis: A

支持证据1（间接）：灶具开启12分钟后关火，时间在正常烹饪时长范围内。

否定证据3（间接）：如果只是正常烹饪，通常不会达到触发烟雾报警的程度。

Hypothesis: B

支持证据2（直接）：烟雾报警器被触发，表明有烟雾产生，通常由食物烧焦导致。


第二人通过合法凭证解锁（不同UserIndex），且有合理时间间隔

```json
{
  "step1_evidence": [
    "未发现可疑事件: 所有温度传感器读数在一天内正常波动，且所有Occupancy传感器全天报告为0，未发现有价值的异常信号。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "所有住户全天外出，家中无人，所有传感器读数正常。温度变化符合日间自然规律（夏季白天升温、夜间降温），没有不安全设备运行。下午5:24和5:29的两次门锁事件由住户正常回家触发。"},
    {"id": "B", "type": "anomaly", "description": "所有Occupancy传感器全天为0，可能所有传感器同时故障或系统记录出现错误。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["全天所有Occupancy传感器（7个）一致报告为0，没有一次为1，说明家中无人是高度一致的证据（直接证据）。", "温度变化曲线完全符合夏季室外温度的自然波动：从凌晨约22.6°C缓慢上升至午后最高约25.5°C，再回落至夜间约22.5°C（直接证据）。", "厨房灶具无操作记录，烟雾报警器无报警，门锁在17:24和17:29的正常时间段（下午回家时间）由User1和User2正常开锁（直接证据）。"], "opposing": ["无反对证据。温度变化非常平滑、连续，没有异常跳变或stuck-at情况。"]},
    {"hypothesis": "B", "supporting": ["所有Occupancy传感器全天为0——如果住户下午5点多回家，理论上应该有传感器被触发（如entrance_occupancy）。但实际上没有记录到任何运动（17:30的entrance_occupancy仍为0）（间接证据，与假设A矛盾）。"], "opposing": ["假设B的唯一证据来自于门锁操作后Occupancy仍为0，但这可以用‘住户开门后未进入房间直接离开’或‘传感器位于门内侧，仅报告有人进入后的状态’来解释。而且所有7个传感器同时故障的概率极低（间接证据）。"]}
  ],
  "step4_causal": [
    "17:24 User1开门 → 玄关运动传感器未触发（正常，因为开门操作本身不触发Occupancy，住户可能未进入或传感器有延迟）",
    "17:29 User2开门 → 玄关运动传感器仍为0（正常，理由同上）",
    "日间温度上升 → 夏季日照效应（正常）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "none",
    "false_positive_risk": "存在一定不确定性：门锁在17:24和17:29有两次开锁事件（不同用户），但玄关运动传感器随后未报告有人。这可能是住户开门后短暂停留或直接离开，也可能是运动传感器部署位置未能覆盖开门瞬间。但鉴于没有其他任何异常信号（设备报警、操作失败、危险设备运行等），判定为正常的概率更高。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "全天日志未发现任何安全威胁或设备异常，所有读数符合夏季无人空置房屋的正常状态。",
    "recommended_actions": ["无需采取措施，当前状态正常。", "若对Occupancy传感器覆盖有疑虑，可考虑检查玄关运动传感器的安装位置是否合理。"]
  }
}
```

全天日志未发现任何安全威胁或设备异常，所有读数符合夏季无人空置房屋的正常状态。

Explanation: 假设A: [normal] 所有住户全天外出，家中无人，所有传感器读数正常。温度变化符合日间自然规律（夏季白天升温、夜间降温），没有不安全设备运行。下午5:24和5:29的两次门锁事件由住户正常回家触发。

Explanation: 假设B: [anomaly] 所有Occupancy传感器全天为0，可能所有传感器同时故障或系统记录出现错误。

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

Explanation: 误报可能性: 存在一定不确定性：门锁在17:24和17:29有两次开锁事件（不同用户），但玄关运动传感器随后未报告有人。这可能是住户开门后短暂停留或直接离开，也可能是运动传感器部署位置未能覆盖开门瞬间。但鉴于没有其他任何异常信号（设备报警、操作失败、危险设备运行等），判定为正常的概率更高。

无需采取措施，当前状态正常。

Hypothesis: A

无反对证据。温度变化非常平滑、连续，没有异常跳变或stuck-at情况。

Hypothesis: B

17:29 User2开门 → 玄关运动传感器仍为0（正常，理由同上）

日间温度上升 → 夏季日照效应（正常）


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

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

```json
{
  "step1_evidence": [
    "厨房温度传感器多次报告 None: [2026-06-04T06:31:10] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 温度传感器在正常工作时突然报告 None，之后又恢复正常，但随后在烹饪期间再次报告 None，可能表示传感器间歇性故障。",
    "厨房温度传感器再次报告 None: [2026-06-04T07:17:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 在烹饪结束后再次报告 None，进一步表明传感器存在异常。",
    "厨房温度传感器第三次报告 None: [2026-06-04T18:17:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 在晚间烹饪开始时立即报告 None，模式与早上一致，强烈指向传感器硬件问题。",
    "厨房温度传感器第四次报告 None: [2026-06-04T19:07:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 当日第四次出现 None 值，确认传感器间歇性故障，而非偶发事件。",
    "全屋温度异常持续上升并回落: [2026-06-04T00:00 - 06:00] 四个房间温度从约22.6°C稳步上升至约24.9°C，之后又从早上的25.0°C持续下降至傍晚的23.0°C — 整个期间所有Occupancy传感器（除清晨起床时段外）均报告无人，且无空调/灶具开启记录。温度变化幅度高达3°C，超过了日间正常波动的±2°C范围，且无明显外部热源或制冷源，这不符合预期模式。此现象可能暗示环境因素（如房屋散热/蓄热特性）或传感器系统性问题。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器间歇性硬件故障，全屋温度变化由季节性气候变化或房屋自身的蓄热散热特性引起，属于正常环境现象。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器间歇性硬件故障（确凿），全屋温度持续大幅度波动可能是由于多个传感器系统性漂移，或存在未被日志记录的持续热源（如管道渗漏、电器发热）导致室内温度异常。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["所有Occupancy传感器在温度大幅变化期间（00:00-06:22）均报告无人，排除了人类活动作为热源的可能。", "厨房温度传感器在报告 None 值后均能恢复正常读数，表明是间歇性硬件问题而非永久性故障。", "全屋温度上升和下降的曲线较为平滑，符合房屋在自然环境下受外部气温影响的蓄热/散热模式（夏季夜间升温、白天降温）。"], "opposing": ["全屋同步温度变化幅度约3°C（22.6°C至25.5°C），大于正常日间波动的±2°C范围，但如果没有空调且房屋隔热较差，在极端天气下仍有可能。"]},
    {"hypothesis": "B", "supporting": ["全屋四个温度传感器（living_room, master_bedroom, kids_room, kitchen）同步、持续地大幅波动（上升约3°C后又下降约3°C），超过了正常情况下室内温度的日变化幅度，可能指向系统性问题。", "厨房温度传感器多次报告 None 是明确的硬件故障信号，可能影响其读数的准确性。", "从00:00到05:30左右温度持续上升，此模式与环境温度下降（凌晨）的常规模式相反，值得关注。"], "opposing": ["全屋四个传感器读数基本同步，排除了单一传感器故障导致的误读。", "在住户起床后（06:22），温度变化趋势趋于平缓，回归正常波动范围（约24.9°C-25.5°C），暗示之前的异常可能与夜间特殊环境条件有关。", "没有发现任何其他设备报警（烟雾、漏水、门锁异常）支持存在未记录的热源或系统性故障。"]}
  ],
  "step4_causal": [
    "厨房温度传感器多次报告 None → 灶具开启（正常因果，但传感器对温度变化的响应异常，表明传感器故障）",
    "全屋温度于凌晨至早晨持续上升（约22.6°C→25.5°C）→ 无记录热源或人类活动，但随后自然回落（正常因果解释：夏季夜间炎热、房屋散热不良导致温度累积上升；或传感器系统受环境因素影响产生整体偏移）",
    "上午温度持续稳定在25°C左右 → 住户起床开空调/通风后温度趋于稳定（正常因果：人类介入改善了室内环境）",
    "傍晚温度自然下降（约25.5°C→22.6°C）→ 外部气温下降，房屋散热（正常因果）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "medium",
    "severity": "low",
    "false_positive_risk": "全屋温度异常波动虽然幅度略大，但平滑且同步，更符合自然环境的日变化。厨房温度传感器确实存在间歇性故障，但未导致安全后果。可能误判为传感器系统性故障，而实际只是单一传感器问题叠加正常环境变化。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "厨房温度传感器出现间歇性硬件故障（多次报告None值），但未导致其他安全威胁。全屋温度变化虽然幅度略大，但属于正常环境波动范畴。",
    "recommended_actions": ["检查并更换厨房温度传感器（kitchen_temp_sensor），确认其连接稳定。", "建议对全屋温度传感器进行校准检查，确保长期准确性。", "持续监控全屋温度数据，若未来再次出现同步异常波动，需深入调查房屋隔热或暖通空调系统。"]
  }
}
```

Explanation: 假设A: [normal] 厨房温度传感器间歇性硬件故障，全屋温度变化由季节性气候变化或房屋自身的蓄热散热特性引起，属于正常环境现象。

Explanation: 假设B: [anomaly] 厨房温度传感器间歇性硬件故障（确凿），全屋温度持续大幅度波动可能是由于多个传感器系统性漂移，或存在未被日志记录的持续热源（如管道渗漏、电器发热）导致室内温度异常。

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

Explanation: 误报可能性: 全屋温度异常波动虽然幅度略大，但平滑且同步，更符合自然环境的日变化。厨房温度传感器确实存在间歇性故障，但未导致安全后果。可能误判为传感器系统性故障，而实际只是单一传感器问题叠加正常环境变化。

建议对全屋温度传感器进行校准检查，确保长期准确性。

Hypothesis: A

Hypothesis: B

全屋四个传感器读数基本同步，排除了单一传感器故障导致的误读。


第二人通过合法凭证解锁（不同UserIndex），且有合理时间间隔

```json
{
  "step1_evidence": [
    "[2026-06-30T06:54:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器读数突然变为None（无效值），且后续在[07:04:10]、[18:50:00]、[19:06:00]也出现了None值，但其他时间点又有正常读数，表明传感器间歇性通讯故障或受到干扰",
    "[2026-06-30T06:53:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在煮饭后打开（关火时间06:53:00），符合正常通风行为",
    "[2026-06-30T07:03:40] kitchen_cook_surface | OnOff.OnOff = True — 厨房灶具在早上07:03开启，属于正常早餐烹饪时间",
    "[2026-06-30T07:34:23] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 入户门在07:34被手动解锁（出门上班），随后[07:34:34]自动上锁，正常",
    "[2026-06-30T12:50:00] kids_room_temp_sensor | TemperatureMeasurement.MeasuredValue = 2500 — 儿童房温度在中午12:50从早上的2470持续上升至2500，波动正常",
    "[2026-06-30T16:50:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=1) — 16:50门锁被外部解锁（用户1），正常回家",
    "[2026-06-30T16:55:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=2) — 16:55门锁又被另一用户（用户2）解锁，5分钟内两人先后回家",
    "[2026-06-30T17:44:00] front_door_lock | Event: LockOperation(LockOperationType=1, OperationSource=Manual) — 17:44门锁再次被手动解锁，此时家中已有多人，可能是孩子或住户放学/下班回家",
    "[2026-06-30T18:49:30] kitchen_cook_surface | OnOff.OnOff = True — 18:49厨房灶具再次开启，进入晚餐准备时间，正常晚间烹饪",
    "[2026-06-30T19:05:00] kitchen_cook_surface | OnOff.OnOff = False — 19:05灶具关闭，烹饪结束"
  ],
  "step2_hypotheses": [
    {
      "id": "A",
      "type": "normal",
      "description": "正常家庭一日活动。住户在06:06左右起床，07:34离家上班/上学，16:50和17:44陆续回家，期间进行早餐和晚餐烹饪，所有传感器读数变化符合日常作息和环境规律。厨房温度传感器偶尔出现None值可能是短暂的网络波动或设备重启，但很快恢复。"
    },
    {
      "id": "B",
      "type": "anomaly",
      "description": "厨房温度传感器存在间歇性硬件故障或通信链路不稳定。传感器在多个时间点（06:54、07:04、18:50、19:06）报告None值，但随后又有正常读数，属于典型的间歇性故障模式，可能导致在关键时刻（如烹饪期间）无法监测到异常升温，存在火灾安全隐患。"
    }
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "[直接证据] 所有运动传感器和门锁事件时间线清晰：06:06起床→07:34出门→16:50-17:44回家→18:49晚餐，符合正常家庭作息",
        "[直接证据] 灶具开启（07:03、18:49）与关闭（06:53、19:05）均有记录，且关闭时间在合理范围内（早餐约50分钟，晚餐约15-16分钟）",
        "[直接证据] 厨房窗户在每次烹饪后短时间打开（06:53、19:05），说明住户有通风习惯",
        "[间接证据] 温度传感器在绝大部分时间都有正常读数，且波动规律，None值仅占比极少数"
      ],
      "opposing": [
        "[直接证据] kitchen_temp_sensor 在[06:54]、[07:04]、[18:50]、[19:06] 连续报告None值，且在06:54时灶具刚关闭，19:06时灶具刚关闭，此时温度读数异常可能错过危险信息"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "[直接证据] kitchen_temp_sensor 在06:54、07:04、18:50、19:06四个时间点出现TemperatureMeasurement.MeasuredValue = None，其他相邻时间点正常，模式为间歇性故障",
        "[直接证据] 06:54和07:04的None值恰好发生在早上烹饪（06:53关闭灶具、07:03开启灶具）的关键时间点，19:06在晚上烹饪（19:05关闭灶具）后也出现None，传感器在这些温度变化关键时刻失效"
      ],
      "opposing": [
        "[间接证据] 没有其他传感器同时出现异常，系统网络整体稳定，表明故障仅限于该传感器自身",
        "[直接证据] 传感器在大多数时间点都能正常报告有效温度值（如06:55就恢复为2497），说明不是永久性损坏"
      ]
    }
  ],
  "step4_causal": [
    "厨房灶具开启（07:03、18:49）→ 厨房温度上升（正常烹饪因果关系）",
    "灶具关闭（06:53、19:05）→ 厨房窗户打开（正常通风行为因果关系）",
    "住户起床（06:06）→ 卧室运动→ 卫生间运动→ 厨房烹饪（正常晨间路线因果关系）",
    "早上出门（07:34）→ 门锁手动解锁→ 开门→ 自动上锁（正常离家因果链）",
    "下午回家（16:50、17:44）→ 门锁被外部用户解锁→ 室内运动传感器触发（正常回家因果链）",
    "厨房温度传感器报告None值（06:54、07:04、18:50、19:06）→ 这些时间点灶具切换状态（刚关闭或刚开启）（异常关联：传感器在温度变化的敏感时刻失效，可能是硬件受到温度冲击或线缆松动）",
    "空调开启（17:44）→ 客厅温度逐步下降（正常制冷因果关系，从17:45的2340下降到18:30的2303，符合预期）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "medium",
    "false_positive_risk": "中等。传感器间歇性报告None值也可能由临时性网络延迟或网关重启引起，但在烹饪后立即出现None的模式较为可疑。不过整体家庭活动时间线正常，未发现入侵或暴力破解等安全威胁。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器存在间歇性通讯故障，在每次烹饪结束或开始时报告无效值（None），可能影响火灾预警能力。",
    "recommended_actions": [
      "检查厨房温度传感器（kitchen_temp_sensor）的物理连接和电池状态，是否存在松动或接触不良",
      "确认传感器固件是否为最新版本，必要时重置或重新配对Matter网络",
      "监控该传感器在未来几天的报告中是否继续出现None值",
      "作为临时措施，可启用其他传感器（如客厅温度传感器或烟雾报警器）作为厨房温度异常的备用监测源"
    ]
  }
}
```

Explanation: 假设A: [normal] 正常家庭一日活动。住户在06:06左右起床，07:34离家上班/上学，16:50和17:44陆续回家，期间进行早餐和晚餐烹饪，所有传感器读数变化符合日常作息和环境规律。厨房温度传感器偶尔出现None值可能是短暂的网络波动或设备重启，但很快恢复。

Explanation: 假设B: [anomaly] 厨房温度传感器存在间歇性硬件故障或通信链路不稳定。传感器在多个时间点（06:54、07:04、18:50、19:06）报告None值，但随后又有正常读数，属于典型的间歇性故障模式，可能导致在关键时刻（如烹饪期间）无法监测到异常升温，存在火灾安全隐患。

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

Explanation: 误报可能性: 中等。传感器间歇性报告None值也可能由临时性网络延迟或网关重启引起，但在烹饪后立即出现None的模式较为可疑。不过整体家庭活动时间线正常，未发现入侵或暴力破解等安全威胁。

确认传感器固件是否为最新版本，必要时重置或重新配对Matter网络

监控该传感器在未来几天的报告中是否继续出现None值

Hypothesis: A

Hypothesis: B

厨房灶具开启（07:03、18:49）→ 厨房温度上升（正常烹饪因果关系）

灶具关闭（06:53、19:05）→ 厨房窗户打开（正常通风行为因果关系）

早上出门（07:34）→ 门锁手动解锁→ 开门→ 自动上锁（正常离家因果链）


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

```json
{
  "step1_evidence": [
    "[2026-06-15T20:35:00] living_room_smoke_alarm | SmokeCoAlarm.TestInProgress = True — 烟雾报警器开始自检",
    "[2026-06-15T20:35:05] living_room_smoke_alarm | SmokeCoAlarm.COState = 1 — 自检期间CO状态被触发为1（报警）",
    "[2026-06-15T20:35:30] living_room_smoke_alarm | SmokeCoAlarm.COState = 0 — CO状态迅速恢复为0",
    "[2026-06-15T20:35:30] living_room_smoke_alarm | SmokeCoAlarm.TestInProgress = False — 自检结束",
    "[2026-06-15T20:35:30] living_room_smoke_alarm | Event: SelfTestComplete() — 自检完成事件报告",
    "[2026-06-15T06:52:10] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器首次出现None值（灶具开启后）",
    "[2026-06-15T07:24:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第二次出现None值",
    "[2026-06-15T18:29:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第三次出现None值",
    "[2026-06-15T19:07:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器第四次出现None值（灶具关闭后）",
    "注意：所有日志中全屋温度传感器数值在00:00到23:55期间从22.69°C上升至最高24.9°C左右再回落至22.6°C，呈现明显的日间正弦曲线变化，无长时间固定或单向漂移，属于正常日间温度波动。全屋Occupancy传感器在00:00-06:23期间全部为0，之后有人活动，符合正常作息。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "烟雾报警器进行日常自检（SelfTest），自检过程中CO状态短暂被触发为1是正常现象，随后自动恢复为0，并发送自检完成事件。"},
    {"id": "B", "type": "anomaly", "description": "烟雾报警器自检期间实际检测到CO泄漏导致COState=1，但随后因自身故障或环境变化快速消除，属于潜在CO泄漏但被误判为自检。"},
    {"id": "C", "type": "anomaly", "description": "烟雾报警器自检功能故障，COState=1是错误报警，但自检完成事件被正常触发，实际存在硬件隐患。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["[直接]自检期间COState短暂=1后自动恢复为0 → 符合自检流程", "[直接]自检完成后立即发送SelfTestComplete事件 → 自检正常结束"], "opposing": ["[间接]通常自检时COState不应报告为1，而是应报告当前检测状态；但Matter标准允许自检期间触发状态变化以验证报警逻辑 — 此行为属于正常设计"]},
    {"hypothesis": "B", "supporting": ["[间接]COState=1持续约25秒后被清除 → 若为真实泄漏通常需要更长时间消除或触发持续告警"], "opposing": ["[直接]自检开始后COState立即=1，自检结束瞬间恢复0 → 强关联于自检时序，非外部CO事件", "[间接]全屋所有温度传感器正常，厨房灶具在自检时处于关闭状态（最后一次灶具使用在19:06关闭）→ 无CO产生来源"]},
    {"hypothesis": "C", "supporting": ["[间接]若COState=1是故障误报，则自检通过逻辑存在缺陷"], "opposing": ["[直接]自检完成事件为SelfTestComplete()，无故障报告 → 自检逻辑判定通过", "[直接]该设备在日志中无其他异常行为或报警记录"]}
  ],
  "step4_causal": [
    "[正常因果] 烟雾报警器启动自检 → COState短暂=1（模拟报警） → 自检完成COState恢复=0并报告成功 — 正常设备自检流程",
    "[正常因果] 厨房灶具开启 → 厨房温度上升3-5°C后回落 — 正常烹饪行为",
    "[正常因果] 06:23起全屋 Occupancy 出现活动 → 对应住户晨间作息 — 正常日常行为",
    "[异常关联] 厨房温度传感器在灶具使用期间多次报告None值 — 可能为传感器高温保护或通信异常，但灶具关闭后仍出现None值，需关注传感器状态"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "none",
    "false_positive_risk": "烟雾报警器存在多种自检模式，部分设备在自检期间会短时间触发报警状态以验证功能，此为正常操作，但用户如果不了解可能产生恐慌。"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "none",
    "threat_description": "烟雾报警器执行了一次正常的自检，过程中CO状态短暂触发后自动恢复，自检成功完成。未发现真实CO泄漏、火灾或设备异常。厨房温度传感器出现4次None值需留意，但未构成当前安全威胁。",
    "recommended_actions": [
      "无安全威胁，无需紧急处理。",
      "建议关注厨房温度传感器(Kitchen Temp Sensor)频繁返回None值的问题，检查传感器与网关通信是否稳定或传感器是否需校准/更换。",
      "可安排定期烟雾报警器自检，确保设备处于正常工作状态。"
    ]
  }
}
```

Explanation: 假设A: [normal] 烟雾报警器进行日常自检（SelfTest），自检过程中CO状态短暂被触发为1是正常现象，随后自动恢复为0，并发送自检完成事件。

Explanation: 假设B: [anomaly] 烟雾报警器自检期间实际检测到CO泄漏导致COState=1，但随后因自身故障或环境变化快速消除，属于潜在CO泄漏但被误判为自检。

Explanation: 假设C: [anomaly] 烟雾报警器自检功能故障，COState=1是错误报警，但自检完成事件被正常触发，实际存在硬件隐患。

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

Explanation: 误报可能性: 烟雾报警器存在多种自检模式，部分设备在自检期间会短时间触发报警状态以验证功能，此为正常操作，但用户如果不了解可能产生恐慌。

无安全威胁，无需紧急处理。

可安排定期烟雾报警器自检，确保设备处于正常工作状态。

Hypothesis: A

[直接]自检期间COState短暂=1后自动恢复为0 → 符合自检流程

Hypothesis: B

Hypothesis: C

[间接]若COState=1是故障误报，则自检通过逻辑存在缺陷

[直接]该设备在日志中无其他异常行为或报警记录

[正常因果] 厨房灶具开启 → 厨房温度上升3-5°C后回落 — 正常烹饪行为


只有1-2次错误（非连续多次），最终成功解锁且 UserIndex 是合法用户

```json
{
  "step1_evidence": [
    "可疑事件1: [2026-06-20T11:19:00] front_door_lock Event: LockOperationError(OperationError=1, OperationSource=3) — 门锁操作失败事件，是需要关注的设备异常",
    "可疑事件2: [2026-06-20T11:19:20] front_door_lock Event: LockOperation(LockOperationType=1, OperationSource=3, UserIndex=1) — 同一时间点紧接着有一次门锁开锁操作",
    "可疑事件3: [2026-06-20T11:19:22] front_door_contact StateValue=False — 开锁后入户门被打开",
    "可疑事件4: [2026-06-20T11:19:25] entrance_occupancy Occupancy=1 — 门开后玄关检测到人员进入"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户回家：住户（UserIndex=1）回家时，门锁出现一次临时性操作错误（如手指未贴准指纹模块），但随即成功开锁并进门。这是日常行为。"},
    {"id": "B", "type": "anomaly", "description": "门锁故障或异常开锁：门锁发生了一次操作失败事件，随后在很短时间内成功开锁。可能是设备故障导致误报，或者存在暴力破解尝试后成功进入的情况。"}
  ],
  "step3_verification": [
    {
      "hypothesis": "A",
      "supporting": [
        "支持证据（直接）1: LockOperationError发生后仅20秒，就出现了LockOperation类型为1（Unlock，推测）的事件，且OperationSource=3（可能是键盘/指纹），表明锁成功响应了开锁指令。",
        "支持证据（直接）2: 开锁后2秒内front_door_contact报告为False（门打开），随后玄关传感器entrance_occupancy报告有人，完整构成了“开门→进入”的正常序列。",
        "支持证据（间接）3: 日志中仅发现了这一次LockOperationError，没有连续多次的错误记录，不像是暴力破解的反复尝试。"
      ],
      "opposing": [
        "否定证据（间接）1: 日志中完全没有住户出门或回家的其他相关事件（如门关闭、门锁上锁、室内其他运动传感器后续触发），无法验证完整的回家路线。",
        "否定证据（间接）2: 之后从11:20:00到12:00:00，所有运动传感器均报告Occupancy=0（无人），这与人进入后的行为模式矛盾。如果住户回家，应该会有后续的活动。"
      ]
    },
    {
      "hypothesis": "B",
      "supporting": [
        "支持证据（直接）1: 存在明确的LockOperationError事件，是系统记录的异常状态。",
        "支持证据（间接）2: 在LockOperationError之后，室内所有传感器始终保持无人状态（包括玄关传感器在11:30:00立即变为0），符合入侵者短暂进入后迅速离开或躲藏的场景。",
        "支持证据（间接）3: 没有后续的门关闭（front_door_contact变为True）和门锁上锁（LockState=1）的记录，门可能未被正常关闭。"
      ],
      "opposing": [
        "否定证据（直接）1: 仅有的一次操作错误后，紧接着一次成功的开锁操作（UserIndex=1），这不符合典型暴力破解尝试的模式（通常会连续多次失败）。",
        "否定证据（间接）2: 假设是入侵，入侵者离开时也会触发门传感器和玄关传感器，但日志中没有任何关于门窗状态变化的后续记录，除非入侵者从窗户等不检测的路径离开。"
      ]
    }
  ],
  "step4_causal": [
    "因果关系1: [11:19:00] LockOperationError → [11:19:20] LockOperation (成功) → [11:19:22] front_door_contact=False → [11:19:25] entrance_occupancy=1 (正常，住户/入侵者通过门锁进入，但之前有一个错误) ",
    "因果关系2: [11:19:25] entrance_occupancy=1 → [11:30:00] entrance_occupancy=0 (正常，进入者在短时间内离开/经过玄关)",
    "异常关联: [11:19:25] 有人进入房屋后，所有室内Occupancy传感器从11:30:00起至12:00:00均保持为0。如果是正常住户回家，不太可能立即进入完全静止状态，尤其是无人去关闭被打开的门，这构成行为异常（无法确认后续活动）。"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "medium",
    "false_positive_risk": "存在一定误报可能性：虽然有人进入后所有传感器都报告无人，但这可能因为进入者未移动超过30分钟，或者住户回家后立即静坐未触发传感器。但无人去关门是一个重要的矛盾点。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "credential_theft",
    "threat_description": "入户门锁出现一次操作失败后成功开锁，有人进入后室内无任何后续活动，且门未被正常关闭，存在凭证被盗用后入侵或尾随的风险。",
    "recommended_actions": [
      "1. 建议住户立即核实是否在该时间段有人正常回家，并确认入户门是否已被正常关闭上锁。",
      "2. 检查门锁的LockState状态，确保当前处于锁定状态。",
      "3. 检查门窗传感器，确认所有门窗都处于关闭状态。",
      "4. 如果无人回家，建议立即更换门锁密码/指纹，并检查家中财物和安全隐患。",
      "5. 查看门锁日志，确认UserIndex=1对应的用户是否可信。"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户回家：住户（UserIndex=1）回家时，门锁出现一次临时性操作错误（如手指未贴准指纹模块），但随即成功开锁并进门。这是日常行为。

Explanation: 假设B: [anomaly] 门锁故障或异常开锁：门锁发生了一次操作失败事件，随后在很短时间内成功开锁。可能是设备故障导致误报，或者存在暴力破解尝试后成功进入的情况。

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

Explanation: 误报可能性: 存在一定误报可能性：虽然有人进入后所有传感器都报告无人，但这可能因为进入者未移动超过30分钟，或者住户回家后立即静坐未触发传感器。但无人去关门是一个重要的矛盾点。

2. 检查门锁的LockState状态，确保当前处于锁定状态。

3. 检查门窗传感器，确认所有门窗都处于关闭状态。

4. 如果无人回家，建议立即更换门锁密码/指纹，并检查家中财物和安全隐患。

5. 查看门锁日志，确认UserIndex=1对应的用户是否可信。

Hypothesis: A

Hypothesis: B


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

```json
{
  "step1_evidence": [
    "1. [2026-06-19T14:04:00] kitchen_smoke_alarm | SmokeCoAlarm.BatteryAlert = 1 — 厨房烟雾报警器电池电量低报警，这是设备明确报警事件。",
    "2. [2026-06-20T14:04:00] kitchen_cook_surface | OnOff.OnOff = True — 厨房灶具在14:04开启。",
    "3. [2026-06-20T14:14:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 1 — 厨房烟雾报警器检测到烟雾（疑似在无人情况下，因为全屋Occupancy=0）。",
    "4. [2026-06-20T14:00:00] 全屋Occupancy = 0 — 14:00时所有运动传感器显示无人，但之后灶具开启且烟雾报警。",
    "5. [2026-06-20T14:19:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在开启15分钟后关闭。",
    "6. [2026-06-20T14:24:00] kitchen_smoke_alarm | SmokeCoAlarm.SmokeState = 0 — 烟雾状态在灶具关闭5分钟后解除。",
    "7. 从 [2026-06-20T00:00:00] 到 [2026-06-20T14:00:00] 全屋所有Occupancy始终为0 — 持续14小时无人活动，但温度出现异常波动。",
    "8. 温度数据：从00:00到13:55，室内温度（如living_room）从22.78°C持续单向漂移至25.06°C，然后回落至24.73°C，整体波动约2.3°C，超出正常范围（正常日间波动±2°C）。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户可能在家中但活动未被运动传感器捕捉到（例如长时间静坐/睡觉），并在14:00短暂进入厨房开启灶具后离开，导致无人检测到但烟雾报警。"},
    {"id": "B", "type": "anomaly", "description": "住宅无人时，灶具无故自动开启并产生烟雾，可能为设备故障（灶具或烟雾报警器误报）或电气线路问题，存在火灾风险。"},
    {"id": "C", "type": "anomaly", "description": "外部入侵者进入并操作灶具，但所有运动传感器失效或未被触发，同时入户门锁无异常记录。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["厨房温度在灶具开启后上升3-5°C，符合正常烹饪模式（间接证据）", "灶具开启后10分钟烟雾报警，灶具关闭后5分钟烟雾解除，时间线合理（直接证据）"], "opposing": ["全屋运动传感器在14:00-14:30期间持续报告Occupancy=0（直接证据），表明无人活动，与有人使用灶具矛盾", "14:00之前14小时全部Occupancy=0，难以解释有人一直在家但传感器不触发（间接证据）"]},
    {"hypothesis": "B", "supporting": ["全屋Occupancy=0（直接证据），无人时灶具开启（直接证据）", "厨房烟雾报警器在14:04灶具开启后于14:14触发SmokeState=1（直接证据），表明产生了烟雾", "温度数据持续漂移，可能反映了环境热积累或传感器异常（间接证据）"], "opposing": ["灶具于14:19自动/手动关闭，烟雾于14:24解除，表明问题自行解决，未演变为灾害（间接证据）", "烟雾报警器在19日曾报告电池报警，可能影响其灵敏度或导致误报（直接证据）"]},
    {"hypothesis": "C", "supporting": ["全屋Occupancy=0（直接证据），无人时灶具异常开启（直接证据）", "烟雾报警（直接证据）"], "opposing": ["入户门锁和门传感器无任何打开/解锁记录（从日志看无相关事件），入侵者不可能不触发（间接证据）", "入侵者操作灶具并产生烟雾后自行关闭，行为不合逻辑（间接证据）", "所有运动传感器同时失效的概率很低（间接证据）"]}
  ],
  "step4_causal": [
    "灶具开启（True）→ 厨房温度上升 + 烟雾报警（SmokeState=1）（正常因果，但无人场景下为异常关联）",
    "灶具关闭（False）→ 烟雾状态解除（SmokeState=0）（正常因果）",
    "全屋Occupancy=0 → 灶具无故开启（异常关联，无法用正常行为解释）",
    "厨房烟雾报警器电池报警（BatteryAlert=1）→ 可能导致传感器灵敏度异常或误报（异常关联，增加误报风险）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "high",
    "false_positive_risk": "火灾风险较高。虽然烟雾报警器有电池报警历史，但灶具在无人时自动开启与烟雾报警器触发共同指向真实烟雾事件，误报可能性低。电池报警可能指设备已存在故障隐患，加剧风险。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "fire_risk",
    "threat_description": "全屋无人状态下厨房灶具无故自动开启并产生烟雾，存在严重火灾隐患。",
    "recommended_actions": [
      "1. 立即检查厨房灶具及电气线路，确认是否有短路或电控故障。",
      "2. 更换厨房烟雾报警器电池，并测试其功能是否正常。",
      "3. 检查全屋运动传感器、入户门锁日志，排除入侵可能。",
      "4. 考虑设置灶具无人自动关闭规则或与烟雾报警器联动智能断电。"
    ]
  }
}
```

全屋无人状态下厨房灶具无故自动开启并产生烟雾，存在严重火灾隐患。

Explanation: 假设A: [normal] 住户可能在家中但活动未被运动传感器捕捉到（例如长时间静坐/睡觉），并在14:00短暂进入厨房开启灶具后离开，导致无人检测到但烟雾报警。

Explanation: 假设B: [anomaly] 住宅无人时，灶具无故自动开启并产生烟雾，可能为设备故障（灶具或烟雾报警器误报）或电气线路问题，存在火灾风险。

Explanation: 假设C: [anomaly] 外部入侵者进入并操作灶具，但所有运动传感器失效或未被触发，同时入户门锁无异常记录。

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

Explanation: 误报可能性: 火灾风险较高。虽然烟雾报警器有电池报警历史，但灶具在无人时自动开启与烟雾报警器触发共同指向真实烟雾事件，误报可能性低。电池报警可能指设备已存在故障隐患，加剧风险。

1. 立即检查厨房灶具及电气线路，确认是否有短路或电控故障。
2. 更换厨房烟雾报警器电池，并测试其功能是否正常。
3. 检查全屋运动传感器、入户门锁日志，排除入侵可能。
4. 考虑设置灶具无人自动关闭规则或与烟雾报警器联动智能断电。

Hypothesis: A

厨房温度在灶具开启后上升3-5°C，符合正常烹饪模式（间接证据） 灶具开启后10分钟烟雾报警，灶具关闭后5分钟烟雾解除，时间线合理（直接证据）

Hypothesis: B

全屋Occupancy=0（直接证据），无人时灶具开启（直接证据）

温度数据持续漂移，可能反映了环境热积累或传感器异常（间接证据）

烟雾报警器在19日曾报告电池报警，可能影响其灵敏度或导致误报（直接证据）

Hypothesis: C

全屋Occupancy=0（直接证据），无人时灶具异常开启（直接证据） 烟雾报警（直接证据）

入侵者操作灶具并产生烟雾后自行关闭，行为不合逻辑（间接证据）

所有运动传感器同时失效的概率很低（间接证据）

灶具关闭（False）→ 烟雾状态解除（SmokeState=0）（正常因果）

全屋Occupancy=0 → 灶具无故开启（异常关联，无法用正常行为解释）


开窗前住户先在同一房间活动并开灯，是主动行为

```json
{
  "step1_evidence": [
    "[2026-06-25T06:36:07] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 厨房温度传感器报告无效值(None)，且之后在06:52、07:15等多个时间点重复出现None值，表明传感器间歇性失效",
    "[2026-06-25T06:51:30] kitchen_window_contact | BooleanState.StateValue = False — 厨房窗户在无人(Occupancy=0)且灶具开启(OnOff=True)时被打开，但此操作发生在住户活动密集的早晨(06:46-07:11)，且06:51住户在厨房区域有活动(灶具已关)，因此可能是正常通风",
    "[2026-06-25T06:35:37] kitchen_cook_surface | OnOff.OnOff = True — 灶具在06:35开启，符合早晨做饭的正常时间",
    "[2026-06-25T06:51:00] kitchen_cook_surface | OnOff.OnOff = False — 灶具在约15分钟后关闭，属于正常短时间烹饪",
    "[2026-06-25T18:22:30] kitchen_cook_surface | OnOff.OnOff = True — 晚上18:22再次开启灶具，符合晚餐时间，且18:50关闭，持续约28分钟，属正常烹饪时长",
    "[2026-06-25T18:50:30] kitchen_window_contact | BooleanState.StateValue = False — 晚餐后再次打开窗户，可能是通风排烟",
    "[2026-06-25T06:51:09] dining_room_occupancy | Occupancy = 1 — 灶具开启后，餐厅有人员活动，表明有人看管",
    "[2026-06-25T18:20:14] living_room_ac | OnOff.OnOff = True — 客厅空调开启，符合晚间回家后降温需求，属于正常行为",
    "[2026-06-25T13:33:10] living_room_window_1 | StateValue = False — 下午13:33客厅窗户被短暂打开(约5秒后未记录关闭，但后续无异常)，可能是临时操作",
    "[2026-06-25T06:25:00] master_bathroom_light | OnOff.OnOff = True 和 [2026-06-25T06:35:00] master_bathroom_light | OnOff.OnOff = False — 主卫灯使用10分钟，属正常早晨洗漱"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "家庭正常作息日：住户早晨起床、做饭、送孩子上学、回家、晚餐、就寝，所有设备状态变化符合正常家庭行为模式。厨房温度传感器间歇性故障（报告None）是唯一的技术问题，但不影响安全。"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障（stuck-at / intermittent failure）：传感器间歇报告None值，可能永久性故障，无法监测厨房温度，若灶具忘关将无法通过温度异常预警。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["07:11-07:11:41 入户门解锁→开门→关门→自动上锁，符合正常出门流程（直接证据）", "06:35-06:51 灶具开启→关闭，期间有人员活动（餐厅 occupancy=1），正常烹饪（间接证据）", "05:56-07:11 主卧→主卫→厨房→餐厅→儿童房→出门，完整的晨间活动轨迹（间接证据）", "18:20-22:17 回家→开空调→做饭→关空调→关灯→关窗→锁门，完整的晚间活动轨迹（间接证据）", "所有温度传感器读数在一天内从约22.6°C上升到约25.5°C再回落到约22.5°C，符合夏季日间自然温度变化（间接证据）", "所有运动传感器仅在有人时段（05:56-07:11, 16:35-22:17）触发，且与灯、门窗操作时序一致（直接证据）"], "opposing": ["厨房温度传感器06:36首次报告None，之后06:52、18:23、18:51多次报告None，表明设备存在间歇性故障（直接证据）"]},
    {"hypothesis": "B", "supporting": ["厨房温度传感器在4个不同时间点报告None：06:36、06:52、18:23、18:51（直接证据）", "None值未出现在其他三个温度传感器上，排除网络或集线器问题（间接证据）", "传感器在None后均能恢复，排除永久性stuck-at，但间歇性故障同样影响可靠性（间接证据）"], "opposing": ["每次灶具开启后，传感器仍能报告有效温度值（如06:40报2503=25.03°C，06:45报2507，06:50报2504），温度在合理烹饪范围内（间接证据）", "灶具每次使用均在有人看管且短时间内关闭，没有造成安全风险（间接证据）"]}
  ],
  "step4_causal": [
    "06:35 灶具开启 → 06:36 厨房温度传感器报告None（可能因果——传感器受热冲击或干扰，异常）",
    "06:51 灶具关闭 → 06:52 厨房温度传感器再次报告None（可能因果——设备状态切换时不稳定，异常）",
    "06:35 灶具开启 → 厨房温度逐步上升（06:40 25.03°C → 06:45 25.07°C），正常因果（烹饪）",
    "18:22 灶具开启 → 18:23 厨房温度传感器再次报告None（重复模式，传感器异常）",
    "05:56 主卧Occupancy=1 → 06:25 主卫Light=On → 06:35 厨房Light=On → 06:46 儿童房Light=On → 07:11 出门，正常因果（早晨活动链）",
    "18:20 回家开门 → 18:20 客厅Light=On → 18:20 客厅AC=On → 18:22 厨房Light=On → 18:22 灶具On，正常因果（晚间活动链）",
    "白天温度从22.6°C上升到25.5°C再回落到22.5°C，所有房间同步波动，属正常日间温差变化"
  ],
  "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] 家庭正常作息日：住户早晨起床、做饭、送孩子上学、回家、晚餐、就寝，所有设备状态变化符合正常家庭行为模式。厨房温度传感器间歇性故障（报告None）是唯一的技术问题，但不影响安全。

Explanation: 假设B: [anomaly] 厨房温度传感器故障（stuck-at / intermittent failure）：传感器间歇报告None值，可能永久性故障，无法监测厨房温度，若灶具忘关将无法通过温度异常预警。

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

Explanation: 误报可能性: 较低——传感器间歇性报告None是客观故障，但该故障目前仅影响监测能力，未导致实际安全事件。所有异常信号均可用传感器故障合理解释，且有人看管烹饪可降低风险。

检查并更换厨房温度传感器(厨房温度传感器) 重置传感器后再观察是否恢复 作为预防，在灶具使用时建议保持有人看管，直至传感器修复

Hypothesis: A

Hypothesis: B

None值未出现在其他三个温度传感器上，排除网络或集线器问题（间接证据）

灶具每次使用均在有人看管且短时间内关闭，没有造成安全风险（间接证据）


INS-05-FP: 住户换了新手机/手表解锁

虽然用了不常用的RFID方式解锁，但进门后最终开灯、正常活动，行为模式与住户一致

```json
{
  "step1_evidence": [
    "厨房温度传感器间歇性报告None: [06:55:04] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 传感器间歇性通信失效，可能为故障或信号干扰",
    "厨房温度传感器间歇性报告None: [07:25:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 再次出现None，证实传感器通信不稳定",
    "厨房温度传感器间歇性报告None: [18:20:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第三次出现，故障模式明显",
    "厨房温度传感器间歇性报告None: [19:11:00] kitchen_temp_sensor | TemperatureMeasurement.MeasuredValue = None — 第四次出现，故障持续",
    "厨房窗户在做饭时打开: [07:24:30] kitchen_window_contact | BooleanState.StateValue = False — 灶具正在使用中（06:54-07:24），开窗通风是合理行为",
    "儿童房温度传感器读数在23:45出现异常跳变: [23:45:00] kids_room_temp_sensor | TemperatureMeasurement.MeasuredValue = 2275 — 此前约在2250-2260区间，突然上升约20个单位（0.2°C），但仍在合理范围内"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "厨房温度传感器存在间歇性通信故障，但其他设备运行正常，住户行为符合正常作息"},
    {"id": "B", "type": "anomaly", "description": "厨房温度传感器故障可能是由厨房环境异常（如过热、烟雾）导致的传感器损坏或通信中断"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "厨房灶具在06:54-07:24期间运行，之后在07:24正常关闭，开窗通风是合理行为（直接证据）",
      "其他三个温度传感器（客厅、主卧、儿童房）读数正常波动，无异常（直接证据）",
      "烟雾报警器在整个日志中未触发任何报警（直接证据，否定火灾风险）",
      "住户在07:24-07:25通过大门正常出门（入户门锁手动解锁→开门→出门→关门→自动上锁）（直接证据）",
      "儿童房温度在23:45的跳变（2275）仅比前一读数（2254）高0.21°C，且下一读数（23:50）为2272，仍在正常波动范围内（间接证据）"
    ], "opposing": [
      "厨房温度传感器多次报告None，但灶具关闭（07:24）后约20分钟（07:45）传感器恢复正常，且整个日志中其他设备未受影响（间接证据，可解释为通信偶发故障）",
      "没有其他异常事件（如入侵、火灾、漏水）可以解释传感器故障（间接证据）"
    ]},
    {"hypothesis": "B", "supporting": [
      "厨房温度传感器在灶具开启后首次出现None（06:55:04），随后灶具关闭后恢复正常（07:25后恢复正常），可能存在因果关系（间接证据）"
    ], "opposing": [
      "烟雾报警器未触发（直接证据，否定火灾）",
      "厨房温度传感器在后续灶具再次开启时（18:19）也报告了None，但同样在灶具关闭后恢复（19:10关闭，19:11又出现一次None，但19:15恢复正常），表明故障与灶具使用有关但并非过热损坏（间接证据）",
      "其他房间温度传感器读数正常，没有整体温度异常上升（间接证据）",
      "漏水传感器未报警（直接证据）"
    ]}
  ],
  "step4_causal": [
    "灶具开启 → 厨房温度传感器间歇性报告None（异常关联：可能为高温或电磁干扰导致传感器通信不稳定，但灶具关闭后恢复，传感器未损坏）",
    "灶具关闭 + 开窗通风 → 厨房温度逐步回落至正常（正常因果：通风降温）",
    "住户起床(06:11) → 主卧灯亮 → 主卫活动 → 厨房灶具开启（06:54） → 准备早餐（正常日常行为）",
    "住户在07:24手动解锁出门 → 大门关闭 → 自动上锁（正常出门流程）",
    "住户回家(10:57) → 经过餐厅、客厅 → 正常活动持续到傍晚",
    "傍晚(18:12)住户再次出门 → 18:19回家后开启灶具做晚饭 → 19:10关闭灶具 → 开启洗碗机",
    "儿童房灯在20:47关闭，窗帘关闭 → 准备睡眠（正常睡前行为）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "A",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "厨房温度传感器间歇性通信故障可能是传感器自身硬件问题，需进一步排查确认，但排除火灾或入侵等严重威胁的置信度很高"
  },
  "step6_decision": {
    "is_anomaly": false,
    "threat_type": "sensor_malfunction",
    "threat_description": "厨房温度传感器存在间歇性通信故障，报告None值，但未构成安全威胁",
    "recommended_actions": ["检查厨房温度传感器的电池、连接或信号覆盖", "观察传感器是否持续异常，必要时更换", "其他设备运行正常，无安全风险"]
  }
}
```

厨房温度传感器存在间歇性通信故障，报告None值，但未构成安全威胁

Explanation: 假设A: [normal] 厨房温度传感器存在间歇性通信故障，但其他设备运行正常，住户行为符合正常作息

Explanation: 假设B: [anomaly] 厨房温度传感器故障可能是由厨房环境异常（如过热、烟雾）导致的传感器损坏或通信中断

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

Explanation: 误报可能性: 厨房温度传感器间歇性通信故障可能是传感器自身硬件问题，需进一步排查确认，但排除火灾或入侵等严重威胁的置信度很高

检查厨房温度传感器的电池、连接或信号覆盖 观察传感器是否持续异常，必要时更换 其他设备运行正常，无安全风险

厨房温度传感器存在间歇性通信故障，但其他设备运行正常，住户行为符合正常作息

Hypothesis: A

其他三个温度传感器（客厅、主卧、儿童房）读数正常波动，无异常（直接证据）

烟雾报警器在整个日志中未触发任何报警（直接证据，否定火灾风险）

没有其他异常事件（如入侵、火灾、漏水）可以解释传感器故障（间接证据）

Hypothesis: B

烟雾报警器未触发（直接证据，否定火灾）

其他房间温度传感器读数正常，没有整体温度异常上升（间接证据）

漏水传感器未报警（直接证据）

灶具关闭 + 开窗通风 → 厨房温度逐步回落至正常（正常因果：通风降温）

住户在07:24手动解锁出门 → 大门关闭 → 自动上锁（正常出门流程）

住户回家(10:57) → 经过餐厅、客厅 → 正常活动持续到傍晚

儿童房灯在20:47关闭，窗帘关闭 → 准备睡眠（正常睡前行为）


开窗前住户先在同一房间活动并开灯，是主动行为

```json
{
  "step1_evidence": [
    "[2026-06-20T16:32:10] living_room_window_1 | StateValue = False: 傍晚18:30之前，且所有传感器显示家中无人（Occupancy=0）时，客厅窗户被打开。这是典型的异常事件，尤其是在无人的情况下。",
    "[2026-06-20T16:32:00] living_room_occupancy | Occupancy = 1: 在长时间无人（所有房间Occupancy=0）后，客厅运动传感器突然触发，紧接着窗户被打开。这强烈暗示有人进入并打开了窗户。",
    "[2026-06-20T16:32:15] living_room_light_1 | OnOff = False: 开灯3秒后立即关灯，不符合正常的居家行为模式（正常进屋会保持照明），更可能是入侵者避免被发现的行为。",
    "[2026-06-20T16:32:03] living_room_light_1 | OnOff = True: 进入客厅后立即开灯，但随后很快关闭。开灯行为本身正常，但结合后续立即关灯的动作，显得可疑。"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户回家：可能是住户（如大人或孩子）在16:32回家，进入客厅后短暂开灯确认，然后打开窗户通风，之后离开客厅（可能去其他房间）。"},
    {"id": "B", "type": "anomaly", "description": "外部入侵：一名入侵者在确认家中无人后，通过非法手段进入（门锁日志未展示，可能已失效或绕过），进入客厅后迅速开灯观察，随后关闭灯光以避免被发现，并打开窗户作为逃生通道。由于其他区域无Occupancy信号，入侵者可能已通过窗户离开或藏匿在窗边。"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": ["支持证据: [16:32:00] living_room_occupancy = 1 (活动检测) — 直接证据", "支持证据: [16:32:10] living_room_window_1 = False (打开窗户) — 直接证据", "支持证据: 短暂的灯光操作可以解释为日常检查"], "opposing": ["否定证据: 在16:32之前和之后，所有其他房间的Occupancy一直为0，包括entrance_occupancy。如果是住户回家，应当从entrance进入，触发entrance_occupancy传感器。这是强有力的否定证据 — 间接证据"]},
    {"hypothesis": "B", "supporting": ["支持证据: 在活动发生前，所有房间长达16小时无人（从00:00到16:32，全部Occupancy=0），这是入侵的绝佳时机 — 间接证据", "支持证据: 灯光快速开启和关闭（3秒），是典型的入侵者规避行为 — 间接证据", "支持证据: 家中无人时窗户被打开，这本身是高风险行为 — 直接证据"], "opposing": ["否定证据: 门锁日志中未显示任何非法操作或失败报警，这意味着入侵者要么有钥匙，要么门锁存在故障未报告 — 间接证据（不充分）", "否定证据: 除客厅外，没有其他区域的活动信号，入侵者在打开窗户后如果离开，应有其他传感器触发 — 间接证据"]}
  ],
  "step4_causal": [
    "因果关系1: [16:32:00] 客厅Occupancy=1 → [16:32:03] 客厅灯开 → [16:32:15] 客厅灯关 (10秒内): 异常因果：开灯是为了看清环境，关灯是为了快速隐藏",
    "因果关系2: [16:32:15] 客厅灯关 → [16:32:20] 客厅Occupancy=0 (5秒后): 异常因果：灯灭后立即离开，不符合正常居家行为（正常应在房间停留更长时间）",
    "因果关系3: [16:32:20] 之后所有Occupancy持续为0: 异常因果：打开窗户后人员消失，要么从窗户离开，要么未在其他房间活动，不符合正常的回家活动路线",
    "因果关系4: 窗户打开（16:32:10）→ 未来可能发生其他事件: 潜在异常因果：打开的窗户可能成为入侵者再次进入或通风的通道"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "medium",
    "severity": "high",
    "false_positive_risk": "存在误报可能性：住户可能通过其他未记录的方式进入（如忘记关阳台门），或存在传感器延迟/故障（例如entrance_occupancy传感器短暂故障）。但entrance_occupancy同时故障的概率较低。此外，门窗传感器无异常，但入侵者可能通过技术手段绕过（如撬锁而不触发报警）。综合来看，异常解释更合理。"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "intrusion",
    "threat_description": "在长时间无人状态（超过16小时）后，客厅突然检测到人员活动，随后窗户被打开，人员迅速离开现场且无后续活动日志。有较高可能性为外部入侵事件，入侵者可能已通过窗户进入并离开。",
    "recommended_actions": [
      "优先检查客厅窗户是否完全关闭并锁好，查看房间内是否有异常物品或入侵痕迹",
      "检查入户门锁和门禁系统日志，确认在16:32附近是否有开锁记录或异常尝试",
      "若门窗传感器支持，检查门窗磁簧是否被恶意短接或绕过",
      "启动室内摄像记录（如有），查看16:32附近的可疑影像",
      "若情况可疑，建议立即联系小区安保或报警，同时检查家中贵重物品有无丢失",
      "加强门窗安全，考虑升级为支持报警功能的智能门锁和窗户传感器"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户回家：可能是住户（如大人或孩子）在16:32回家，进入客厅后短暂开灯确认，然后打开窗户通风，之后离开客厅（可能去其他房间）。

Explanation: 假设B: [anomaly] 外部入侵：一名入侵者在确认家中无人后，通过非法手段进入（门锁日志未展示，可能已失效或绕过），进入客厅后迅速开灯观察，随后关闭灯光以避免被发现，并打开窗户作为逃生通道。由于其他区域无Occupancy信号，入侵者可能已通过窗户离开或藏匿在窗边。

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

Explanation: 误报可能性: 存在误报可能性：住户可能通过其他未记录的方式进入（如忘记关阳台门），或存在传感器延迟/故障（例如entrance_occupancy传感器短暂故障）。但entrance_occupancy同时故障的概率较低。此外，门窗传感器无异常，但入侵者可能通过技术手段绕过（如撬锁而不触发报警）。综合来看，异常解释更合理。

优先检查客厅窗户是否完全关闭并锁好，查看房间内是否有异常物品或入侵痕迹 检查入户门锁和门禁系统日志，确认在16:32附近是否有开锁记录或异常尝试 若门窗传感器支持，检查门窗磁簧是否被恶意短接或绕过 启动室内摄像记录（如有），查看16:32附近的可疑影像 若情况可疑，建议立即联系小区安保或报警，同时检查家中贵重物品有无丢失 加强门窗安全，考虑升级为支持报警功能的智能门锁和窗户传感器

Hypothesis: A

支持证据: 短暂的灯光操作可以解释为日常检查

Hypothesis: B

支持证据: 灯光快速开启和关闭（3秒），是典型的入侵者规避行为 — 间接证据

支持证据: 家中无人时窗户被打开，这本身是高风险行为 — 直接证据


```json
{
  "step1_evidence": [
    "厨房温度传感器两次上报 None: [06:57:08] 和 [07:30:00] kitchen_temp_sensor TemperatureMeasurement.MeasuredValue = None — 传感器间歇性故障或通信问题",
    "厨房灶具开启但温度传感器未正常响应: 灶具 06:56:38 开启后 07:57:08 传感器报 None，07:30 报 None，之后恢复但读数波动异常 — 可能传感器故障或通信中断",
    "厨房窗户在做饭期间被打开: [07:29:30] kitchen_window_contact BooleanState = False — 可能用户开窗通风，也可能有人闯入，且与灶具开启时间重叠约33分钟",
    "凌晨至清晨温度持续单向异常上升: 从 00:00 的 ~22.7°C 持续上升至 06:00 的 ~24.8°C，全屋温度同步上升约 2.1°C，不符合凌晨低温的日间变化规律 — 可能空调或外部环境异常",
    "主卧运动传感器在住户出门后仍持续报告 Occupancy=1: [07:19:00] 至 [08:59:00] 等时刻，master_bedroom_occupancy=1 但住户已于 07:17 出门 — 可能传感器故障或住户未真正离开",
    "小孩房窗帘在关闭时未报告中间操作状态: [06:36:13] kids_room_window CurrentPositionLiftPercent100ths=0（全开）到 [21:04:10] 直接变为 10000（全关），缺乏中间运动状态 — 可能窗帘快速动作或传感器报告不连续",
    "厨房灶具两次长时间开启且与窗户打开重叠: 第一次 06:56-07:29（约33分钟），第二次 18:17-19:24（约67分钟），且均在开启期间厨房窗户被打开 — 可能正常烹饪+通风，但也存在安全风险",
    "住户 07:17 出门后，玄关运动传感器在 07:22-09:00 期间每 5 分钟左右规律触发: 如 [07:22:28] [07:27:28] [07:32:28] [07:37:28] ... — 极其规律的周期性触发，非人类活动模式，可能传感器故障"
  ],
  "step2_hypotheses": [
    {"id": "A", "type": "normal", "description": "住户正常作息：清晨起床后做早餐，开窗通风后出门上班，家中无人，所有传感器读数异常均为设备故障（温度传感器漂移、运动传感器规律触发是硬件错误）"},
    {"id": "B", "type": "anomaly", "description": "设备故障导致误报：多个传感器（厨房温度、主卧运动、玄关运动）发生硬件故障，造成虚假报警和异常数据"}
  ],
  "step3_verification": [
    {"hypothesis": "A", "supporting": [
      "住户出门行为完整：06:09 起床 → 开启各房间灯 → 06:56 厨房开灯、开灶 → 07:17 锁门出门（开锁、开门、关门、锁门序列完整）→ 09:19 返回（门锁手动解锁）— 直接证据证明住户正常出门",
      "厨房窗户在灶具开启后打开：07:29:30 打开，符合做饭后开窗通风的习惯 — 直接证据",
      "早上全屋温度同步上升 2.1°C：夏季凌晨至清晨，太阳升起导致环境温度自然上升，属于日间变化范围 — 间接证据"
    ], "opposing": [
      "玄关运动传感器在无人时每5分钟规律触发：07:22-09:00 期间近20次，间隔极其精确，非人类行为 — 间接证据排除正常解释",
      "厨房温度传感器两次报 None：06:57:08 和 07:30:00，伴随灶具开启 — 直接证据表明传感器故障",
      "主卧运动传感器在住户出门后持续报 Occupancy=1：07:19-08:59 期间仍有多次报告 — 直接证据矛盾"
    ]},
    {"hypothesis": "B", "supporting": [
      "玄关运动传感器规律触发：间隔约5分钟（07:22, 07:27, 07:32, ...），极其精确，符合硬件故障模式 — 直接证据",
      "厨房温度传感器报 None 两次：在灶具开启期间失效 — 直接证据",
      "主卧运动传感器在无人时持续报告 Occupancy=1 — 直接证据",
      "小孩房窗帘状态跳变：从全开到全关无中间状态 — 间接证据可能为传感器报告不连续"
    ], "opposing": [
      "厨房窗户在灶具开启后被打开（07:29:30）与厨房灶具关闭（07:29:00）几乎同时，可能是用户操作 — 间接证据表明正常行为",
      "温度同步上升 2.1°C 在夏季清晨属于合理范围 — 间接证据不矛盾"
    ]}
  ],
  "step4_causal": [
    "室外环境升温 → 全屋温度同步上升（正常：夏季早晨太阳升起）",
    "用户进入厨房 → 开灯 → 开灶具 → 温度上升 → 关灶 → 开窗通风 → 温度下降（正常：烹饪流程）",
    "灶具开启 → 厨房温度传感器报 None（异常：传感器故障）",
    "住户出门 → 玄关运动传感器规律触发（异常：传感器硬件故障，非入侵——因为门锁正常锁定，无门窗报警）",
    "住户出门 → 主卧运动传感器持续 Occupancy=1（异常：传感器故障，非有人滞留——因为其他传感器无异常）"
  ],
  "step5_assessment": {
    "most_likely_hypothesis": "B",
    "confidence": "high",
    "severity": "low",
    "false_positive_risk": "低。玄关运动传感器极其规律的每5分钟触发、厨房温度传感器在灶具开启时报None、主卧运动传感器在无人时报告Occupancy=1，这三个直接证据高度指向设备硬件故障，而非真实入侵"
  },
  "step6_decision": {
    "is_anomaly": true,
    "threat_type": "sensor_malfunction",
    "threat_description": "多个传感器（玄关运动传感器、主卧运动传感器、厨房温度传感器）同时发生硬件故障，导致虚假报警和异常数据",
    "recommended_actions": [
      "检查并重启玄关运动传感器 (entrance_occupancy)，观察是否继续规律触发",
      "检查并重启主卧运动传感器 (master_bedroom_occupancy)，观察是否在无人时继续报 Occupancy=1",
      "检查厨房温度传感器 (kitchen_temp_sensor) 硬件连接或电池状态，考虑更换",
      "确认所有门窗传感器和门锁状态正常，排除真实入侵可能（已确认门锁正常锁定、门窗无异常报警）"
    ]
  }
}
```

Explanation: 假设A: [normal] 住户正常作息：清晨起床后做早餐，开窗通风后出门上班，家中无人，所有传感器读数异常均为设备故障（温度传感器漂移、运动传感器规律触发是硬件错误）

Explanation: 假设B: [anomaly] 设备故障导致误报：多个传感器（厨房温度、主卧运动、玄关运动）发生硬件故障，造成虚假报警和异常数据

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

Explanation: 误报可能性: 低。玄关运动传感器极其规律的每5分钟触发、厨房温度传感器在灶具开启时报None、主卧运动传感器在无人时报告Occupancy=1，这三个直接证据高度指向设备硬件故障，而非真实入侵

Hypothesis: A

Hypothesis: B

厨房温度传感器报 None 两次：在灶具开启期间失效 — 直接证据

主卧运动传感器在无人时持续报告 Occupancy=1 — 直接证据

小孩房窗帘状态跳变：从全开到全关无中间状态 — 间接证据可能为传感器报告不连续

温度同步上升 2.1°C 在夏季清晨属于合理范围 — 间接证据不矛盾

室外环境升温 → 全屋温度同步上升（正常：夏季早晨太阳升起）

灶具开启 → 厨房温度传感器报 None（异常：传感器故障）