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

 找回密码
 立即注册
楼主: feversky

[进阶教程] 天猫精灵网关, oAuth2认证, 无需额外搭建服务器

  [复制链接]

40

主题

393

帖子

1764

积分

金牌会员

Rank: 6Rank: 6

积分
1764
金钱
1366
HASS币
0
发表于 2018-9-19 10:52:23 来自手机 | 显示全部楼层
发现个问题,0.78更新后ha就进不去了,就是输入账号密码进不去ha里面一直在登录页面,然后删除插件就好了
回复

使用道具 举报

40

主题

393

帖子

1764

积分

金牌会员

Rank: 6Rank: 6

积分
1764
金钱
1366
HASS币
0
发表于 2018-9-19 22:34:06 | 显示全部楼层
大哥,有几个哥们反应0.78同一个问题烦请解决下小白的困惑
回复

使用道具 举报

5

主题

95

帖子

617

积分

论坛技术达人

积分
617
金钱
507
HASS币
60
 楼主| 发表于 2018-9-19 22:34:55 | 显示全部楼层
pcping 发表于 2018-9-19 10:52
发现个问题,0.78更新后ha就进不去了,就是输入账号密码进不去ha里面一直在登录页面,然后删除插件就好了 ...

确实有这个问题,刚刚更新了代码,可以兼容0.78了
枸杞泡咖啡,我只要喝一杯~~~
回复

使用道具 举报

40

主题

393

帖子

1764

积分

金牌会员

Rank: 6Rank: 6

积分
1764
金钱
1366
HASS币
0
发表于 2018-9-19 22:39:25 | 显示全部楼层
成功了,大神太牛了
回复

使用道具 举报

15

主题

222

帖子

1936

积分

禁止访问

积分
1936
金钱
1694
HASS币
90

教程狂人

发表于 2018-9-19 22:49:19 | 显示全部楼层
感谢大佬,解决天猫精灵的老大难问题,太感谢了
回复

使用道具 举报

12

主题

268

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
金钱
1083
HASS币
4
发表于 2018-9-20 16:34:12 | 显示全部楼层
坐等更新更多技能
回复

使用道具 举报

9

主题

534

帖子

4530

积分

元老级技术达人

积分
4530
金钱
3986
HASS币
60
发表于 2018-9-20 17:16:48 | 显示全部楼层
本帖最后由 sangood 于 2018-9-20 17:39 编辑

我的小米扫地机 报错了。已经更新到最新版本。
vacuum.xiaomi_vacuum_cleaner:
  friendly_name: 扫地机
  hagenie_zone: 客厅
  hagenie_deviceName: 扫地机
  hagenie_deviceType: roboticvacuum



AttributeError: 'MiroboVacuum' object has no attribute 'async_turn_on'
2018-09-20 16:33:44 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/helpers/service.py", line 224, in _handle_service_platform_call
    await getattr(entity, func)(**data)
AttributeError: 'MiroboVacuum' object has no attribute 'async_turn_on'
2018-09-20 16:34:35 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/helpers/service.py", line 224, in _handle_service_platform_call
    await getattr(entity, func)(**data)
AttributeError: 'MiroboVacuum' object has no attribute 'async_turn_on'

回复

使用道具 举报

21

主题

294

帖子

2551

积分

论坛技术达人

积分
2551
金钱
2207
HASS币
180

教程狂人

发表于 2018-9-22 10:55:30 | 显示全部楼层
feversky 发表于 2018-9-6 08:15
1. 请使用最新的代码, 重启ha
2. hagenie_deviceName:“设备名称也只支持特定的,否则可以显示但它听不 ...

楼主代码写的不错,比我还好:)。这个论坛里找来的插件代码没看到几个看得下去的。这次我准备直接用你的了,感谢!

另外提醒一下:groupsAttributes 存在两个函数,应该是手误了,删除掉一个吧。
回复

使用道具 举报

21

主题

294

帖子

2551

积分

论坛技术达人

积分
2551
金钱
2207
HASS币
180

教程狂人

发表于 2018-9-22 11:21:48 | 显示全部楼层
feversky 发表于 2018-9-5 09:26
目前可能是需要时不时授权的,我还没仔细研究,后面我会根据情况更新代码的 ...

建议给expire_hours配上默认值(比如3-7天),这样第三个步骤中expire_hours: 30就可以省略了。
另外天猫精灵的官方文档说会来refesh token的(去年底不会,今年加的)
回复

使用道具 举报

21

主题

294

帖子

2551

积分

论坛技术达人

积分
2551
金钱
2207
HASS币
180

教程狂人

发表于 2018-9-22 11:49:16 | 显示全部楼层
另外楼主还改错了一个地方,造成无法用“天猫精灵,阳台传感器PM2.5”这种问答来查询传感器了。我更新了一下在此:https://github.com/Yonsm/HAExtra ... ponents/aligenie.py

说一下之前实现传感器查询的思路喝细节:
1. 天猫精灵的传感器,每个区域(place,我map到ha的group了)只能支持一个传感器(而且名称好像只能叫“传感器”或者alias中的名称),但这个传感器可以有多个属性(包括温度、湿度、PM2.5、风量、雾量等几个词才能识别,二氧化碳、甲醛不能识别);
2. 基于如上,我遍历了某个group内的所有sensor,在天猫精灵中合并生成为一个叫“传感器”的设备,但里面包含多个属性(温度、湿度、PM2.5、风速=CO2、雾量=甲醛),此时,deviceType=sensor,deviceId=group.friendly_name。
3. 因如上原因,你修改的代码:def queryDevice(request, name, payload):
    deviceId = payload['deviceId']

    if payload['deviceType'] == 'sensor':
        items = request.app['hass'].states.get(deviceId)

这里的deviceId是无效的,导致失败。修改成 items = request.app['hass'].states.async_all() 即可
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-22 11:02 , Processed in 0.054989 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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