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

 找回密码
 立即注册
查看: 6574|回复: 4

[进阶教程] 小米有品Wifi窗帘电机接入天猫精灵

[复制链接]

1

主题

77

帖子

980

积分

高级会员

Rank: 4

积分
980
金钱
903
HASS币
0
发表于 2021-2-4 18:40:04 | 显示全部楼层 |阅读模式
本帖最后由 sdfd 于 2021-2-4 20:25 编辑

接入环境说明

1.HA 安装环境为 hassio
2.窗帘电机为小米有品智能窗帘电机 Wifi 版本,型号为lumi.curtain.hagl05
3.已通过 Supervisor 安装 Node-RED
4.窗帘电机已经接入 HA 且 HA 能正常控制。接入方式我使用的是 @anlong 大佬的插件,详细见 小米MIoT设备自动识别接入HA插件
5.接入天猫精灵方案参考 @hunterfox 介绍的方案 https://bbs.hassbian.com/thread-11927-1-1.html
6.在满足以上条件情况下请继续往下看正文

阿里云生活物联网平台产品创建

1.注册并登录阿里云生活物联网平台 https://living.aliyun.com,建议使用天猫精灵绑定的支付宝或者淘宝账号注册登录。
2.点击创建项目,选择自有品牌项目
QQ图片20210204112513.png
3.创建完成后前往项目,点击创建新产品,按下图所示进行填写和选择
QQ截图20210204112812.jpg
4.创建完成后前往产品页面,在功能定义页面去掉无关功能,只保留窗帘控制,然后再添加窗帘打开位置功能,最终功能列表如下:
QQ截图20210204113242.jpg
5.点下一步进入人机交互页面,打开使用公版 APP 开关
QQ截图20210204113543.jpg
6.在产品展示也补充名称后保存,然后选择设备面板,在设备面板页面点击未设置,选择或编辑面板,默认面板因有电源开关键,与我们的功能不符,保存时会提示功能不一致,可以忽略。强迫症患者可点击编辑去掉电源按钮或者自己全新设计页面。
QQ截图20210204113831.jpg

QQ截图20210204113856.jpg
7.点击下一步进入设备调试页面,拉到最后选择未认证模块,同意声明后进入模组信息页面
QQ截图20210204162150.jpg
点击新增测试设备,设置DeviceName
QQ截图20210204162246.jpg
生成设备如下,新增的设备状态是未激活,图中是我已经连接的设备:
QQ截图20210204164701.jpg
8.点击查看,就能看到设备的相关信息,以下图中的3项是后面需要用到的信息
QQ图片20210204165405.png
到这里,阿里平台的工作基本完成,后面的操作需要在 Node-RED 中进行配置

Node-RED 中创建流实现天猫精灵控制

1.打开 Node-RED 页面,点击节点管理,切换到安装 Tap 页,分别输入node-red-contrib-image-outputnode-red-contrib-aliyun-livinglink进行搜索并安装。这里有个坑,安装node-red-contrib-aliyun-livinglink 的时候装了很长时间都装不上,怀疑是源的问题,就进入 Node-RED 的 Docker 通过指定阿里源的方式进行安装,但是安装后重启就没了,不知道为什么,懂的大佬可以帮忙解释下。没办法,最终通过在页面上传 tar 包,再进入 Docker 通过指定源的命令进行安装才成功安装(直接安装也是失败,上传 tar 包安装也需要连接 NPM 源。。。)。有此问题的可以这么尝试下,具体操作方式我就不写了,有问题回帖问吧。
QQ截图20210204172429.jpg

QQ截图20210204172727.jpg
2.节点安装完成后就可以进行流配置了,先拖一个 aliyun 节点到流程中,双击打开配置,将上个章节得到的测试设备信息对应填入即可
QQ截图20210204173630.jpg

QQ截图20210204173958.jpg
3.再拖一个 image 节点到页面,并将 aliyun 节点与 image 节点进行连接,连好后如图:
QQ截图20210204174608.jpg
4.然后拖一个 function 节点,双击进行配置,输出设置成2,函数中填入如下函数:

var new_msg = {payload:""}
switch(msg.payload.curtainConrtol){
    case 0:
        new_msg.payload = "close";
        break;
    case 1:
        new_msg.payload = "open";
        break;
    case 2:
        new_msg.payload = "pause";
        break;
    default:
        new_msg.payload = "";
}
if (new_msg.payload == "" && msg.payload.curtainPosition >= 0){
    if (msg.payload.curtainPosition > 100)
        new_msg.payload = 100;
    else
        new_msg.payload = msg.payload.curtainPosition;
    return [null,new_msg];
}
else
    return [new_msg,null];

QQ截图20210204174934.jpg
5.将 aliyun 节点连接到 function 节点,再拖 1 个 switch 节点,添加 3 个输出,如图进行配置:
QQ截图20210204175333.jpg
6.将 function 节点输出连接 switch 输入,再拖 4 个 home assistant 下的 call service 节点,前 3 个节点的 Service 依次配置成open_cover,close_cover,stop_cover。Server 默认是 Home Assistant,正常情况下不需要修改。Domain 选择 cover,Entity ID 填写你需要控制的窗帘电机的 Entity ID,可从 HA 集成中的实体注册表中查询。第 4 个节点 Service 配置成 set_cover_position,同时在 Data 项中使用表达式模式,填入{"position":payload}
QQ图片20210204175853.png

QQ截图20210204180859.jpg

QQ截图20210204180727.jpg

  1. Switch 节点的 3 个输出依次与前 3 个 call service 节点连接,function 节点的第 2 个输出与第 4 个 call service 连接,连接好后如图所示:
    QQ截图20210204181540.jpg
    图中 aliyun 节点后还增加了 debug 节点,用来获取 aliyun 节点的信息,确认是否有命令发出,非必须。
    8.按以上步骤配置好后即可点击部署对流进行部署了,部署后可看到 aliyun 节点的状态变成已连接,image 节点显示出二维码
    QQ截图20210204181921.jpg
    9.在应用商店搜索云智能或者在上一章第 6 步中设备面板页点击右侧"立即安装"按钮获取云智能 APP 下载二维码进行下载安装,安装后进行注册登录,在我的中选择的更多服务选择天猫精灵,与天猫精灵进行绑定。绑定后在我的家页面点"+"号扫描二维码添加设备,添加后即可看到窗帘设备,点开后显示你配置的公版 APP 页面。
    1247845569.png
    10.使用上面的页面进行控制,查看设备是否能够正常控制,如有异常可根据前面步骤进行确认是哪里的问题,并查看相关log。
    11.如果能正常控制,打开天猫精灵 APP 应该能够看到此窗帘设备,设置房间和名称后即可通过天猫精灵对窗帘进行控制。比如说"天猫精灵,打开客厅窗帘",客厅窗帘就会自动打开。
    教程到此基本可以结束了,有问题可以在帖子下回复。最后附上我的设备流,只需按需修改 aliyun 节点的三元组数据和需要控制的窗帘 Entity ID 即可。
    flows1.zip (1.69 KB, 下载次数: 7)

评分

参与人数 2金钱 +25 收起 理由
antsunzj + 20 虽然看不懂,但感觉很厉害的样子。.
Magic_Shine + 5 感谢楼主分享!

查看全部评分

回复

使用道具 举报

1

主题

15

帖子

130

积分

注册会员

Rank: 2

积分
130
金钱
115
HASS币
0
发表于 2021-2-4 18:45:16 | 显示全部楼层
大佬威武,教程非常详细,这才是好的教程贴,小白也能看懂,再写点别的教程
回复

使用道具 举报

1

主题

77

帖子

980

积分

高级会员

Rank: 4

积分
980
金钱
903
HASS币
0
 楼主| 发表于 2021-2-4 18:48:53 | 显示全部楼层
Magic_Shine 发表于 2021-2-4 18:45
大佬威武,教程非常详细,这才是好的教程贴,小白也能看懂,再写点别的教程
...

折腾新东西了再写,写这个老费劲了
回复

使用道具 举报

9

主题

360

帖子

1190

积分

金牌会员

Rank: 6Rank: 6

积分
1190
金钱
830
HASS币
0
发表于 2021-2-4 21:48:16 | 显示全部楼层
你的天猫和云智能能获取窗帘的状态吗?
回复

使用道具 举报

1

主题

77

帖子

980

积分

高级会员

Rank: 4

积分
980
金钱
903
HASS币
0
 楼主| 发表于 2021-2-5 13:21:17 | 显示全部楼层
tiger81 发表于 2021-2-4 21:48
你的天猫和云智能能获取窗帘的状态吗?

不能,没有给云智能反馈,我看看能不能做。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-15 03:55 , Processed in 0.055509 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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