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

 找回密码
 立即注册
查看: 586|回复: 8

[求助] 求助 modbus tcp 模块,配置报错,按官方示例也不行

[复制链接]

1

主题

21

帖子

162

积分

注册会员

Rank: 2

积分
162
金钱
141
HASS币
0
发表于 2024-7-18 20:52:34 | 显示全部楼层 |阅读模式
本帖最后由 9d$F6 于 2024-7-18 20:57 编辑


                               
登录/注册后可看大图
配置警告
Invalid config for 'modbus' at configuration.yaml, line 42: value must be one of [<DataType.CUSTOM: 'custom'>, <DataType.FLOAT16: 'float16'>, <DataType.FLOAT32: 'float32'>, <DataType.FLOAT64: 'float64'>, <DataType.INT16: 'int16'>, <DataType.INT32: 'int32'>, <DataType.INT64: 'int64'>, <DataType.STRING: 'string'>, <DataType.UINT16: 'uint16'>, <DataType.UINT32: 'uint32'>, <DataType.UINT64: 'uint64'>] for dictionary value 'modbus->0->sensors->2->data_type', got 'float'
Home Assistant
  • Cor 2024.6.3
  • Supervisor 2024.06.2
  • Operating System 12.3.2
  • Frontend 20240610.1
  • 冬瓜os


下载.png
回复

使用道具 举报

46

主题

1654

帖子

6674

积分

论坛元老

Rank: 8Rank: 8

积分
6674
金钱
5010
HASS币
40
发表于 2024-7-18 21:09:18 | 显示全部楼层
不要使用ha的配置文件来搞modbus,不要使用ha的配置文件来搞modbus,不要使用ha的配置文件来搞modbus,重要的事情说三遍
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

1

主题

21

帖子

162

积分

注册会员

Rank: 2

积分
162
金钱
141
HASS币
0
 楼主| 发表于 2024-7-18 21:42:03 | 显示全部楼层
jjcs 发表于 2024-7-18 21:09
不要使用ha的配置文件来搞modbus,不要使用ha的配置文件来搞modbus,不要使用ha的配置文件来搞modbus,重要 ...

modbus:
  - name: hub1
    type: tcp
    host: 192.168.2.127
    port: 502
sensor:
  platform: modbus
  registers:
    - name: Sensor1
      unit_of_measurement: °C
      slave: 1
      register: 30001
    - name: Sensor2
      unit_of_measurement: mg
      slave: 1
      register: 30002
      count: 2
    - name: Sensor3
      unit_of_measurement: °C
      slave: 1
      register: 120
      register_type: input
      data_type: float
      scale: 0.01
      offset: -273.16
      precision: 2   新建modbus.yaml也不行,需要怎么连接,大佬有案例没,谢谢。
回复

使用道具 举报

46

主题

1654

帖子

6674

积分

论坛元老

Rank: 8Rank: 8

积分
6674
金钱
5010
HASS币
40
发表于 2024-7-18 22:05:02 | 显示全部楼层
9d$F6 发表于 2024-7-18 21:42
modbus:
  - name: hub1
    type: tcp

modbus
这种对方便调试要求很高,配置文件的方式不适合modbus,建议使用nodered
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

0

主题

11

帖子

1151

积分

金牌会员

Rank: 6Rank: 6

积分
1151
金钱
1140
HASS币
0
发表于 2024-7-19 08:23:40 | 显示全部楼层
  - type: tcp
    host: 192.168.5.248
    port: 10123
    name: "ddsu666"
    sensors:
      - name: "A相电压"
        address: 0x2000
        scale: 1
        slave: 1
        precision: 2
        unit_of_measurement: V
        data_type: float32
        unique_id: "2023062821"
        device_class: voltage
      - name: "A相电流"
        address: 0x2002
        slave: 1
        precision: 2
        scale: 1
        unit_of_measurement: A
        data_type: float32
        unique_id: "2023062822"
        device_class: current

单独开个modbus文件,电表的接入方法供参考
回复

使用道具 举报

16

主题

239

帖子

2935

积分

金牌会员

Rank: 6Rank: 6

积分
2935
金钱
2696
HASS币
0
发表于 2024-7-19 12:14:33 | 显示全部楼层
试试看这样
screenshot-1721362366755.png
回复

使用道具 举报

1

主题

21

帖子

162

积分

注册会员

Rank: 2

积分
162
金钱
141
HASS币
0
 楼主| 发表于 2024-7-19 12:15:15 | 显示全部楼层
Txx 发表于 2024-7-19 08:23
单独开个modbus文件,电表的接入方法供参考

收到,感谢,还有个疑问就是这个地址address: 0x2000 这个是modbus 02功能区地址零?我的设备modscan 读到是04功能区 30001,是要写成0x40001?
回复

使用道具 举报

0

主题

11

帖子

1151

积分

金牌会员

Rank: 6Rank: 6

积分
1151
金钱
1140
HASS币
0
发表于 2024-7-19 13:45:54 | 显示全部楼层
9d$F6 发表于 2024-7-19 12:15
收到,感谢,还有个疑问就是这个地址address: 0x2000 这个是modbus 02功能区地址零?我的设备modscan 读 ...

这个地址为看你硬件厂商给的是什么地址,寄存器地址是厂商定义的
回复

使用道具 举报

1

主题

21

帖子

162

积分

注册会员

Rank: 2

积分
162
金钱
141
HASS币
0
 楼主| 发表于 2024-7-19 19:56:38 | 显示全部楼层
可以了,默认ha的modbus 只能读取03功能码值 PixPin_2024-07-19_19-53-54.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 04:03 , Processed in 0.189764 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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