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

 找回密码
 立即注册
查看: 899|回复: 7

[求助] 传感器配置

[复制链接]

5

主题

73

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
金钱
248
HASS币
0
发表于 2023-5-17 14:12:10 | 显示全部楼层 |阅读模式
200金钱
本帖最后由 dft 于 2023-5-18 14:39 编辑

小弟有一个湿度传感器modbus协议,通过4G模块的mqtt功能发送出来,并在mqtt服务器上已经接收到消息,求助通过node-red,添加到homeassistant实体,并显示正确的湿度值,万分感激
屏幕截图 2023-05-17 135807.jpg 屏幕截图 2023-05-17 135338.jpg

2023-5-18——填

填一下自己的坑,算是填起来一半先,正如X大大所说,直接在HA里面用模版编辑取值才是正路,等下继续泡论坛。我找到的方案还是在red里面接收4G模块的mqtt消息,在red里面取值处理,然后用mqtt又发回ha,确实绕了一大圈。昨晚论坛里面泡到2点多,终于扒出来一条,废话不多说,上图——————————————————
屏幕截图 2023-05-18 142159_副本.png

最佳答案

查看完整内容

其实是一个很简单的事情,根本没必要整node-red——没有js编程基础的话,nodered也很难用好。 参考官方文档:https://www.home-assistant.io/integrations/sensor.mqtt/ 设置一个mqtt sensor,数值获取用ha自带的模板功能就行,可以参考我这个帖子: https://bbs.hassbian.com/thread-15951-1-1.html 里面自动化代码里就有从十六进制串截取转换的用法。 模板的使用,官方文档也有很好的介绍。 ...
回复

使用道具 举报

100

主题

2876

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11479
金钱
8538
HASS币
460

教程狂人突出贡献

发表于 2023-5-17 14:12:11 | 显示全部楼层
dft 发表于 2023-5-17 18:35
我的理解是这样的,把接收到的九组数据 0x3 0x3 0x4 0x0 0x41 0x0 0x0 0x89 0xe7分拆 出来第4组0x0和第5组0 ...

其实是一个很简单的事情,根本没必要整node-red——没有js编程基础的话,nodered也很难用好。

参考官方文档:https://www.home-assistant.io/integrations/sensor.mqtt/
设置一个mqtt sensor,数值获取用ha自带的模板功能就行,可以参考我这个帖子:
https://bbs.hassbian.com/thread-15951-1-1.html
里面自动化代码里就有从十六进制串截取转换的用法。

模板的使用,官方文档也有很好的介绍。
回复

使用道具 举报

7

主题

1072

帖子

3361

积分

论坛元老

Rank: 8Rank: 8

积分
3361
金钱
2289
HASS币
0
发表于 2023-5-17 14:46:53 | 显示全部楼层
本帖最后由 隔壁的王叔叔 于 2023-5-17 14:48 编辑

坐等大佬。得价格modus模块解析下,后面在加sensor模块。
回复

使用道具 举报

5

主题

73

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
金钱
248
HASS币
0
 楼主| 发表于 2023-5-17 16:32:02 | 显示全部楼层
补充一下,之前用RS485转wifi模块/485转以太网模块的时候,用ModbusTCP完全没有问题,这个4G模块也支持转tcp,但是homeassistant的configuration.yaml配置里面host和port,查不到4G模块的host和port,所以这个方法就搁置了,如果用modbus-tcp或者其他解决的话也很nice。
回复

使用道具 举报

100

主题

2876

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11479
金钱
8538
HASS币
460

教程狂人突出贡献

发表于 2023-5-17 16:45:36 | 显示全部楼层
通过mqtt就可以达到你的目的了呀,为啥非要多加一个nodered的环节呢?
回复

使用道具 举报

5

主题

73

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
金钱
248
HASS币
0
 楼主| 发表于 2023-5-17 16:55:31 | 显示全部楼层
XCray 发表于 2023-5-17 16:45
通过mqtt就可以达到你的目的了呀,为啥非要多加一个nodered的环节呢?

嗯嗯,我收到的是9组16进制的数字,第一不知道怎么写sensor,第二,不知道怎么处理才能把第4、5合成10进制的湿度值,而且我在hass里面用mqtt监听到的数据成了8组例如b'\x03\x03\x04\x00A\x00\x00\x89\xe7',正常应该是9组,在nodered里面收到的也是九组。总之怎么解决都行,自己太小白了
回复

使用道具 举报

5

主题

73

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
金钱
248
HASS币
0
 楼主| 发表于 2023-5-17 18:35:05 | 显示全部楼层
我的理解是这样的,把接收到的九组数据 0x3 0x3 0x4 0x0 0x41 0x0 0x0 0x89 0xe7分拆 出来第4组0x0和第5组0x41,然后再组合起来041 把这个转成10进制就成了65,除以十,就是得到的传感器十进制数值,奈何不懂这个过程怎么在node-red实现
回复

使用道具 举报

5

主题

73

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
金钱
248
HASS币
0
 楼主| 发表于 2023-5-18 14:04:51 | 显示全部楼层
XCray 发表于 2023-5-18 09:05
其实是一个很简单的事情,根本没必要整node-red——没有js编程基础的话,nodered也很难用好。

参考官方 ...

非常感谢
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-3 19:20 , Processed in 0.056810 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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