@luigi Moin, das ist total einfach. Da die Daten bereits in der BLE Routine vom JK eingesammelt werden musst du lediglich in der MQTT Routine diese Daten mit senden. Schau dir das mal im unteren Drittel an wie das gemacht wird, kopiere einen Sendeteil und ersetzt die Variable mit dem was du senden möchtest, also Capacity_Remain und Capacity_Cycle.
Klasse Danke!!
hier die Zeilen, welche ich im MQTT.ino angepasst habe, ab ca. Zeile 85.
Nachtrag (23_01_2023): die Cycle Kapazität passt nicht. (diese schwankt aktuell ganz wild herum, scheint mir dem Balancer Strom zusammen zu hängen)
// Capacity_Remain // Nominal_Capacity // Capacity_Cycle cellStr = String(Capacity_Remain); topic = mqttname + "/Data/Capacity_Remain"; client.publish(topic.c_str(),cellStr.c_str()); cellStr = String(Nominal_Capacity); topic = mqttname + "/Data/Nominal_Capacity"; client.publish(topic.c_str(),cellStr.c_str()); cellStr = String(Capacity_Cycle); topic = mqttname + "/Data/Capacity_Cycle"; client.publish(topic.c_str(),cellStr.c_str());
Kann man eigentlich in den Sketch eine Aufgabe mit einbauen und dann den Wert mit kWh ausgeben lassen?
Quasie: Rest Kapazität*Aktuelle Spannung oder (Festwert), quasie den Mittelwert, den man selber festgelegt hat (die Spannung fällt, ja bei Entladung)
und diesen dann als einen Wert im MQTT mit Übertraggen, da spart man sich dann die Umrechnung im iobroker....
Hallo Stromsparer
Ich habe das Programm eingespielt. Es versucht sich auch zu ver binden. Leider ohne Erfolg.
Ich habe SW Version 10.09 im BMS
Ich weiß nicht ob das mit deinem Projekt laufen sollte.
Gruß Henrik
@henrik_79 ist eigentlich egal wegen der Software Version, der ESP sollte sich eigentlich mit dem JK verbinden, hast du den Namen deines JK in der Software angepasst und wenn ja lade mal einen Logfile hoch damit man vieleicht sehen kann wo das Problem liegt.
@luigi funktioniert es denn so, komisch da bei mir die Zeilen ganz anders aussehen
cellStr = String(Percent_Remain);
client.publish("BMS_Watchdog/Data/Percent_Remain",cellStr.c_str());
cellStr = String(Cycle_Count);
client.publish("BMS_Watchdog/Data/Cycle_Count",cellStr.c_str());
// Capacity_Remain
// Nominal_Capacity
// Capacity_Cycle
cellStr = String(Balance_Curr,3);
client.publish("BMS_Watchdog/Data/Balance_Current",cellStr.c_str());
@luigi funktioniert es denn so, komisch da bei mir die Zeilen ganz anders aussehen
cellStr = String(Percent_Remain);
client.publish("BMS_Watchdog/Data/Percent_Remain",cellStr.c_str());cellStr = String(Cycle_Count);
client.publish("BMS_Watchdog/Data/Cycle_Count",cellStr.c_str());// Capacity_Remain
// Nominal_Capacity
// Capacity_CyclecellStr = String(Balance_Curr,3);
client.publish("BMS_Watchdog/Data/Balance_Current",cellStr.c_str());
Bei meinen oben verlinkten Zeilen, Ja, da kommen die Werte an.
Ich war jetzt noch einmal extra bei der Batt und habe mit der JB-BT software am Handy ausgelesen.
MQTT Cap - Cycle 0.68 --- JK-BT 657.4 --> könnte ich im VIS noch gerade ziehen.
MQTT Nominal Cap 280 --- JK-
BT 280
MQTT Cap - Remain 44.8 --- JK-BT 45.84
100% Deckungsleich ist es nicht.
Bei der Cycle Cap hab ich die Umrechnung in der BLE_data_analyse gefunden
Capacity_Cycle = (((int)receivedBytes_main[161] << 8 | receivedBytes_main[160])*0.001);
Ich hab von den Sachen nicht wirklich Ahnung, aber ich versuch mich da rein zu denken....
Nachtrag (23_01_2023): die Cycle Kapazität passt nicht. (diese schwankt aktuell ganz wild herum, scheint mir dem Balancer Strom zusammen zu hängen)
Hallo
hier mal die Anzeige aus dem SM
BMS Watchdog V 3.4
Booting
Connecting to WiFi ...Ready
IP address: 192.168.1.39
- Created client
MQTT Client not connected
MQTT time for reconnect
MQTT connection failed!
MQTT reconnect Error
BLE -> Reconnecting!
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
MQTT Client not connected
MQTT time for reconnect
MQTT connection failed!
MQTT reconnect Error
MQTT Client not connected
MQTT time for reconnect
MQTT connection failed!
MQTT reconnect Error
BLE -> Reconnecting!
MQTT Client not connected
MQTT time for reconnect
MQTT connection failed!
MQTT reconnect Error
MQTT Client not connected
MQTT time for reconnect
MQTT connection failed!
MQTT reconnect Error
BLE -> Reconnecting!
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
BLE Advertised Device found: Name: , Address: 11:a3:cb:b4:d5:78, manufacturer data: 06000109200216b365b9268e086fc9824bb424dd0e886e90084637cfca
MQTT Client not connected
MQTT time for reconnect
Das wiederholt sich immer.
Den Namen des BMS habe ich angepasst. WIFI wird auch gefunden.
Die IDE ist bei mir V1.8.19
Upload ohne Fehler in den ESP.
Leider keine Verbindung zum BMS
Gruß
Henrik
@henrik_79 Hmm da ist offensichtlich immer noch die alte Version in deinem ESP weil er sich ja immer noch mit deinem Wlan verbindet, in der neuen Version ist gar kein Wlan mehr drin und wenn du schreibst das es einen Uploadfehler gibt muss du beim Compilern mal das untere Teil des Fensters nach oben schieben und genau gucken was da steht und warum das Programm nicht hochgeladen wird. Das steht da sehr genau. Oder versuche mal einen anderen ESP.
@luigi wenn der Wert von Capacity_Cycle richtig 657,4 sein muss dann musst du die Umrechnung so ändern das das Ergebnis nicht mehr mit 0,001 multipliziert wird:
Capacity_Cycle = (((int)receivedBytes_main[161] << 8 | receivedBytes_main[160]);
Ich hatte geschrieben, dass ich keine Fehler bekommen.
Hatte aber für den Fall beim Versuch leider das alte Prog wieder geladen.
Ich habe den Namen des BMS agepasst. PW für die BT Verbindung ist: 1 2 3 4
Hier der aktulle SM Report.
BMS Watchdog V 3.4
Booting
- Created client
BLE -> Reconnecting!
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE -> Reconnecting!
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE -> Reconnecting!
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE -> Reconnecting!
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
BLE Advertised Device found: Name: , Address: 5e:81:0a:e2:a5:32, manufacturer data: 0600010920021d238df8b316e23d5797c7dc419e688f7663741aa3e71f
Gruß
Henrik
@luigi wenn der Wert von Capacity_Cycle richtig 657,4 sein muss dann musst du die Umrechnung so ändern das das Ergebnis nicht mehr mit 0,001 multipliziert wird:
Capacity_Cycle = (((int)receivedBytes_main[161] << 8 | receivedBytes_main[160]);
ist angepasst, aber mit einem Offset aktuell, den der anktuell gelesene Wert, ist anders als bei der APP. eventuell muss ich es noch mal anpassen auf *0.99x
Aber erst mal den Wert minus 23.6 versehen
Capacity_Cycle = (((int)receivedBytes_main[161] << 8 | receivedBytes_main[160])-23.6);
Was noch verbesserungswürdig wäre, ist die Leistung, die eingeht, oder ehen in der Nacht abgeht, diese ist immer "positiv" beim Strom funktioniert es, mit positiver und negativer Ausgabe.
Nachtrag (23_01_2023): die Cycle Kapazität passt nicht. (diese schwankt aktuell ganz wild herum, scheint mir dem Balancer Strom zusammen zu hängen)
@henrik_79 Entschuldigung hatte ich auch danach gelesen das du keine Fehler beim Upload hattest. Hmm das ist Merkwürdig, ist denn noch dein Smartphone mit dem BMS verbunden ? Es geht nur eine Verbindung zur Zeit. Kannst du evtl. nochmal einen anderen ESP probieren ?
Ok... dann werde ich einen neuen ESP32 bestellen und erneut versuchen.
Gruß
Henrik
Ok... dann werde ich einen neuen ESP32 bestellen und erneut versuchen.
Gruß
Henrik
muss nicht gleich am ESP32 liegen.
Eventuell mal die v 3.6 probieren? zumindest würde ich die Einstellungen soweit zurück drehen, daß es quasie Jungfreulich wäre. Auch das BT Kennwort vom JKBMS wieder raus nehmen.... zurücksetzen.
Laut Protokoll, sieht der ESP32 das JKBMS....