控制Kwikset Kevo Locks
pykevoplus的Python项目详细描述
用于控制kwikset kevo锁的python模块
Kwikset没有为它们的kevo锁提供官方api;我反过来 从mykevo.com Web应用程序中设计了此模块。
要使用此模块,需要安装Kevo Plus和 在mykevo.com注册的帐户。你需要你的mykevo.com 使用此模块的凭据。
此模块发布到pypi以便您可以通过pip install pykevoplus
简单地安装它。用法
Kevo.GetLocks()函数将尝试清理mykevo.com网站 找到你的锁的站点;在撰写本文时,它可以找到 锁定,但如果kwikset更改,则随时可能中断对html的刮擦 网站。
frompykevoplusimportKevolocks=Kevo.GetLocks("username@email.com","password123")forlockinlocks:printrepr(lock)
输出:
KevoLock(name=Front Door, id=cca7cd1d-c1d5-43ce-a087-c73b974b3529, state=Locked) KevoLock(name=Back Door, id=c60130cd-8139-4688-8ba3-199276a65ad6, state=Locked)
更好的方法是使用 锁的Uuid。您可以通过登录到 mykevo.com,单击锁的详细信息,单击设置,锁ID为 在右边。
frompykevoplusimportKevoLocklock=KevoLock.FromLockID("cca7cd1d-c1d5-43ce-a087-c73b974b3529","username@email.com","password123")
锁定和解锁
frompykevoplusimportKevoLocklock=KevoLock.FromLockID(lock_id,username,password)lock.Unlock()printlock.GetBoltState()lock.Lock()printlock.GetBoltState()
输出:
Unlocked Locked
同一会话中的多个操作
KevoLockSession上下文管理器允许您执行多个 使用单个身份验证会话对锁进行操作
frompykevoplusimportKevoLock,KevoLockSessionlock=KevoLock.FromLockID(lock_id,username,password)withKevoLockSession(lock):lock.Unlock()lock.Lock()
已知问题
- 错误处理是非常基本的,需要做更多的工作。需要解决通信错误和锁紧螺栓错误
- 尚未进行单元测试
- 目前只有Python2.7支持