vejvik

ESPhome JBD BMS

Mar 25th, 2023 (edited)
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  1. substitutions:
  2. name: jbd-bms-ble
  3. device_description: "Monitor and control a Xiaoxiang Battery Management System (JBD-BMS) via BLE"
  4. external_components_source: github://syssi/esphome-jbd-bms@main
  5. mac_address: A4:C1:37:50:75:C6
  6.  
  7. esphome:
  8. name: jbd-bms
  9. comment: ${device_description}
  10. project:
  11. name: "syssi.esphome-jbd-bms"
  12. version: 1.4.0
  13.  
  14. esp32:
  15. board: esp32dev
  16. framework:
  17. type: arduino
  18.  
  19. external_components:
  20. - source: ${external_components_source}
  21. refresh: 0s
  22.  
  23. wifi:
  24. ssid: !secret wifi_ssid
  25. password: !secret wifi_password
  26.  
  27. ota:
  28. password: "b98fe452bffc45cdbacb993fe99d1cf6"
  29. logger:
  30.  
  31. # If you use Home Assistant please remove this `mqtt` section and uncomment the native `api` component!
  32. # api:
  33.  
  34. # Enable Home Assistant API
  35. api:
  36. encryption:
  37. key: "z+BLpqKB03btGrK/cEl8ZSixoVGF7EBO+pBobnU+nXU="
  38.  
  39. esp32_ble_tracker:
  40. on_ble_advertise:
  41. then:
  42. - lambda: |-
  43. if (x.get_name().rfind("xiaoxiang", 0) == 0) {
  44. ESP_LOGI("ble_adv", "New JBD-BMS found");
  45. ESP_LOGI("ble_adv", " Name: %s", x.get_name().c_str());
  46. ESP_LOGI("ble_adv", " MAC address: %s", x.address_str().c_str());
  47. ESP_LOGD("ble_adv", " Advertised service UUIDs:");
  48. for (auto uuid : x.get_service_uuids()) {
  49. ESP_LOGD("ble_adv", " - %s", uuid.to_string().c_str());
  50. }
  51. }
  52. ble_client:
  53. - id: client0
  54. mac_address: ${mac_address}
  55.  
  56. jbd_bms_ble:
  57. - id: bms0
  58. ble_client_id: client0
  59. update_interval: 2s
  60.  
  61. binary_sensor:
  62. - platform: jbd_bms_ble
  63. jbd_bms_ble_id: bms0
  64. balancing:
  65. name: "${name} balancing"
  66. charging:
  67. name: "${name} charging"
  68. discharging:
  69. name: "${name} discharging"
  70. online_status:
  71. name: "${name} online status"
  72.  
  73. sensor:
  74. - platform: jbd_bms_ble
  75. jbd_bms_ble_id: bms0
  76. battery_strings:
  77. name: "${name} battery strings"
  78. current:
  79. name: "${name} current"
  80. power:
  81. name: "${name} power"
  82. charging_power:
  83. name: "${name} charging power"
  84. discharging_power:
  85. name: "${name} discharging power"
  86. state_of_charge:
  87. name: "${name} state of charge"
  88. nominal_capacity:
  89. name: "${name} nominal capacity"
  90. charging_cycles:
  91. name: "${name} charging cycles"
  92. capacity_remaining:
  93. name: "${name} capacity remaining"
  94. battery_cycle_capacity:
  95. name: "${name} battery cycle capacity"
  96. total_voltage:
  97. name: "${name} total voltage"
  98. average_cell_voltage:
  99. name: "${name} average cell voltage"
  100. delta_cell_voltage:
  101. name: "${name} delta cell voltage"
  102. min_cell_voltage:
  103. name: "${name} min cell voltage"
  104. max_cell_voltage:
  105. name: "${name} max cell voltage"
  106. min_voltage_cell:
  107. name: "${name} min voltage cell"
  108. max_voltage_cell:
  109. name: "${name} max voltage cell"
  110. temperature_1:
  111. name: "${name} temperature 1"
  112. temperature_2:
  113. name: "${name} temperature 2"
  114. temperature_3:
  115. name: "${name} temperature 3"
  116. cell_voltage_1:
  117. name: "${name} cell voltage 1"
  118. cell_voltage_2:
  119. name: "${name} cell voltage 2"
  120. cell_voltage_3:
  121. name: "${name} cell voltage 3"
  122. cell_voltage_4:
  123. name: "${name} cell voltage 4"
  124. cell_voltage_5:
  125. name: "${name} cell voltage 5"
  126. cell_voltage_6:
  127. name: "${name} cell voltage 6"
  128. cell_voltage_7:
  129. name: "${name} cell voltage 7"
  130. cell_voltage_8:
  131. name: "${name} cell voltage 8"
  132. cell_voltage_9:
  133. name: "${name} cell voltage 9"
  134. cell_voltage_10:
  135. name: "${name} cell voltage 10"
  136. cell_voltage_11:
  137. name: "${name} cell voltage 11"
  138. cell_voltage_12:
  139. name: "${name} cell voltage 12"
  140. cell_voltage_13:
  141. name: "${name} cell voltage 13"
  142. cell_voltage_14:
  143. name: "${name} cell voltage 14"
  144. operation_status_bitmask:
  145. name: "${name} operation status bitmask"
  146. errors_bitmask:
  147. name: "${name} errors bitmask"
  148. balancer_status_bitmask:
  149. name: "${name} balancer status bitmask"
  150. software_version:
  151. name: "${name} software version"
  152. # RSSI based on MAC address
  153. - platform: ble_rssi
  154. mac_address: A4:C1:37:50:75:C6
  155. name: "rssi jbd"
  156. - platform: wifi_signal
  157. name: "WiFi jbd"
  158. update_interval: 60s
  159. text_sensor:
  160. - platform: jbd_bms_ble
  161. jbd_bms_ble_id: bms0
  162. errors:
  163. name: "${name} errors"
  164. operation_status:
  165. name: "${name} operation status"
  166. device_model:
  167. name: "${name} device model"
  168.  
  169. switch:
  170. - platform: ble_client
  171. ble_client_id: client0
  172. name: "${name} enable bluetooth connection"
  173.  
  174. - platform: jbd_bms_ble
  175. jbd_bms_ble_id: bms0
  176. charging:
  177. name: "${name} charging"
  178. discharging:
  179. name: "${name} discharging"
  180. balancer:
  181. name: "${name} balancer"
Advertisement
Add Comment
Please, Sign In to add comment