This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:tech:solarvilla [2023/04/16 08:15] – [Battery] bullar | en:tech:solarvilla [2023/04/16 08:30] (current) – [Donations] bullar | ||
---|---|---|---|
Line 263: | Line 263: | ||
| {{ : | | {{ : | ||
+ | |||
+ | ===== Settings ===== | ||
+ | |||
+ | Before we can go into operation, we still have to setup the BMS and the inverter. | ||
+ | |||
+ | === JKBMS === | ||
+ | |||
+ | The basic setting can be easily made via the app and at first the battery type LiFePo< | ||
+ | |||
+ | < | ||
+ | Balance starting voltage | ||
+ | Balance trigger voltage | ||
+ | Cell count 16 | ||
+ | Cell voltage overvoltage protection | ||
+ | Cell voltage overvoltage recovery | ||
+ | Cell voltage undervoltage protection | ||
+ | Cell voltage undervoltage recovery. | ||
+ | Max balance current | ||
+ | Max charge current | ||
+ | Max discharge current | ||
+ | Power off voltage | ||
+ | Total battery capacity | ||
+ | </ | ||
+ | |||
+ | === GROWATT SPF5000ES === | ||
+ | |||
+ | The inverter can be set directly at the device via the control panel or via the Growatt server. I have listed the most important parameters below: | ||
+ | |||
+ | < | ||
+ | Program Setting Option | ||
+ | ---------------------------------------------------------------------------------------------- | ||
+ | 1 SBU (SBU priority). | ||
+ | 2 62A | ||
+ | 3 APL (Appliance) | ||
+ | 4 DIS (disabled) | ||
+ | 5 US2 (user-defined 2) Battery type | ||
+ | 6 DIS (disabled) | ||
+ | 7 DIS (disabled) | ||
+ | 8 230V | ||
+ | 9 50Hz | ||
+ | 10 16 | ||
+ | 11 30A | ||
+ | 12 48.0V (3.0V x 16). Setting voltage point back to utility source when selecting “SBU priority” or “Solar first” in program 01 | ||
+ | 13 54.4V (3.4V x 16). Setting voltage point back to battery mode when selecting “SBU priority” or “Solar first” in program 01 | ||
+ | 14 CSO (solar first). | ||
+ | 15 ON | ||
+ | 16 ON | ||
+ | 17 ON | ||
+ | 18 ENA (enabled) | ||
+ | 19 56.8V (3.55V x 16). C.V. charging voltage. | ||
+ | 20 54.0V (3.375V x 16) | ||
+ | 21 44.0V | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Integration in Home Assistant ===== | ||
+ | |||
+ | As mentioned above, there is a handy app for the BMS for live data and settings. It runs via Bluetooth on iOS and Android. But in order to access it via Home Assistant, we needed a Bluetooth gateway. | ||
+ | |||
+ | :!: Warning: It must support Bluetooth 4.2 to be able to use frame lengths of more than 20 bytes. The 300 bytes of live data are sent in three notification frames. | ||
+ | |||
+ | A simple solution can again be achieved with an ESP32 module and ESPHome. You can find the software description [[https:// | ||
+ | My setup can be found in the attachment for reference. | ||
+ | |||
+ | ++++ jk-bms-ble.yaml | | ||
+ | |||
+ | <file yaml jk-bms-ble.yaml> | ||
+ | substitutions: | ||
+ | name: jk-bms | ||
+ | device_description: | ||
+ | external_components_source: | ||
+ | mac_address: | ||
+ | # Defaults to " | ||
+ | protocol_version: | ||
+ | |||
+ | esphome: | ||
+ | name: ${name} | ||
+ | comment: ${device_description} | ||
+ | project: | ||
+ | name: " | ||
+ | version: 1.2.0 | ||
+ | platformio_options: | ||
+ | build_flags: | ||
+ | - -DCONFIG_ARDUINO_LOOP_STACK_SIZE=32768 | ||
+ | |||
+ | esp32: | ||
+ | board: nodemcu-32s | ||
+ | framework: | ||
+ | # The arduino platform crashs | ||
+ | # type: arduino | ||
+ | # version: latest | ||
+ | type: esp-idf | ||
+ | version: latest | ||
+ | |||
+ | # Enable logging | ||
+ | logger: | ||
+ | |||
+ | # Enable Home Assistant API | ||
+ | api: | ||
+ | encryption: | ||
+ | key: " | ||
+ | |||
+ | ota: | ||
+ | password: " | ||
+ | |||
+ | wifi: | ||
+ | ssid: !secret wifi_ssid | ||
+ | password: !secret wifi_password | ||
+ | |||
+ | # Optional manual IP | ||
+ | manual_ip: | ||
+ | static_ip: 192.168.1.100 | ||
+ | gateway: 192.168.1.1 | ||
+ | subnet: 255.255.255.0 | ||
+ | |||
+ | # Enable fallback hotspot (captive portal) in case wifi connection fails | ||
+ | ap: | ||
+ | ssid: " | ||
+ | password: " | ||
+ | |||
+ | external_components: | ||
+ | - source: ${external_components_source} | ||
+ | refresh: 0s | ||
+ | |||
+ | esp32_ble_tracker: | ||
+ | |||
+ | ble_client: | ||
+ | - mac_address: | ||
+ | id: client0 | ||
+ | |||
+ | jk_bms_ble: | ||
+ | - ble_client_id: | ||
+ | protocol_version: | ||
+ | throttle: 5s | ||
+ | id: bms0 | ||
+ | |||
+ | binary_sensor: | ||
+ | - platform: jk_bms_ble | ||
+ | balancing: | ||
+ | name: " | ||
+ | charging: | ||
+ | name: " | ||
+ | discharging: | ||
+ | name: " | ||
+ | |||
+ | button: | ||
+ | - platform: jk_bms_ble | ||
+ | retrieve_settings: | ||
+ | name: " | ||
+ | retrieve_device_info: | ||
+ | name: " | ||
+ | |||
+ | number: | ||
+ | - platform: jk_bms_ble | ||
+ | jk_bms_ble_id: | ||
+ | balance_trigger_voltage: | ||
+ | name: " | ||
+ | cell_count: | ||
+ | name: " | ||
+ | total_battery_capacity: | ||
+ | name: " | ||
+ | cell_voltage_overvoltage_protection: | ||
+ | name: " | ||
+ | cell_voltage_overvoltage_recovery: | ||
+ | name: " | ||
+ | cell_voltage_undervoltage_protection: | ||
+ | name: " | ||
+ | cell_voltage_undervoltage_recovery: | ||
+ | name: " | ||
+ | balance_starting_voltage: | ||
+ | name: " | ||
+ | voltage_calibration: | ||
+ | name: " | ||
+ | current_calibration: | ||
+ | name: " | ||
+ | power_off_voltage: | ||
+ | name: " | ||
+ | max_balance_current: | ||
+ | name: " | ||
+ | max_charge_current: | ||
+ | name: " | ||
+ | max_discharge_current: | ||
+ | name: " | ||
+ | |||
+ | sensor: | ||
+ | - platform: jk_bms_ble | ||
+ | jk_bms_ble_id: | ||
+ | min_cell_voltage: | ||
+ | name: " | ||
+ | max_cell_voltage: | ||
+ | name: " | ||
+ | min_voltage_cell: | ||
+ | name: " | ||
+ | max_voltage_cell: | ||
+ | name: " | ||
+ | delta_cell_voltage: | ||
+ | name: " | ||
+ | average_cell_voltage: | ||
+ | name: " | ||
+ | cell_voltage_1: | ||
+ | name: " | ||
+ | cell_voltage_2: | ||
+ | name: " | ||
+ | cell_voltage_3: | ||
+ | name: " | ||
+ | cell_voltage_4: | ||
+ | name: " | ||
+ | cell_voltage_5: | ||
+ | name: " | ||
+ | cell_voltage_6: | ||
+ | name: " | ||
+ | cell_voltage_7: | ||
+ | name: " | ||
+ | cell_voltage_8: | ||
+ | name: " | ||
+ | cell_voltage_9: | ||
+ | name: " | ||
+ | cell_voltage_10: | ||
+ | name: " | ||
+ | cell_voltage_11: | ||
+ | name: " | ||
+ | cell_voltage_12: | ||
+ | name: " | ||
+ | cell_voltage_13: | ||
+ | name: " | ||
+ | cell_voltage_14: | ||
+ | name: " | ||
+ | cell_voltage_15: | ||
+ | name: " | ||
+ | cell_voltage_16: | ||
+ | name: " | ||
+ | cell_voltage_17: | ||
+ | name: " | ||
+ | cell_voltage_18: | ||
+ | name: " | ||
+ | cell_voltage_19: | ||
+ | name: " | ||
+ | cell_voltage_20: | ||
+ | name: " | ||
+ | cell_voltage_21: | ||
+ | name: " | ||
+ | cell_voltage_22: | ||
+ | name: " | ||
+ | cell_voltage_23: | ||
+ | name: " | ||
+ | cell_voltage_24: | ||
+ | name: " | ||
+ | cell_resistance_1: | ||
+ | name: " | ||
+ | cell_resistance_2: | ||
+ | name: " | ||
+ | cell_resistance_3: | ||
+ | name: " | ||
+ | cell_resistance_4: | ||
+ | name: " | ||
+ | cell_resistance_5: | ||
+ | name: " | ||
+ | cell_resistance_6: | ||
+ | name: " | ||
+ | cell_resistance_7: | ||
+ | name: " | ||
+ | cell_resistance_8: | ||
+ | name: " | ||
+ | cell_resistance_9: | ||
+ | name: " | ||
+ | cell_resistance_10: | ||
+ | name: " | ||
+ | cell_resistance_11: | ||
+ | name: " | ||
+ | cell_resistance_12: | ||
+ | name: " | ||
+ | cell_resistance_13: | ||
+ | name: " | ||
+ | cell_resistance_14: | ||
+ | name: " | ||
+ | cell_resistance_15: | ||
+ | name: " | ||
+ | cell_resistance_16: | ||
+ | name: " | ||
+ | cell_resistance_17: | ||
+ | name: " | ||
+ | cell_resistance_18: | ||
+ | name: " | ||
+ | cell_resistance_19: | ||
+ | name: " | ||
+ | cell_resistance_20: | ||
+ | name: " | ||
+ | cell_resistance_21: | ||
+ | name: " | ||
+ | cell_resistance_22: | ||
+ | name: " | ||
+ | cell_resistance_23: | ||
+ | name: " | ||
+ | cell_resistance_24: | ||
+ | name: " | ||
+ | total_voltage: | ||
+ | name: " | ||
+ | current: | ||
+ | name: " | ||
+ | power: | ||
+ | name: " | ||
+ | charging_power: | ||
+ | name: " | ||
+ | discharging_power: | ||
+ | name: " | ||
+ | temperature_sensor_1: | ||
+ | name: " | ||
+ | temperature_sensor_2: | ||
+ | name: " | ||
+ | power_tube_temperature: | ||
+ | name: " | ||
+ | state_of_charge: | ||
+ | name: " | ||
+ | capacity_remaining: | ||
+ | name: " | ||
+ | total_battery_capacity_setting: | ||
+ | name: " | ||
+ | charging_cycles: | ||
+ | name: " | ||
+ | total_charging_cycle_capacity: | ||
+ | name: " | ||
+ | total_runtime: | ||
+ | name: " | ||
+ | balancing_current: | ||
+ | name: " | ||
+ | errors_bitmask: | ||
+ | name: " | ||
+ | |||
+ | switch: | ||
+ | - platform: jk_bms_ble | ||
+ | charging: | ||
+ | name: " | ||
+ | discharging: | ||
+ | name: " | ||
+ | balancer: | ||
+ | name: " | ||
+ | |||
+ | - platform: ble_client | ||
+ | ble_client_id: | ||
+ | name: " | ||
+ | |||
+ | text_sensor: | ||
+ | - platform: jk_bms_ble | ||
+ | errors: | ||
+ | name: " | ||
+ | total_runtime_formatted: | ||
+ | name: " | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | The GROWATT Inverter can be integrated directly into Home Assistant via [[https:// | ||
+ | |||
+ | ===== Operation and Costs ===== | ||
+ | |||
+ | The plant has been in operation since March 2022 and generates between 430KW and 500KW per month depending on the weather. The best day so far was in March with 24KW and the worst with 1.2KW in November. However, October and November are also the months with the most precipitation (see [[de: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The specified values are not the really achievable ones, since the inverter regulates down when the batteries are full and the house demand is below the current production capacity. What should he do with the energy if nobody can take it. We have observed this effect a few times. Nevertheless, | ||
+ | |||
+ | With an approximate average of 450KW/ | ||
+ | |||
+ | The entire solar system without the service line and roof substructure cost us **206,000 Bath**, which is **€5, | ||
+ | |||
+ | From today' | ||
+ | |||
+ | Not to be forgotten, however, is the increase in comfort in the event of a grid failure when the neighbors have to fiddle with torches and candles, as well as the really good feeling of using solar energy when you turn on the air conditioning... | ||
+ | |||
+ | Finally, the charging and discharging chart over three days. The batteries are charged from around 7:00 a.m. to around 6:00 p.m., after which the discharge begins. If the charge falls well below 20%, the grid will charge. Shown by the linear increase on the first and last night. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | =====Links===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== Donations ===== | ||
+ | |||
+ | If you want to support my work, you can donate me a cappuccino or something like this... | ||
+ | |||
+ | < | ||
+ | |||
+ | <form action=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <img alt="" | ||
+ | </ | ||
+ | |||
+ | </ |