Multi-BMS Home Assistant Integration (BMS Connector)
Easily connect and integrate various Battery Management Systems (BMS) with Home Assistant using this custom integration. This versatile tool provides detailed sensor readings, alarm notifications, and a wealth of telemetry data directly from multiple BMS units.
π Features
Supported BMS Systems
π§ Upcoming Features
- Extended support further for Seplos BMS 3.0.
- Improved scanning capabilities for various BMS models.
- Enhanced configuration options and multilingual support with translations.
- Codebase optimization and removal of unnecessary blueprint integrations.
- Robust error handling for enhanced stability.
π§ Installation
Via HACS (Home Assistant Community Store) as a Custom Repository
- Ensure you have HACS installed.
- Go to the HACS Integrations page.
- Click the three dots in the upper right corner and select "Custom repositories".
- Enter the URL
https://github.com/flip555/bms_connector
and choose Integration
from the category dropdown.
- Click "Add".
- You can now find
BMS Connector
in the Integrations list within HACS. Simply install it.
Manual Installation
- Clone this repository or download the ZIP file.
- Transfer the
bms_connector
folder from the repository into the custom_components
directory within your Home Assistant configuration.
- Restart Home Assistant.
βοΈ Configuration
- Access the Integrations page in the Home Assistant UI.
- Click the "+" icon at the bottom.
- Search for "BMS Connector" and start the configuration process.
- Select the appropriate source for your BMS hardware.
- For users with the
RS485-USB
setup, enter the USB port using the template /dev/ttyUSBX
, where X
represents the port number (e.g., /dev/ttyUSB0
).
- Click "Submit" to complete the setup.
πΈ Screenshots
π€ Contributing Guidelines
Thank you for your interest in contributing to our project! Whether you're reporting bugs, proposing new features, or contributing code, we appreciate your support. Here are some guidelines to follow:
Git Branch Workflow
Main Branch
- Branch name:
main
- Purpose: This branch contains the production-ready code. It should always be stable and deployable.
- Maintainer: flip555
Next Branch
- Branch name:
next-branch
- Purpose: This is the development or integration branch where new features and fixes are accumulated before being merged into
main
.
- Maintainer: flip555
Feature or Fix Branches
- Branch names: E.g.,
battery-multipacks
- Purpose: These branches are created for new features or fixes to keep work isolated. They will be merged into
next-branch
once completed.
- Maintainer: Individual contributors
Workflow Overview
- Creating new branches: For any new feature or fix, create a new branch.
- Merging into
next-branch
: Once your work is complete, create a pull request to merge it into next-branch
.
- Testing: Before merging changes into
main
, we conduct thorough testing in the next-branch
.
- Merging into
main
: After ensuring stability, changes from next-branch
are merged into main
.
- Releasing: Following a successful merge into
main
, tag the commit with a version number to indicate a new release.
- Reset
next-branch
: Post-release, reset next-branch
to the current state of main
to begin the next development cycle.
Getting Help
Feel free to use resources like ChatGPT to assist you, even if you are a novice coder. We are here to foster a collaborative and inclusive environment.
Reporting Issues
When reporting issues, please be as descriptive as possible. Provide the steps to reproduce the issue, expected outcome, and actual results.
Thank you for your collaboration and contribution!
π Support
Encountering an issue or need assistance? Don't hesitate to open an issue on the GitHub repository.
π References
- ChatGPT: Developed by OpenAI, ChatGPT is a large language model capable of understanding and generating human-like text.
- Seplos Protocol Manuals: You can find these in the assets/ directory of this repository.
- Integration Blueprint: A valuable template for creating custom components for Home Assistant. GitHub Repository
- ESPHome Seplos BMS: A related project that integrates Seplos BMS with ESPHome. GitHub Repository
- Modbus Seplos BMS Reader: A Modbus implementation for reading Seplos BMS data. GitHub Repository