SMA Energymeter liefert einzelne, viel zu große Werte

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

Bogeyof
Beiträge: 684
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 8 Mal
Danksagung erhalten: 65 Mal

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von Bogeyof »

Nur so als Tipp, wenn ihr solche Änderungen in der *_math.php (jeweils passend zum Wechselrichter) programmiert, dann gibt es keine Probleme beim nächsten Update. Ansonsten werden Eure Änderungen immer überschrieben und müssen dann wieder händisch nachgetragen werden.

andreas_n
Beiträge: 596
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 15 Mal
Danksagung erhalten: 27 Mal

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von andreas_n »

Moin Bogeyof,

danke fürn Hinweis, weiss ich, aber ausgerechnet die energy_math schaut bei mir arg komisch aus, alle Zeilen mit schwarzen Klötzchen und "^M" am Ende und in Leerzeilen
Ich hab deswegen da die Finger weg gelassen. :D

Gruss
Andreas

PS

Hast Du schon deine sonoffs aufgebohrt bzgl Sensoren?
9kWp S/SO > SMA Tripower (IBN 18.6.20) + 4kWp S/SW > Growatt MIN 3000 TL-XE (IBN 31.3.21) + 2kWp Süd -19° ELWA DC Warmwasser ("IBN" 9.5.21)
3,8kWp S > Growatt SPH 4600 (IBN 22.10.21)

solarfanenrico
Beiträge: 593
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 31 Mal
Danksagung erhalten: 37 Mal

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von solarfanenrico »

andreas_n hat geschrieben:
Mi 18. Aug 2021, 07:17
...

danke fürn Hinweis, weiss ich, aber ausgerechnet die energy_math schaut bei mir arg komisch aus, alle Zeilen mit schwarzen Klötzchen und "^M" am Ende und in Leerzeilen
Ich hab deswegen da die Finger weg gelassen. :D
....
Moin Andreas,
diese M's sind Zeilenumbrüche.
Du hast mit einem anderen Editor(vielleicht in Windows) die growatt_math.php nach energy_math.php kopiert.
In der growatt... waren Zeilenumbrüche, die der neue andere linuxfremde Editor dann so darstellt. Die Datei ist i.O. und wenn Du die Kopiereren zukünftig in der Konsole mit dem Midnightcommander. und evtl das Teilkopieren mit dem Nanoeditor machst hast Du die schwarzen Kästchen nicht mehr.
Enrico

hendock
Beiträge: 59
Registriert: Mo 19. Jul 2021, 13:57
Hat sich bedankt: 3 Mal

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von hendock »

andreas_n hat geschrieben:
Di 17. Aug 2021, 18:38
hi hendock, hab deine Lösung!

Eben erst bemerkt...als ich deine Grafik vergrössert habe

wenn Du
SELECT (last("Bezug")) - 0.000001 FROM "AC" WHERE $timeFilter and Bezug < 15000 GROUP BY time(1m) fill(linear)

nimmst

muss auch bei Einspeisung, "Einspeisung" stehen...

also SO>>>

SELECT (last("Einspeisung")) - 0.000001FROM "AC" WHERE $timeFilter and Einspeisung < 15000 GROUP BY time(1m) fill(linear)


dann klappts auch in der Grafik ohne Spikes

Gruss
Andreas
Da hätte ich auch selber drauf kommen können. :oops:

Funktioniert. Danke!

Den Rest sehe ich mir auch noch an.

ksapp
Beiträge: 43
Registriert: Di 27. Jul 2021, 21:17
Hat sich bedankt: 4 Mal
Danksagung erhalten: 5 Mal
Kontaktdaten:

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von ksapp »

Hi,

also in den letzten Tagen habe ich jetzt doch auch diese falschen Werte bekommen. So ein. bis zweimal am Tag.
Folgende Werte hab ich gesehen:
time Bezug Einspeisung Frequenz Leistung Leistung_R Leistung_S Leistung_T Leistungsfaktor Leistungsfaktor_R Leistungsfaktor_S Leistungsfaktor_T Spannung Spannung_R Spannung_S Spannung_T Strom Strom_R Strom_S Strom_T
---- ----- ----------- -------- -------- ---------- ---------- ---------- --------------- ----------------- ----------------- ----------------- -------- ---------- ---------- ---------- ----- ------- ------- -------
1630241232000000000 0 16830090.5 262.82 -16830090.5 -16829644.8 -284.6 -161.1 0.976 0.849 0.999 0.965 224.63 224.63 224.38 224.69 2.867 0.746 1.276 0.845

oder

time Bezug Einspeisung Frequenz Leistung Leistung_R Leistung_S Leistung_T Leistungsfaktor Leistungsfaktor_R Leistungsfaktor_S Leistungsfaktor_T Spannung Spannung_R Spannung_S Spannung_T Strom Strom_R Strom_S Strom_T
---- ----- ----------- -------- -------- ---------- ---------- ---------- --------------- ----------------- ----------------- ----------------- -------- ---------- ---------- ---------- ----- ------- ------- -------
1630422732000000000 0 3408325.8 262.82 -3408325.8 -3407872 -283.3 -170.5 0.992 0.902 0.999 0.999 222.53 222.53 222.54 222.73 2.886 0.761 1.279 0.846


Ein Muster konnte ich bisher noch nicht erkennen.

Die Werte zu Null schreiben ist natürlich eine Möglichkeit - quick und dirty eben (-;

Gruß
Oliver
SMA Tripower 5.0 STP - SMA Energymeter - Raspberrby Pi Zero, ESP 32 für Erfassung der Vor- Rücklauf und Aussentemperatur.

andreas_n
Beiträge: 596
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 15 Mal
Danksagung erhalten: 27 Mal

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von andreas_n »

hallo ksapp,

der Spike im Bezug wäre ja nichtmal so schlimm,wo halt der Spike Schaltvorgänge auslöst,ist in der Einspeisung.bei mir vornehmlich nachts.Da ich die Automation verwende, bleibt nachts halt nun der heizstab aus,klar kommt ja so viel wie null vom Dach :D

Besser als 150 bis 250MW für 1-2minuten allemal. Und nachts=Null klingt auch plausibler

gruss

Andreas
9kWp S/SO > SMA Tripower (IBN 18.6.20) + 4kWp S/SW > Growatt MIN 3000 TL-XE (IBN 31.3.21) + 2kWp Süd -19° ELWA DC Warmwasser ("IBN" 9.5.21)
3,8kWp S > Growatt SPH 4600 (IBN 22.10.21)

ksapp
Beiträge: 43
Registriert: Di 27. Jul 2021, 21:17
Hat sich bedankt: 4 Mal
Danksagung erhalten: 5 Mal
Kontaktdaten:

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von ksapp »

Hallo Andreas,

ich habe ein bisschen in der SMA_Energy_math gebastelt. Die angehängte SMA_Energy_math hat folgende Funktionen:

- unrealistische Werte auf Null schreiben, bevor sie in die Datenbank kommen -> Die Funktion ist erst seit gestern da drin. Bisher hat die noch nicht zugeschlagen.
- Verbrauchsberechnung - nimmt nachts die Werte vom Energymeter und tags die Werte vom Wechselrichter - abhängig vom Betriebsstatus des Wechselrichters. Die Werte werden in eine neue Tabelle 'Dashboard' geschrieben.

Dazu gehört diese Mathe.php - das hat hier im Forum jemand so vorgedacht - ich habs etwas angepasst.

Wer es probieren möchte - bitteschön - aber kommt mir nachher nicht, wenn es aus irgendwelchen Gründen eure Datenbank durcheinander gebracht hat (-;

Bei mir läuft es und hat nix kaputt gemacht (Regler 27 und Regler 54).

Gruß
Oliver
Dateianhänge
sma_energy_math.php
(5.54 KiB) 35-mal heruntergeladen
mathe.php
(1.25 KiB) 33-mal heruntergeladen
SMA Tripower 5.0 STP - SMA Energymeter - Raspberrby Pi Zero, ESP 32 für Erfassung der Vor- Rücklauf und Aussentemperatur.

andreas_n
Beiträge: 596
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 15 Mal
Danksagung erhalten: 27 Mal

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von andreas_n »

moin Oliver,

ja,kann man so machen,aber ich hab drei WR am laufen, das haut dann so nimmer hin. Schafft nichtmal SMA selber,in der app wirds korrekt angezeigt,aber für die Schaltvorgänge nimmt SMA scheinbar nur Daten aus dem WR und nicht den EM.

Gruß

Andreas
9kWp S/SO > SMA Tripower (IBN 18.6.20) + 4kWp S/SW > Growatt MIN 3000 TL-XE (IBN 31.3.21) + 2kWp Süd -19° ELWA DC Warmwasser ("IBN" 9.5.21)
3,8kWp S > Growatt SPH 4600 (IBN 22.10.21)

ksapp
Beiträge: 43
Registriert: Di 27. Jul 2021, 21:17
Hat sich bedankt: 4 Mal
Danksagung erhalten: 5 Mal
Kontaktdaten:

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von ksapp »

Moin,

Ich muss das Thema nochmal aufgreifen. Ich denke, ich bin der Sache auf der Spur, was es mit den falschen Werten auf sich hat. Um das zu finden, habe ich die SMA_Energy.php angepasst, das ich das Telegramm in die solaranzeige.log geschrieben kriege, wenn Werte jenseits von gut und böse geschrieben werden. Ich habe dort das hier gefunden:

13.11. 19:54:05 - Einspeisung falscher Wert auf Null gesetzt:1730150.4

534d4100000402a000000001024400106069015d7155a6011aa649f9000104000000160400010800000000005795c43000020400000000000002080000000000f26e48b00003040000000000000308000000000006f16980000404000000077c0004080000000000535bed18000904000000174000090800000000007e80e7a0000a040000000000000a080000000000f5066b20000d0400000003b30015040000000a220015080000000000250e9000001604000000000000160800000000004dea9fa0001704000000000000170800000000000652180800180400000004a60018080000000000208e9048001d040000000b25001d08000000000036b1a9c8001e040000000000001e080000000000502dfa00001f040000000588002004000003787e002104000000038d00290400000002870029080000000000070a4ea0002a040000000000002a08000000000068594e68002b040000000000002b08000000000000320f28002c040000000053002c080000000000197b36f8003104000000028c00310800000000001adaeb8800320400000000000032080000000000689335b0003304000000012800340400000374a400350400000003e0003d04000000095b003d0800000000003af00098003e040000000000003e0800000000004b9d79e8003f040000000000003f080000000000026f92b0004004000000028300400800000000001b5477a000450400000009b00045080000000000449a0eb8004604000000000000460800000000004c5a3ce00047040000000479004804000003794b00490400000003c6900000000200125200000000

Das ist das Rawtelegramm, was das Energymeter liefert. Die SMA_Energy.php zerlegt und wandelt das in Klartext um. Ein Entscheidender Punkt ist diese Zeile zur Ermittlung des Wertes für Einspeisung:

$aktuelleDaten["Einspeisung"] = ((hexdec(substr($Daten,strpos($Daten,"00160400",0)+8,8))/10) + (hexdec(substr($Daten,strpos($Daten,"002a0400",0)+8,8))/10) + (hexdec(substr($Daten,strpos($Daten,"003e0400",0)+8,8))/10));

Hier wird das Telegramm unter Anderem nach der Zeichenfolge '00160400' durchsucht und der Wert dahinter wird dann umgewandelt und in Klartext in die Datenbank geschrieben. Hinter der Zeichenfolge ''00160400' liegt der Wert für 'EinspeisungPhase_R'. Das Programm durchsucht also den gesamten String nach der Zeichenfolge 00160400. Im obigen Telegramm kommt diese Zeichenfolge allerdings zwei mal vor. Einmal an Stelle 66 und einmal an Stelle 352 (wenn ich mich nicht verzählt habe (-; ).
Das Programm nimmt die Stelle, die es zuerst findet - also hier Stelle 66 und wandelt um, was danach kommt:
01080000
Das ist eine Hex-Zahl und nach Dez umgewandelt ergibt sich '17301504' , was (fast) der Zahl entspricht, die in die Datenbank geschrieben wird. Die kleine Abweichung ergibt sich, da 'Einspeisung' noch weitere Werte hinzu addiert hat.

Richtig wäre die zweite Stelle (352) - und da steht aktuell '00000000' was auch korrekt wäre.

Ergo - kommt vom Energymeter ein Telegramm zurück, welches zufällig einen Messwert hat, der die 'falsche' Zahlenfolge beinhaltet, wird der falsche Teil des Telegramms umgewandelt und in die Datenbank geschrieben.
Das betrifft nicht nur diesen einen Wert - sporadisch sind auch andere Werte davon betroffen. Ich hab letztens die Datenbank durchforstet und einen Haufen Werte gelöscht, die in den letzten Monaten falsch beschrieben wurden.

Gruß
Oliver
SMA Tripower 5.0 STP - SMA Energymeter - Raspberrby Pi Zero, ESP 32 für Erfassung der Vor- Rücklauf und Aussentemperatur.

andreas_n
Beiträge: 596
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 15 Mal
Danksagung erhalten: 27 Mal

Re: SMA Energymeter liefert einzelne, viel zu große Werte

Beitrag von andreas_n »

moin Oliver,

und wie brächte man jetzt die php dazu,den zweiten und korrekten Wert zu verwenden?

gruss
Andreas
9kWp S/SO > SMA Tripower (IBN 18.6.20) + 4kWp S/SW > Growatt MIN 3000 TL-XE (IBN 31.3.21) + 2kWp Süd -19° ELWA DC Warmwasser ("IBN" 9.5.21)
3,8kWp S > Growatt SPH 4600 (IBN 22.10.21)

Antworten