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

244 lines
7.9 KiB
JSON

{
"_meta": {
"device_type": "Door Lock",
"device_type_id": "0x000A",
"matter_spec_ref": "Device Library 8.1, p.99-100; Application Cluster Spec: Door Lock Cluster",
"matter_version": "1.5.1",
"class": "Simple",
"scope": "Endpoint",
"description": "智能门锁,可通过手动或远程方式操作",
"security_role": "入口控制核心设备,记录开锁/锁定事件、用户凭证、失败尝试"
},
"clusters": {
"Identify": {
"cluster_id": "0x0003",
"role": "Server",
"conformance": "M"
},
"Groups": {
"cluster_id": "0x0004",
"role": "Server",
"conformance": "X",
"description": "不允许在此设备类型上使用"
},
"ScenesManagement": {
"cluster_id": "0x0062",
"role": "Server",
"conformance": "X",
"description": "不允许在此设备类型上使用"
},
"DoorLock": {
"cluster_id": "0x0101",
"role": "Server",
"conformance": "M",
"description": "门锁核心 cluster",
"attributes": {
"LockState": {
"type": "enum8",
"description": "门锁当前状态",
"values": {
"0": "NotFullyLocked (未完全锁定)",
"1": "Locked (已锁定)",
"2": "Unlocked (已解锁)",
"3": "Unlatched (闩已打开)"
}
},
"LockType": {
"type": "enum8",
"description": "门锁类型",
"values": {
"0": "DeadBolt (死锁)",
"1": "Magnetic (磁力锁)",
"2": "Other (其他)",
"3": "Mortise (插芯锁)",
"4": "Rim (明装锁)",
"5": "LatchBolt (弹簧锁)",
"6": "CylindricalLock (圆柱锁)",
"7": "TubularLock (管状锁)",
"8": "InterconnectedLock (互联锁)",
"9": "DeadLatch (死闩锁)",
"10": "DoorFurniture (门把手)"
}
},
"ActuatorEnabled": {
"type": "bool",
"description": "执行器是否启用"
},
"DoorState": {
"type": "enum8",
"description": "门的物理状态",
"values": {
"0": "DoorOpen (门已打开)",
"1": "DoorClosed (门已关闭)",
"2": "DoorJammed (门被卡住)",
"3": "DoorForcedOpen (门被强制打开)",
"4": "DoorUnspecifiedError (门状态错误)",
"5": "DoorAjar (门半开)"
}
},
"NumberOfTotalUsersSupported": {
"type": "uint16",
"description": "支持的用户总数"
},
"NumberOfPINUsersSupported": {
"type": "uint16",
"description": "支持的PIN用户数"
},
"NumberOfRFIDUsersSupported": {
"type": "uint16",
"description": "支持的RFID用户数"
},
"MaxPINCodeLength": {
"type": "uint8",
"description": "PIN最大长度"
},
"MinPINCodeLength": {
"type": "uint8",
"description": "PIN最小长度"
},
"Language": {
"type": "string",
"description": "锁的语言设置"
},
"AutoRelockTime": {
"type": "uint32",
"description": "自动重新锁定时间(秒)"
},
"OperatingMode": {
"type": "enum8",
"description": "操作模式",
"values": {
"0": "Normal (正常)",
"1": "Vacation (度假模式)",
"2": "Privacy (隐私模式)",
"3": "NoRemoteLockUnlock (禁止远程操作)",
"4": "Passage (通道模式)"
}
},
"WrongCodeEntryLimit": {
"type": "uint8",
"description": "错误密码输入限制次数"
},
"UserCodeTemporaryDisableTime": {
"type": "uint8",
"description": "密码错误后临时禁用时间(秒)"
}
},
"commands": {
"LockDoor": {
"description": "锁定门",
"fields": {
"PINCode": { "type": "octstr", "conformance": "O" }
}
},
"UnlockDoor": {
"description": "解锁门",
"fields": {
"PINCode": { "type": "octstr", "conformance": "O" }
}
},
"UnlatchDoor": {
"description": "打开门闩"
},
"SetCredential": {
"description": "设置用户凭证"
},
"GetCredentialStatus": {
"description": "获取凭证状态"
},
"ClearCredential": {
"description": "清除凭证"
}
},
"events": {
"DoorLockAlarm": {
"description": "门锁报警事件",
"fields": {
"AlarmCode": {
"type": "enum8",
"values": {
"0": "LockJammed (锁卡住)",
"1": "LockFactoryReset (出厂重置)",
"3": "WrongCodeEntryLimit (错误密码次数超限)",
"4": "FrontEsceutcheonRemoved (前面板被拆除)",
"5": "DoorForcedOpen (门被强制打开)",
"6": "DoorAjar (门半开)",
"7": "ForcedUser (强制用户)"
}
}
}
},
"LockOperation": {
"description": "锁操作事件(每次锁定/解锁)",
"fields": {
"LockOperationType": {
"type": "enum8",
"values": {
"0": "Lock (锁定)",
"1": "Unlock (解锁)",
"2": "NonAccessUserEvent (非授权用户事件)",
"3": "ForcedUserEvent (强制用户事件)",
"4": "Unlatch (打开门闩)"
}
},
"OperationSource": {
"type": "enum8",
"values": {
"0": "Unspecified",
"1": "Manual (手动)",
"2": "ProprietaryRemote (专有远程)",
"3": "Keypad (键盘)",
"4": "Auto (自动)",
"5": "Button (按钮)",
"6": "Schedule (定时)",
"7": "Remote (远程)",
"8": "RFID",
"9": "Biometric (生物识别)"
}
},
"UserIndex": { "type": "uint16", "description": "操作用户索引" },
"FabricIndex": { "type": "uint8" },
"SourceNode": { "type": "node-id" }
}
},
"LockOperationError": {
"description": "锁操作失败事件",
"fields": {
"LockOperationType": { "type": "enum8" },
"OperationSource": { "type": "enum8" },
"OperationError": {
"type": "enum8",
"values": {
"0": "Unspecified",
"1": "InvalidCredential (无效凭证)",
"2": "DisabledUserDenied (已禁用用户)",
"3": "Restricted (受限)"
}
},
"UserIndex": { "type": "uint16" },
"FabricIndex": { "type": "uint8" },
"SourceNode": { "type": "node-id" }
}
},
"LockUserChange": {
"description": "用户信息变更事件"
}
},
"_security_notes": [
"DoorLockAlarm.AlarmCode=3 (WrongCodeEntryLimit): 多次错误密码可能是暴力破解",
"DoorLockAlarm.AlarmCode=5 (DoorForcedOpen): 门被强制打开是入侵信号",
"DoorLockAlarm.AlarmCode=4 (FrontEsceutcheonRemoved): 面板被拆除是物理攻击",
"LockOperationError 连续出现: 可能是未授权人员尝试开锁",
"LockOperation 在异常时间发生: 凌晨的解锁操作值得关注",
"DoorState=DoorForcedOpen: 直接的入侵证据"
]
}
},
"condition_requirements": {
"ACLExtensionCond": {
"description": "Root Node 必须支持 ACL Extension",
"conformance": "M"
}
}
}