En esta entrada os voy a dejar la información necesaria para el montaje y prueba de la BMS Daly con bluetooth y UART y su conexión con Home Assistant a través de MQTT.
Materiales:
- BMS Daly con bluetooth y UART.
- Sensor DHT11 (opcional).
- Esp32 o Nodemcu.
- Home Assistant instalado y MQTT server.
- Interruptor de 3 a 5 pines, 2 posiciones (ON,ON).
- Cable fino. lo podemos conseguir de cualquier cable USB que tengamos por casa.
- Soldador y estaño.
Las conexiones son sencillas, lo primero será cortar el cable UART a USB que trae el bluetooth para poder intercalar el interruptor.
De los 5 cables que trae, solo usaremos 4 para el Nodemcu, positivo, negativo, RX y TX. Estos dos últimos, son los que envían la información al servidor a través del nodemcu.



Los colores del cable pueden varias pero para orientarnos, tenemos la imagen anterior. En nuestro caso, vamos a utilizar el positivo, 3.3V, ya que es suficiente para alimentar el nodemcu.
Los cables que van conectados al interruptor, a los 3 pines centrales, son RX, TX y 3.3v, y el negativo lo conectaremos directamente al nodemcu y al cable que va al bluetooth.
En mi caso, he realizado la conexión con ESPHome, pero podéis utilizarlo con arduino o con lo que os manejéis mejor.
Para ESPHome, os dejo el texto que tenéis que pegar y modificar en vuestro NOMBREESP.yaml, en mi caso, inversor.yaml

esphome:
name: inversor
platform: ESP8266
board: nodemcuv2
logger:
api:
ota:
password: «VUESTRA CONTRASEÑA»
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
mqtt:
broker: IP DEL SERVER MQTT
username: NOMBRE MQTT
password: CONTRASEÑA MQTT
sensor:
platform: daly_bms
voltage:
name: «Voltaje batería»
current:
name: «Corriente batería»
battery_level:
name: «Nivel de batería»
max_cell_voltage:
name: «Voltaje maximo celda»
max_cell_voltage_number:
name: «Celda maximo voltaje»
min_cell_voltage:
name: «Voltaje minimo celda»
min_cell_voltage_number:
name: «Celda minimo voltaje»
max_temperature:
name: «Temperatura BMS»
remaining_capacity:
name: «Capacidad restante»
temperature_1:
name: «Sensor temperatura celdas»
platform: dht
pin: 14
temperature:
name: «Temperatura Cuarto»
humidity:
name: «Humedad Cuarto»
update_interval: 30s
uart:
tx_pin: GPIO1
rx_pin: GPIO3
baud_rate: 9600
daly_bms:
update_interval: 5s
text_sensor:
platform: daly_bms
status:
name: «Estado Batería»
web_server:
port: 80
Una vez realizado todo, tendremos que ir a Ajustes–> integraciones –> mqtt

una vez dentro nos aparecerá toda la información que recibimos del BMS y podremos añadirla a nuestro Lovelace.


Os dejo un pequeño video resumen del proyecto realizado.
Acordaros de suscribiros para recibir notificaciones de nuevos videos en YouTube.