Fehler im seplos_bms.php

Welche Geräte sollen noch implementiert werden?
Was sollte man ändern / verbessern / ergänzen an der Solaranzeige? Hier kann Jeder seine Ideen einbringen.
Außerdem steht hier, woran gerade gerbeitet wird.

Moderator: Ulrich

Forumsregeln
Wenn neue Geräte implementiert werden sollen ist die Protokollbeschreibung der Schnittstelle vom Hersteller Voraussetzung.

Bitte nur konkrete Ideen hier eintragen und in jedem Beitrag bitte nur eine Erweiterung / Änderung, damit das Ganze noch überschaubar bleibt. Ein ganzes Sammelsorium von Ideen in einem Thread ist zu unübersichtlich. Nicht alles kann und wird auch verwirklicht werden.
Sigma1
Beiträge: 49
Registriert: Do 18. Jul 2024, 11:59
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Fehler im seplos_bms.php

Beitrag von Sigma1 »

Hallo zusammen,
ich glaube ich habe da einen Fehler im seplos_bms.php gefunden. ich bin zwar kein php Programmierer, aber ich hatte früher auch mal programmiert in diversen anderen Sparchen.

Auf Zeile 213 steht:

$aktuelleDaten["Batterie"]["Leistung"] =round(( $aktuelleDaten["Pack".$n]["Spannung"] * $aktuelleDaten["Pack".$n]["Strom"]),1);

Das ist in der Schleife die beim Auslesen abläuft. Bei 4 Batterien also 4 mal und diese Zeile sollte die Summe der Leistungsdaten aller 4 Batterien herausgeben. Mir fiel aber auf, dass nur die Leistungsdaten des zuletzt eingelesenen Akkus angezeigt werden. Und wenn ich die Zeile anschaue, dann denke ich dass das so ist. Müsste es nicht so ähnlich aussehen:

$aktuelleDaten["Batterie"]["Leistung"] =$aktuelleDaten["Batterie"]["Leistung"]+round(( $aktuelleDaten["Pack".$n]["Spannung"] * $aktuelleDaten["Pack".$n]["Strom"]),1);

Ob das syntaktisch richtig ist weiss ich nicht, da eben kein php Programmierer. Aber irgendwie müssten die Daten ja aufsummiert werden, d.h. die der zuvor eingelesenen Pakete + das neu eingelesene.

Ich werde es gerne mal ausprobieren, wenn mir jemand sagt, ob der Syntax da stimmt, oder mir den richtigen gibt ;)

Gruss
Sigma1

Benutzeravatar
Ulrich
Administrator
Beiträge: 6320
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 159 Mal
Danksagung erhalten: 933 Mal

Re: Fehler im seplos_bms.php

Beitrag von Ulrich »

Hallo Sigma1

du hast vollkommen recht. Es müsste heißen:

Code: Alles auswählen

$aktuelleDaten["Batterie"]["Leistung"] = $aktuelleDaten["Batterie"]["Leistung"] + round(( $aktuelleDaten["Pack".$n]["Spannung"] * $aktuelleDaten["Pack".$n]["Strom"]),1);  
Vielen Dank für den Hinweis, ich habe es im Update geändert.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Sigma1
Beiträge: 49
Registriert: Do 18. Jul 2024, 11:59
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: Fehler im seplos_bms.php

Beitrag von Sigma1 »

Hallo Ulrich,

besten Dank für die schnelle Umsetzung. Ich habe das bei mir mal angepasst und es funktioniert soweit. Bei der Rundung habe ich die 1 noch durch 0 ersetzt. Damit erhalte ich nun Watt (auf 1 Watt genau) mit der 1 drin gibts dann eine Genauigkeit auf 100mW was eigentlich unsinnig ist.

Jetzt nur noch eine kleine Frage. Ist zwar etwas OT hier, aber vermutlich kannst Du mir das in einem Satz beantworten. Das hat mal funktioniert dachte ich zumindest, aber in der Gauge wird mir der Wert nur auf 1kW genau angezeigt. Das muss aber was mit Grafana sein. Bloss fand ich das bis jetzt nicht raus. Wenn ich den Wert in ein anderes Feld schreibe, dann erscheint er korrekt. Aber nicht mehr in der Gauge. Da wird 1550W beispielsweise auf 2kW gerundet. Aber auch 2450W wird auf 2kW gerundet. Etwas grobe Auflösung.
Im neuen Feld das ich mal erstellte kommte der Wert richtig. Eigentlich möchte ich in der Gauge auch -2964W oder -2.964kW sehen statt -3kW.

Gruss
Sigma1
Dateianhänge
Seplos2.png
Seplos2.png (18.66 KiB) 190 mal betrachtet

Sigma1
Beiträge: 49
Registriert: Do 18. Jul 2024, 11:59
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: Fehler im seplos_bms.php

Beitrag von Sigma1 »

Vergiss die Zusatzfrage. Es war ein Fehler in der Grafana Konfiguration der Gauge. Unter Decimals stand da eine 0. Jetzt funktioniert die Gauge.
Aber ich habe noch ein paar Herausforderungen, die offenbar nicht einfach zu lösen sind. Beispielsweise das Aufsummieren der Leistungswerte der beiden Deye WR aus den 2 Datenbanken. Da haben sich offenbar auch schon andere die Zähne daran ausgebissen. Es gibt wohl verschiedene Ansätze bis zu einem Python Script. Für mich eigentlich keine gute Lösung. Das müsste doch Grafana von Haus aus können, dass man 2 Werte (Felder) aus zwei DB's aufsummieren kann für die Anzeige. Muss ja nicht mal in die DB zuerückgeschrieben werden. Hmm.
Ich setze ja noch Solar-Assistant ein. Der ist realtime (sagen wir quasi realtime, das fand ich an dieser Lösung bis jetzt so toll). Mit Solaranzeige habe ich aber ein Werkzeug in der Hand, das sich unglaublich (fast) frei parametrieren lässt und so ein Panel erstellen kann, das genau meinen Bedürfnissen entsricht. Leider nicht wirklich realtime. Aber das scheint vom System her nicht anders gegeben. Da wird es wohl auch in Zukunft keine schnelleren Lösungen geben denke ich. Bei 3 Reglern kann man offenbar das Auslesen doppelt so schnell machen. Einfach nicht mehr als 6 Regler pro Minute.
Das habe ich noch nicht umgesetzt, muss ich dann mal probieren. Erstmals musste das Einlesen der Daten funktionieren. Und das 2. wird eben die Summierung der Leistungnsdaten der 2 Deye sein. Wenn das funktioniert, dann kann ich mich an die Panelbildung wagen. Vorher macht dies aber noch keinen Sinn. Denn ohne Gesamtleistung der beiden WR bringt mir Solaranzeige nicht viel. Das sollte schon irgendwie möglich sein.

Weiter habe ich das LOG realtime laufen lassen mit dem tail Befehl. Da sah ich immer mal wieder Fehler beim Einlesen der Deye WR. Dann war auch mal kurz ein Wert auf 0 obohl das nicht korrekt war. Beim nächsten Auslesne war er dann wieder richtig. Ob das meiner Konfiguration geschuldet ist, weiss ich nicht. Denn ich zapfe den gleichen Modbus an für den Solar-Assistand wie für SOlaranzeige. Also 2 Raspberry Pi und jeder hat seine 3 USB Modbus/RS485 Konvertert dran. (2x für Deye 1x für Seplos). Beim Solar-Assistant habe ich da keine unregelmässigkeiten entdeckt.

Das sieht dann beispielsweise so aus:

21.07. 02:34:01 |------------------------- Start deye_wr.php ----- Regler 93 ---
21.07. 02:34:01 -Hardware Version: Raspberry Pi 4 Model B Rev 1.2
21.07. 02:34:01 + -WR_ID: 01 USB: /dev/Geraet1
21.07. 02:34:01 -Falsche Daten kommen zurück. Noch einmal versuchen. 00f0010306000500010104bce6
21.07. 02:34:02 -Gerätetyp: 0005
21.07. 02:34:02 -Es fehlen noch Daten. [2] Soll: 15 ist: 119 | 01030ad4c00001ffff00000005e1170103028a0032e44d010364015002fb01090554055413880000000000000000000000980093004c0000000000000000000000000000000000000000000000000158000000580000000000000000000000000000000000000000000000000000000000000000000000
21.07. 02:34:02 -Falsche Daten kommen zurück. Noch einmal versuchen. 000000000000
21.07. 02:34:02 -Protokoll Version: 104, Dashboard: Deye Hybrid Wechselrichter, Nennleistung: 12 kW
21.07. 02:34:04 -Es fehlen noch Daten. [1] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:05 -Es fehlen noch Daten. [2] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:05 -Es fehlen noch Daten. [3] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:05 -Es fehlen noch Daten. [4] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:05 -Es fehlen noch Daten. [5] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:05 -Es fehlen noch Daten. [6] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:06 -Es fehlen noch Daten. [7] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:06 -Es fehlen noch Daten. [8] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:06 -Es fehlen noch Daten. [9] Soll: 105 ist: 98 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac8
21.07. 02:34:06 -Es fehlen noch Daten. [11] Soll: 105 ist: 158 | 010364014302fd0c0810102020404080800000970092004c0000000000000000000000000000000000000000000000000158000000570000000000000000000000000000000000000000000000000000000000000000000000000000000000005ac80103028a0032e44d010364014102ef010f053f053f13830000000000000000000000970092004c000000000000000000000000000000000000000000
21.07. 02:34:06 -Falsche Daten kommen zurück. Noch einmal versuchen. 0000e001020204040808101020204040408080000000000000000000000000000000000000000000000000005dee
21.07. 02:34:08 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
21.07. 02:34:08 -Multi-Regler-Ausgang. 2
21.07. 02:34:10 -OK. Datenübertragung erfolgreich.
21.07. 02:34:10 |------------------------- Stop deye_wr.php ---------------------


Manchmal sind es auch mehr Fehler. Beim Seplos Script sehe ich nie einen Fehler, aber auch da zwapfe ich per Y Kabel mit beiden rPI's die Daten ab.

Trotzdem mal besten Dank an das Team oder wer auch immer hinter Solaranzeige steckt. Was ich bis jetzt sehe sieht sehr gut aus, auch die Kompatiblität zu verschiedenen WR und Batterielösungen und gemischten Systemen. Das hat richtig Potential.

Gruss
Sigma1

Zurück zu „Wunschliste und was wird gerade umgesetzt.“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste