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

 找回密码
 立即注册
查看: 438|回复: 5

[技术讨论] 莱特智能的485设备通过TCP接入ha,请大佬指导,也记录一下...

[复制链接]

3

主题

67

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
222
HASS币
0
发表于 2024-2-6 14:31:15 | 显示全部楼层 |阅读模式
本帖最后由 louwu 于 2024-2-8 09:35 编辑

本人小白一枚,不懂编程,纯靠乐趣和爱好,没事就看看论坛,摸索着搞智能。
目前家里有一个莱特智能家居的主机,可以发送自定义指令,然后家里的开关、灯、窗帘都是通过485控制的。
主机地址192.168.31.188,端口4196(这个是监听端口,实际控制端口是4198)这个主机有tcp转485的功能,

                               
登录/注册后可看大图

目前的做法是:
一、建一个nodered流监听485线路上指令,tcp in设置4196端口监听主机的数据,tcp out设置4198端口发送指令给总线设备。(已解决,流已附后)

                               
登录/注册后可看大图

二、虚拟配置一个开关,通过开关状态改变用switch判断,发送相应的485指令,控制设备。(已解决,流已附后)

                               
登录/注册后可看大图

       进一步使用,调光模块、485窗帘,控制亮度比例和窗帘开合比例。(未解决)
三、通过查询设备状态进一步同步实体开关和虚拟开关的状态(这步还没开始,只是设想)
四、通过ha把其他的小米设备联动485设备。

这是第二步:
1、通过mqtt配置了一个demo_light1开关
2、再通过mqtt订阅homeassistant/light/+/set主题,debug得到ON\OFF的结果,
3、再通过switch判断ON\OFF,分别对应function函数,payload发送485指令,

                               
登录/注册后可看大图
这里之前没搞清楚,生搬硬抄了,实际应该按照homeassistant/light/+/set主题的debug输出,复制完全的路径,实际是payload.state,不只是payload,后面的流中要改一下
4、再通过mqtt发送到主机4198端口,从而控制485设备。


目前已经能通过虚拟开关,发送自定义指令控制485设备了。
接下来又开始折腾灯的调光了,无从下手;
需要解决的问题是:
1、灯都是双色温筒灯,调光模块有开和关的功能,还有调黄光和白光的功能。

                               
登录/注册后可看大图
比如设备地址是1A 17 12 12 B1
指令分别是:
开:1A 17 12 12 B1 FF FF 01 FF FF 01 0F
关:1A 17 12 12 B1 FF 00 01 FF 00 01 0F
调光的话就是调中间这个00-FF,具体没试过
后面的第一个FF FF 01代表一路黄光开,第二个FF FF 01代表第二路白光开,0F校验位。(FF 00 01代表关)
如何虚拟这个调光设备,应该是在配置虚拟开关时加入一个brightness_state:的选项,包括亮度调节0-100%,对应的16进制指令的转换,这里请大佬指点一下
var id = 'demo_light_1'
msg.topic="homeassistant/light/"+id+"/config"
msg.payload ={
    '~':'homeassistant/light/'+id,
   'name':'light_'+id,
   'command_topic':'~/set',
   'state_topic':'~/state',
   "unique_id":"light_"+id,
   "schema": "json"
}

return msg;


[size=10.5000pt]

主机地址和端口

主机地址和端口

noderen监听

noderen监听

设备地址和指令

设备地址和指令

莱特主机监听和发送.rar

969 Bytes, 下载次数: 4

回复

使用道具 举报

13

主题

398

帖子

2425

积分

金牌会员

Rank: 6Rank: 6

积分
2425
金钱
2027
HASS币
0
发表于 2024-2-6 17:42:04 来自手机 | 显示全部楼层
mqtt,辅助元素,nodered集成,随便搞个都行
回复

使用道具 举报

3

主题

67

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
222
HASS币
0
 楼主| 发表于 2024-2-7 15:50:43 | 显示全部楼层
本帖最后由 louwu 于 2024-2-7 16:23 编辑

根据楼上大佬提示,去b站反复翻看大头_西瓜的视频,学会了一小步。
1、通过mqtt配置了一个demo_light1开关,
[url=]mqtt配置虚拟开关.rar[/url]
2、再通过mqtt订阅homeassistant/light/+/set主题,debug得到ON\OFF的结果,

                               
登录/注册后可看大图

[url=]mqtt订阅转换.rar[/url]
3、再通过switch判断ON\OFF,分别对应function函数,payload发送485指令,

                               
登录/注册后可看大图

4、再发送到主机4198端口,从而控制485设备。
第3步出现问题:不知道如何从mqtt订阅的结果中用switch判断ON\OFF。本人纯小白,请大佬们不吝赐教


2

2
switch判断.png

mqtt配置虚拟开关.rar

915 Bytes, 下载次数: 1

mqtt订阅转换.rar

982 Bytes, 下载次数: 1

回复

使用道具 举报

3

主题

67

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
222
HASS币
0
 楼主| 发表于 2024-2-7 15:52:10 | 显示全部楼层
第三步占位
回复

使用道具 举报

3

主题

67

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
222
HASS币
0
 楼主| 发表于 2024-2-7 16:20:09 | 显示全部楼层
不知道怎么插入大图
回复

使用道具 举报

3

主题

67

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
222
HASS币
0
 楼主| 发表于 2024-2-8 09:08:03 | 显示全部楼层
louwu 发表于 2024-2-7 15:50
根据楼上大佬提示,去b站反复翻看大头_西瓜的视频,学会了一小步。
1、通过mqtt配置了一个demo_light1开关 ...

这个解决了,实际第3步应该按照homeassistant/light/+/set主题的debug输出,复制完全的路径,实际是payload.state,不只是payload
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-29 16:22 , Processed in 0.138655 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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