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

 找回密码
 立即注册
查看: 17234|回复: 17

小米wifi窗帘接入homeassistant

[复制链接]

4

主题

25

帖子

235

积分

论坛技术达人

积分
235
金钱
205
HASS币
20
发表于 2020-5-14 12:22:40 | 显示全部楼层 |阅读模式
本帖最后由 godchenmeng 于 2020-5-14 12:24 编辑

找了半天没找到,homeassistant好像只支持aqara的窗帘。还是自己动手写吧,分享给大家。
已实现功能控制:
设置窗帘开   open_cover
设置窗帘关 close_cover
设置窗帘开启位置 set_cover_position 0-100对应0%-100%

cover:
  - platform: xiaomi_cover
    name: Bedroom Curtain
    host: xxx.xxx.xxx.xxx
    token: xxxxx

https://github.com/godchenmeng/homeassistant-miio/tree/master/custom_components/xiaomi_cover


回复

使用道具 举报

0

主题

179

帖子

2708

积分

金牌会员

Rank: 6Rank: 6

积分
2708
金钱
2529
HASS币
0
发表于 2020-5-14 13:49:22 | 显示全部楼层
是哪款的?我在X鱼买了一个1百多的,可以接入米家的,不知道能不能用
回复

使用道具 举报

4

主题

25

帖子

235

积分

论坛技术达人

积分
235
金钱
205
HASS币
20
 楼主| 发表于 2020-5-14 13:53:39 | 显示全部楼层
时间雨12138 发表于 2020-5-14 13:49
是哪款的?我在X鱼买了一个1百多的,可以接入米家的,不知道能不能用

我也是X鱼买的一百多,米家添加的时候是选的wifi智能窗帘就行。按道理应该小米的wifi窗帘都是通用的。
回复

使用道具 举报

0

主题

179

帖子

2708

积分

金牌会员

Rank: 6Rank: 6

积分
2708
金钱
2529
HASS币
0
发表于 2020-5-14 14:28:52 | 显示全部楼层
godchenmeng 发表于 2020-5-14 13:53
我也是X鱼买的一百多,米家添加的时候是选的wifi智能窗帘就行。按道理应该小米的wifi窗帘都是通用的 ...

不行啊,能看看是啥问题啊
Fail to setup Xiaomi Curtain
Traceback (most recent call last):
  File "/config/custom_components/xiaomi_cover/cover.py", line 65, in async_setup_platform
    cover = Cover(device, name)
  File "/config/custom_components/xiaomi_cover/cover.py", line 113, in __init__
    self.parse_data()
  File "/config/custom_components/xiaomi_cover/cover.py", line 148, in parse_data
    val = self._device.send("get_prop", "[0,1,2]")
  File "/usr/local/lib/python3.7/site-packages/miio/device.py", line 291, in send
    raise DeviceError(error)
miio.exceptions.DeviceError: {'code': -9999, 'message': 'undefined command'}
回复

使用道具 举报

4

主题

25

帖子

235

积分

论坛技术达人

积分
235
金钱
205
HASS币
20
 楼主| 发表于 2020-5-14 14:57:41 | 显示全部楼层
时间雨12138 发表于 2020-5-14 14:28
不行啊,能看看是啥问题啊
Fail to setup Xiaomi Curtain
Traceback (most recent call last):

这个指令是获取设备状态的,你设备提示无法识别这个指令,要么是你token和ip填错了,要么就是设备不支持我这个。你看下服务能用不,调用下open_cover或者close_cover能行不,不行的话也没法了
回复

使用道具 举报

0

主题

179

帖子

2708

积分

金牌会员

Rank: 6Rank: 6

积分
2708
金钱
2529
HASS币
0
发表于 2020-5-14 15:44:27 | 显示全部楼层
godchenmeng 发表于 2020-5-14 14:57
这个指令是获取设备状态的,你设备提示无法识别这个指令,要么是你token和ip填错了,要么就是设备不支持 ...

调用了,不行。应该是不支持我的设备,我的是这款设备

我的设备

我的设备
回复

使用道具 举报

0

主题

40

帖子

817

积分

高级会员

Rank: 4

积分
817
金钱
777
HASS币
0
发表于 2020-6-6 14:14:17 | 显示全部楼层
godchenmeng 发表于 2020-5-14 13:53
我也是X鱼买的一百多,米家添加的时候是选的wifi智能窗帘就行。按道理应该小米的wifi窗帘都是通用的 ...

大佬可以指一下路是哪家店或者哪一款不?感谢感谢
回复

使用道具 举报

0

主题

23

帖子

193

积分

注册会员

Rank: 2

积分
193
金钱
170
HASS币
0
发表于 2020-7-6 17:11:44 | 显示全部楼层
请教一下报错是什么原因,调用服务 cover/open_cover 失败。 object NoneType can't be used in 'await' expression
回复

使用道具 举报

1

主题

10

帖子

91

积分

注册会员

Rank: 2

积分
91
金钱
81
HASS币
0
发表于 2020-7-21 17:25:41 | 显示全部楼层
115290 发表于 2020-7-6 17:11
请教一下报错是什么原因,调用服务 cover/open_cover 失败。 object NoneType can't be used in 'await' ex ...

把xiaomi_cover/cover.py里面94行await getattr(device, method["method"])(**params)换成getattr(device, method["method"])(**params),再试试
回复

使用道具 举报

9

主题

80

帖子

496

积分

论坛分享达人

积分
496
金钱
416
HASS币
0
发表于 2020-7-30 22:52:10 | 显示全部楼层
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/xiaomi_cover/cover.py", line 65, in async_setup_platform
    cover = Cover(device, name)
  File "/config/custom_components/xiaomi_cover/cover.py", line 113, in __init__
    self.parse_data()
  File "/config/custom_components/xiaomi_cover/cover.py", line 148, in parse_data
    val = self._device.send("get_prop", "[0,1,2]")
  File "/usr/local/lib/python3.8/site-packages/miio/device.py", line 146, in send
    return self._protocol.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 232, in send
    return self.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 232, in send
    return self.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 232, in send
    return self.send(
  File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 240, in send
    raise DeviceException("No response from the device") from ex
miio.exceptions.DeviceException: No response from the device
好像装不上?大佬我也装了你PROH那个插件,也有点问题
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 22:27 , Processed in 0.130143 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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