跳转到内容

Pylontech 电池

Pylontech 组件允许您将 Pylontech 电池的数据获取到 ESPHome 中。 它使用 UART 进行通信。

配置完成后,您可以在项目中使用如下所述的传感器。

Pylontech 电池

您可以使用标有”Console”的端口连接到 Pylontech 电池。 通过 CAN 或 RS485 的任何连接(例如连接到逆变器)都不会受影响并保持正常工作。

控制台端口提供使用 RJ11 或 RJ45 连接器的 RS232 接口。 电压电平兼容 TTL。必须在电池和 ESPHome 设备之间放置 RS232 收发器。 基于 MAX3232 的收发器已经过测试且工作良好。

如果您有多个电池,需要连接到主电池的控制台端口。

Pylontech RJ45 控制台端口(US2000C、US3000C、US5000C)

Section titled “Pylontech RJ45 控制台端口(US2000C、US3000C、US5000C)”
RJ45 引脚TIA-568B 颜色TIA-568A 颜色功能连接到
3白/绿白/橙Pylontech TXESPHome RX(通过收发器)
6绿色橙色Pylontech RXESPHome TX(通过收发器)
8棕色棕色GNDGND
RJ45 引脚定义

Pylontech RJ11 控制台引脚定义(US2000B、US2000)

Section titled “Pylontech RJ11 控制台引脚定义(US2000B、US2000)”
RJ11 引脚功能连接到
2Pylontech RXESPHome TX(通过收发器)
3Pylontech TXESPHome RX(通过收发器)
4GNDGND
# 示例配置项
pylontech:
  • id (必填, ID): 用于此 Pylontech 组件的 id。
  • uart_id (可选): UART 总线 ID
  • update_interval (可选, 时间): 检查传感器的时间间隔。默认为 60s

每个 Pylontech 电池单独报告所有数值。

# 示例配置项
sensor:
- platform: pylontech
battery: 1
voltage:
name: "电池1 电压"
current:
name: "电池1 电流"
coulomb:
name: "电池1 荷电状态"
  • pylontech_id (可选): 如果有多个 pylontech 实例,手动指定 ID。
  • battery (必填): 要监控的电池。1 代表主电池,2..16 代表子电池。
  • voltage (可选): 电池电压。所有选项来自传感器
  • current (可选): 流入电池的电流。放电时为负值。所有选项来自传感器
  • coulomb (可选): 荷电状态百分比。所有选项来自传感器
  • temperature (可选): 温度。所有选项来自传感器
  • temperature_low (可选): 历史最低温度。所有选项来自传感器
  • temperature_high (可选): 历史最高温度。所有选项来自传感器
  • voltage_low (可选): 最低电芯电压。所有选项来自传感器
  • voltage_high (可选): 最高电芯电压。所有选项来自传感器
  • mos_temperature (可选): MOSFET 温度。所有选项来自传感器
# 示例配置项
text_sensor:
- platform: pylontech
pylontech_id: pylontech0
battery: 1
base_state:
id: bat1_base_state
name: "电池1 基本状态"
  • pylontech_id (可选): 如果有多个 pylontech 实例,手动指定 ID。
  • battery (必填): 要监控的电池。1 代表主电池,2..16 代表子电池。
  • base_state (可选): 基本状态。通常显示 DischgChargeIdle。所有选项来自文本传感器
  • voltage_state (可选): 电压状态。通常显示 Normal。所有选项来自文本传感器
  • current_state (可选): 电流状态。通常显示 Normal。所有选项来自文本传感器
  • temperature_state (可选): 温度状态。通常显示 Normal。所有选项来自文本传感器

通过结合模板传感器积分传感器,可以监控流入和流出所有电池的能源,准备好用于 Homeassistant 能源监控

sensor:
- platform: template
id: pylontech_power
name: "Pylontech 功率"
unit_of_measurement: W
lambda: |-
auto pwr1 = id(bat1_voltage).state * id(bat1_current).state;
auto pwr2 = id(bat2_voltage).state * id(bat2_current).state;
auto pwr = pwr1 + pwr2;
id(combined_charge_power).publish_state(max(pwr, 0.0f));
id(combined_discharge_power).publish_state(max(-pwr, 0.0f));
return pwr;
update_interval: 5s
device_class: power
state_class: measurement
- platform: template
id: combined_charge_power
- platform: template
id: combined_discharge_power
- platform: integration
name: "Pylontech 充电"
sensor: combined_charge_power
time_unit: h
state_class: total_increasing
device_class: energy
unit_of_measurement: "Wh"
- platform: integration
name: "Pylontech 放电"
sensor: combined_discharge_power
time_unit: h
state_class: total_increasing
device_class: energy
unit_of_measurement: "Wh"