Initial commit: Xiaoxiang Smart BMS Home Assistant integration
- BLE GATT communication via bleak (UART-over-GATT, service 0xff00) - Parses 0x03 (general info) and 0x04 (cell voltages) frames - Protocol verified against official RS485/UART spec V4 - DataUpdateCoordinator with 5s poll interval (configurable 2-60s) - Auto-reconnect on BLE disconnect - Config flow: BT auto-discovery + manual MAC entry + options flow - Sensors: voltage, current, power, SoC, capacity, cycles, temps, cells, cell delta - HACS-ready (hacs.json, manifest.json) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Xiaoxiang Smart BMS",
|
||||
"description": "Enter the Bluetooth address of your BMS, or select a discovered device from the dropdown.",
|
||||
"data": {
|
||||
"address": "Bluetooth Address"
|
||||
},
|
||||
"data_description": {
|
||||
"address": "MAC address of the BMS (e.g. AA:BB:CC:DD:EE:FF). Tip: pair the device first via your system Bluetooth settings."
|
||||
}
|
||||
},
|
||||
"confirm": {
|
||||
"title": "Confirm Xiaoxiang BMS",
|
||||
"description": "Connect to **{name}** ({address})?\n\nMake sure the BMS is powered on and within Bluetooth range."
|
||||
}
|
||||
},
|
||||
"abort": {
|
||||
"already_configured": "This BMS is already configured."
|
||||
},
|
||||
"error": {
|
||||
"cannot_connect": "Unable to connect to the BMS. Check the address and try again."
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "BMS Options",
|
||||
"description": "Adjust the polling interval. Lower values give more accurate real-time readings but use more Bluetooth bandwidth.",
|
||||
"data": {
|
||||
"poll_interval": "Poll interval (seconds)"
|
||||
},
|
||||
"data_description": {
|
||||
"poll_interval": "How often to request data from the BMS (2–60 seconds). Default is 5 s for solar/energy monitoring."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user