{"id":793,"date":"2024-06-18T15:43:29","date_gmt":"2024-06-18T15:43:29","guid":{"rendered":"https:\/\/hybrydaplus.pl\/?p=793"},"modified":"2024-07-28T12:43:59","modified_gmt":"2024-07-28T12:43:59","slug":"komunikacja-seplos-3-0","status":"publish","type":"post","link":"https:\/\/hybrydaplus.pl\/index.php\/2024\/06\/18\/komunikacja-seplos-3-0\/","title":{"rendered":"Komunikacja SEPLOS 3.0"},"content":{"rendered":"\n<p>Jako, \u017ce sta\u0142em si\u0119 posiadaczem nowego BMS postanowi\u0142em zintegrowa\u0107 go nie tylko z Deye ale te\u017c z HA. Co nam to daje? Mamy podgl\u0105d online na to co dzieje si\u0119 aktualnie na baterii z dok\u0142adno\u015bci\u0105 do poszczeg\u00f3lnych ogniw. <\/p>\n\n\n\n<p>Wi\u0119kszo\u015b\u0107 wiadomo\u015bci w wpisie pochodzi z bardzo ciekawego repo na githubie  &#8211; <a href=\"https:\/\/github.com\/syssi\/esphome-seplos-bms\">syssi<\/a>.<\/p>\n\n\n\n<p>Co potrzebujemy ? Oczywi\u015bcie znany ju\u017c Nam zestaw czyli esp32 z RS485 ( ca\u0142o\u015b\u0107 by\u0142a ju\u017c omawiana na blogu, ale mo\u017ce warto to przypomnie\u0107). Poni\u017cej schemat po\u0142\u0105czenia:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"1005\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/10\/rs48512V3f-1024x1005.jpg\" alt=\"\" class=\"wp-image-472\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/10\/rs48512V3f-1024x1005.jpg 1024w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/10\/rs48512V3f-300x294.jpg 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/10\/rs48512V3f-768x754.jpg 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/10\/rs48512V3f-800x785.jpg 800w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2023\/10\/rs48512V3f.jpg 1450w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Dodajemy nasze nowe urz\u0105dzenie do ESPHOME i wgrywamy poni\u017cszy kod:<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Urz\u0105dzenie ALL-IN-ONE <\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"height-set:true width-set:true width:800 lang:default decode:true \" >substitutions:\n  name: seplos-bms\n  device_description: \"Monitor a Seplos BMS via RS485\"\n  external_components_source: github:\/\/syssi\/esphome-seplos-bms@main\n  tx_pin: GPIO22\n  rx_pin: GPIO21\n\nesphome:\n  name: ${name}\n  comment: ${device_description}\n  project:\n    name: \"syssi.esphome-seplos-bms\"\n    version: 1.1.0\n\nesp32:\n  board: wemos_d1_mini32\n\nexternal_components:\n  - source: ${external_components_source}\n    refresh: 0s\n\nwifi:\n  ssid: TWOJA NAZWA SIECI WIFI\n  password: TWOJE HAS\u0141O WIFI \n\n\nota:\n  platform: esphome\n  password: \"TWOJE OTA\"\n\nlogger:\n  level: DEBUG\n\napi:\n  encryption:\n    key: \"TWOJE API\"\n\nweb_server:\n  port: 80\n\noutput:\n  - platform: gpio\n    id: ENABLE_PIN # Enable the chip\n    pin:\n      number: GPIO19\n      inverted: true\n  - platform: gpio\n    id: SE_PIN # Enable autodirection\n    pin:\n      number: GPIO17\n      inverted: true\n  - platform: gpio\n    id: ENABLE_5V_PIN # Enable 5V pin for RS485 chip\n    pin:\n      number: GPIO16\n      inverted: true\n\n# api:\n\nuart:\n  - id: uart_0\n    baud_rate: 19200\n    tx_pin: ${tx_pin}\n    rx_pin: ${rx_pin}\n    debug:\n      direction: BOTH\n      dummy_receiver: false\n\nmodbus:\n  - id: modbus0\n    uart_id: uart_0\n    send_wait_time: 200ms\n\nmodbus_controller:\n  - id: bms0\n    address: 0x00\n    modbus_id: modbus0\n    command_throttle: 200ms\n    update_interval: 10s\n\nsensor:\n  # 1000    Pack Voltage                R    UINT16    2    10mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: total_voltage\n    name: \"${name} total voltage\"\n    address: 0x1000\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1001    Current                     R     INT16    2    10mA\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: BMS_current\n    name: \"${name} current\"\n    address: 0x1001\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    device_class: current\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1002    Remaining capacity          R    UINT16    2    10mAH\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} remaining capacity\"\n    address: 0x1002\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"Ah\"\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1003    Total Capacity              R    UINT16    2    10mAH\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} total capacity\"\n    address: 0x1003\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"Ah\"\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1004    Total Discharge Capacity    R    UINT16    2    10AH\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} total discharge capacity\"\n    address: 0x1004\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"Ah\"\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1005    SOC                         R    UINT16    2    0.1%\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} state of charge\"\n    address: 0x1005\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"%\"\n    device_class: battery\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  # 1006    SOH                         R    UINT16    2    0.1%\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} state of health\"\n    address: 0x1006\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"%\"\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  # 1007    Cycle                       R    UINT16    2    1\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cycle\"\n    address: 0x1007\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"\"\n    state_class: measurement\n    accuracy_decimals: 0\n\n  # 1008    Averag of Cell Votage       R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} average cell voltage\"\n    address: 0x1008\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1009    Averag of Cell Temperature  R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} average cell temperature\"\n    address: 0x1009\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 100A    Max Cell Voltage            R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} max cell voltage\"\n    id: max_cell_voltage\n    address: 0x100A\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 100B    Min Cell Voltage            R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} min cell voltage\"\n    id: min_cell_voltage\n    address: 0x100B\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 100C    Max Cell Temperature        R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} max cell temperature\"\n    address: 0x100C\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 100D    Min Cell Temperature        R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} min cell temperature\"\n    address: 0x100D\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 100F    MaxDisCurt                  R    UINT16    2    1A\n  #         Max Discharging Current\n  # 1010    MaxChgCurt                  R    UINT16    2    1A\n  #         Max Charging Current\n\n  # 1100    Cell1 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 1\"\n    address: 0x1100\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1101    Cell2 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 2\"\n    address: 0x1101\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1102    Cell3 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 3\"\n    address: 0x1102\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1103    Cell4 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 4\"\n    address: 0x1103\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1104    Cell5 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 5\"\n    address: 0x1104\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1105    Cell6 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 6\"\n    address: 0x1105\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1106    Cell7 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 7\"\n    address: 0x1106\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1107    Cell8 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 8\"\n    address: 0x1107\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1108    Cell9 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 9\"\n    address: 0x1108\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1109    Cell10 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 10\"\n    address: 0x1109\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110A    Cell11 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 11\"\n    address: 0x110A\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110B    Cell12 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 12\"\n    address: 0x110B\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110C    Cell13 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 13\"\n    address: 0x110C\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110D    Cell14 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 14\"\n    address: 0x110D\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110E    Cell15 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 15\"\n    address: 0x110E\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110F    Cell16 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 16\"\n    address: 0x110F\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1110    Cell temperature 1          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 1\"\n    address: 0x1110\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 1111    Cell temperature 2          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 2\"\n    address: 0x1111\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 1112    Cell temperature 3          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 3\"\n    address: 0x1112\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 1113    Cell temperature 4          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 4\"\n    address: 0x1113\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n  # 1118    Environment Temperature     R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} environment temperature\"\n    address: 0x1118\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n  # 1119    Power temperature           R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} mosfet temperature\"\n    address: 0x1119\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -273.15\n      - multiply: 0.01\n  \n\n  # Pack Info C\n  #\n  # 1200    Cells voltage 08-01low alarm state       R    HEX    1    1:alarm\n  # 1208    Cells voltage 16-09low alarm state       R    HEX    1    1:alarm\n  # 1210    Cells voltage 08-01high alarm state      R    HEX    1    1:alarm\n  # 1218    Cells voltage 16-09high alarm state      R    HEX    1    1:alarm\n  # 1220    Cell 08-01 temperature Tlow alarm state  R    HEX    1    1:alarm\n  # 1228    Cell 08-01 temperature high alarm state  R    HEX    1    1:alarm\n  # 1230    Cell 08-01 equalization event code       R    HEX    1    1:on 0:off\n  # 1238    Cell 16-09 equalization event code       R    HEX    1    1:on 0:off\n  # 1240    System state code                        R    HEX    1    See TB09\n  # 1248    Voltage event code                       R    HEX    1    See TB02\n  # 1250    Cells Temperature event code             R    HEX    1    See TB03\n  # 1258    Environment and power Temperature event code          R    HEX    1    See TB04\n  # 1260    Current event code1                      R    HEX    1    See TB05\n  # 1268    Current event code2                      R    HEX    1    See TB16\n  # 1270     The residual capacity code              R    HEX    1    See TB06\n\n  # System Parameter    reg. 1300...1367\n  # System Function     reg. 1400...1448\n  # System Control      reg. 1500...1519\n  # History Info        reg. 1600...1627\n  # Version Info        reg. 1700...1724\n  # PCS Control         reg. 1800...1823\n  # EMS Info A          reg. 2000...2019\n  # EMS Info B          reg. 2100...2115\n  # EMS Info C          reg. 2200...2248\n  #\n  # See docs\/XZH BMS Modbus-RTU Protocol.pdf\n\n  ############################################### DELTA ###########################################\n\n\n  - platform: template                   # Obliczanie r\u00f3\u017cnicy\n    name: \"${name} delta V cell\"\n    unit_of_measurement: \"V\"\n    accuracy_decimals: 3\n    device_class: power\n    state_class: \"measurement\"\n    lambda: |-\n      return (id(max_cell_voltage).state - id(min_cell_voltage).state);\n    update_interval: 5s\n    filters:\n      - multiply: 1\n\n  - platform: template                   # Obliczanie mocy\n    name: \"${name} power BMS\"\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: \"measurement\"\n    lambda: |-\n      return (id(total_voltage).state * id(BMS_current).state);\n    update_interval: 5s\n\n\n############################################ SETTINGS ################################################\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_high_voltage_recover\n    name: \"${name} Battery high voltage recover\"\n    address: 0x1302\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_high_voltage_alarm\n    name: \"${name} Battery High voltage alarm\"\n    address: 0x1303\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_over_voltage_recover\n    name: \"${name} Battery over voltage recover\"\n    address: 0x1304\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_over_voltage_protection\n    name: \"${name} Battery over voltage protection\"\n    address: 0x1305\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_low_voltage_recover\n    name: \"${name} Battery low voltage recover\"\n    address: 0x1306\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_low_voltage_alarm\n    name: \"${name} Battery low voltage alarm\"\n    address: 0x1307\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_under_voltage_recover\n    name: \"${name} Battery under voltage recover\"\n    address: 0x1308\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_under_voltage_protection\n    name: \"${name} Battery under voltage protection\"\n    address: 0x1309\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_high_voltage_recover\n    name: \"${name} Cell high voltage recover\"\n    address: 0x130A\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_high_voltage_alarm\n    name: \"${name} Cell high voltage alarm\"\n    address: 0x130B\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_over_voltage_recover\n    name: \"${name} Cell over voltage recover\"\n    address: 0x130C\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_over_voltage_protection\n    name: \"${name} Cell over voltage protection\"\n    address: 0x130D\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_low_voltage_recover\n    name: \"${name} Cell low voltage recover\"\n    address: 0x130E\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_low_voltage_alarm\n    name: \"${name} Cell low voltage alarm\"\n    address: 0x130F\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_under_voltage_recover\n    name: \"${name} Cell under voltage recover\"\n    address: 0x1310\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_under_voltage_protection\n    name: \"${name} Cell under voltage protection\"\n    address: 0x1311\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_under_voltage_fault\n    name: \"${name} Cell under voltage fault\"\n    address: 0x1312\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_diff_protection\n    name: \"${name} Cell diff protection\"\n    address: 0x1313\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_charge_current_protection_cell\n    name: \"${name} Secondary charge current protection\"\n    address: 0x1314\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"mA\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_high_current_recover\n    name: \"${name} Charge high current recover\"\n    address: 0x1315\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_high_current_alarm\n    name: \"${name} Charge high current alarm\"\n    address: 0x1316\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_over_current_protection\n    name: \"${name} Charge over current protection\"\n    address: 0x1317\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_over_current_time_delay\n    name: \"${name} Charge over current time delay\"\n    address: 0x1318\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"s\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_charge_current_protection\n    name: \"${name} Secondary charge current protection\"\n    address: 0x1319\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_charge_current_time_delay\n    name: \"${name} Secondary charge current time delay\"\n    address: 0x131A\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"ms\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_low_current_recover\n    name: \"${name} Discharge low current recover\"\n    address: 0x131B\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_low_current_alarm\n    name: \"${name} Discharge low current alarm\"\n    address: 0x131C\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_over_current_protection\n    name: \"${name} Discharge over current protection\"\n    address: 0x131D\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_over_current_time_delay\n    name: \"${name} Discharge over current time delay\"\n    address: 0x131E\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"s\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_discharge_current_protection\n    name: \"${name} Secondary discharge current protection\"\n    address: 0x131F\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_discharge_current_time\n    name: \"${name} Secondary discharge current time\"\n    address: 0x1320\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"ms\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n<\/pre><\/div>\n\n\n\n<p>2. ESP32 + RS485<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"height-set:true width-set:true width:800 lang:default decode:true \">substitutions:\n  name: seplos-bms\n  device_description: \"Monitor a Seplos BMS via RS485\"\n  external_components_source: github:\/\/syssi\/esphome-seplos-bms@main\n  tx_pin: GPIO17\n  rx_pin: GPIO16\n\nesphome:\n  name: ${name}\n  comment: ${device_description}\n  project:\n    name: \"syssi.esphome-seplos-bms\"\n    version: 1.1.0\n\nesp32:\n  board: wemos_d1_mini32\n\nexternal_components:\n  - source: ${external_components_source}\n    refresh: 0s\n\nwifi:\n  ssid: TWOJA NAZWA SIECI WIFI\n  password: TWOJE HAS\u0141O WIFI \n\n\nota:\n  password: \"TWOJE OTA\"\n\nlogger:\n  level: DEBUG\n\napi:\n  encryption:\n    key: \"TWOJE API\"\n\nweb_server:\n  port: 80\n\nuart:\n  - id: uart_0\n    baud_rate: 19200\n    tx_pin: ${tx_pin}\n    rx_pin: ${rx_pin}\n    debug:\n      direction: BOTH\n      dummy_receiver: false\n\nmodbus:\n  - id: modbus0\n    uart_id: uart_0\n    send_wait_time: 200ms\n\nmodbus_controller:\n  - id: bms0\n    address: 0x00\n    modbus_id: modbus0\n    command_throttle: 200ms\n    update_interval: 10s\n\nsensor:\n  # 1000    Pack Voltage                R    UINT16    2    10mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: total_voltage\n    name: \"${name} total voltage\"\n    address: 0x1000\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1001    Current                     R     INT16    2    10mA\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: BMS_current\n    name: \"${name} current\"\n    address: 0x1001\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    device_class: current\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1002    Remaining capacity          R    UINT16    2    10mAH\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} remaining capacity\"\n    address: 0x1002\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"Ah\"\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1003    Total Capacity              R    UINT16    2    10mAH\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} total capacity\"\n    address: 0x1003\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"Ah\"\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1004    Total Discharge Capacity    R    UINT16    2    10AH\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} total discharge capacity\"\n    address: 0x1004\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"Ah\"\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  # 1005    SOC                         R    UINT16    2    0.1%\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} state of charge\"\n    address: 0x1005\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"%\"\n    device_class: battery\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  # 1006    SOH                         R    UINT16    2    0.1%\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} state of health\"\n    address: 0x1006\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"%\"\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  # 1007    Cycle                       R    UINT16    2    1\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cycle\"\n    address: 0x1007\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"\"\n    state_class: measurement\n    accuracy_decimals: 0\n\n  # 1008    Averag of Cell Votage       R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} average cell voltage\"\n    address: 0x1008\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1009    Averag of Cell Temperature  R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} average cell temperature\"\n    address: 0x1009\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 100A    Max Cell Voltage            R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} max cell voltage\"\n    id: max_cell_voltage\n    address: 0x100A\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 100B    Min Cell Voltage            R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} min cell voltage\"\n    id: min_cell_voltage\n    address: 0x100B\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 100C    Max Cell Temperature        R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} max cell temperature\"\n    address: 0x100C\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 100D    Min Cell Temperature        R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} min cell temperature\"\n    address: 0x100D\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 100F    MaxDisCurt                  R    UINT16    2    1A\n  #         Max Discharging Current\n  # 1010    MaxChgCurt                  R    UINT16    2    1A\n  #         Max Charging Current\n\n  # 1100    Cell1 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 1\"\n    address: 0x1100\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1101    Cell2 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 2\"\n    address: 0x1101\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1102    Cell3 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 3\"\n    address: 0x1102\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1103    Cell4 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 4\"\n    address: 0x1103\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1104    Cell5 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 5\"\n    address: 0x1104\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1105    Cell6 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 6\"\n    address: 0x1105\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1106    Cell7 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 7\"\n    address: 0x1106\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1107    Cell8 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 8\"\n    address: 0x1107\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1108    Cell9 Voltage               R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 9\"\n    address: 0x1108\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1109    Cell10 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 10\"\n    address: 0x1109\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110A    Cell11 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 11\"\n    address: 0x110A\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110B    Cell12 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 12\"\n    address: 0x110B\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110C    Cell13 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 13\"\n    address: 0x110C\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110D    Cell14 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 14\"\n    address: 0x110D\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110E    Cell15 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 15\"\n    address: 0x110E\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 110F    Cell16 Voltage              R    UINT16    2    1mV\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell voltage 16\"\n    address: 0x110F\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    device_class: voltage\n    state_class: measurement\n    accuracy_decimals: 3\n    filters:\n      - multiply: 0.001\n\n  # 1110    Cell temperature 1          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 1\"\n    address: 0x1110\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 1111    Cell temperature 2          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 2\"\n    address: 0x1111\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 1112    Cell temperature 3          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 3\"\n    address: 0x1112\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n\n  # 1113    Cell temperature 4          R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} cell temperature 4\"\n    address: 0x1113\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n  # 1118    Environment Temperature     R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} environment temperature\"\n    address: 0x1118\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -2731.5\n      - multiply: 0.1\n\n  # 1119    Power temperature           R    UINT16    2    0.1K\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    name: \"${name} mosfet temperature\"\n    address: 0x1119\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"\u00b0C\"\n    device_class: temperature\n    state_class: measurement\n    accuracy_decimals: 1\n    filters:\n      - offset: -273.15\n      - multiply: 0.01\n  \n\n  # Pack Info C\n  #\n  # 1200    Cells voltage 08-01low alarm state       R    HEX    1    1:alarm\n  # 1208    Cells voltage 16-09low alarm state       R    HEX    1    1:alarm\n  # 1210    Cells voltage 08-01high alarm state      R    HEX    1    1:alarm\n  # 1218    Cells voltage 16-09high alarm state      R    HEX    1    1:alarm\n  # 1220    Cell 08-01 temperature Tlow alarm state  R    HEX    1    1:alarm\n  # 1228    Cell 08-01 temperature high alarm state  R    HEX    1    1:alarm\n  # 1230    Cell 08-01 equalization event code       R    HEX    1    1:on 0:off\n  # 1238    Cell 16-09 equalization event code       R    HEX    1    1:on 0:off\n  # 1240    System state code                        R    HEX    1    See TB09\n  # 1248    Voltage event code                       R    HEX    1    See TB02\n  # 1250    Cells Temperature event code             R    HEX    1    See TB03\n  # 1258    Environment and power Temperature event code          R    HEX    1    See TB04\n  # 1260    Current event code1                      R    HEX    1    See TB05\n  # 1268    Current event code2                      R    HEX    1    See TB16\n  # 1270     The residual capacity code              R    HEX    1    See TB06\n\n  # System Parameter    reg. 1300...1367\n  # System Function     reg. 1400...1448\n  # System Control      reg. 1500...1519\n  # History Info        reg. 1600...1627\n  # Version Info        reg. 1700...1724\n  # PCS Control         reg. 1800...1823\n  # EMS Info A          reg. 2000...2019\n  # EMS Info B          reg. 2100...2115\n  # EMS Info C          reg. 2200...2248\n  #\n  # See docs\/XZH BMS Modbus-RTU Protocol.pdf\n\n  ############################################### DELTA ###########################################\n\n\n  - platform: template                   # Obliczanie r\u00f3\u017cnicy\n    name: \"${name} delta V cell\"\n    unit_of_measurement: \"V\"\n    accuracy_decimals: 3\n    device_class: power\n    state_class: \"measurement\"\n    lambda: |-\n      return (id(max_cell_voltage).state - id(min_cell_voltage).state);\n    update_interval: 5s\n    filters:\n      - multiply: 1\n\n  - platform: template                   # Obliczanie mocy\n    name: \"${name} power BMS\"\n    unit_of_measurement: \"W\"\n    accuracy_decimals: 0\n    device_class: power\n    state_class: \"measurement\"\n    lambda: |-\n      return (id(total_voltage).state * id(BMS_current).state);\n    update_interval: 5s\n\n\n############################################ SETTINGS ################################################\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_high_voltage_recover\n    name: \"${name} Battery high voltage recover\"\n    address: 0x1302\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_high_voltage_alarm\n    name: \"${name} Battery High voltage alarm\"\n    address: 0x1303\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_over_voltage_recover\n    name: \"${name} Battery over voltage recover\"\n    address: 0x1304\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_over_voltage_protection\n    name: \"${name} Battery over voltage protection\"\n    address: 0x1305\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_low_voltage_recover\n    name: \"${name} Battery low voltage recover\"\n    address: 0x1306\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_low_voltage_alarm\n    name: \"${name} Battery low voltage alarm\"\n    address: 0x1307\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_under_voltage_recover\n    name: \"${name} Battery under voltage recover\"\n    address: 0x1308\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Battery_under_voltage_protection\n    name: \"${name} Battery under voltage protection\"\n    address: 0x1309\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.01\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_high_voltage_recover\n    name: \"${name} Cell high voltage recover\"\n    address: 0x130A\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_high_voltage_alarm\n    name: \"${name} Cell high voltage alarm\"\n    address: 0x130B\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_over_voltage_recover\n    name: \"${name} Cell over voltage recover\"\n    address: 0x130C\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_over_voltage_protection\n    name: \"${name} Cell over voltage protection\"\n    address: 0x130D\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_low_voltage_recover\n    name: \"${name} Cell low voltage recover\"\n    address: 0x130E\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_low_voltage_alarm\n    name: \"${name} Cell low voltage alarm\"\n    address: 0x130F\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_under_voltage_recover\n    name: \"${name} Cell under voltage recover\"\n    address: 0x1310\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_under_voltage_protection\n    name: \"${name} Cell under voltage protection\"\n    address: 0x1311\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_under_voltage_fault\n    name: \"${name} Cell under voltage fault\"\n    address: 0x1312\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Cell_diff_protection\n    name: \"${name} Cell diff protection\"\n    address: 0x1313\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"V\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_charge_current_protection_cell\n    name: \"${name} Secondary charge current protection\"\n    address: 0x1314\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"mA\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n    filters:\n      - multiply: 0.001\n\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_high_current_recover\n    name: \"${name} Charge high current recover\"\n    address: 0x1315\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_high_current_alarm\n    name: \"${name} Charge high current alarm\"\n    address: 0x1316\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_over_current_protection\n    name: \"${name} Charge over current protection\"\n    address: 0x1317\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Charge_over_current_time_delay\n    name: \"${name} Charge over current time delay\"\n    address: 0x1318\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"s\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_charge_current_protection\n    name: \"${name} Secondary charge current protection\"\n    address: 0x1319\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_charge_current_time_delay\n    name: \"${name} Secondary charge current time delay\"\n    address: 0x131A\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"ms\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_low_current_recover\n    name: \"${name} Discharge low current recover\"\n    address: 0x131B\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_low_current_alarm\n    name: \"${name} Discharge low current alarm\"\n    address: 0x131C\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_over_current_protection\n    name: \"${name} Discharge over current protection\"\n    address: 0x131D\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Discharge_over_current_time_delay\n    name: \"${name} Discharge over current time delay\"\n    address: 0x131E\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"s\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n    filters:\n      - multiply: 0.1\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_discharge_current_protection\n    name: \"${name} Secondary discharge current protection\"\n    address: 0x131F\n    register_type: read\n    value_type: U_WORD\n    unit_of_measurement: \"A\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 2\n\n  - platform: modbus_controller\n    modbus_controller_id: bms0\n    id: Secondary_discharge_current_time\n    name: \"${name} Secondary discharge current time\"\n    address: 0x1320\n    register_type: read\n    value_type: S_WORD\n    unit_of_measurement: \"ms\"\n    entity_category: diagnostic\n    state_class: measurement\n    accuracy_decimals: 0\n<\/pre><\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Mamy ju\u017c dzia\u0142aj\u0105ce urz\u0105dzenie w ESPHOME:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"532\" height=\"275\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/Seplos-3.0.png\" alt=\"\" class=\"wp-image-798\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/Seplos-3.0.png 532w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/Seplos-3.0-300x155.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/figure>\n\n\n\n<div style=\"height:51px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Przechodzimy do Ustawienia =&gt; Urz\u0105dzenia oraz us\u0142ugi =&gt; Klikamy w ESPHOME =&gt; wybieramy Seplos , zobaczymy wszystkie interesuj\u0105ce nas encje: <\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1016\" height=\"880\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/seplos-encje.png\" alt=\"\" class=\"wp-image-799\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/seplos-encje.png 1016w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/seplos-encje-300x260.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/seplos-encje-768x665.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/seplos-encje-800x693.png 800w\" sizes=\"(max-width: 1016px) 100vw, 1016px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Je\u017celi wszystkie odczyty s\u0105 poprawne, mo\u017cemy przyst\u0105pi\u0107 do wizualizacji naszej baterii.<\/p>\n\n\n\n<p>Udajemy si\u0119 do naszego dashboard, wybieramy dodaj kart\u0119 (w prawym dolnym rogu), nast\u0119pnie wybieramy Edytor konfiguracji YAML: <\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"218\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/image-3.png\" alt=\"\" class=\"wp-image-800\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/image-3.png 888w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/image-3-300x74.png 300w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/image-3-768x189.png 768w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/image-3-800x196.png 800w\" sizes=\"(max-width: 888px) 100vw, 888px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>I wklejamy poni\u017cszy kod: <\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"height-set:true width-set:true width:800 lang:default decode:true \">type: vertical-stack\ncards:\n  - type: horizontal-stack\n    cards:\n      - type: custom:button-card\n        name: Cell Voltage Delta\n        size: 25%\n        entity: sensor.seplos_bms_delta_v_cell\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: false\n        label: &gt;\n          [[[ return 'Average Cell: ' +\n          Number.parseFloat(states['sensor.seplos_bms_average_cell_voltage'].state).toFixed(2)\n          + ' V']]]\n        icon: mdi:delta\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &lt; 0.010) return 'darkgreen';\n                  if (entity.state &lt; 0.020) return 'darkorange';\n                  else return 'red';\n                ]]]\n          card:\n            - font-size: 12px\n      - type: custom:button-card\n        name: Pack Voltage\n        size: 25%\n        entity: sensor.seplos_bms_total_voltage\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        icon: mdi:server\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 50) return 'darkgreen';\n                  if (entity.state &gt; 55) return 'darkorange';\n                  else return 'red';\n                ]]]\n          card:\n            - font-size: 12px\n      - type: custom:button-card\n        name: |\n          [[[\n            if (entity.state &lt; 0) return \"Discharging\";\n            else\n              return \"Charging\";\n          ]]]\n        size: 25%\n        entity: sensor.seplos_bms_power_bms\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        icon: |\n          [[[\n            if (entity.state &lt; 0) return \"mdi:battery-arrow-down-outline\";\n            else\n              return \"mdi:battery-arrow-up-outline\";\n          ]]]\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 5000) return 'darkred';\n                  if (entity.state &gt; 1000) return 'darkorange';\n                  if (entity.state &lt; -5000) return 'darkred';\n                  if (entity.state &lt; -1000) return 'darkorange';\n                  else return 'darkgreen';\n                ]]]\n          card:\n            - font-size: 12px\n  - type: horizontal-stack\n    cards:\n      - type: custom:button-card\n        name: SOC\n        size: 25%\n        entity: sensor.seplos_bms_state_of_charge\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        icon: |\n          [[[\n            if (entity.state &gt; 90) return \"mdi:battery\";\n            if (entity.state &gt; 80) return \"mdi:battery-90\";\n            if (entity.state &gt; 70) return \"mdi:battery-80\";\n            if (entity.state &gt; 60) return \"mdi:battery-70\";\n            if (entity.state &gt; 50) return \"mdi:battery-60\";\n            if (entity.state &gt; 40) return \"mdi:battery-50\";\n            if (entity.state &gt; 30) return \"mdi:battery-40\";\n            if (entity.state &gt; 20) return \"mdi:battery-30\";\n            if (entity.state &gt; 10) return \"mdi:battery-20\";\n            else\n              return \"mdi:battery-alert-variant-outline\";\n          ]]]\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 30 ) return 'darkgreen';\n                  if (entity.state &gt; 15 ) return 'yellow';\n                  else return 'red';\n                ]]]\n          card:\n            - font-size: 12px\n      - type: custom:button-card\n        name: SOH\n        size: 25%\n        entity: sensor.seplos_bms_state_of_health\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 99) return 'darkgreen';\n                  if (entity.state &gt; 95) return 'darkorange';\n                  else return 'red';\n                ]]]\n          card:\n            - font-size: 12px\n      - type: custom:button-card\n        name: Charging Cycles\n        size: 25%\n        entity: sensor.seplos_bms_cycle\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 5000) return 'darkred';\n                  else return 'darkgreen';\n                ]]]\n          card:\n            - font-size: 12px\n  - type: horizontal-stack\n    cards:\n      - type: custom:button-card\n        name: Mosfet temperature\n        size: 25%\n        entity: sensor.seplos_bms_mosfet_temperature\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 18) return 'darkgreen';\n                  if (entity.state &gt; 30) return 'darkorange';\n                  else return 'red';\n                ]]]\n          card:\n            - font-size: 12px\n      - type: custom:button-card\n        name: Environment temperature\n        size: 25%\n        entity: sensor.seplos_bms_environment_temperature\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 15) return 'darkgreen';\n                  if (entity.state &gt; 30) return 'darkorange';\n                  else return 'red';\n                ]]]\n          card:\n            - font-size: 12px\n      - type: custom:button-card\n        name: Max cell temperature\n        size: 25%\n        entity: sensor.seplos_bms_max_cell_temperature\n        show_icon: true\n        show_name: true\n        show_state: true\n        show_label: true\n        styles:\n          icon:\n            - color: |\n                [[[\n                  if (entity.state &gt; 18) return 'darkgreen';\n                  if (entity.state &gt; 30) return 'darkorange';\n                  else return 'red';\n                ]]]\n          card:\n            - font-size: 12px\n  - type: custom:bar-card\n    direction: up\n    columns: 8\n    decimal: 3\n    max: 3.45\n    min: 3\n    height: 80px\n    severity:\n      - color: darkred\n        from: 3.45\n        to: 4\n      - color: darkorange\n        from: 3.4\n        to: 3.45\n      - color: darkgreen\n        from: 3.1\n        to: 3.4\n      - color: darkred\n        from: 2.5\n        to: 3.1\n    positions:\n      icon: 'off'\n      indicator: inside\n      name: outside\n    style: |-\n      bar-card-value {\n        margin-right: auto;\n        margin-left: auto;\n        margin-bottom: 35px;\n        font-size: 10px;\n        font-weight: normal;\n        text-shadow: 1px 1px #0005;\n      }\n      bar-card-name {\n        margin-right: auto;\n        margin-left: auto;\n        margin-bottom: 0px;\n        font-size: 10px;\n        font-weight: normal;\n        text-shadow: 1px 1px #0005;\n      }\n    entities:\n      - entity: sensor.seplos_bms_cell_voltage_1\n        name: Cell 01\n      - entity: sensor.seplos_bms_cell_voltage_2\n        name: Cell 02\n      - entity: sensor.seplos_bms_cell_voltage_3\n        name: Cell 03\n      - entity: sensor.seplos_bms_cell_voltage_4\n        name: Cell 04\n      - entity: sensor.seplos_bms_cell_voltage_5\n        name: Cell 05\n      - entity: sensor.seplos_bms_cell_voltage_6\n        name: Cell 06\n      - entity: sensor.seplos_bms_cell_voltage_7\n        name: Cell 07\n      - entity: sensor.seplos_bms_cell_voltage_8\n        name: Cell 08\n      - entity: sensor.seplos_bms_cell_voltage_9\n        name: Cell 09\n      - entity: sensor.seplos_bms_cell_voltage_10\n        name: Cell 10\n      - entity: sensor.seplos_bms_cell_voltage_11\n        name: Cell 11\n      - entity: sensor.seplos_bms_cell_voltage_12\n        name: Cell 12\n      - entity: sensor.seplos_bms_cell_voltage_13\n        name: Cell 13\n      - entity: sensor.seplos_bms_cell_voltage_14\n        name: Cell 14\n      - entity: sensor.seplos_bms_cell_voltage_15\n        name: Cell 15\n      - entity: sensor.seplos_bms_cell_voltage_16\n        name: Cell 16\n  - type: custom:apexcharts-card\n    graph_span: 24h\n    update_interval: 5min\n    yaxis:\n      - id: first\n        decimals: 0\n        min: ~-6000\n        max: ~6000\n        apex_config:\n          tickAmount: 8\n      - id: second\n        opposite: true\n        decimals: 0\n        min: 0\n        max: 100\n        apex_config:\n          tickAmount: 4\n    apex_config:\n      chart:\n        height: 300px\n      xaxis:\n        type: datetime\n        labels:\n          show: false\n        tooltip:\n          enabled: false\n      grid:\n        show: true\n        xaxis:\n          lines:\n            show: false\n        yaxis:\n          lines:\n            show: true\n        position: back\n        strokeDashArray: 0.2\n      legend:\n        show: true\n    all_series_config:\n      show:\n        legend_value: true\n        datalabels: false\n        extremas: false\n        in_brush: false\n        in_header: false\n      float_precision: 0\n      invert: false\n      fill_raw: 'null'\n    header:\n      show: false\n      title: Overblik\n      show_states: true\n      colorize_states: false\n    series:\n      - entity: sensor.seplos_bms_state_of_charge\n        name: SOC\n        opacity: 1\n        stroke_width: 1.5\n        type: line\n        group_by:\n          duration: 1min\n          func: avg\n        show:\n          legend_value: true\n          name_in_header: true\n          in_header: raw\n        yaxis_id: second\n        float_precision: 1\n        color: gold\n      - entity: sensor.seplos_bms_power_bms\n        name: Power\n        opacity: 1\n        stroke_width: 1.5\n        type: line\n        group_by:\n          duration: 1min\n          func: max\n        show:\n          legend_value: true\n          name_in_header: true\n          in_header: raw\n        yaxis_id: first\n        color: orange\n      - entity: sensor.seplos_bms_average_cell_temperature\n        name: Temp\n        opacity: 0.8\n        stroke_width: 1.5\n        type: line\n        group_by:\n          duration: 1min\n          func: avg\n        show:\n          legend_value: true\n          name_in_header: true\n          in_header: raw\n        yaxis_id: second\n        float_precision: 1\n        color: dodgerblue\n      - entity: sensor.seplos_bms_total_voltage\n        name: Pack\n        opacity: 0.8\n        stroke_width: 1.5\n        type: line\n        group_by:\n          duration: 1min\n          func: avg\n        show:\n          legend_value: true\n          name_in_header: true\n          in_header: raw\n        yaxis_id: second\n        float_precision: 1\n        color: red\n<\/pre><\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Je\u017celi wszystkie kroki wykonali\u015bmy prawid\u0142owo, na karcie zobaczymy nast\u0119puj\u0105cy widok: <\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"523\" height=\"853\" src=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/Seplos-karta.png\" alt=\"\" class=\"wp-image-801\" srcset=\"https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/Seplos-karta.png 523w, https:\/\/hybrydaplus.pl\/wp-content\/uploads\/2024\/06\/Seplos-karta-184x300.png 184w\" sizes=\"(max-width: 523px) 100vw, 523px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Je\u015bli ten wpis na blogu okaza\u0142 si\u0119 dla Ciebie warto\u015bciowy i inspiruj\u0105cy, by\u0142oby mi niezmiernie mi\u0142o, gdyby\u015b m\u00f3g\u0142 postawi\u0107 mi kaw\u0119 za podzi\u0119kowanie. Tw\u00f3j gest b\u0119dzie dla mnie mi\u0142ym wsparciem, kt\u00f3re dodatkowo zainspiruje mnie do dalszego dzielenia si\u0119 wiedz\u0105 i do\u015bwiadczeniem. Dzi\u0119kuj\u0119 za docenienie mojej pracy!\ud83c\udf1f\u2615\ufe0f<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jako, \u017ce sta\u0142em si\u0119 posiadaczem nowego BMS postanowi\u0142em zintegrowa\u0107 go nie tylko z Deye ale te\u017c z HA. Co nam to daje? Mamy podgl\u0105d online na to co dzieje si\u0119 aktualnie na baterii z dok\u0142adno\u015bci\u0105 do poszczeg\u00f3lnych ogniw. Wi\u0119kszo\u015b\u0107 wiadomo\u015bci w wpisie pochodzi z bardzo ciekawego repo na githubie &#8211; syssi. Co potrzebujemy ? Oczywi\u015bcie znany ju\u017c Nam zestaw czyli esp32 z RS485 ( ca\u0142o\u015b\u0107 by\u0142a ju\u017c omawiana na blogu, ale mo\u017ce warto to<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/hybrydaplus.pl\/index.php\/2024\/06\/18\/komunikacja-seplos-3-0\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":803,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,1],"tags":[],"class_list":["post-793","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dashboard","category-inne"],"_links":{"self":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts\/793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/comments?post=793"}],"version-history":[{"count":11,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts\/793\/revisions"}],"predecessor-version":[{"id":826,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/posts\/793\/revisions\/826"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/media\/803"}],"wp:attachment":[{"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/media?parent=793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/categories?post=793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hybrydaplus.pl\/index.php\/wp-json\/wp\/v2\/tags?post=793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}