Home Assistant Esphome JK-BMS

Diskuze, rady a návody ohledně HomeAssistant
bob030
Příspěvky: 4
Registrován: stř říj 05, 2022 8:26 am
Bydliště: u Ivančic

Re: Home Assistant Esphome JK-BMS

Příspěvek od bob030 »

Už funguje přes kabel i zapínání/vypínání nabíjení a vybíjení.
Honza
rva
Příspěvky: 3936
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: Home Assistant Esphome JK-BMS

Příspěvek od rva »

Nějak mi u vyčítání hodnot přes BT roste nepravidelnost čtení. Dříve (horní čtveřice) to vyčítalo celkem pravidelně. A dnes (spodní čtveřice) to u JK-BMS 1/a vyčítá dost nepravděpodobně.
4xJK-BMS přes BLE (3x ESP32) - nepravidelnost vyčítání dat
4xJK-BMS přes BLE (3x ESP32) - nepravidelnost vyčítání dat
_______________________________________________________________________
43 kWp, LiFePO4 62 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
Uživatelský avatar
TomHC
Příspěvky: 1750
Registrován: pát lis 11, 2022 8:14 am
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 5520
Kapacita baterie [kWh]: 14
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

Re: Home Assistant Esphome JK-BMS

Příspěvek od TomHC »

rva píše: úte úno 27, 2024 3:10 pm Nějak mi u vyčítání hodnot přes BT roste nepravidelnost čtení. Dříve (horní čtveřice) to vyčítalo celkem pravidelně. A dnes (spodní čtveřice) to u JK-BMS 1/a vyčítá dost nepravděpodobně.JK-BMS v Home Assistant přes ble 2.jpg
Jeej, to je pekné ten bodkovaný graf, daj návod ako na to, dík.
2x MUST PH1800 5.5kW, 8.85kWp 3x 2S3P, V+J+Z, 16x 280 Ah LiFePO4 (14.3 kWh), BMS JBD 200A, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485 + UART). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome 01/2023 -> 10/2024 = 8.3 MWh AC
rva
Příspěvky: 3936
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: Home Assistant Esphome JK-BMS

Příspěvek od rva »

To ne já, to sama grafana, do které jsem přidával další série (napětí na článcích 1 - 16). V json to vypadá nějak takto (jestli to někdo vidí):

Kód: Vybrat vše

{
  "datasource": {
    "type": "influxdb",
    "uid": "XBRsPxX7k"
  },
  "description": "",
  "fieldConfig": {
    "defaults": {
      "custom": {
        "drawStyle": "line",
        "lineInterpolation": "linear",
        "barAlignment": 0,
        "lineWidth": 1,
        "fillOpacity": 0,
        "gradientMode": "none",
        "spanNulls": false,
        "insertNulls": false,
        "showPoints": "auto",
        "pointSize": 5,
        "stacking": {
          "mode": "none",
          "group": "A"
        },
        "axisPlacement": "auto",
        "axisLabel": "",
        "axisColorMode": "text",
        "axisBorderShow": false,
        "scaleDistribution": {
          "type": "linear"
        },
        "axisCenteredZero": false,
        "hideFrom": {
          "tooltip": false,
          "viz": false,
          "legend": false
        },
        "thresholdsStyle": {
          "mode": "area"
        }
      },
      "unitScale": true,
      "color": {
        "mode": "palette-classic"
      },
      "mappings": [],
      "thresholds": {
        "mode": "absolute",
        "steps": [
          {
            "color": "green",
            "value": null
          },
          {
            "color": "blue",
            "value": 3.38
          },
          {
            "color": "red",
            "value": 3.55
          }
        ]
      }
    },
    "overrides": []
  },
  "gridPos": {
    "h": 8,
    "w": 12,
    "x": 0,
    "y": 0
  },
  "id": 2,
  "options": {
    "tooltip": {
      "mode": "single",
      "sort": "none"
    },
    "legend": {
      "showLegend": true,
      "displayMode": "list",
      "placement": "bottom",
      "calcs": []
    }
  },
  "targets": [
    {
      "alias": "1",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "A",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_1"
        }
      ]
    },
    {
      "alias": "2",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "C",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_2"
        }
      ]
    },
    {
      "alias": "3",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "D",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_3"
        }
      ]
    },
    {
      "alias": "4",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "E",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_4"
        }
      ]
    },
    {
      "alias": "5",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "F",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_5"
        }
      ]
    },
    {
      "alias": "6",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "G",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_6"
        }
      ]
    },
    {
      "alias": "7",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "H",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_7"
        }
      ]
    },
    {
      "alias": "8",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "I",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_8"
        }
      ]
    },
    {
      "alias": "9",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "J",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_9"
        }
      ]
    },
    {
      "alias": "10",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "K",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_10"
        }
      ]
    },
    {
      "alias": "11",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "L",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_11"
        }
      ]
    },
    {
      "alias": "12",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "M",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_12"
        }
      ]
    },
    {
      "alias": "13",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "N",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_13"
        }
      ]
    },
    {
      "alias": "14",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "O",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_14"
        }
      ]
    },
    {
      "alias": "15",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "P",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_15"
        }
      ]
    },
    {
      "alias": "16",
      "datasource": {
        "type": "influxdb",
        "uid": "XBRsPxX7k"
      },
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "null"
          ],
          "type": "fill"
        }
      ],
      "hide": false,
      "measurement": "V",
      "orderByTime": "ASC",
      "policy": "autogen",
      "refId": "Q",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "value"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "mean"
          }
        ]
      ],
      "tags": [
        {
          "key": "entity_id::tag",
          "operator": "=",
          "value": "esp32_5_bms1_cell_voltage_16"
        }
      ]
    }
  ],
  "title": "246 Ah ve sklepě - napětí na článcích",
  "type": "timeseries"
}
Je to to, co je nacvakané tady (v plném rozlišení je vidět, co bylo v grafana zvoleno):
nacvakaný graf v grafana
nacvakaný graf v grafana
A navíc jsem ten popis popletl. Mám 4x JK-BMS, které jsou připojeny na 3x ESP32. Tedy jedna ESP32 komunikuje se dvěma JK-BMS a u ní to začíná nějak drhnout s plynulostí přenosu dat.
_______________________________________________________________________
43 kWp, LiFePO4 62 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
acmetelka
Příspěvky: 31
Registrován: úte kvě 02, 2023 4:09 pm
Lokalita: kousek na východ od Prahy
Systémové napětí: >48V
Výkon panelů [Wp]: 4400
Kapacita baterie [kWh]: 14500
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Home Assistant Esphome JK-BMS

Příspěvek od acmetelka »

Nevíte prosím, je v protokolu přes kabel RS485 i informace o balančním proudu? Nebo aspoň info, že BMS právě balancuje? Hledal jsem to v dokumentaci protokolu horem dolem, ale vypadá to, že toto je pouze v BT komunikaci. Ani sissi to u kabelové komunikace mezi vyčítanými hodnotami nemá. Mám to teď do automatizace napojené pouze kabelem, snažím se rozchodit ESPHome s modulem WT32-ETH01 přes BT, což se mi ale zatím nedaří, prozatím v logu mám neustálé připojování a zase odpojování BLE trackeru, zkoumám, čím to může být.

Jinak taky jsem měl po 3 měsících fungování BMS problém s odemknutím nastavení parametrů přes heslo, které jsem si na začátku změnil. Dostal jsem i nějaké dočasné heslo od podpory od ALI prodejce, ale taky nic. Nakonec mi funguje pouze to, že na první kliknutí po zadání hesla to zahlásí chybu, a na druhé nebo třetí kliknutí heslo normálně vezme a změnu parametrů odemkne. :roll: Tak jen kdyby na toto někdo narazil, zkusit klikat na tlačítko po zadání hesla vícekrát. :D
V1: (6/2023 -> 3/2024) - JJZ 3,3 kWp 6 x "Xtend Solarmi Schutten STM-550/144-S3"; BEL stavebnice + DIY chlazení; AKU 500l ohřev TUV
V2: (3-2024 -> ) JJZ 4,4 kWp 8 x 550Wp, EASUN SMH-II-7KW, 16xLiFePO4 z NKON 305Ah + JKBMS 150/2A, přepínač sítí, PLC Foxtrot, EmonCMS grafy - ve fázi ladění, dokončování
rva
Příspěvky: 3936
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: Home Assistant Esphome JK-BMS

Příspěvek od rva »

Po kabelu je informace "balancing".
_______________________________________________________________________
43 kWp, LiFePO4 62 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
acmetelka
Příspěvky: 31
Registrován: úte kvě 02, 2023 4:09 pm
Lokalita: kousek na východ od Prahy
Systémové napětí: >48V
Výkon panelů [Wp]: 4400
Kapacita baterie [kWh]: 14500
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Home Assistant Esphome JK-BMS

Příspěvek od acmetelka »

rva píše: pát črc 12, 2024 1:29 pm Po kabelu je informace "balancing".
Hm a jaká to je adresa v protokolu? Já prostě nějak nemůžu najít adresu, ze které toto vyčíst. Viz tady např. od @marshal64 soubor s popisem protokolu: viewtopic.php?p=211961#p211961 :dontknow: Díky!
V1: (6/2023 -> 3/2024) - JJZ 3,3 kWp 6 x "Xtend Solarmi Schutten STM-550/144-S3"; BEL stavebnice + DIY chlazení; AKU 500l ohřev TUV
V2: (3-2024 -> ) JJZ 4,4 kWp 8 x 550Wp, EASUN SMH-II-7KW, 16xLiFePO4 z NKON 305Ah + JKBMS 150/2A, přepínač sítí, PLC Foxtrot, EmonCMS grafy - ve fázi ladění, dokončování
rva
Příspěvky: 3936
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: Home Assistant Esphome JK-BMS

Příspěvek od rva »

Nevím, neznám. Používám právě integraci od syssi. A tam je tento parametr uveden.

Kód: Vybrat vše

binary_sensor:
  - platform: jk_bms
    balancing:
      name: "${name} balancing"
    balancing_switch:
      name: "${name} balancing switch"
    charging:
      name: "${name} charging"
    discharging:
      name: "${name} discharging"
    dedicated_charger_switch:
      name: "${name} dedicated charger switch"
    online_status:
      name: "${name} online status"
_______________________________________________________________________
43 kWp, LiFePO4 62 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek