Benachrichtigungen
Alles löschen

JKBMS auslesen über BLE (Bluetooth) oder RS485 Adapter mittels EPS, ioBroker

729 Beiträge
163 Benutzer
16 Likes
131.7 K Ansichten
(@scotty89)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 121
Themenstarter  

Hallo zusammen,

ich hatte ja schon geschrieben das es noch einen Bug gibt und ich nicht ran komme an Brauchbare Daten um ihn zu finden .. 😉

ja es kann immer nur ein BL Teilnehmer verbunden werden.

ich hatte ja gesagt wenn ihr mir bei der Analyse helfen wollt dann bitte mal den ESP an den "PC" stecken und die Arduino IDE mit dem Serial Monitor öffnen und laufen lassen bis der Fehler kommt...
man sollte normal im Seriell Monitor ein paar Info bekommen und um Fehlerfall interessiert mich dann was da steht zu letzt 😉

ich hatte selbst den Laptop schon mehrmals 1-2 Tage laufen und nie ist es dann passiert ... (brauch den Laptop halt sonst auch mal 😉 )


   
AntwortZitat
(@helge)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 684
 

vielen Herzlichen Dank für diese Arbeit, der ESP connectet auf mein WLan, er verbindet sich mit dem Balancer (es piept) und es kommen Daten, welche im IoBroker aufschlagen.
Ich habe die 16 Zellen Ino in Nutzung

Der Balancer ist ein 24 Zell 1A AktivBalancer https://www.jkbms.com/product/jk-b1a24s/

soweit so gut, leider sind die Daten murks Smile
ich habe mal einen Ausschnitt der Daten als rar angehängt.

kann mir jemand helfen den Datensalat ordnungsgemäss zu sortieren?
Vielen Dank für JEDE Hilfe

beste Grüsse
Helge

Freundliche Grüsse aus dem Schwabenländle
6,0 kWp - West 15x 55° BauerSolar 405W
3,9 kWp - Ost 6x30°+ 3x55° SunPowerMaxeon 430W
Sunny TriPower 8.0 + BlueSolar 100/20-48
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
(@scotty89)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 121
Themenstarter  

vielen Herzlichen Dank für diese Arbeit, der ESP connectet auf mein WLan, er verbindet sich mit dem Balancer (es piept) und es kommen Daten, welche im IoBroker aufschlagen.
Ich habe die 16 Zellen Ino in Nutzung

Der Balancer ist ein 24 Zell 1A AktivBalancer https://www.jkbms.com/product/jk-b1a24s/

soweit so gut, leider sind die Daten murks Smile
ich habe mal einen Ausschnitt der Daten als rar angehängt.

kann mir jemand helfen den Datensalat ordnungsgemäß zu sortieren?
Vielen Dank für JEDE Hilfe

beste Grüsse
Helge

das ist definitiv eine anderes Protokoll 😉
das wirst du wenn du es willst viel anpassen müssen ...
ich habe auch eine ganze weile gesessen das ordentlich auf zu "schlüsseln"

es gibt hier eine Git Hub Seite wo schon ein paar ihre "Protokolle" aufgeschrieben haben.
https://github.com/jblance/mpp-solar/tree/master/mppsolar/protocols

aber auch das was mein BMS aktuell in der SW hat hatte dort nicht ganz gepasst und musste ich entsprechend anpassen.
wenn du dich auskennst kannst du es dir ja umbauen ...

was schonmal gut ist das der Initalisierungs Vorgang damit er Daten sendet identisch ist ... also ist nur der Protokolltyp anders wie er die Zelldaten etc sendet..
Hintergrund: am Anfang sendet er sogar die Geräte daten (bzw muss man die Abfrage) nur diese werte ich gar nicht erst aus... und erst nachdem man einmal die Geräte daten abgefragt hat fängt er an zyklisch die Zelldaten bereitzustellen.


   
AntwortZitat
(@helge)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 684
 

Danke, das Du dir die Arbeit machst, ich habe keine Ahnung ich taste mich da wie ein Blinder heran

wo gebe ich denn bitte das Protokoll an?, mit einem raspberry und der Abfrage

jkbms -p 3C:A5:51:86:21:3D -P JK02 erhalte ich die Werte die das INO mit den 16 Zellen austeilt,

pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK02
Command: getCellData - BLE Cell Data inquiry
------------------------------------------------------------
Parameter Value Unit
header 55aaeb90
record_type 02
record_counter 232
voltage_cell01 -9.29 V
voltage_cell02 16.468 V
voltage_cell03 -9.29 V
voltage_cell04 16.468 V
voltage_cell05 -9.29 V
voltage_cell06 16.468 V
voltage_cell07 -9.29 V
voltage_cell08 16.468 V
voltage_cell09 -9.29 V
voltage_cell10 16.468 V
voltage_cell11 -9.29 V
voltage_cell12 16.468 V
voltage_cell13 -9.29 V
voltage_cell14 16.468 V
voltage_cell15 -9.29 V
voltage_cell16 16.468 V
voltage_cell17 -9.29 V
voltage_cell18 16.468 V
voltage_cell19 -9.29 V
voltage_cell20 16.468 V
voltage_cell21 -9.29 V
voltage_cell22 16.468 V
voltage_cell23 -9.29 V
voltage_cell24 16.468 V
average_cell_voltage -9.29 V
delta_cell_voltage 16.468 V
current_balancer -9.29
resistance_cell01 16.468 Ohm
resistance_cell02 -14.433 Ohm
resistance_cell03 16.468 Ohm
resistance_cell04 0.0 Ohm
resistance_cell05 0.0 Ohm
resistance_cell06 0.0 Ohm
resistance_cell07 0.0 Ohm
resistance_cell08 0.0 Ohm
resistance_cell09 0.0 Ohm
resistance_cell10 0.0 Ohm
resistance_cell11 0.0 Ohm
resistance_cell12 0.0 Ohm
resistance_cell13 0.0 Ohm
resistance_cell14 0.0 Ohm
resistance_cell15 0.0 Ohm
resistance_cell16 0.0 Ohm
resistance_cell17 0.0 Ohm
resistance_cell18 0.0 Ohm
resistance_cell19 0.0 Ohm
resistance_cell20 30.937 Ohm
resistance_cell21 15.877 Ohm
resistance_cell22 2.611 Ohm
resistance_cell23 15.879 Ohm
resistance_cell24 24.922 Ohm
battery_voltage 1039647.304 V
battery_power 0.1200595498085022 W
charge_current 0.12105027586221695 A
battery_t1 -1261.8 °C
battery_t2 1586.5 °C
mos_temp 837.8 °C
percent_remain 61
capacity_remain 1039968.726
nominal_capacity 1040206.401
cycle_count 8696013e
capacity_cycle 1040473.642
time 0D0H59M10S
current_charge 0.0
current_discharge 0.0

gebe ich nun als Protokoll JK04 an, stimmen die Werte,
pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK04
Command: getCellData - BLE Cell Data inquiry
------------------------------------------------------------
Parameter Value Unit
header 55aaeb90
record_type 02
record_counter 237
voltage_cell01 3.3259100914001465 V
voltage_cell02 3.3259100914001465 V
voltage_cell03 3.3259100914001465 V
voltage_cell04 3.3259100914001465 V
voltage_cell05 3.3259100914001465 V
voltage_cell06 3.3259100914001465 V
voltage_cell07 3.3259100914001465 V
voltage_cell08 3.3259100914001465 V
voltage_cell09 3.3259100914001465 V
voltage_cell10 3.3259100914001465 V
voltage_cell11 3.3259100914001465 V
voltage_cell12 3.3259100914001465 V
voltage_cell13 3.3259100914001465 V
voltage_cell14 3.3259100914001465 V
voltage_cell15 3.3259100914001465 V
voltage_cell16 3.324683904647827 V
voltage_cell17 0.0 V
voltage_cell18 0.0 V
voltage_cell19 0.0 V
voltage_cell20 0.0 V
voltage_cell21 0.0 V
voltage_cell22 0.0 V
voltage_cell23 0.0 V
voltage_cell24 0.0 V
resistance_cell01 0.13034380972385406 Ohm
resistance_cell02 0.13187484443187714 Ohm
resistance_cell03 0.12537136673927307 Ohm
resistance_cell04 0.122222900390625 Ohm
resistance_cell05 0.1209760308265686 Ohm
resistance_cell06 0.1200595498085022 Ohm
resistance_cell07 0.12105027586221695 Ohm
resistance_cell08 0.12197630107402802 Ohm
resistance_cell09 0.12359757721424103 Ohm
resistance_cell10 0.12249208986759186 Ohm
resistance_cell11 0.12337081134319305 Ohm
resistance_cell12 0.12528325617313385 Ohm
resistance_cell13 0.12655076384544373 Ohm
resistance_cell14 0.1292654573917389 Ohm
resistance_cell15 0.12740011513233185 Ohm
resistance_cell16 0.12505289912223816 Ohm
resistance_cell17 0.0 Ohm
resistance_cell18 0.0 Ohm
resistance_cell19 0.0 Ohm
resistance_cell20 0.0 Ohm
resistance_cell21 0.0 Ohm
resistance_cell22 0.0 Ohm
resistance_cell23 0.0 Ohm
resistance_cell24 0.0 Ohm
resistance_cell25 0.0 Ohm
average_cell_voltage 3.325833559036255 V
delta_cell_voltage 0.001226186752319336 V
highest_cell 1
lowest_cell 16
flags 0001
uptime 1D10H58M47S
checksum 33
highest_cell_voltage 3.3259100914001465 V
lowest_cell_voltage 3.324683904647827 V

Wie erkläre ich also dem ESP32 das ich mit Protokoll 04 arbeiten möchte

beste Grüsse Helge

Freundliche Grüsse aus dem Schwabenländle
6,0 kWp - West 15x 55° BauerSolar 405W
3,9 kWp - Ost 6x30°+ 3x55° SunPowerMaxeon 430W
Sunny TriPower 8.0 + BlueSolar 100/20-48
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
 JUF
(@juf)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 229
 

@scotty89

Bleibt einfach stehen.

BMS: JK_PB2A16S15P FW 14.20
Akku: LiFePo4 16 x 200Ah 48V
Laderegler: Victron 150/60
Inverter: Victron MultiPuls 2 48/3000/32
Solarmodule: 4 x Q.PEAK DUO-G8 355; 3 x 380W JA SOLAR; 3 x DHM-60L9(BW)-380W

Strings: 3s3p


   
AntwortZitat
(@scotty89)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 121
Themenstarter  

TOP ! danke für die info dann habe ich auch schon eine Idee was da passiert und was ich machen kann 😉
ich schau mal was ich da gleich umgesetzt bekomme dann können wir das alle testen...

EDIT:

hab da mal was zusammengebaut 😉 hatte diese Idee eigentlich schon umgesetzt aber einen entscheidenden Fehler gefunden weshalb die Lösung nicht gehen konnte...
jetzt da ich wusste was passiert bin ich drauf gekommen... ggf hilft das schon ... es sollte jetzt über MQTT und im Serial Monitor ein Reconnecting kommen wenn nichts mehr vom BMS kommt ....dann geht das ganze von vorne los ...

neues in der Version 1.6.
-> Überarbeitetes Reconnecting
-> je nach angeschlossenen Zellen 8, 14 oder 16 werden nur diese Automatisch über MQTT übermittelt
-> MQTT sende Zyklus nun als Parameter (mqttpublishtime_offset) oben mit drin

bitte testet mit mir zusammen ob das uns die Lösung bringt 😉

DANKE !


   
AntwortZitat
(@scotty89)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 121
Themenstarter  

Danke, das Du dir die Arbeit machst, ich habe keine Ahnung ich taste mich da wie ein Blinder heran

wo gebe ich denn bitte das Protokoll an?, mit einem raspberry und der Abfrage

jkbms -p 3C:A5:51:86:21:3D -P JK02 erhalte ich die Werte die das INO mit den 16 Zellen austeilt,

pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK02
Command: getCellData - BLE Cell Data inquiry
------------------------------------------------------------
Parameter Value Unit
header 55aaeb90
record_type 02
record_counter 232
voltage_cell01 -9.29 V
voltage_cell02 16.468 V
voltage_cell03 -9.29 V
voltage_cell04 16.468 V
voltage_cell05 -9.29 V
voltage_cell06 16.468 V
voltage_cell07 -9.29 V
voltage_cell08 16.468 V
voltage_cell09 -9.29 V
voltage_cell10 16.468 V
voltage_cell11 -9.29 V
voltage_cell12 16.468 V
voltage_cell13 -9.29 V
voltage_cell14 16.468 V
voltage_cell15 -9.29 V
voltage_cell16 16.468 V
voltage_cell17 -9.29 V
voltage_cell18 16.468 V
voltage_cell19 -9.29 V
voltage_cell20 16.468 V
voltage_cell21 -9.29 V
voltage_cell22 16.468 V
voltage_cell23 -9.29 V
voltage_cell24 16.468 V
average_cell_voltage -9.29 V
delta_cell_voltage 16.468 V
current_balancer -9.29
resistance_cell01 16.468 Ohm
resistance_cell02 -14.433 Ohm
resistance_cell03 16.468 Ohm
resistance_cell04 0.0 Ohm
resistance_cell05 0.0 Ohm
resistance_cell06 0.0 Ohm
resistance_cell07 0.0 Ohm
resistance_cell08 0.0 Ohm
resistance_cell09 0.0 Ohm
resistance_cell10 0.0 Ohm
resistance_cell11 0.0 Ohm
resistance_cell12 0.0 Ohm
resistance_cell13 0.0 Ohm
resistance_cell14 0.0 Ohm
resistance_cell15 0.0 Ohm
resistance_cell16 0.0 Ohm
resistance_cell17 0.0 Ohm
resistance_cell18 0.0 Ohm
resistance_cell19 0.0 Ohm
resistance_cell20 30.937 Ohm
resistance_cell21 15.877 Ohm
resistance_cell22 2.611 Ohm
resistance_cell23 15.879 Ohm
resistance_cell24 24.922 Ohm
battery_voltage 1039647.304 V
battery_power 0.1200595498085022 W
charge_current 0.12105027586221695 A
battery_t1 -1261.8 °C
battery_t2 1586.5 °C
mos_temp 837.8 °C
percent_remain 61
capacity_remain 1039968.726
nominal_capacity 1040206.401
cycle_count 8696013e
capacity_cycle 1040473.642
time 0D0H59M10S
current_charge 0.0
current_discharge 0.0

gebe ich nun als Protokoll JK04 an, stimmen die Werte,
pi@raspberrypi:~ $ jkbms -p 3C:A5:51:86:21:3D -P JK04
Command: getCellData - BLE Cell Data inquiry
------------------------------------------------------------
Parameter Value Unit
header 55aaeb90
record_type 02
record_counter 237
voltage_cell01 3.3259100914001465 V
voltage_cell02 3.3259100914001465 V
voltage_cell03 3.3259100914001465 V
voltage_cell04 3.3259100914001465 V
voltage_cell05 3.3259100914001465 V
voltage_cell06 3.3259100914001465 V
voltage_cell07 3.3259100914001465 V
voltage_cell08 3.3259100914001465 V
voltage_cell09 3.3259100914001465 V
voltage_cell10 3.3259100914001465 V
voltage_cell11 3.3259100914001465 V
voltage_cell12 3.3259100914001465 V
voltage_cell13 3.3259100914001465 V
voltage_cell14 3.3259100914001465 V
voltage_cell15 3.3259100914001465 V
voltage_cell16 3.324683904647827 V
voltage_cell17 0.0 V
voltage_cell18 0.0 V
voltage_cell19 0.0 V
voltage_cell20 0.0 V
voltage_cell21 0.0 V
voltage_cell22 0.0 V
voltage_cell23 0.0 V
voltage_cell24 0.0 V
resistance_cell01 0.13034380972385406 Ohm
resistance_cell02 0.13187484443187714 Ohm
resistance_cell03 0.12537136673927307 Ohm
resistance_cell04 0.122222900390625 Ohm
resistance_cell05 0.1209760308265686 Ohm
resistance_cell06 0.1200595498085022 Ohm
resistance_cell07 0.12105027586221695 Ohm
resistance_cell08 0.12197630107402802 Ohm
resistance_cell09 0.12359757721424103 Ohm
resistance_cell10 0.12249208986759186 Ohm
resistance_cell11 0.12337081134319305 Ohm
resistance_cell12 0.12528325617313385 Ohm
resistance_cell13 0.12655076384544373 Ohm
resistance_cell14 0.1292654573917389 Ohm
resistance_cell15 0.12740011513233185 Ohm
resistance_cell16 0.12505289912223816 Ohm
resistance_cell17 0.0 Ohm
resistance_cell18 0.0 Ohm
resistance_cell19 0.0 Ohm
resistance_cell20 0.0 Ohm
resistance_cell21 0.0 Ohm
resistance_cell22 0.0 Ohm
resistance_cell23 0.0 Ohm
resistance_cell24 0.0 Ohm
resistance_cell25 0.0 Ohm
average_cell_voltage 3.325833559036255 V
delta_cell_voltage 0.001226186752319336 V
highest_cell 1
lowest_cell 16
flags 0001
uptime 1D10H58M47S
checksum 33
highest_cell_voltage 3.3259100914001465 V
lowest_cell_voltage 3.324683904647827 V

Wie erkläre ich also dem ESP32 das ich mit Protokoll 04 arbeiten möchte

beste Grüsse Helge

hast das gerade auf ein Raspery getestet oder was? 😉
wenn du das auf dem ESP32 ändern willst du das das selbst noch impl also zusammenschreiben.. dafür musst du im einfachsten fall "nur" die Funktions Datenanalyse() umschreiben...


   
AntwortZitat
(@helge)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 684
 

jop, das ist ein RaspberryPi mittels dem eigenen BT adapter, den hab ich in den Keller gestellt, neben das Balancing Modul

und dann mit Hilfe der von dir verlinkten Seite diese Daten ermittelt

https://github.com/jblance/mpp-solar/blob/master/docs/usage.md

soso, Datenanalyse umschreiben, ich werds versuchen und im Erfolgsfall berichten

Beste Grüsse
Helge

Freundliche Grüsse aus dem Schwabenländle
6,0 kWp - West 15x 55° BauerSolar 405W
3,9 kWp - Ost 6x30°+ 3x55° SunPowerMaxeon 430W
Sunny TriPower 8.0 + BlueSolar 100/20-48
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
 JUF
(@juf)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 229
 

@scotty89
Die BT Verbindung scheint stabil, aber ich mache nachts mein wlan aus…
Könntest du bitte auch ein WLAN reconnect einbauen, so wie wenn ssid wieder da, dann reconnect.

Danke :angel:

Grüße und schönes Wochenende noch.
Jens

BMS: JK_PB2A16S15P FW 14.20
Akku: LiFePo4 16 x 200Ah 48V
Laderegler: Victron 150/60
Inverter: Victron MultiPuls 2 48/3000/32
Solarmodule: 4 x Q.PEAK DUO-G8 355; 3 x 380W JA SOLAR; 3 x DHM-60L9(BW)-380W

Strings: 3s3p


   
AntwortZitat
drbacke
(@drbacke)
Mitglied Admin
Beigetreten: Vor 6 Jahren
Beiträge: 1108
 

@Scotty: Vielen Dank für das Programm, mega hilfreich. Ich habs auch in meinem neusten Video erwähnt. Leider gibts bei mir immer noch Freezesnach einigen Stunden. Möglicherweise ist auch die WiFi Schleife ein Problem.
Ich hab die WiFi Init Schleife bei mir etwas angepasst Das mit dem While funktioniert irgendwann nicht mehr, frag mich nicht warum.
@JUF: Das dürfte auch ein Problem lösen

Ein Restart nach 10 Versuchen hilft ganz gut:

void initWiFi() {
int wifi_retry = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED && wifi_retry < 10 ) {
wifi_retry++;
Serial.print('.');
delay(10000);
}
if(wifi_retry >= 10) {
Serial.println("nReboot");
ESP.restart();
}
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}

Viele Grüße
Andreas


   
AntwortZitat
(@scotty89)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 121
Themenstarter  

@Scotty: Vielen Dank für das Programm, mega hilfreich. Ich habs auch in meinem neusten Video erwähnt. Leider gibts bei mir immer noch Freezesnach einigen Stunden. Möglicherweise ist auch die WiFi Schleife ein Problem.
Ich hab die WiFi Init Schleife bei mir etwas angepasst Das mit dem While funktioniert irgendwann nicht mehr, frag mich nicht warum.
@JUF: Das dürfte auch ein Problem lösen

Ein Restart nach 10 Versuchen hilft ganz gut:

void initWiFi() {
int wifi_retry = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED && wifi_retry < 10 ) {
wifi_retry++;
Serial.print('.');
delay(10000);
}
if(wifi_retry >= 10) {
Serial.println("nReboot");
ESP.restart();
}
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}

WOW welch eine Ehre 😉

das mit dem WIFI kenne ich aber das Problem kann nur beim initialen Booten (Setup) passieren.. wenn sich das zu beginn verbunden hat kann das währen der Runntime nicht passieren..
aber du hast recht im Init könnte das auch da "Ewig" hängen das fixe ich 😉
löst aber leider nicht unsere zwei Probleme....

1. BMS Liefert irgendwann Sporadisch keine Daten mehr ... -> erste Lösung greift bei mir nicht hatte jetzt wieder den fall .. aber zumindest hatte ich es jetzt gleich mitbekommen da er jetzt ein reeconnect meldet 😉
2. Wenn während der Runntime Das WIFI entfällt gibt es kein Reeconnect...

Ich schau mir das gleich mal an ggf. hab ich gleich eine neue Version zum testen.


   
AntwortZitat
 JUF
(@juf)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 229
 

@drbacke
wenn ich den Bereich austausche bekomme ich diesen Fehler

\fritz.boxFRITZ.NASFritzBoxSolarBLE_client_v1.5BLE_client_V1.6bBLE_client_V1.6b.ino: In function 'void loop()':
BLE_client_V1.6b:406:20: error: 'Datenanalyse' was not declared in this scope
Datenanalyse();
^
BLE_client_V1.6b:412:21: error: 'Data_publish' was not declared in this scope
Data_publish();
^
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: D:MeinDatArduinoDatapackagesesp32hardwareesp321.0.6librariesWiFi
Nicht benutzt: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wttlibrariesWiFi
exit status 1
'Datenanalyse' was not declared in this scop

und im Serialmonitor

12:06:13.539 -> Ready
12:06:13.539 -> IP address: 192.168.2.20
12:06:14.152 -> MQTT Client not connected
12:06:14.152 -> MQTT time for reconnect
12:06:14.247 -> MQTT reconnected!
12:06:18.395 -> BLE -> Reconnecting!
12:06:18.442 -> BLE Advertised Device found: Name: JK-BD6A17S8P, Address: c8:47:8c:f3:5a:0d, manufacturer data: 650b88a0c8478cf35a0d, serviceUUID: 0000ffe0-0000-1000-8000-00805f9b34fb, serviceUUID: 0000fee7-0000-1000-8000-00805f9b34fb
12:06:18.442 -> Forming a connection to c8:47:8c:f3:5a:0d
12:06:18.442 -> - Created client
12:06:18.914 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (0, 1)
12:06:18.914 -> - Connected to server

Grüße

BMS: JK_PB2A16S15P FW 14.20
Akku: LiFePo4 16 x 200Ah 48V
Laderegler: Victron 150/60
Inverter: Victron MultiPuls 2 48/3000/32
Solarmodule: 4 x Q.PEAK DUO-G8 355; 3 x 380W JA SOLAR; 3 x DHM-60L9(BW)-380W

Strings: 3s3p


   
AntwortZitat
(@scotty89)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 121
Themenstarter  

@drbacke
wenn ich den Bereich austausche bekomme ich diesen Fehler

\fritz.boxFRITZ.NASFritzBoxSolarBLE_client_v1.5BLE_client_V1.6bBLE_client_V1.6b.ino: In function 'void loop()':
BLE_client_V1.6b:406:20: error: 'Datenanalyse' was not declared in this scope
Datenanalyse();
^
BLE_client_V1.6b:412:21: error: 'Data_publish' was not declared in this scope
Data_publish();
^
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: D:MeinDatArduinoDatapackagesesp32hardwareesp321.0.6librariesWiFi
Nicht benutzt: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wttlibrariesWiFi
exit status 1
'Datenanalyse' was not declared in this scop

und im Serialmonitor

12:06:13.539 -> Ready
12:06:13.539 -> IP address: 192.168.2.20
12:06:14.152 -> MQTT Client not connected
12:06:14.152 -> MQTT time for reconnect
12:06:14.247 -> MQTT reconnected!
12:06:18.395 -> BLE -> Reconnecting!
12:06:18.442 -> BLE Advertised Device found: Name: JK-BD6A17S8P, Address: c8:47:8c:f3:5a:0d, manufacturer data: 650b88a0c8478cf35a0d, serviceUUID: 0000ffe0-0000-1000-8000-00805f9b34fb, serviceUUID: 0000fee7-0000-1000-8000-00805f9b34fb
12:06:18.442 -> Forming a connection to c8:47:8c:f3:5a:0d
12:06:18.442 -> - Created client
12:06:18.914 -> lld_pdu_get_tx_flush_nb HCI packet count mismatch (0, 1)
12:06:18.914 -> - Connected to server

Grüße

da hast du wohl ein kleinen Fehler im Syntax eingebaut 😉

ich habe jetzt eine neue Version 1.7 gebaut 😉

neues in der Version 1.7:

-> der WIFI Status wird nun abgefragt und bei Verlust wird es Reconected 😉
-> habe 3 Stufen eingebaut um bei dem Problem bezüglich BMS sendet keine daten mehr voran zu kommen:
1. Stufe -> ich versuche das senden wieder zu triggern.
2. Stufe -> Ich versuche die BLE Verbindung zu erneuern
3. Stufe wenn ich nach 10 versuchen Stufe 2 kein Erfolg habe mach ich einfach einen ESP restart 😉

nicht schön aber ggf hilft es uns ja so erstmal.
müssen mal schauen wie sich das BMS verhält...

hint:

@Scotty: Vielen Dank für das Programm, mega hilfreich. Ich habs auch in meinem neusten Video erwähnt. Leider gibts bei mir immer noch Freezesnach einigen Stunden. Möglicherweise ist auch die WiFi Schleife ein Problem.
Ich hab die WiFi Init Schleife bei mir etwas angepasst Das mit dem While funktioniert irgendwann nicht mehr, frag mich nicht warum.
@JUF: Das dürfte auch ein Problem lösen

Ein Restart nach 10 Versuchen hilft ganz gut:

void initWiFi() {
int wifi_retry = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED && wifi_retry < 10 ) {
wifi_retry++;
Serial.print('.');
delay(10000);
}
if(wifi_retry >= 10) {
Serial.println("nReboot");
ESP.restart();
}
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}

das liegt daran das in der While nie eine Aktion gemacht wurde um die Verbindung wieder aufzubauen ... es wurde "nur" gewartet... habe es nun angepasst jetzt wird auch versucht die Verbindung zu erneuern.
aber wie gesagt das ist nur beim initialen Booten hier interessant wenn einmal die Verbindung steht kommt er da nie wieder hin.
Aber der Reconnet ist jetzt ja mit drin in der Version 1.7 😉


   
AntwortZitat
drbacke
(@drbacke)
Mitglied Admin
Beigetreten: Vor 6 Jahren
Beiträge: 1108
 

Hmm hat auch nicht geholfen mit dem WiFi. Nach ein paar Stunden hängt es sich immer auf.
Dirk hatte mir den Tipp gegeben die Version 1.3 auszuprobieren, da diese bei ihm wohl stabiler läuft.
Ich teste erstmal das und werde dann gerne nochmal die 1.7 ausprobieren. Im Notfall kann ich auch nochmal den Serial Monitor mitlaufen lassen, dann kann man mehr erkennen.

Viele Grüße
Andreas


   
AntwortZitat
(@scotty89)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 121
Themenstarter  

Hmm hat auch nicht geholfen mit dem WiFi. Nach ein paar Stunden hängt es sich immer auf.
Dirk hatte mir den Tipp gegeben die Version 1.3 auszuprobieren, da diese bei ihm wohl stabiler läuft.
Ich teste erstmal das und werde dann gerne nochmal die 1.7 ausprobieren. Im Notfall kann ich auch nochmal den Serial Monitor mitlaufen lassen, dann kann man mehr erkennen.

mh das wäre schon seltsam den an der BLE Verbindung habe ich hier nichts geändert... ich merke aber auch bei mir das es ser stark geschwankt hat wann es passiert ist... hatte auch schon 5 tage wo nichts war und dann wieder 2 mal am tag...

Probiert mal die Version 1.7 und dann schauen wir da weiter...
Danke euch für den Support 😉

@drbacke
an dem Balancer habe ich dann auch großes Interesse


   
AntwortZitat
Seite 5 / 49
Teilen: