Open NosIreland opened 1 day ago
Could you provide your config?
Here you go. BTW: my seplos is the original v1
substitutions:
name: seplos-bms-1
device_description: "Monitor and control a Seplos V3 BMS via RS485 (Modbus)"
tx_pin: GPIO1
rx_pin: GPIO3
esphome:
name: ${name}
comment: ${device_description}
min_version: 2024.6.0
project:
name: "syssi.esphome-seplos-bms"
version: 1.2.0
esp8266:
board: d1_mini
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.2.67
gateway: 192.168.2.1
subnet: 255.255.255.0
mqtt:
broker: 192.168.1.20
username: !secret
password: !secret
web_server:
port: 80
ota:
platform: esphome
#api:
logger:
level: DEBUG
uart:
- id: uart_0
baud_rate: 19200
tx_pin: ${tx_pin}
rx_pin: ${rx_pin}
rx_buffer_size: 384
debug:
direction: BOTH
dummy_receiver: false
after:
delimiter: "\r"
sequence:
- lambda: UARTDebug::log_string(direction, bytes);
modbus:
- id: modbus0
uart_id: uart_0
send_wait_time: 200ms
modbus_controller:
- id: bms0
address: 0x00
modbus_id: modbus0
command_throttle: 200ms
update_interval: 10s
sensor:
# 1000 Pack Voltage R UINT16 2 10mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} total voltage"
address: 0x1000
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
# 1001 Current R INT16 2 10mA
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} current"
address: 0x1001
register_type: read
value_type: S_WORD
unit_of_measurement: "A"
device_class: current
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
# 1002 Remaining capacity R UINT16 2 10mAH
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} remaining capacity"
address: 0x1002
register_type: read
value_type: U_WORD
unit_of_measurement: "Ah"
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
# 1003 Total Capacity R UINT16 2 10mAH
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} total capacity"
address: 0x1003
register_type: read
value_type: U_WORD
unit_of_measurement: "Ah"
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
# 1004 Total Discharge Capacity R UINT16 2 10AH
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} total discharge capacity"
address: 0x1004
register_type: read
value_type: U_WORD
unit_of_measurement: "Ah"
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
# 1005 SOC R UINT16 2 0.1%
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} state of charge"
address: 0x1005
register_type: read
value_type: U_WORD
unit_of_measurement: "%"
device_class: battery
state_class: measurement
accuracy_decimals: 0
filters:
- multiply: 0.1
# 1006 SOH R UINT16 2 0.1%
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} state of health"
address: 0x1006
register_type: read
value_type: U_WORD
unit_of_measurement: "%"
state_class: measurement
accuracy_decimals: 0
# 1007 Cycle R UINT16 2 1
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cycle"
address: 0x1007
register_type: read
value_type: U_WORD
unit_of_measurement: ""
state_class: measurement
accuracy_decimals: 0
# 1008 Averag of Cell Votage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} average cell voltage"
address: 0x1008
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1009 Averag of Cell Temperature R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} average cell temperature"
address: 0x1009
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 100A Max Cell Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} max cell voltage"
address: 0x100A
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 100B Min Cell Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} min cell voltage"
address: 0x100B
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 100C Max Cell Temperature R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} max cell temperature"
address: 0x100C
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 100D Min Cell Temperature R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} min cell temperature"
address: 0x100D
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 100F MaxDisCurt R UINT16 2 1A
# Max Discharging Current
# 1010 MaxChgCurt R UINT16 2 1A
# Max Charging Current
# 1100 Cell1 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 1"
address: 0x1100
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1101 Cell2 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 2"
address: 0x1101
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1102 Cell3 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 3"
address: 0x1102
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1103 Cell4 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 4"
address: 0x1103
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1104 Cell5 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 5"
address: 0x1104
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1105 Cell6 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 6"
address: 0x1105
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1106 Cell7 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 7"
address: 0x1106
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1107 Cell8 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 8"
address: 0x1107
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1108 Cell9 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 9"
address: 0x1108
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1109 Cell10 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 10"
address: 0x1109
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 110A Cell11 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 11"
address: 0x110A
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 110B Cell12 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 12"
address: 0x110B
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 110C Cell13 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 13"
address: 0x110C
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 110D Cell14 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 14"
address: 0x110D
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 110E Cell15 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 15"
address: 0x110E
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 110F Cell16 Voltage R UINT16 2 1mV
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell voltage 16"
address: 0x110F
register_type: read
value_type: U_WORD
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
accuracy_decimals: 3
filters:
- multiply: 0.001
# 1110 Cell temperature 1 R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell temperature 1"
address: 0x1110
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 1111 Cell temperature 2 R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell temperature 2"
address: 0x1111
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 1112 Cell temperature 3 R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell temperature 3"
address: 0x1112
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 1113 Cell temperature 4 R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} cell temperature 4"
address: 0x1113
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 1118 Environment Temperature R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} environment temperature"
address: 0x1118
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# 1119 Power temperature R UINT16 2 0.1K
- platform: modbus_controller
modbus_controller_id: bms0
name: "${name} mosfet temperature"
address: 0x1119
register_type: read
value_type: S_WORD
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
accuracy_decimals: 1
filters:
- offset: -2731.5
- multiply: 0.1
# Pack Info C
#
# 1200 Cells voltage 08-01low alarm state R HEX 1 1:alarm
# 1208 Cells voltage 16-09low alarm state R HEX 1 1:alarm
# 1210 Cells voltage 08-01high alarm state R HEX 1 1:alarm
# 1218 Cells voltage 16-09high alarm state R HEX 1 1:alarm
# 1220 Cell 08-01 temperature Tlow alarm state R HEX 1 1:alarm
# 1228 Cell 08-01 temperature high alarm state R HEX 1 1:alarm
# 1230 Cell 08-01 equalization event code R HEX 1 1:on 0:off
# 1238 Cell 16-09 equalization event code R HEX 1 1:on 0:off
# 1240 System state code R HEX 1 See TB09
# 1248 Voltage event code R HEX 1 See TB02
# 1250 Cells Temperature event code R HEX 1 See TB03
# 1258 Environment and power Temperature event code R HEX 1 See TB04
# 1260 Current event code1 R HEX 1 See TB05
# 1268 Current event code2 R HEX 1 See TB16
# 1270 The residual capacity code R HEX 1 See TB06
# System Parameter reg. 1300...1367
# System Function reg. 1400...1448
# System Control reg. 1500...1519
# History Info reg. 1600...1627
# Version Info reg. 1700...1724
# PCS Control reg. 1800...1823
# EMS Info A reg. 2000...2019
# EMS Info B reg. 2100...2115
# EMS Info C reg. 2200...2248
#
Been running Seplos bms since the start on older version. Decided to update to the latest one and now not getting any readings just
no response received
. Here's the snippet.The new sensor config is very different to what is used to be. Also my RX/TX pins are different but I that is not an issue here since it worked fine before update tx_pin: GPIO1 rx_pin: GPIO3