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.点击创建项目,选择自有品牌项目
[attach]27709[/attach]
3.创建完成后前往项目,点击创建新产品,按下图所示进行填写和选择
[attach]27710[/attach]
4.创建完成后前往产品页面,在功能定义页面去掉无关功能,只保留窗帘控制,然后再添加窗帘打开位置功能,最终功能列表如下:
[attach]27712[/attach]
5.点下一步进入人机交互页面,打开使用公版 APP 开关
[attach]27713[/attach]
6.在产品展示也补充名称后保存,然后选择设备面板,在设备面板页面点击未设置,选择或编辑面板,默认面板因有电源开关键,与我们的功能不符,保存时会提示功能不一致,可以忽略。强迫症患者可点击编辑去掉电源按钮或者自己全新设计页面。
[attach]27715[/attach]
[attach]27714[/attach]
7.点击下一步进入设备调试页面,拉到最后选择未认证模块,同意声明后进入模组信息页面
[attach]27726[/attach]
点击新增测试设备,设置DeviceName
[attach]27727[/attach]
生成设备如下,新增的设备状态是未激活,图中是我已经连接的设备:
[attach]27734[/attach]
8.点击查看,就能看到设备的相关信息,以下图中的3项是后面需要用到的信息
[attach]27735[/attach]
到这里,阿里平台的工作基本完成,后面的操作需要在 Node-RED 中进行配置
1.打开 Node-RED 页面,点击节点管理,切换到安装 Tap 页,分别输入node-red-contrib-image-output
和node-red-contrib-aliyun-livinglink
进行搜索并安装。这里有个坑,安装node-red-contrib-aliyun-livinglink
的时候装了很长时间都装不上,怀疑是源的问题,就进入 Node-RED 的 Docker 通过指定阿里源的方式进行安装,但是安装后重启就没了,不知道为什么,懂的大佬可以帮忙解释下。没办法,最终通过在页面上传 tar 包,再进入 Docker 通过指定源的命令进行安装才成功安装(直接安装也是失败,上传 tar 包安装也需要连接 NPM 源。。。)。有此问题的可以这么尝试下,具体操作方式我就不写了,有问题回帖问吧。
[attach]27739[/attach]
[attach]27740[/attach]
2.节点安装完成后就可以进行流配置了,先拖一个 aliyun 节点到流程中,双击打开配置,将上个章节得到的测试设备信息对应填入即可
[attach]27741[/attach]
[attach]27742[/attach]
3.再拖一个 image 节点到页面,并将 aliyun 节点与 image 节点进行连接,连好后如图:
[attach]27744[/attach]
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];
[attach]27745[/attach]
5.将 aliyun 节点连接到 function 节点,再拖 1 个 switch 节点,添加 3 个输出,如图进行配置:
[attach]27746[/attach]
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}
[attach]27748[/attach]
[attach]27749[/attach]
[attach]27750[/attach]
Magic_Shine 发表于 2021-2-4 18:45
大佬威武,教程非常详细,这才是好的教程贴,小白也能看懂,再写点别的教程
...
tiger81 发表于 2021-2-4 21:48
你的天猫和云智能能获取窗帘的状态吗?
sdfd 发表于 2021-2-5 13:21
不能,没有给云智能反馈,我看看能不能做。
欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) | Powered by Discuz! X3.5 |