Benachrichtigungen
Alles löschen

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

729 Beiträge
163 Benutzer
16 Likes
131 K Ansichten
(@grigs)
Newbie
Beigetreten: Vor 2 Jahren
Beiträge: 1
 

Hi, I'm trying to run BLE_Client3.3 on ESP32-VROOM-32 board and I got the below exception. I followed all the steps suggested, also increased the stack size to 16K.
It seems to connect ok to my JKBMS but there is a exception when calling pRemoteCharacteristic = pRemoteService->getCharacteristic(charUUID);
I didn't change anything in the code, just added the connection info.
What should I do?

Thanks


   
AntwortZitat
riogrande75
(@riogrande75)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 274
 

Hab den gesamten Thread mal überflogen und jetzt schalte ich mich hier auch mal ein, weil ich das Thema mit der seriellen Verbindung nochmal aufleben lassen möchte.
Die Kommunikation zum neuen JK-BMS (HW 10.XG/SW 10.07) steht soweit - Abfragen mache ich voerst mal über einen USR-TCP-304 und den RS485 Adapter von JK, der Bequemlichkeit halber von einer Linux Maschine aus. Da kann ich immer schön mitsniffern was gerade am Bus abgeht und schnell entwickeln.
Hab auch ein paar (RS485) Protokoll Beschreibungen zusammengetragen und eine Anfrage bei Jinkong bzgl. dem aktuellen Protokoll laufen.

@Scotty89 Welche Probleme hattest du denn mit den RS485 Daten konkret, dass du das aufgegeben hast?

Mein Ziel ist es, das JK BMS mit den MPP Solar MPI 10k WR (und Baugleichen) kommunizieren zu lassen, so wie ihr das mit dem Victron's macht.
Dafür hab ich nun auch eine Voltronic BMS Box (für Pylontech's) gekauft, um das BMS Protokoll der Voltronics reverse-engineeren zu können. Leider wollte mir hier niemand helfen, der das schon am laufen hat Cry
Wenn alles klar ist, dann werde ich das wohl auch in einen ESP "gießen", da ich das in Zukunft sehr oft brauchen werde.

24kWP an 2x FSP 10kW und AxpertMAXII 8000 mit 70kWh LiFePo4
123solar, meterN und EVSE-WiFi
Kein Support per PN


   
AntwortZitat
(@jbecker32)
Newbie
Beigetreten: Vor 2 Jahren
Beiträge: 2
 

zudem musste ich leider rausfinden das, da ich eine Pylontech Simuliere er die Batterie mit "der aktuellen" Victron SW nicht mehr voll lädt.
Das liegt daran das Victron nun die Ladeschlussspannung selbst begrenz auf 15x 3.45V also 51.75V wenn es eine Pylontech ist..
daher musste ich es auch wieder abklemmen damit mein 14S Akku wieder vollgeladen wird 😉 (57,4V)

Ich möchte auch gerne das JK BMS per CAN mit dem Victron System verbinden (alternativ über RS485 und den Treiber von Louisvdw, aber CAN gefällt mir eigentlich besser). Du schreibst, dass Du das Problem mit der zu niedrigen Ladespannung hast, weil Du ein Pylontech Batterie 'simulierst' (wohl durch das Senden des Strings 'Pylontec'!?!). Wie wäre es, einfach einen anderen String zu schicken, so dass Victron nicht davon ausgeht, dass das eine Pylontec Batterie ist? Oder ist das zu einfach gedacht???

Gruß, Jörg.


   
AntwortZitat
(@wulleontour)
Newbie
Beigetreten: Vor 2 Jahren
Beiträge: 4
 

Moin Zusammen,

habe erfolgreich ein JK-B2A24S15P am laufen.
Nun gib es seit neusten auch JK-BMS das extra für 4s - 8s ist, damit spart man sich den StepUp Wandler.
Hatte nun vor im Camper dieses (JK-B2A8S20P) Bms zu verbauen und dieses auch auszulesen.
Leider werden nur die Zellen Spannungen ausgelesen, der Rest überträgt den wert 0.

Ich würde gerne ein Log machen, aber dafür bin ich wohl zu blöde.
Wenn ich mit dem Serial Adapter gucken möchte was passiert, kommen bei mir nur Kryptische Zeichen.
Bin in Ardroino auch nicht fit. Vielleicht wisst ihr was ich noch ändern muss, um zu sehen was dort passiert.

PS. Musste auch die App aktualisieren, damit eine Verbindung aufgebaut werden konnte.

Gruß Wulle


   
AntwortZitat
(@tesma)
Newbie
Beigetreten: Vor 3 Jahren
Beiträge: 2
 

Hallo Zusammen,

Ich bin neu und habe mal versucht ohne tiefergehende Kenntnisse der Anleitung zu folgen.
Letztlich habe das gleiche Problem wie 'grigs'. Ich habe verschiedene ESP32 Modelle probiert und auch verschiedene Clients (3.3, 2.7, ...). Alle zeigen das gleiche Phänomen, sobald die BT Verbindung hergestellt wird startet der ESP neu.
Ich frage mich ob es an der Hardware Version (V10.XW) oder der Software (V10.08) liegen könnte. Hat jemand von Euch diese Version am laufen?

14:03:25.820 -> BLE Advertised Device found: Name: JK-B2A24S15P, Address: c8:47:8c:e2:a0:d6, manufacturer data: 650b88a0c8478ce2a0d6, serviceUUID: 0000ffe0-0000-1000-8000-00805f9b34fb, serviceUUID: 0000fee7-0000-1000-8000-00805f9b34fb
14:03:25.854 -> Forming a connection to c8:47:8c:e2:a0:d6
14:03:26.980 -> - Connected to server
14:03:27.384 -> Guru Meditation Error: Core 0 panic'ed (Double exception).
14:03:27.384 ->
14:03:27.384 -> Core 0 register dump:
14:03:27.384 -> PC : 0x40093033 PS : 0x00040536 A0 : 0x8013556a A1 : 0x3ffe4b10
14:03:27.384 -> A2 : 0x3ffb6c34 A3 : 0xffffffff A4 : 0x3ffee964 A5 : 0x00000000
14:03:27.417 -> A6 : 0x007b6c34 A7 : 0x003fffff A8 : 0x40080080 A9 : 0x3ffe4c20
14:03:27.417 -> A10 : 0x00060736 A11 : 0x00040026 A12 : 0x00000008 A13 : 0x4010b3b0
14:03:27.417 -> A14 : 0x007b6cc4 A15 : 0x003fffff SAR : 0x00000015 EXCCAUSE: 0x00000002
14:03:27.417 -> EXCVADDR: 0xffffffe0 LBEG : 0x4009066c LEND : 0x40090682 LCOUNT : 0xffffffff
14:03:27.417 ->
14:03:27.417 -> Backtrace:0x40093030:0x3ffe4b100x40135567:0x3ffe4b50 0x40093030:0x3ffe4b70 0x40093030:0x3ffe4b90 0x40093030:0x3ffe4bb0
14:03:27.619 ->
14:03:27.619 -> ELF file SHA256: 0000000000000000
14:03:27.619 ->
14:03:27.619 -> Rebooting...

Gruß,
Dennis


   
AntwortZitat
(@und-mehr)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 1100
 

Bin nicht sicher.
Ich hatte das Programmli auch mal getestet, in PlatformIO hatte ich auch ein loop beim BT Connect.
Nachdem ich Atom installiert hatte und dort geflasht hatte ging es, der Unterschied zwischen beiden kann eigentlich nur sein, dass im Atom alte und plattformio aktuelle Bibliotheken benutzt wurden.
Ich habe Atom wieder entfernt, da ich was anderes nutze.
Eventuell hilft es in den Libs frühe Versionen zu verwenden. Ist aber nur so ein Schuss ins Blaue.

..,-


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

@scotty89

Versteht Dein Programm auch das neue JK-B2A8S20P-H?
Gibt es hier schon Erfahrung?

Danke

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  

Hey zusammen sorry hab in letzter Zeit keine Zeit gehabt zumal es bei mir einfach perfekt lief.

Ich plane aber auch schon länger was um zu bauen und hab auch schon ein neues jk bms bei mir und werde wenn nötig das Tool darauf auch anpassen.kann aber nicht sagen ob ich die Woche gleich schon zu was komme.


   
AntwortZitat
(@damianator)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 126
 

Hallo,

vielen Dank schon mal für die tolle Arbeit. Ich habe bei den Projekt mit 0 Wissen angefangen und arbeite mich mühselig Schritt für Schritt zum Ziel.
Auf die Gefahr hin dass meine Frage schon einmal gestellt und beantwortet worden ist möchte ich mich schon einmal im Vorfeld entschuldigen.
Ich habe intensiv die Seiten 1-11 gelesen, den Rest nur noch überflogen.

Mein Ziel ist es die Daten des JKBMS per Bluetooth über den ESP32 per MQTT auf den "Mosquitto-Broker" der Solaranlage.de zu senden, damit dieser dann die Daten in die InfluxDB schreiben kann und ich sie mit Grafana visualisieren kann.

Mein Momentaner Stand ist es dass die Aktuelle Version für EPS 32 und BLE (Version 2.7) aufgespielt ist. Ich mit dem WLAN verbunden bin und die Bluetooth Verbindung wohl mit dem JKBMS geklappt hat (Ich habe ein piepen wie bei einem Connect gehört.) Vermutlich weil ich im Seriellen Monitor keine Daten Lese sondern das:
0:59:39.406 -> Ready
0:59:39.406 -> IP address: 192.168.178.67
0:59:40.024 -> - Created client
0:59:40.070 -> MQTT Client not connected
0:59:40.070 -> MQTT time for reconnect
0:59:40.070 -> MQTT reconnected!
0:59:44.262 -> BLE -> Reconnecting!
0:59:44.582 -> BLE Advertised Device found: Name: JK-B2A24S15P, Address: c8:47:8c:e1:fe:9d, manufacturer data: 650b88a0c8478ce1fe9d, serviceUUID: 0000ffe0-0000-1000-8000-00805f9b34fb, serviceUUID: 0000fee7-0000-1000-8000-00805f9b34fb
0:59:44.582 -> Forming a connection to c8:47:8c:e1:fe:9d
0:59:46.009 -> - Connected to server
0:59:46.377 -> - Found our service
0:59:46.377 -> - Found our characteristic
0:59:46.459 -> Notify the characteristic
0:59:46.460 -> Sending device Info
0:59:46.460 -> We are now connected to the BLE Server.
0:59:46.930 -> gesendet!
0:59:47.553 -> Daten anerkannt !
0:59:47.624 -> New Data for Analyse Complete...
0:59:48.065 -> Daten anerkannt !
0:59:48.200 -> New Data for Analyse Complete...
0:59:48.618 -> Daten anerkannt !
0:59:48.688 -> New Data for Analyse Complete...

Jetzt würde ich mich an den MQTT-Broker und die Code Anpassungen machen. Aber bevor ich die InfluxDB zerschieße hätte ich gern vorab Bestätigung meiner Vorgehensweise.
Die Einrichtung des Masquitto-Brokers würde ich nach dieser Anleitung machen.
Hier drin steht aber: Das Basis-Topic heißt immer 'solaranzeige'. Dann muss entweder befehl oder anzeige kommen, dann die Gerätenummer und dann die Bezeichnung des Wertes.

Also müssten die JKMS Topic so aussehen: $MQTTTopic = "solaranzeige/anzeige/1/JKBMS/übermittelter Wert";
Meine Frage: kann ich das vorgegebene Format auch schon im mqttname eingeben, oder muss ich das bei MQTT.ino überall ergänzen?

Ich würde im Code folgende Einstellungen vornehmen:
// MQTT Settings
const char* mqtt_server = "192.168.178.33"; // IP des RPI mit der Solaranzeige.de
const int mqtt_port = 1833; // Mosquitto-Broker Standard ist: 1883
const char* mqtt_username = ""; // MQTT server Benutzername | "Mosquitto-Broker "Standard -> ohne"
const char* mqtt_passwort = ""; // MQTT server Passwort | "Mosquitto-Broker "Standard -> ohne"
#define mqttname "solaranzeige/anzeige/1/JKBMS" // hier den MQTT-Namen vergeben
const int mqttpublishtime_offset = 1000; //-> hier einstellen wie oft Daten gesnedet werden sollen 1000 = jede Sekunde

Was mir noch lieber wäre ist wenn der MQTT-Broker die Daten vom JKBMS in eine zweite Datenbank schreiben würde und ich diese mit Grafana visualisieren könnte. Dann würde ich die nicht alles versmischen und hätte die sortiert. Ginge das auch?

Über eine Bestätigung oder Hinweise die mich weiter bringen würde ich mich tierisch freuen.

PV: 11,2KW in 2 Strings - Süden
WR: MPP SOLAR - MPI5k (im parallel Betrieb, mit 0-Einspeisung)
EM:. SDM630
Speicher: LiFePO4 16S x 280Ah = 14.3 KWh


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

hey,

@damianator

zu deiner Frage: "Meine Frage: kann ich das vorgegebene Format auch schon im mqttname eingeben, oder muss ich das bei MQTT.ino überall ergänzen?"

das #define mqttname "BMS_Watchdog" legt nur den Gerätename fest wie es sich am MQTT Server melden soll das Gerät, nicht wo es dann Publishen soll...

Sprich ich würde es an deiner Stelle so machen:

-> im #define mqttname ein Geräte name nehmen wo du weist das es das JKBMS ist.
-> in der MQTT.ino musste du alle Zeilen wo der Publish drin steht von bspw:("BMS_Watchdog/parameter/debugging_aktive") in ("solaranzeige/anzeige/1/JKBMS/parameter/debugging_aktive") ändern.

den rest Analog.

hoffe das reicht dir ?

ggf hat ja jemand eine Idee wie man das mit einer Variable oder String oder so verknüpfen kann, dann müsste man es nur einmal Zentral machen. Ich habe es noch nicht hinbekommen ohne das er dann nicht mehr Kompilieren will ...

Ich habe heute mal testweise mein neues JKBMS mit der HW V10.XW und SW Version V10.07 aufgebaut und mit meinem ESP getestet.
was soll ich sagen geht bei mir genau so gut wie das "alte" ich musste nur den Namen entsprechend anpassen im Code...

Update für alle

-> ich habe die Version 3.4 Hochgeladen und die erste Seite mit den ganzen Versionen aufgeräumt..
-> Alle können jetzt die Version 3.4 nutzen und über den neuen Parameter "CAN_use" entscheiden ob die die Pylontech Sim und CAN Modul nutzen / haben oder eben nicht.


   
AntwortZitat
(@obi70)
Vorsichtiger Stromfühler
Beigetreten: Vor 4 Jahren
Beiträge: 5
 

leider funktioniert die neue Version auch nur bei mir mit einem BMS.

Moin,

erstmal vielen Dank auch von mir !

- Feedback ( 2xJK-B2A24S20P, Hardware Ver.10XG, Software Ver. 10.07)

Name erstes Bms= JK-BMSNr.1: Name zweites Bms JK-BMSNr.2, Name Drittes BMS noch nicht im Betrieb)

Die Version 1.72 funktioniert auf mehreren angemeldeten BMS mit den bekannten Verbindungsproblemen.

Die Version 2.7 + 3.3 Version funtioniert mit einem angemeldeten BMS wunderbar !

Sobald ich ein zweites Anmelde egal ob bei 2.7+3.3 verbindet sich das zweite BMS mit dem Broker und wird als BMS_Watchdog1 erkannt.
Es liefert aber keine Daten und Parameter, aber es zeigt BLEconnection= connected und status online an.

Ich denke die beiden Versionen sind nur für ein Bms ausgelegt.
Es wäre prima, wenn du es auch für mehrere ( wie auch bei der Version 1.72) programmierst.

VG
Obi70
13.2 KWp mit 53KWh Eigenbauspeicher aus 18650
MPP Solar PIP-5048MS + 3x MPPT Laderegler a 60A
Ertrag: Mai 22 = 1.48 MWh, Juni = 1.55 MWh

15.6 KWp mit 67KWh Eigenbauspeicher aus 18650
14S160P ca.25kw + 14S240P ca. 28KW + 16 EVE 280K ca. 14KW
MPP Solar PIP-5048MS + 3x MPPT Laderegler a 60A
Ertrag: 10.2022 = 726 KWh, 09.2022 = 952 KWh


   
AntwortZitat
(@damianator)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 126
 

Sprich ich würde es an deiner Stelle so machen:

-> im #define mqttname ein Geräte name nehmen wo du weist das es das JKBMS ist.
-> in der MQTT.ino musste du alle Zeilen wo der Publish drin steht von bspw:("BMS_Watchdog/parameter/debugging_aktive") in ("solaranzeige/anzeige/1/JKBMS/parameter/debugging_aktive") ändern.

den rest Analog.

hoffe das reicht dir ?

Vielen Dank für die Hilfe schon einmal. Das hat auch im ersten Schritt wunderbar geklappt.
Nur zur Info. So sieht die MQTT.ino jetzt bei mir aus:
#define willTopic "solaranzeige/anzeige/1/JKBMS/status"
#define willMessage "offline"
byte willQoS = 0;
boolean willRetain = true;

boolean reconnect(){
if (client.connect(mqttname, mqtt_username, mqtt_passwort, willTopic, willQoS, willRetain, willMessage)) {
// Once connected, publish an announcement...
if(millis() < 10000) {
client.publish("solaranzeige/anzeige/1/JKBMS/BLEconnection","Startup");
}
client.subscribe("solaranzeige/anzeige/1/JKBMS/parameter/debugging_aktive");
client.subscribe("solaranzeige/anzeige/1/JKBMS/parameter/debugging_Full_Log_aktive"); //debug_flg_full_log
client.publish("solaranzeige/anzeige/1/JKBMS/status","online");
if(debug_flg) {
Serial.println("MQTT reconnected!");
}
}
else {
if(debug_flg) {
Serial.println("MQTT connection failed!");
}
}
return client.connected();
}

void Data_publish() {
String cellStr;
String cellVoltageBaseTopic = String("solaranzeige/anzeige/1/JKBMS/Data/Zelle_");
for(uint8_t i=0; i<16; i++) {
cellStr = String(cellVoltage,3);
String topic;
if(i<9) topic = cellVoltageBaseTopic + String("0") + String(i+1);
else topic = cellVoltageBaseTopic + String(i+1);
if(cellVoltage != 0) {
client.publish(topic.c_str(), cellStr.c_str());
}
}

cellStr = String(Battery_Voltage,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Battery_Voltage",cellStr.c_str());

cellStr = String(Delta_Cell_Voltage,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Delta_Cell_Voltage",cellStr.c_str());

cellStr = String(MOS_Temp,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/MOS_Temp",cellStr.c_str());

cellStr = String(Battery_T1,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Battery_T1",cellStr.c_str());

cellStr = String(Battery_T2,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Battery_T2",cellStr.c_str());

cellStr = String(Battery_Power,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Battery_Power",cellStr.c_str());

cellStr = String(Charge_Current,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Charge_Current",cellStr.c_str());

cellStr = String(Percent_Remain);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Percent_Remain",cellStr.c_str());

cellStr = String(Cycle_Count);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Cycle_Count",cellStr.c_str());

// Capacity_Remain
// Nominal_Capacity
// Capacity_Cycle

cellStr = String(Balance_Curr,3);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Balance_Current",cellStr.c_str());

cellStr = String(sec);
client.publish("solaranzeige/anzeige/1/JKBMS/Uptime/Sekunde",cellStr.c_str());

cellStr = String(mi);
client.publish("solaranzeige/anzeige/1/JKBMS/Uptime/Minuten",cellStr.c_str());

cellStr = String(hr);
client.publish("solaranzeige/anzeige/1/JKBMS/Uptime/Stunden",cellStr.c_str());

cellStr = String(days);
client.publish("solaranzeige/anzeige/1/JKBMS/Uptime/Tage",cellStr.c_str());

cellStr = String(charge);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Charge",cellStr.c_str());
cellStr = String(discharge);
client.publish("solaranzeige/anzeige/1/JKBMS/Data/Discharge",cellStr.c_str());
}

Die Funktionen WLAN, Bluetooth Verbindung, MQTT-Broker Verbindung klappen schon mal.
Auch die Datenübertragung und das schreiben in die InfluxDB klappt.
Aber hier steckt der Teufel im Detail, denn die Daten landen alle in einem Topf ohne Gliederung.

Im Grafana sieht das bei den "Query inspector" so aus:
request:Object
method:"GET"
url:"api/datasources/proxy/1/query"
params:Object
db:"solaranzeige"
q:"SELECT "JKBMS" FROM "MQTT" WHERE time >= now() - 24h and time <= now()"
epoch:"ms"
data:null
precision:"ms"
hideFromInspector:false
response:Object
results:Array[1]
0:Object
statement_id:0
series:Array[1]
0:Object
name:"MQTT"
columns:Array[2]
0:"time"
1:"JKBMS"
values:Array[524]
0:Array[1657408382000,offline]
1:Array[1657408393000,26.200]
2:Array[1657408394000,0.000]
3:Array[1657408395000,7]
4:Array[1657408396000,34]
5:Array[1657408397000,19]
6:Array[1657408398000,30]
7:Array[1657408399000,on]
8:Array[1657408400000,on]
9:Array[1657408401000,3.263]
10:Array[1657408402000,3.264]
11:Array[1657408403000,3.264]
12:Array[1657408404000,3.261]
13:Array[1657408405000,3.263]
14:Array[1657408406000,3.264]
15:Array[1657408407000,3.261]
16:Array[1657408408000,3.262]
17:Array[1657408410000,3.264]
18:Array[1657408411000,3.262]
19:Array[1657408412000,3.256]
20:Array[1657408413000,3.261]
21:Array[1657408414000,3.256]
22:Array[1657408415000,3.253]
23:Array[1657408416000,3.226]
24:Array[1657408417000,3.193]
25:Array[1657408418000,52.071]
26:Array[1657408419000,0.095]
27:Array[1657408420000,26.300]
28:Array[1657408421000,24.600]
29:Array[1657408422000,24.200]
30:Array[1657408423000,527.119]
31:Array[1657408424000,-10.123]
32:Array[1657408425000,32]
33:Array[1657408426000,3]
34:Array[1657408427000,0.000]
35:Array[1657408428000,8]
36:Array[1657408563000,3.263]
37:Array[1657408564000,3.262]
38:Array[1657408565000,3]
39:Array[1657408566000,0.000]
40:Array[1657408567000,54]
41:Array[1657408568000,36]
42:Array[1657408569000,19]
43:Array[1657408570000,3.262]
44:Array[1657408571000,3.264]
45:Array[1657408572000,3.259]
46:Array[1657408573000,on]
47:Array[1657408574000,3.266]
48:Array[1657408575000,3.264]
49:Array[1657408576000,3.264]
50:Array[1657408577000,3.261]
51:Array[1657408578000,3.262]
52:Array[1657408579000,3.264]
53:Array[1657408580000,3.262]
54:Array[1657408581000,3.262]
55:Array[1657408582000,3.263]
56:Array[1657408583000,3.261]
57:Array[1657408584000,3.256]
58:Array[1657408585000,3.261]
59:Array[1657408586000,3.256]
60:Array[1657408587000,3.259]
61:Array[1657408588000,3.159]
62:Array[1657408589000,3.175]
63:Array[1657408590000,52.018]
64:Array[1657408591000,0.078]
65:Array[1657408592000,26.300]
66:Array[1657408593000,24.600]
67:Array[1657408594000,24.100]
68:Array[1657408595000,526.582]
69:Array[1657408596000,-10.339]
70:Array[1657408597000,32]
71:Array[1657408598000,3]
72:Array[1657408599000,0.000]
73:Array[1657408600000,55]
74:Array[1657408601000,36]
75:Array[1657408602000,19]
76:Array[1657408603000,30]
77:Array[1657408604000,on]
78:Array[1657408605000,on]
79:Array[1657408606000,3.262]
80:Array[1657408607000,3.259]
81:Array[1657408608000,3.257]
82:Array[1657408609000,3.254]
83:Array[1657408610000,3.257]
84:Array[1657408611000,3.149]
85:Array[1657408613000,3.182]
86:Array[1657408614000,52.025]
87:Array[1657408615000,0.118]
88:Array[1657408616000,26.200]
89:Array[1657408617000,24.600]
90:Array[1657408618000,24.200]
91:Array[1657408624000,offline]
92:Array[1657408625000,3.266]
93:Array[1657408626000,0.084]
94:Array[1657408627000,5]
95:Array[1657408628000,38]
96:Array[1657408629000,19]
97:Array[1657408630000,30]
98:Array[1657408631000,on]
99:Array[1657408632000,on]
100:Array[1657408633000,3.264]
101:Array[1657408634000,3.262]
102:Array[1657408635000,3.261]
103:Array[1657408636000,3.258]
104:Array[1657408637000,3.264]
105:Array[1657408638000,3.266]
106:Array[1657408639000,3.258]
107:Array[1657408640000,3.263]
108:Array[1657408641000,3.266]
109:Array[1657408642000,3.258]
110:Array[1657408643000,3.256]
111:Array[1657408644000,3.261]
112:Array[1657408645000,3.249]
113:Array[1657408646000,3.256]
114:Array[1657408647000,3.210]
115:Array[1657408648000,3.173]
116:Array[1657408649000,52.036]
117:Array[1657408650000,0.084]
118:Array[1657408651000,26.300]
119:Array[1657408652000,24.600]
120:Array[1657408653000,24.200]
121:Array[1657408654000,537.996]
122:Array[1657408655000,-10.339]
123:Array[1657408656000,31]
124:Array[1657408657000,3]
125:Array[1657408658000,0.000]
126:Array[1657408659000,6]
127:Array[1657408660000,38]
128:Array[1657408661000,19]
129:Array[1657408662000,30]
130:Array[1657408663000,on]
131:Array[1657408664000,on]
132:Array[1657408665000,3.263]
133:Array[1657408667000,3.264]
134:Array[1657408668000,3.262]
135:Array[1657408669000,3.258]
136:Array[1657408670000,3.266]
137:Array[1657408671000,3.262]
138:Array[1657408672000,3.259]
139:Array[1657408673000,3.266]
140:Array[1657408674000,3.263]
141:Array[1657408675000,3.254]
142:Array[1657408676000,3.261]
143:Array[1657408677000,3.261]
144:Array[1657408678000,3.249]

Leider ohne jegliche Zuordnung.
Kann ich im Script noch etwas anpassen dass mir die Gliederungen und Bezeichnungen mitspeichert?
Ansonsten wüsste ich nicht wie ich die Daten in Grafana filtern muss um die nach Kategorie/Ausgabe zu visualisieren.

Müsste vielleicht bei "columns: Array" noch eine zusätzliche Kategorie mit Zuordnung hin?

PV: 11,2KW in 2 Strings - Süden
WR: MPP SOLAR - MPI5k (im parallel Betrieb, mit 0-Einspeisung)
EM:. SDM630
Speicher: LiFePO4 16S x 280Ah = 14.3 KWh


   
AntwortZitat
(@obi70)
Vorsichtiger Stromfühler
Beigetreten: Vor 4 Jahren
Beiträge: 5
 

Moin,

könnte mir vielleicht einer helfen. Ich bekomme das irgendwie nicht hin.
Was muss ich der Version 1.72 einbauen, damit da auch das reconnection funktioniert ?

Viele Grüße

Obi70

15.6 KWp mit 67KWh Eigenbauspeicher aus 18650
14S160P ca.25kw + 14S240P ca. 28KW + 16 EVE 280K ca. 14KW
MPP Solar PIP-5048MS + 3x MPPT Laderegler a 60A
Ertrag: 10.2022 = 726 KWh, 09.2022 = 952 KWh


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

Hey,

@damianator

ich kann dir nicht folgen bei mir im Iobroker ist das alles geordnet ..
ich habe die Ordner "Data", "Parameter" und "Uptime" und dort sind die jeweiligen Signale drin die ich auch mit Influx Logge...

Entsprechend habe ich das alles als Einzel Queriy verfügbar im Grafana etc...

kann dein Problem nicht verstehen sorry...

@Obi70

du hast 3 BMS und auch entsprechend 3 Eps32 ?

wenn du das so machen willst musst du den eintrag "#define mqttname "BMS_Watchdog"" dann einen eindeutigen Namen zuweisen. Und dann auch wichtig das die Daten in dem jeweiligen Geräte ankommt in der Datei "MQTT.ino" alle einträge wo "BMS_Watchdog" vorkommt das auch entsprechend austauschen.

Sonst wird das nichts ...

die Version 1.72 zu ertüchtigen macht kann sinn da Arbeit rein zu stecken, das Delta ist zu groß mittlerweile...


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

Hallo zusammen,

ich hab mich jetzt nochmal dem Thema MQTT Gerätename etc angenommen ..

in der nun zur Verfügung stehenden Version 3.5 ist jetzt alles mit dem Parameter "mqttname" verknüpft und es muss in der MQTT.ino nichts mehr angepasst werden, das wird nun automatisch übernommen.

nun sollte man das einfacher nutzen können wenn man mehrere BMS davon hat.
Einfach eindeutigen Namen im parameter "mqttname" vergeben und dann wird auch dort alles gepublisht 😉

bitte um Rückmeldung ob es Probleme gibt, kann gerade selbst nicht testen 😉


   
AntwortZitat
Seite 22 / 49
Teilen: