『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 6121|回复: 12

[进阶教程] August Smart lock 配置后lock没出现(问题已解决)

[复制链接]

69

主题

692

帖子

4193

积分

论坛元老

Rank: 8Rank: 8

积分
4193
金钱
3496
HASS币
80
发表于 2018-7-28 23:45:52 | 显示全部楼层 |阅读模式
本帖最后由 zhenxiwen 于 2018-9-11 23:47 编辑

问题解决方法:确实是Python3的问题,经过各种尝试,最后发现 安装Python3 虚拟环境就好了。









有没有人用 August Smart lock,我按照官方配置和成功验证,可是,ha里却没有August lock出现。在log里也找到明显的error。看到下面提示,我怀疑是问题的原因,但我看不懂是什么意思,好像是什么python的问题。

请求大神帮我看看下面提示是什么意思,是不是可能的原因,写过了***************

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 311, in _async_add_entity
    'Invalid entity id: {}'.format(entity.entity_id))
homeassistant.exceptions.HomeAssistantError: Invalid entity id: lock.
1762580941.jpg
回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-7-30 00:38:52 | 显示全部楼层
没有你的设备,也没有用过这个组件,也没去看组件源码。字面上,错误提示无效的实体id,应该是组件在生成实体id时发生错误,实体id不能为lock。你看看关于实体id方面有没有什么配置错误吧……不行自己看看源代码分析一下
回复

使用道具 举报

69

主题

692

帖子

4193

积分

论坛元老

Rank: 8Rank: 8

积分
4193
金钱
3496
HASS币
80
 楼主| 发表于 2018-7-30 22:09:13 | 显示全部楼层
Mirukuteii 发表于 2018-7-30 00:38
没有你的设备,也没有用过这个组件,也没去看组件源码。字面上,错误提示无效的实体id,应该是组件在生成实 ...

非常感谢你的回复。你说的对,我Google一些帖子,觉得很可能是Python3的问题,因为August是通过Python连接的,但我完全不懂源码,不知道在哪里看,也可能看不懂,呵呵。希望得到更多指点,谢谢。
回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-7-30 23:46:27 | 显示全部楼层
zhenxiwen 发表于 2018-7-30 22:09
非常感谢你的回复。你说的对,我Google一些帖子,觉得很可能是Python3的问题,因为August是通过Python连 ...

好的,不如咱们边分析边回复。
回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-7-30 23:50:00 | 显示全部楼层
1.png
首先,到官网找到august lock这个组件的文档。
然而没啥有价值的信息,只是告诉你去看August组件,好吧。
回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-7-30 23:54:18 | 显示全部楼层
2.png
再看august这个组件,上面提示说2代锁需要august连接器?或者门铃才能接入hass。
下面是配置方法,需要填写登录方式等信息,我想楼主应该配置无误,继续。
回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-7-31 00:43:50 | 显示全部楼层
本帖最后由 Mirukuteii 于 2018-7-31 01:16 编辑

5.png
回来了,找到报错的这个py文件,一个系统自带的便于使用实体平台的python的标准程序库。
6.png
根据楼主给出的报错信息,找到出错的位置。
问题1:{}内的内容没有被格式化输出为entity.entity_id,这确实有点奇怪了。
根据楼主日志,entity id为lock,而显然lock不是一个entity id。



回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-7-31 01:26:36 | 显示全部楼层
4.png
我了个擦,看了半天,这个组件还挺复杂,通信协议还要api,看不下去了。。。
回复

使用道具 举报

69

主题

692

帖子

4193

积分

论坛元老

Rank: 8Rank: 8

积分
4193
金钱
3496
HASS币
80
 楼主| 发表于 2018-8-1 00:06:01 | 显示全部楼层
本帖最后由 zhenxiwen 于 2018-8-1 00:17 编辑
Mirukuteii 发表于 2018-7-31 01:26
我了个擦,看了半天,这个组件还挺复杂,通信协议还要api,看不下去了。。。
...

首先,真是非常感谢你这么认真和详细地帮我分析,我为你付出的时间而感动。
其实,我很仔细看了官方August组件多遍,也是按其步骤做的,但没有发现什么解决问题的线索。Google也发现有个别配置后没有出现August lock实体的例子,但他们的lock多是一代的,他们有的通过wink组件另外途径接入ha。我没有试wink组件,可能通过wink组件是可以的。我的lock是刚从美国让人带回来的最新pro款(三代最新款),固件和软件都有升级。我也买了Augustconnect,这是August smart lock实现远程控制必须的,用August官方app是没有任何问题的。可是,ha的August组件好像比较老了。总之,没有找到解决方法。
按照提示,我想找出File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py"这个文件,可是文件夹/usr/local/lib/python3.6/site-packages/里面是空的,并没有homeassistant/helpers/entity_platform.py"这个文件夹和entity_platform.py这个文件(我已经显示隐藏文件)。这是什么意思呢。
配置成功的实体是: august.lock。


回复

使用道具 举报

26

主题

553

帖子

2726

积分

金牌会员

Rank: 6Rank: 6

积分
2726
金钱
2148
HASS币
100

教程狂人

发表于 2018-8-1 01:47:02 | 显示全部楼层
zhenxiwen 发表于 2018-8-1 00:06
首先,真是非常感谢你这么认真和详细地帮我分析,我为你付出的时间而感动。
其实,我很仔细看了官方August ...

首先,不客气,昨天本以为是一场简单分析,结果才看了没多久就在桌上睡着了。。。
然后,entity_platform.py是系统自带的,不是网上下载的。
很抱歉昨晚没有找到具体原因,不过我个人猜测和你想的差不多,问题可能是出在兼容性方面,你的锁比较新,而这个组件比较旧,按照我昨天的感觉,很有可能是通讯协议有不兼容的地方,昨天我也把相关组件和涉及的py文件大致浏览了一遍,如果你的报错确实就那么一行,那么我想组件本身应该没有明显的问题的。我昨天怀疑py-august0.4这个库函数的协议不支持你的锁,消息格式有出入,所以无法顺利读取你的锁的id等信息。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-5 22:50 , Processed in 1.052046 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表