JK BMS pomocí BLE na ESP32 bez HA
Souhrn tématu
Připojení JK BMS model JK-B1A8S10P V15 k ESP32 přes Bluetooth Low Energy (BLE) bez použití Home Assistant je možné pomocí vlastního kódu v Arduino IDE. Napájení ESP32 lze zajistit DC/DC měničem z 12V nebo 48V baterie, přičemž menší variantou je ESP32C3 supermini s OLED displejem pro zobrazení dat. Kód umožňuje čtení a odesílání dat z BMS na server, včetně konfigurace parametrů jako balancování, nabíjení, ochrany článků a dalších nastavení BMS.
- lukas.okoun
- Příspěvky: 119
- Registrován: sob čer 11, 2022 4:28 pm
- Reputace:3
Re: JK BMS pomocí BLE na ESP32 bez HA
no ani ne, spíše jde o ten BLE chip protože jde o to kolik zvládne mít otevřených spojení, ale pokud existuje nějaké ESP32, které zvládne mít otevřené 6 BLE spojení tak se rád poučím 
jde to samozřejmě řešit tak že se to bude furt připojovat a odpojovat ale potom to asi nebude moc dělat dobře tomu JK a hlavně to bude furt pípat že
jde to samozřejmě řešit tak že se to bude furt připojovat a odpojovat ale potom to asi nebude moc dělat dobře tomu JK a hlavně to bude furt pípat že
- glottis
- Příspěvky: 4079
- Registrován: stř úno 02, 2022 10:30 am
- Reputace:573
- Lokalita: okolí Mělníka
- Systémové napětí: 48V
- Výkon panelů [Wp]: 13000
- Kapacita baterie [kWh]: 30
Re: JK BMS pomocí BLE na ESP32 bez HA
No ale ono to furt pipa
tada aspon me. Kdyz jsem ve sklepe, slysim to. Nebo sem sam komu to dela?
Ale ona BMS pipa uz jen tim ctenim dat, tak mozna to je jen ono a spojeni drzi otevrene. nebo to obcas udela reconect
- Migel
- Příspěvky: 1987
- Registrován: ned zář 25, 2022 10:47 am
- Reputace:377
- Lokalita: Pod Karpatmi
Re: JK BMS pomocí BLE na ESP32 bez HA
Ja som v tomto neandertalec a nerozumiem tomu tak ako iny.
Ale viem ze viac ako 6bmsiek som cez bluetooth nerozchodil a ani mi nedovolilo nahrat subor do esp ked som tam mal viac zariadeni zapisanych v yaml.
Nakoniec som to nechal tak, lebo mam vela bmsiek a nechcem tam mat vela especok...
Cez bluetooth dokaze akurat tak vycitat naviac odpor vodicov..
Takto tam mam jedno esp na 16bmsiek, ktore dokaze okrem vycitania jednotlivych dat aj vypinat aj zapinat jednotlive bmsky a to bohato staci, takze na bluetooth som sa
.
Ukazka z nodered dashboardu:
Ale viem ze viac ako 6bmsiek som cez bluetooth nerozchodil a ani mi nedovolilo nahrat subor do esp ked som tam mal viac zariadeni zapisanych v yaml.
Nakoniec som to nechal tak, lebo mam vela bmsiek a nechcem tam mat vela especok...
Cez bluetooth dokaze akurat tak vycitat naviac odpor vodicov..
Takto tam mam jedno esp na 16bmsiek, ktore dokaze okrem vycitania jednotlivych dat aj vypinat aj zapinat jednotlive bmsky a to bohato staci, takze na bluetooth som sa
Ukazka z nodered dashboardu:
JZ-2s5p 3,8kWp >> Epever 8415 AN
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
(rozširovania)
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
- somira
- Příspěvky: 111
- Registrován: pát říj 04, 2024 8:44 am
- Reputace:10
- Lokalita: Karlovarsko
- Systémové napětí: 24V
- Výkon panelů [Wp]: 3850
- Kapacita baterie [kWh]: 2x7,16
- Chci prodávat energii: NE
- Chci/Mám dotaci: ANO
Re: JK BMS pomocí BLE na ESP32 bez HA
pokud by někdo chtěl soubor yaml na baterii s 8 články a počeštěnou, tak takhle vypadá ta moje. Stačí přepsat:
- svůj název zařízení - Moje bat
- svou wifi - ssid: mojewifi
password: heslo
- svou Mac -XX:XX:XX:XX:XX:XX
- svůj název zařízení - Moje bat
- svou wifi - ssid: mojewifi
password: heslo
- svou Mac -XX:XX:XX:XX:XX:XX
Kód: Vybrat vše
[substitutions:
name: jk-bms
device_description: "Moje bat"
external_components_source: github://syssi/esphome-jk-bms@main
mac_address: XX:XX:XX:XX:XX:XX
# Please use "JK02_24S" if you own a old JK-BMS < hardware version 11.0 (hardware version >= 6.0 and < 11.0)
# Please use "JK02_32S" if you own a new JK-BMS >= hardware version 11.0 (f.e. JK-B2A8S20P hw 11.XW, sw 11.26)
# Please use "JK04" if you have some old JK-BMS <= hardware version 3.0 (f.e. JK-B2A16S hw 3.0, sw. 3.3.0)
protocol_version: JK02_32S
esphome:
name: ${name}
comment: ${device_description}
min_version: 2024.6.0
project:
name: "syssi.esphome-jk-bms"
version: 2.3.0
esp32:
board: wemos_d1_mini32
framework:
type: esp-idf
external_components:
- source: ${external_components_source}
refresh: 0s
wifi:
ssid: mojewifi
password: heslo
web_server:
port: 80
version: 2
ota:
platform: esphome
on_begin:
then:
- switch.turn_off: ble_client_switch0
- logger.log: "BLE connection suspended for OTA update"
logger:
level: DEBUG
logs:
esp32_ble_tracker: INFO
esp32_ble_client: INFO
# If you don't use Home Assistant please remove this `api` section and uncomment the `mqtt` component!
api:
# mqtt:
# broker: !secret mqtt_host
# username: !secret mqtt_username
# password: !secret mqtt_password
# id: mqtt_client
esp32_ble_tracker:
scan_parameters:
active: false
ble_client:
- mac_address: ${mac_address}
id: client0
jk_bms_ble:
- ble_client_id: client0
protocol_version: ${protocol_version}
throttle: 10s
id: bms0
binary_sensor:
- platform: jk_bms_ble
balancing:
name: "${name} balancování"
charging:
name: "${name} nabíjení"
discharging:
name: "${name} vybíjení"
heating:
name: "${name} ohřev"
online_status:
name: "${name} stav online"
dry_contact_1:
name: "${name} bezpotenciálový kontakt 1"
dry_contact_2:
name: "${name} bezpotenciálový kontakt 2"
button:
- platform: jk_bms_ble
retrieve_settings:
name: "${name} načíst nastavení"
retrieve_device_info:
name: "${name} načíst informace o zařízení"
number:
- platform: jk_bms_ble
jk_bms_ble_id: bms0
balance_trigger_voltage:
name: "${name} Rozdíl napětí pro spuštění balancování"
cell_count:
name: "${name} Počet článků"
total_battery_capacity:
name: "${name} Celková kapacita baterie"
cell_voltage_overvoltage_protection:
name: "${name} Přepěťová ochrana článku"
cell_voltage_overvoltage_recovery:
name: "${name} Obnovení po přepětí článku"
cell_voltage_undervoltage_protection:
name: "${name} Podpěťová ochrana článku"
cell_voltage_undervoltage_recovery:
name: "${name} Obnovení po podpětí článku"
balance_starting_voltage:
name: "${name} Startovní napětí balancování"
voltage_calibration:
name: "${name} Kalibrace napětí"
current_calibration:
name: "${name} Kalibrace proudu"
power_off_voltage:
name: "${name} Napětí pro vypnutí BMS"
max_balance_current:
name: "${name} Max. balanční proud"
max_charge_current:
name: "${name} Max. nabíjecí proud"
max_discharge_current:
name: "${name} Max. vybíjecí proud"
smart_sleep_voltage:
name: "${name} Napětí pro chytrý spánek"
cell_soc100_voltage:
name: "${name} Napětí článku pro 100% SOC"
cell_soc0_voltage:
name: "${name} Napětí článku pro 0% SOC"
cell_request_charge_voltage:
name: "${name} Požadované nabíjecí napětí článku"
cell_request_float_voltage:
name: "${name} Požadované udržovací (float) napětí článku"
cell_request_charge_voltage_time:
name: "${name} Čas nabíjecího napětí"
cell_request_float_voltage_time:
name: "${name} Čas udržovacího napětí"
charge_overcurrent_protection_delay:
name: "${name} Prodleva nadproudové ochrany při nabíjení"
charge_overcurrent_protection_recovery_time:
name: "${name} Čas obnovy po nadproudu při nabíjení"
discharge_overcurrent_protection_delay:
name: "${name} Prodleva nadproudové ochrany při vybíjení"
discharge_overcurrent_protection_recovery_time:
name: "${name} Čas obnovy po nadproudu při vybíjení"
short_circuit_protection_delay:
name: "${name} Prodleva ochrany proti zkratu"
short_circuit_protection_recovery_time:
name: "${name} Čas obnovy po zkratu"
charge_overtemperature_protection:
name: "${name} Teplotní ochrana při nabíjení (vysoká)"
charge_overtemperature_protection_recovery:
name: "${name} Obnova po vysoké teplotě při nabíjení"
discharge_overtemperature_protection:
name: "${name} Teplotní ochrana při vybíjení (vysoká)"
discharge_overtemperature_protection_recovery:
name: "${name} Obnova po vysoké teplotě při vybíjení"
charge_undertemperature_protection:
name: "${name} Teplotní ochrana při nabíjení (nízká)"
charge_undertemperature_protection_recovery:
name: "${name} Obnova po nízké teplotě při nabíjení"
power_tube_overtemperature_protection:
name: "${name} Teplotní ochrana výkonových tranzistorů (MOS)"
power_tube_overtemperature_protection_recovery:
name: "${name} Obnova po přehřátí tranzistorů (MOS)"
discharge_precharge_time:
name: "${name} Čas přednabití při vybíjení"
sensor:
- platform: jk_bms_ble
jk_bms_ble_id: bms0
min_cell_voltage:
name: "${name} článek-min napětí"
max_cell_voltage:
name: "${name} článek-max napětí"
min_voltage_cell:
name: "${name} článek s min napětím"
max_voltage_cell:
name: "${name} článek s max napětím"
delta_cell_voltage:
name: "${name} článek max-min napětí"
average_cell_voltage:
name: "${name} článek-pruměrné napětí"
cell_voltage_1:
name: "${name} článek-napětí 1"
cell_voltage_2:
name: "${name} článek-napětí 2"
cell_voltage_3:
name: "${name} článek-napětí 3"
cell_voltage_4:
name: "${name} článek-napětí 4"
cell_voltage_5:
name: "${name} článek-napětí 5"
cell_voltage_6:
name: "${name} článek-napětí 6"
cell_voltage_7:
name: "${name} článek-napětí 7"
cell_voltage_8:
name: "${name} článek-napětí 8"
cell_resistance_1:
name: "${name} článek-odpor 1"
cell_resistance_2:
name: "${name} článek-odpor 2"
cell_resistance_3:
name: "${name} článek-odpor 3"
cell_resistance_4:
name: "${name} článek-odpor 4"
cell_resistance_5:
name: "${name} článek-odpor 5"
cell_resistance_6:
name: "${name} článek-odpor 6"
cell_resistance_7:
name: "${name} článek-odpor 7"
cell_resistance_8:
name: "${name} článek-odpor 8"
total_voltage:
name: ".1 ${name} celkové napětí baterie"
current:
name: ".2 ${name} proud baterie"
heating_current:
name: "${name} topný proud"
power:
name: "${name} výkon"
charging_power:
name: ".3 ${name} nabíjecí výkon"
discharging_power:
name: ".4 ${name} vybíjecí výkon"
temperature_sensor_1:
name: "${name} teplotní sensor 1"
temperature_sensor_2:
name: "${name} teplotní sensor 2"
temperature_sensor_5:
name: "${name} teplotní sensor 5"
power_tube_temperature:
name: "${name} teplota výkonových tranzistoru"
balancing:
name: "${name} balancování"
state_of_charge:
name: ".0 ${name} stav nabití"
state_of_health:
name: "${name} celková kondice baterie"
capacity_remaining:
name: ".5 ${name} zbývající kapacita"
total_battery_capacity_setting:
name: "${name} nastavení celkové kapacity baterie"
charging_cycles:
name: ".6 ${name} nabíjecí cykly"
total_charging_cycle_capacity:
name: "${name} celková kapacita nabíjecích cyklu"
total_runtime:
name: "${name} celková doba provozu"
balancing_current:
name: "${name} proud balancování"
errors_bitmask:
name: "${name} errors bitmask"
emergency_time_countdown:
name: "${name} odpočítávání nouzového stavu"
charge_status_id:
name: "${name} charge status id"
charge_status_time_elapsed:
name: "${name} charge status time elapsed"
switch:
- platform: jk_bms_ble
charging:
name: "${name} nabíjení"
discharging:
name: "${name} vybíjení"
balancer:
name: "${name} balancování"
emergency:
name: "${name} nouzový režim"
heating:
name: "${name} ohřev"
disable_temperature_sensors:
name: "${name} vypnout teplotní senzory"
display_always_on:
name: "${name} displej stále zapnutý"
smart_sleep:
name: "${name} chytrý spánek"
disable_pcl_module:
name: "${name} vypnout PCL modul"
timed_stored_data:
name: "${name} časované ukládání dat"
charging_float_mode:
name: "${name} režim udržovacího nabíjení"
- platform: ble_client
ble_client_id: client0
name: "${name} povolit bluetooth připojení"
id: ble_client_switch0
text_sensor:
- platform: jk_bms_ble
errors:
name: "${name} chyby"
total_runtime_formatted:
name: "${name} celková doba provozu"
charge_status:
name: "${name} stav nabíjení"
software_version:
name: "${name} verze softwaru"
hardware_version:
name: "${name} verze hardwaru"/code]
náhled:[attachment=0]náhled bat.jpg[/attachment]- ElMa
- Příspěvky: 11
- Registrován: pát zář 25, 2026 9:03 pm
- Reputace:0
- Lokalita: cc
- Systémové napětí: 48V
Re: JK BMS pomocí BLE na ESP32 bez HA
https://cepower.org je asi neco podobneho volitelne (placene) i pres cloud a umi to i JBD BMS
jaky nejmensi ESP32 s m oznosti 12V napajeni mi poradite?
jaky nejmensi ESP32 s m oznosti 12V napajeni mi poradite?
- rva
- Příspěvky: 5166
- Registrován: úte dub 23, 2013 10:21 am
- Reputace:1028
- Lokalita: Kousek od Lysé nad Labem
- Systémové napětí: 48V
- Výkon panelů [Wp]: 46000
- Kapacita baterie [kWh]: 76
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Kousek od Lysé nad Labem
Re: JK BMS pomocí BLE na ESP32 bez HA
Z 12V se "vyrábí" 5V pro esp32 pomocí modulu DC/DC (některé jdou naletovat přímo na esp32). A nejmenší je asi esp32C3 supermini. Když si vezmeš verzi s oled displejem, tak na něm můžeš nechat rotovat některé hodnoty.
Takto jsem přidal dc/dc měnič z baterie 48V (pro komunikaci esp32C3 s JK-BMS)
Takto jsem přidal dc/dc měnič z baterie 48V (pro komunikaci esp32C3 s JK-BMS)
_______________________________________________________________________
FV: 43 kWp,
Baterie: LiFePO4 76 kWh,
Kombinované měniče/regulátory: 3x Isolar SM II (5 kW, 100 A, 450 V) + Isolar SMG II (6.2 kW, 120 A, 500 V)
Mppt regulátory: EPSolar ET6415N (60 A/150 V) + EASun ICharger 48100 (100 A / 150 V)
FV: 43 kWp,
Baterie: LiFePO4 76 kWh,
Kombinované měniče/regulátory: 3x Isolar SM II (5 kW, 100 A, 450 V) + Isolar SMG II (6.2 kW, 120 A, 500 V)
Mppt regulátory: EPSolar ET6415N (60 A/150 V) + EASun ICharger 48100 (100 A / 150 V)
- bokser01
- Příspěvky: 1727
- Registrován: pon úno 07, 2022 2:43 pm
- Reputace:142
- Lokalita: Okolí Pardubic
- Systémové napětí: 48V
- Výkon panelů [Wp]: 12120
- Kapacita baterie [kWh]: 32
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
Re: JK BMS pomocí BLE na ESP32 bez HA
Já si udělal pomocí AI svůj vlastní kod do arduino ide, vyčítám data z 2 BMS přes BT pomocí ESP32C3 malé desky z laskakit a napájím jí přímo z USB měniče.
Data si odesílám na svůj server kde je mám přístupné odkudkoliv.
Data si odesílám na svůj server kde je mám přístupné odkudkoliv.
2x MUST PV1800 VHM 48V 5000W. Baterie EVE 314Ah Grade A 2x16s (32Kwh) lehce přes 12kwp v panelech
Kdo je online
Uživatelé procházející toto fórum: Claudebot [Bot]
