JK BMS pomocí BLE na ESP32 bez HA
Souhrn tématu
Uživatel hledá pomoc s připojením JK BMS (model JK-B1A8S10P V15) přes Bluetooth Low Energy (BLE) na ESP32 bez využití Home Assistant. Sdílí zkušenosti s programováním ESP32 pomocí AI a žádá o podporu při čtení dat z BMS na sériový port. Ve fóru je také k dispozici ukázkový yaml soubor pro konfiguraci ESPHome, který usnadňuje nastavení připojení a správu baterie s 8 články přes BLE.
- lukas.okoun
- Příspěvky: 97
- 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: 3764
- Registrován: stř úno 02, 2022 10:30 am
- Reputace:487
- 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: 1791
- Registrován: ned zář 25, 2022 10:47 am
- Reputace:297
- 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
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
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
- somira
- Příspěvky: 43
- Registrován: pát říj 04, 2024 8:44 am
- Reputace:0
- 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]Kdo je online
Uživatelé procházející toto fórum: Claudebot [Bot]
