Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/syssi/esphome-ant-bms

ESPHome component to monitor and control a ANT-BMS via UART
https://github.com/syssi/esphome-ant-bms

ant-bms esphome esphome-component hacktoberfest uart

Last synced: about 22 hours ago
JSON representation

ESPHome component to monitor and control a ANT-BMS via UART

Awesome Lists containing this project

README

        

# esphome-ant-bms

![GitHub actions](https://github.com/syssi/esphome-ant-bms/actions/workflows/ci.yaml/badge.svg)
![GitHub stars](https://img.shields.io/github/stars/syssi/esphome-ant-bms)
![GitHub forks](https://img.shields.io/github/forks/syssi/esphome-ant-bms)
![GitHub watchers](https://img.shields.io/github/watchers/syssi/esphome-ant-bms)
[!["Buy Me A Coffee"](https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg)](https://www.buymeacoffee.com/syssi)

ESPHome component to monitor and control a ANT-BMS via UART or BLE

![Lovelace entities card](lovelace-entities-card.png "Lovelace entities card")

## Supported devices

* ANT-BLE16ZMUB, 16ZMUB00-220501A, 16ZMB0TB120A (by `ant_bms_ble`)
* ANT-BLE24BHUB, 24BHUB00-211026A, 24BH (by `ant_bms_ble`)
* 16ZMB-TB-7-16S-300A ([7-16S, 300A, 2021-08-12](https://github.com/esphome/feature-requests/issues/1396#issuecomment-1017462249))
* 24AHA-TB-24S-200A ([10-24S, 200A, 2021-09-28](https://github.com/syssi/esphome-ant-bms/issues/36#issuecomment-1086251894))
* ANT 16S 100A ([16S, 100A, 2020](https://github.com/syssi/esphome-ant-bms/issues/28#issuecomment-1069100025))
* ANT 24S 200A ([8-24S, 200A, 2020](https://github.com/syssi/esphome-ant-bms/issues/36#issuecomment-1086251894))
* ANT 32S 300A ([8-32S, 300A](https://github.com/syssi/esphome-ant-bms/issues/70))

## Untested devices

* ANT H-24S 180A

## Requirements

* [ESPHome 2024.6.0 or higher](https://github.com/esphome/esphome/releases).
* Generic ESP32 or ESP8266 board

## Schematics

```
UART-TTL
┌──────────┐ ┌─────────┐
│ │<----- RX ----->│ │
│ ANT-BMS │<----- TX ----->│ ESP32/ │
│ │<----- GND ---->│ ESP8266 │<-- 3.3V
│ │<----- 3.3V --->│ │<-- GND
└──────────┘ └─────────┘

│ ANT-BMS │
│ │
│ Comm Temp │
└─[oooo]──[oooooooo]──[oooooooo]──[oooo]─┘
││││
││││ (ESP32) / (ESP8266)
││││
│││└─ TXD (GPIO16) (GPIO4)
││└── RXD (GPIO17) (GPIO5)
│└─── GND (GND) (GND)
└──── VCC (3.3V) (3.3V)
```

The connector is a 4 Pin JST 1.25mm. It's important to connect VCC too because the BMS doesn't respond/start if you connect TXD, RXD and GND only.

https://github.com/syssi/esphome-ant-bms/issues/1#issuecomment-1049048825

## Installation

You can install this component with [ESPHome external components feature](https://esphome.io/components/external_components.html) like this:
```yaml
external_components:
- source: github://syssi/esphome-ant-bms@main
```

or just use the `esp32-example.yaml` as proof of concept:

```bash
# Install esphome
pip3 install esphome

# Clone this external component
git clone https://github.com/syssi/esphome-ant-bms.git
cd esphome-ant-bms

# Create a secrets.yaml containing some setup specific secrets
cat > secrets.yaml <