z-wave_device_class_specification中对门锁实现功能的规定
来源:互联网 发布:一件事情做到极致知乎 编辑:程序博客网 时间:2024/05/17 02:09
在Z-Wave中定义了很多类型的门锁,协议中对不同的门锁类型要求强制实现的功能是不同的。对于Z-Wave网关来说,了解这些东西,可以更灵活地提供相应的接口给更上层的应用。
例如:网关需要知道门锁
- 是否支持user code ?
- 是否支持schedule ?
- 是否支持record log ?
- 是否支持时间设定?
- 是否支持时区和夏令时设置?
- 等等;
网关可以上报这些信息给APP或者server,以便更好地在APP上展示相关的控制功能给用户; 事实上,通过阅读协议,我们看到对于门锁来说record log,schedule并不要求门锁实现。 不过在酒店的应用场景中,可能对user code和schedule就有比较高的需求,例如设定某个密码在某一个时间段内可以打开门锁。
QQ:380939960
z-wave_device_class_specification定义的门锁类型大致如下所示,他们属于Entry Control Generic Device Class
Specific Device Class
Identifiers
Specific Device Class Not Used
SPECIFIC_TYPE_NOT_USED
Door Lock
SPECIFIC_TYPE_DOOR_LOCK
Advanced Door Lock
SPECIFIC_TYPE_ADVANCED_DOOR_LOCK
Secure Keypad Door Lock
SPECIFIC_TYPE_SECURE_KEYPAD_DOOR_LOCK
This device class is used to represent mechanical devices such as lockboxes that have Z-Wave directly integrated in to the device.
SPECIFIC_TYPE_SECURE_LOCKBOX
Secure Keypad
SPECIFIC_TYPE_SECURE_KEYPAD
5.6.4.3Advanced Door Lock Specific Device Class
Advanced Door LockSpecific Device Class 继承所有Entry Control Generic Device Class的命令。该设备类用来锁上/打开一个门锁。从下面的定义我们可以知道,这类门锁可以没有本地键盘,不支持加密通讯。
这种设备支持如下的功能:
5.6.4.3.1 Mandatory Command Classes to Support
使用DoorLock Command Class来控制高级门锁设备并监控它的状态。
l Door Lock Command Class:使用该类命令来控制门锁打开/锁上等;
l Manufacturer specific Command Class:通过该命令类来告知门锁的制造商,产品ID等特定产品信息
l Version Command Class:版本命令类可用报告设备使用的库类型,协议版本和应用程序版本;
5.6.4.3.1.1 Basic Command Class Implementation
Basic Command Class必须按照下面的要求是实施:
Basic Set =
不能使用该命令来控制门锁,所以必须忽视该命令,该命令不能映射到任何其他命令类;
Basic Get =
Door Lock Operation Get 通过该命令获得锁当前的状态
Basic Report =
Door Lock Operation Report 通过该命令上报锁当前的状态
5.6.4.3.2 Recommended Command Classes to Support
建议支持以下命令类:
l User Code Command Class:用户代码命令类可由应用程序用于配置可解锁门的用户代码,这样用户就可以通过门上的按键输入密码开锁。
l Alarm Command Class:报警命令类用于上报告警;例如错误的代码输入或门已打开但锁的状态认为为已关闭。
l Protection Command Class:门锁可以选择性地支持保护功能。 如果支持保护功能,则设备应能够处理与保护相关的命令
l Battery Command Class:由于通常门锁都是通过电池供电的,所以使用电池命令类可以向控制器报告电池状态。在电量低时提醒用户及时更换电池。
l Anti-theft Command Class:此设备允许支持防盗命令类;防盗命令类主要针对安装在公共厂商的设备,例如门锁。当别人将门锁偷走,然后添加到新的网关上时,由于有防盗命令类支持;在未经授权重新添加到其他网关上时,门锁无法正常工作。
5.6.4.3.3 Mandatory Command Classes to Control
不要求强制关联控制其他设备。
5.6.4.4 SecureKeypad Door Lock Specific Device Class
Secure Keypad DoorLock Specific Device Class 继承所有Entry Control Generic Device Class的命令。该门锁类要求加密通讯,带有输入键盘,可以通过Z-Wave命令远程开/关锁,或者在本地通过键盘上输入密码开/关锁。
另外这个门锁类是需要加密通讯的,所以需要支持安全命令类,并且必须支持某些仅封装到安全命令类中的命令类。
5.6.4.4.1 MandatoryCommand Classes to Support
安全键盘门锁专用设备必须支持以下命令类:
•Security Command Class:安全命令类使用AES-128加密消息;提高通讯的安全性,即便无线电波被截取窃听,消息内容也没有那么容易被破解。
•Basic Command Class (secured):加密的基本命令类可用于获取锁的操作模式。
•Door Lock Command Class (secured):加密的门锁命令类用于控制门锁
•User Code Command Class (secured):加密的用户代码命令类用于设置和检索用户代码;这样用户可以通过在键盘上输入密码开/关门锁。
•Manufacturer specific Command Class (unsecure):不加密的制造商特定的命令类用于通告制造商特定信息
•Version Command Class (unsecure):不加密的版本命令类可用于告知设备使用的库类型,协议版本和应用程序版本;
5.6.4.4.1.1 BasicCommand Class Implementation
Basic CommandClass必须按照如下方式实现:
Basic Set =
不能使用该命令来控制门锁,所以必须忽视该命令,该命令不能映射到任何其他命令类;
Basic Get =
Door Lock Operation Get 通过该命令获得锁当前的状态
Basic Report =
Door Lock Operation Report 通过该命令上报锁当前的状态
由于需要进行加密通讯,所以需要忽视接收到的不加密的Basic Command Class command。
5.6.4.4.2 Recommended Command Classes to Support
推荐该类门锁支持如下命令类:
l Alarm Command Class (secure or not secure):报警命令类(加密或不加密)用于上报告警;例如错误的代码输入或门已打开但锁的状态认为为已关闭;
l Protection Command Class (secure or not secure):保护命令类(加密或不加密)门锁可以选择性地支持保护功能。 如果支持保护功能,则设备应能够处理与保护相关的命令;
l Battery Command Class (secure or not secure):由于通常门锁都是通过电池供电的,所以使用电池命令类可以向控制器报告电池状态。在电量低时提醒用户及时更换电池;
l Anti-theft Command Class:此设备允许支持防盗命令类;防盗命令类主要针对安装在公共厂商的设备,例如门锁。当别人将门锁偷走,然后添加到新的网关上时,由于有防盗命令类支持;在未经授权重新添加到其他网关上时,门锁无法正常工作;
5.6.4.4.3 Mandatory Command Classes to Control
不要求强制关联控制其他设备。
- z-wave_device_class_specification中对门锁实现功能的规定
- z-wave_device_class_specification中对doorbell门铃实现功能的规定
- z-wave_plus对门锁要实现功能和命令的基本要求
- 劳动合同法中对竞业限制的规定
- HTML5中对script标签的规定与解释
- Z-stack中对按键的处理
- Java Swing中实现对table的filter功能
- [Z]Windows批处理中延时的实现
- android实现A-Z排序和检索的功能
- C++ 虚基类的定义、功能、规定
- 酒店智能门锁的秘密
- RFC2965规定的cookie实现最小支持
- 实现规定格式的字符串显示
- 如何实现在规定的时间内关机
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- 安卓增量更新
- FerNNClassifier
- 工厂方法模式
- MR8M CANCEL INVOICE后为什么要手工去FI清帐
- Linux下的MySQL主从复制
- z-wave_device_class_specification中对门锁实现功能的规定
- mac下终端命令完整版
- mysql 中文字符集相关问题备注
- 运行Maven项目时出现invalid LOC header (bad signature)错误,Tomcat不能正常启动
- 关于ext中使用 Ext.grid.CheckboxSelectionModel作为选择框如何保存选中记录的解决方法。
- 论文阅读笔记-CMT跟踪算法
- vs2013 can't open .vcxproj 无法打开
- 欢迎使用CSDN-markdown编辑器
- 微信js-sdk demo