Tip
Not sure which YAML to choose ? ... YamBMS_Remote_Packages_example.yaml
is a good basis for creating your custom YAML.
Examples of BMS and Shunt packages can be found in the examples folder.
You don't have to import a shunt but you must import at least one BMS.
You can mix different BMS models, the only condition is that the bms_id are numbered in order starting from 1 !
Tip
This method is the easiest for beginners.
Prerequisites: install the ESPHome Builder add-on in your Home Assistant server.
Copy, past and enter your credentials :
# WiFi
wifi_ssid: YourSSID
wifi_password: YourPassword
domain: .local
# WiFi AP
wifi_ap_ssid: YamBMS
wifi_ap_password: Y4mBM$85
# Web Server
web_server_username: yambms
web_server_password: Y4mBM$85Follow the procedure displayed on the screen.
Important
If your ESP32 already contains API or OTA keys, don't forget to add them to your YAML.
Follow the procedure displayed on the screen.
In Home Assistant under " Settings > Devices and services > Add Intergration " select ESPHome add device yambms if found or supply ip address of ESP32.
Before you can flash your ESP32 you need to install the ESPHome 2025.11.0 or higher command line application.
Follow these instructions for installation on Windows, Mac or Linux.
Tip
If you are using Windows install the setuptools package in addition to wheel and esphome.
pip3 install setuptools
pip3 install wheel
pip3 install esphomeTip
The packages folder is not necessary if you are compiling the Remote Packages version of the YAML.
You can do this from the command line or in your preferred method.
You need to gather the following three points in the same folder. If you are compiling from your HA server use the Samba Share add-on so that you can copy the packages folder to the esphome folder on the HA server.
- the
packagesfolder (not necessary withRPYAMLs) - your
secrets.yaml - your custom
main.yaml
# Clone this external component
git clone https://github.com/Sleeper85/esphome-yambms.git
cd esphome-yambms# WiFi
wifi_ssid: YourSSID
wifi_password: YourPassword
domain: .local
# WiFi AP
wifi_ap_ssid: YamBMS
wifi_ap_password: Y4mBM$85
# Web Server
web_server_username: yambms
web_server_password: Y4mBM$85# install your YamBMS.yaml
# validate the configuration, create a binary, upload it, and start logs.
esphome run YamBMS.yaml
# upgrade via OTA by specifying the IP address of the ESP32
esphome run YamBMS.yaml --device 192.168.x.xIn Home Assistant under " Settings > Devices and services > Add Intergration " select ESPHome add device yambms if found or supply ip address of ESP32.
# clean files before compiling again
esphome clean YamBMS.yaml
# test the config
esphome config YamBMS.yaml
# install the config in ESP32
esphome run YamBMS.yaml
# compile the firmware.bin
esphome compile YamBMS.yaml
# check the logs (the --device option is not required)
esphome logs YamBMS.yaml --device 192.168.x.xIf this component doesn't work out of the box for your device please update your configuration to increase the log level to DEBUG.
logger:
level: DEBUG