244 lines
7.9 KiB
JSON
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"
|
|
}
|
|
}
|
|
}
|