我目前正在尝试通过运行 rasbian 的树莓派上的 python-openzwave 锁定/解锁/设置 kwikset Zwave 锁上的代码。
我在 Ubuntu VM 上安装了 python-openzwave,我可以通过连接到计算机的 zwave 控制器锁定/解锁/设置代码。我运行测试命令pyozw_check -l -d /dev/ttyACM0 -t 60
来查看网络上的节点列表,我可以看到控制器并锁定两个准备接收命令。我可以通过这个 Ubuntu VM 锁定/解锁/设置锁上的代码。
然而,在我的树莓派上安装 python-openzwave 并将 zwave 控制器连接到它之后,查看网络上节点列表的测试命令显示控制器已准备好接收命令,而锁的就绪状态设置为 false。当我尝试通过树莓派向锁发出命令时,没有任何反应。
这是 Raspberry Pi 上测试命令的输出:
pi@raspberrypi:~/Desktop/zwaveproject $ pyozw_check -l -d /dev/ttyACM0 -t 60
-------------------------------------------------------------------------------
Define options for device /dev/ttyACM0
Start network
-------------------------------------------------------------------------------
Network is awaked. Talk to controller.
Get python_openzwave version : 0.4.5
Get python_openzwave config version : Original Z-Wave 3.95
Get python_openzwave flavor : git
Get openzwave version : 1.4.0
Get config path : /usr/local/lib/python3.5/dist-packages/python_openzwave/ozw_config
Controller capabilities : {'primaryController'}
Controller node capabilities : {'beaming', 'listening', 'primaryController'}
Nodes in network : 2
-------------------------------------------------------------------------------
Wait for network ready (60s)
-------------------------------------------------------------------------------
Network is awake. Some sleeping devices may miss. You can increase timeout to get them. But will continue.
------------------------------------------------------------
1 - Name : ( Location : )
1 - Ready : True / Awake : True / Failed : False
1 - Manufacturer : Aeotec ( id : 0x0086 )
1 - Product : ZW090 Z-Stick Gen5 US ( id : 0x005a / type : 0x0101 / Version : 4)
1 - Command classes : {'COMMAND_CLASS_BASIC', 'COMMAND_CLASS_NO_OPERATION'}
1 - Capabilities : {'beaming', 'listening', 'primaryController'}
1 - Neighbors : {2} / Power level : None
1 - Is sleeping : False / Can wake-up : False / Battery level : None
------------------------------------------------------------
2 - Name : ( Location : )
2 - Ready : False / Awake : True / Failed : False
2 - Manufacturer : Kwikset ( id : 0x0090 )
2 - Product : Touchpad Electronic Deadbolt ( id : 0x0001 / type : 0x0001 / Version : 4)
2 - Command classes : {'COMMAND_CLASS_USER_CODE', 'COMMAND_CLASS_DOOR_LOCK_LOGGING', 'COMMAND_CLASS_NO_OPERATION', 'COMMAND_CLASS_DOOR_LOCK', 'COMMAND_CLASS_ALARM', 'COMMAND_CLASS_PROTECTION', 'COMMAND_CLASS_TIME_PARAMETERS', 'COMMAND_CLASS_ASSOCIATION', 'COMMAND_CLASS_VERSION', 'COMMAND_CLASS_MANUFACTURER_SPECIFIC', 'COMMAND_CLASS_CONFIGURATION', 'COMMAND_CLASS_BASIC', 'COMMAND_CLASS_BATTERY'}
2 - Capabilities : {'frequent', 'beaming', 'routing'}
2 - Neighbors : {1} / Power level : None
2 - Is sleeping : False / Can wake-up : False / Battery level : 80
------------------------------------------------------------
Driver statistics : {'callbacks': 1, 'OOFCnt': 0, 'broadcastWriteCnt': 9, 'CANCnt': 0, 'badChecksum': 0, 'noack': 0, 'writeCnt': 19, 'netbusy': 0, 'broadcastReadCnt': 0, 'nondelivery': 0, 'badroutes': 0, 'retries': 0, 'routedbusy': 0, 'dropped': 6, 'ACKCnt': 19, 'SOFCnt': 25, 'NAKCnt': 0, 'ACKWaiting': 0, 'readCnt': 25, 'readAborts': 0}
------------------------------------------------------------
Stop network
Exit
我试图弄清楚为什么锁的就绪状态仅在树莓派上设置为 false。如果我从树莓派中拔出 zstick 并将其插入到我的 Ubuntu VM 中,则锁的就绪状态设置为 true。我已经通过树莓派排除并包含了锁并重置了控制器棒。在树莓派上工作时可能有一个额外的步骤来设置设备的就绪状态?