Via de usb connector van je Bluetooth module die bij je BMS zit gaan we de BMS verbinden met de Wemos.
Via de USB aansluiting op Wemos D1 gaan we deze module voeden.
Setup the Wemos D1.
Set MQTT = "MQTT Json Style " on
and of course setup you MQTT server parameters.
When everything is working the LED of the wemos must flash with one Puls, this tell you all is OK, Wifi, BMS and MQTT
Now time to chech an MQTT exporer to see what this module is sending !
{"Device":{"Name":"Daly2MQTT","IP":"192.168.1.82","ESP_VCC":3.375,"Wifi_RSSI":-69,"Relais_Active":false,"Relais_Manual":false,"sw_version":"2.14.0","Flash_Size":4194304,"Sketch_Size":456528,"Free_Sketch_Space":3715072},"Pack":{"Voltage":24.7,"Current":0,"Power":0,"SOC":76.9,"Remaining_Ah":46.1,"Remaining_kWh":1.13867,"Cycles":119,"BMS_Temp":8,"Cell_Temp":8,"cell_hVt":2.75,"cell_lVt":1.8,"cell_hVt2":2.66,"cell_lVt2":1.9,"pack_hVt":30.3,"pack_lVt":19.8,"pack_hVt2":28.8,"pack_lVt2":19,"High_CellNr":11,"High_CellV":2.252,"Low_CellNr":6,"Low_CellV":2.244,"Cell_Diff":8,"DischargeFET":true,"ChargeFET":true,"Status":"Stationary","Cells":11,"Heartbeat":127,"Balance_Active":false,"Fail_Codes":""},"CellV":{"CellV_1":2.246,"CellV_2":2.25,"CellV_3":2.25,"CellV_4":2.249,"CellV_5":2.247,"CellV_6":2.244,"CellV_7":2.248,"CellV_8":2.25,"CellV_9":2.25,"CellV_10":2.25,"CellV_11":2.252},"CellTemp":{"Cell_Temp_1":8}}
If we debug this we get the next data.
Now come's the heavy stuff. Filtering the String !
I only want the SOC from my string !
{"Voltage":24.6,"Current":-4.4,"Power":-108.24,"SOC":75.8,"Remaining_Ah":45.4,"Remaining_kWh":1.11684,"Cycles":119,"BMS_Temp":8,"Cell_Temp":8,"cell_hVt":2.75,"cell_lVt":1.8,"cell_hVt2":2.66,"cell_lVt2":1.9,"pack_hVt":30.3,"pack_lVt":19.8,"pack_hVt2":28.8,"
So now we get as result for this filter just the value of the SOC level.
This is one example for one value now you can do this for all the data you want.
Now we can do what we want with this value, add it to da dashboard from node red or sent it to an IDX in domoticz.
The "SOC" level is sent to IDX358 in Domoticz. First you have to make you Hard-ware and devices in Domoticz.
{"Device":{"Name":"Daly2MQTT","IP":"192.168.1.166","ESP_VCC":3.326,"Wifi_RSSI":-59,"Relais_Active":false,"Relais_Manual":false,"sw_version":"2.14.2","Flash_Size":4194304,"Sketch_Size":463264,"Free_Sketch_Space":3706880,"CPU_Frequency":80,"Real_Flash_Size":4194304,"Free_Heap":31376,"HEAP_Fragmentation":2,"Free_BlockSize":31016,"json_memory_usage":1998,"json_capacity":2048,"runtime":59159,"ws_clients":0,"MQTT_Json":true},"Pack":{"Voltage":45.3,"Current":0,"Power":0,"SOC":9.5,"Remaining_Ah":16.1,"Remaining_kWh":0.72933,"Cycles":423,"BMS_Temp":15,"Cell_Temp":15,"cell_hVt":2.72,"cell_lVt":1.91,"cell_hVt2":2.68,"cell_lVt2":1.89,"pack_hVt":60.5,"pack_lVt":46.5,"pack_hVt2":58.2,"pack_lVt2":45,"High_CellNr":7,"High_CellV":2.075,"Low_CellNr":18,"Low_CellV":2.043,"Cell_Diff":32,"DischargeFET":false,"ChargeFET":false,"Status":"Offline","Cells":22,"Heartbeat":88,"Balance_Active":false,"Fail_Codes":"Sum volt low level 2"},"CellV":{"CellV_1":2.059,"CellV_2":2.057,"CellV_3":2.065,"CellV_4":2.059,"CellV_5":2.065,"CellV_6":2.068,"CellV_7":2.075,"CellV_8":2.055,"CellV_9":2.053,"CellV_10":2.057,"CellV_11":2.051,"CellV_12":2.05,"CellV_13":2.065,"CellV_14":2.057,"CellV_15":2.057,"CellV_16":2.047,"CellV_17":2.061,"CellV_18":2.043,"CellV_19":2.057,"CellV_20":2.068,"CellV_21":2.061,"CellV_22":2.071},"CellTemp":{"Cell_Temp_1":15}}
{
"Device": {
"Name": "Daly2MQTT",
"IP": "192.168.1.166",
"ESP_VCC": 3.326,
"Wifi_RSSI": -59,
"Relais_Active": false,
"Relais_Manual": false,
"sw_version": "2.14.2",
"Flash_Size": 4194304,
"Sketch_Size": 463264,
"Free_Sketch_Space": 3706880,
"CPU_Frequency": 80,
"Real_Flash_Size": 4194304,
"Free_Heap": 29432,
"HEAP_Fragmentation": 38,
"Free_BlockSize": 1360,
"json_memory_usage": 1998,
"json_capacity": 2048,
"runtime": 81022,
"ws_clients": 1,
"MQTT_Json": true
},
"Pack": {
"Voltage": 45.4,
"Current": 0,
"Power": 0,
"SOC": 8.8,
"Remaining_Ah": 14.9,
"Remaining_kWh": 0.67646,
"Cycles": 423,
"BMS_Temp": 15,
"Cell_Temp": 15,
"cell_hVt": 2.72,
"cell_lVt": 1.91,
"cell_hVt2": 2.68,
"cell_lVt2": 1.89,
"pack_hVt": 60.5,
"pack_lVt": 46.5,
"pack_hVt2": 58.2,
"pack_lVt2": 45,
"High_CellNr": 21,
"High_CellV": 2.074,
"Low_CellNr": 18,
"Low_CellV": 2.06,
"Cell_Diff": 14,
"DischargeFET": false,
"ChargeFET": false,
"Status": "Offline",
"Cells": 22,
"Heartbeat": 232,
"Balance_Active": false,
"Fail_Codes": "Sum volt low level 2"
},
"CellV": {
"CellV_1": 2.065,
"CellV_2": 2.071,
"CellV_3": 2.073,
"CellV_4": 2.065,
"CellV_5": 2.071,
"CellV_6": 2.073,
"CellV_7": 2.073,
"CellV_8": 2.065,
"CellV_9": 2.063,
"CellV_10": 2.065,
"CellV_11": 2.063,
"CellV_12": 2.063,
"CellV_13": 2.073,
"CellV_14": 2.065,
"CellV_15": 2.065,
"CellV_16": 2.061,
"CellV_17": 2.068,
"CellV_18": 2.06,
"CellV_19": 2.063,
"CellV_20": 2.073,
"CellV_21": 2.074,
"CellV_22": 2.068
},
"CellTemp": {
"Cell_Temp_1": 15
}
}
Problemen met 1 BMS 8S data valt geregeld weg, zoeken naar een oplossing.