Advertisement
vejvik

BMS JBD BT

Apr 29th, 2023
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. substitutions:
  2. name: bms
  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: 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. device_class: "current"
  81. state_class: "measurement"
  82. power:
  83. name: "${name} power"
  84. device_class: "power"
  85. state_class: "measurement"
  86. charging_power:
  87. name: "${name} charging power"
  88. device_class: "power"
  89. state_class: "measurement"
  90. discharging_power:
  91. name: "${name} discharging power"
  92. device_class: "power"
  93. state_class: "measurement"
  94. state_of_charge:
  95. name: "${name} state of charge"
  96. device_class: "battery"
  97. state_class: "measurement"
  98. nominal_capacity:
  99. name: "${name} nominal capacity"
  100. charging_cycles:
  101. name: "${name} charging cycles"
  102. capacity_remaining:
  103. name: "${name} capacity remaining"
  104. battery_cycle_capacity:
  105. name: "${name} battery cycle capacity"
  106. total_voltage:
  107. name: "${name} total voltage"
  108. device_class: "voltage"
  109. state_class: "measurement"
  110. average_cell_voltage:
  111. name: "${name} average cell voltage"
  112. delta_cell_voltage:
  113. name: "${name} delta cell voltage"
  114. min_cell_voltage:
  115. name: "${name} min cell voltage"
  116. max_cell_voltage:
  117. name: "${name} max cell voltage"
  118. min_voltage_cell:
  119. name: "${name} min voltage cell"
  120. max_voltage_cell:
  121. name: "${name} max voltage cell"
  122. temperature_1:
  123. name: "${name} temperature 1"
  124. temperature_2:
  125. name: "${name} temperature 2"
  126. temperature_3:
  127. name: "${name} temperature 3"
  128. cell_voltage_1:
  129. name: "${name} cell voltage 01"
  130. cell_voltage_2:
  131. name: "${name} cell voltage 02"
  132. cell_voltage_3:
  133. name: "${name} cell voltage 03"
  134. cell_voltage_4:
  135. name: "${name} cell voltage 04"
  136. cell_voltage_5:
  137. name: "${name} cell voltage 05"
  138. cell_voltage_6:
  139. name: "${name} cell voltage 06"
  140. cell_voltage_7:
  141. name: "${name} cell voltage 07"
  142. cell_voltage_8:
  143. name: "${name} cell voltage 08"
  144. cell_voltage_9:
  145. name: "${name} cell voltage 09"
  146. cell_voltage_10:
  147. name: "${name} cell voltage 10"
  148. cell_voltage_11:
  149. name: "${name} cell voltage 11"
  150. cell_voltage_12:
  151. name: "${name} cell voltage 12"
  152. cell_voltage_13:
  153. name: "${name} cell voltage 13"
  154. cell_voltage_14:
  155. name: "${name} cell voltage 14"
  156. operation_status_bitmask:
  157. name: "${name} operation status bitmask"
  158. errors_bitmask:
  159. name: "${name} errors bitmask"
  160. balancer_status_bitmask:
  161. name: "${name} balancer status bitmask"
  162. software_version:
  163. name: "${name} software version"
  164. # RSSI based on MAC address
  165. - platform: ble_rssi
  166. mac_address: A4:C1:37:50:75:C6
  167. name: "rssi jbd"
  168. - platform: wifi_signal
  169. name: "WiFi FVE"
  170. update_interval: 60s
  171. text_sensor:
  172. - platform: jbd_bms_ble
  173. jbd_bms_ble_id: bms0
  174. errors:
  175. name: "${name} errors"
  176. operation_status:
  177. name: "${name} operation status"
  178. device_model:
  179. name: "${name} device model"
  180.  
  181.  
  182. switch:
  183. - platform: ble_client
  184. ble_client_id: client0
  185. name: "${name} enable bluetooth connection"
  186.  
  187. - platform: jbd_bms_ble
  188. jbd_bms_ble_id: bms0
  189. charging:
  190. name: "${name} charging"
  191. discharging:
  192. name: "${name} discharging"
  193. balancer:
  194. name: "${name} balancer"
  195.  
  196.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement