Tabelle PV defekt?

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

Moderator: Ulrich

Hans Norbert
Beiträge: 7
Registriert: Sa 21. Okt 2023, 18:51

Tabelle PV defekt?

Beitrag von Hans Norbert »

Hallo,
dank Timo hab ich jetzt seit 2 - 3 Wochen eine Solaranzeige laufen
und versuche mich ein wenig in Grafana einzuarbeiten.
Erste Modifikationen am Dashboard hab ich auch schon gemacht und erst einmal ein paar einfache statistischen Daten angezeigt.
Ich weiß jetzt, wie viel Energie die PV diese oder letzte Woche erzeugt hat,
oder wie viel aktuell eingespeist oder bezogen wird.

Allerdings scheint jetzt irgendetwas komisch zu sein
Da ich noch nicht alle Feldnamen im Kopf habe benutze ich das Programm
InfluxDb Studio um in die Tabellen hinein zu schauen.
Die PV Tabelle lässt sich nicht mehr lesen.
Versuche ich die Standardabfrage
select * from PV where time > now() -5m laufen zu lassen
passiert lange erst ein mal gar nichts und dann kommt die Fehlermeldung
"Die Sammlung hat ihre maximale Kapazität erreicht"
Auch die Dashboards scheinen keine Werte mehr anzuzeigen, die aus der PV Tabelle kommen.

Hat irgendwer einen Tipp was ich tun kann?

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

Re: Tabelle PV defekt?

Beitrag von Ulrich »

das könnte 2 Gründe haben, entweder es ist kein Platz mehr auf der SD-Karte frei oder es wurden Mengen von Measurements angelegt.
Kansst du bitte auf der Konsole einmal folgendes eingeben:

df -h

influx
use solaranzeige
show Measurements
quit
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Hans Norbert
Beiträge: 7
Registriert: Sa 21. Okt 2023, 18:51

Re: Tabelle PV defekt?

Beitrag von Hans Norbert »

Hallo Ulrich,
Ich finde es toll wie schnell hier auf anfragen reagiert wird.
Ich bin zwar nicht der Linux crack, aber ich sehe hier nichts besonderes.
pi@solaranzeige:~ $ df -h
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
udev 1,6G 0 1,6G 0% /dev
tmpfs 380M 2,2M 378M 1% /run
/dev/sda2 28G 7,8G 19G 30% /
tmpfs 1,9G 32K 1,9G 1% /dev/shm
tmpfs 5,0M 16K 5,0M 1% /run/lock
/dev/sda1 510M 130M 381M 26% /boot/firmware
tmpfs 380M 36K 380M 1% /run/user/1000
pi@solaranzeige:~ $ influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> use solaranzeige
Using database solaranzeige
> show Measurements
name: measurements
name
----
AC
Batterie
Info
PV
Service
Statistik
Summen
Soweit scheint ja alles erst ein mal OK zu sein
Da deine Rückfrage mir aber neue Ideen gegeben hat, hab ich dann statt quit
mal
select * from PV where time > now -1m
eingegeben.
und jetzt wird es schräg. Die Ausgabe, die ich erhalte ist dann
select * from PV where time > now() -1m
name: PV
time Leistung Leistung1 Leistung10 Leistung100 Leistung1000 Leistung1001 Leistung1002 ...
also es sieht so aus als ob ich ca. 2277 durchnummerierte Leistungs Felder in der PV Tabelle habe.
dazu kommen dann noch
2277 Spannung[1-2277] Einträge
so wie 2277 Strom[1-2277] Einträge
Die Ausgabe enthält dann noch 6830 -------- Einträge da weiß ich aber nicht ob das Felder oder Inhalte sind.
Ich habe nur an einem Dashboard gefummelt und habe keine Ahnung was ich gemacht habe um diese zusätzlichen Felder zu erzeugen.
Aber was muss ich tun um sie wieder los zu werden?
Das Dashboard, dass diesen Unsinn erzeugt haben müsste hab ich mal angehängt.
Ich weiß aber nicht, ob diese Version das noch machen würde oder ob das nur das Ergebnis eines Experimentes war.
Gibt es eine Möglichkeit das zu heilen ohne die echten Daten zu zerstören?
Und kann mir irgendwer sagen wie das passiert ist, damit ich das in Zukunft vermeiden kann?
Gruß
Norbert
Dateianhänge
PV Statistik-1709205167981.json
(53.46 KiB) 32-mal heruntergeladen

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

Re: Tabelle PV defekt?

Beitrag von Ulrich »

Um welche Regler Nummer geht es denn hier?
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Hans Norbert
Beiträge: 7
Registriert: Sa 21. Okt 2023, 18:51

Re: Tabelle PV defekt?

Beitrag von Hans Norbert »

Das kann ich Dir nicht sagen.
Ich habe ja nur an dem Dashboard "Gespielt"
Ich habe eine Huawei Anlage
Als Basis Dashboard habe ich Huawei Wechselrichter M1 Modelle verwendet.
Ich vermute das Chaos ist entstanden als ich das Feld, das mit Solarspannungen angeschaut habe.
Ich habe zwei Strings und wollte zusätzlich zu den Spannungen auch die Ströme anzeigen.
Als ich dieses Control angewählt habe ist wohl irgend etwas passiert.
Normalerweise zeigt es auch im Edit Mode nur diese zwei Strings an.
Hier wurde jetzt aber auf einmal eine Zweite Seite aufgemacht in der die ungenutzten Strings sichtbar wurden.
Da mein Dach aber niemals Platz für mehr strings hat habe ich die Überflüssigen strings dann gelöscht.
Zuvor war ich noch hergegangen und habe das Kontrollelement das im Original mit 230 Volt Wechselrichter betitelt war manipuliert und weitere Elemente aus der AC Tabelle dargestellt. Z.B. nicht nur die "R" Spannung angezeigt sondern R,S,T (die heute ja auch mit L1, L2 und L3 bezeichnet werden)
Ich habe aber wirklich nur mit Grafana rumgespielt und habe keine Ahnung wie die zusätzlichen ~6800 Felder in die PV Tabelle gekommen sind.

Hans Norbert
Beiträge: 7
Registriert: Sa 21. Okt 2023, 18:51

Re: Tabelle PV defekt?

Beitrag von Hans Norbert »

Wie gesagt, ich denke nicht, dass mit irgend einem Regler zu tun hat.
Wäre es eine "normale" SQL Datenbank
müsste da prinzipiell so ein Komando abgelaufen sein
DECLARE @i INT = 1;

WHILE @i <= 3000
BEGIN
ALTER TABLE PV
ADD COLUMN CONCAT('Leistung', @i) INT,
ADD COLUMN CONCAT('Spannung', @i) INT,
ADD COLUMN CONCAT('Strom', @i) INT;
SET @i = @i + 1;

END

Wie gesagt so ist es nicht passiert prinzipiell müsste es aber so geschehen sein.

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

Re: Tabelle PV defekt?

Beitrag von Ulrich »

Es wird Regler 62 sein. Ein Huawei Wechselrichter mit sDongle ausgelesen über WLAN. Das Problem liegt nicht in Grafana und auch nicht an dem Testen von Dashboards. Es liegt an der schlechten WLAN Verbindung.

Was ist zu tun?

1. Ein Update auf die Solaranzeige machen.

Auf der Konsole eingeben:
sudo update

2. Am besten das Measurement PV ganz löschen. Damit sind aber die alten PV Werte auch gelöscht.

Auf der Konsole eingeben:
influx
use solaranzeige
purge measurement PV
quit

3. Prüfen warum die WLAN Verbindung so schlecht ist. Bitte einmal in die LOG Datei schauen. /var/www/log/solaranzeige.log
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Hans Norbert
Beiträge: 7
Registriert: Sa 21. Okt 2023, 18:51

Re: Tabelle PV defekt?

Beitrag von Hans Norbert »

Dabei ist aber das Problem, der Raspi nicht über WLan angebunden ist sondern über Lan.
Ich hab mal ins Log geschaut.
Du hast recht, das Problem ist nicht gestern entstanden.
Im Log steht
22.02. 08:41:01 |---------------- Start huawei_LAN.php -----------------------------
22.02. 08:41:01 -Huawei: 192.168.55.73 Port: 502 GeräteID: 1
22.02. 08:41:07 -Fehler! Keine gültigen Daten empfangen.
22.02. 08:41:11 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
22.02. 08:41:17 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
22.02. 08:41:17 -OK. Datenübertragung erfolgreich.
22.02. 08:41:17 |---------------- Stop huawei_LAN.php ---------------------------
22.02. 08:42:01 |---------------- Start huawei_LAN.php -----------------------------
22.02. 08:42:01 -Huawei: 192.168.55.73 Port: 502 GeräteID: 1
22.02. 08:42:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
22.02. 08:42:12 -Fehler! Keine gültigen Daten empfangen.
22.02. 08:42:14 > -Gerätetyp: G2 Modell ID: 0
22.02. 08:42:30 -InfluxDB => [ AC Spannung_R=229.2,Spannung_S=228.8,Spannung_T=229.7,Frequenz=50.03,Leistung=91,Einspeisung=0,Bezug=149,Hausverbrauch=221 1708587731
PV Leistung=76914.04,Spannung1=382.2,Strom1=0.25,Leistung1=95.55,Spannung2=301.8,Strom2=0.19,Leistung2=57.342,Spannung3=0,Strom3=0,Leistung3=0,Spannung4=0,Strom4=0,Leistung4=0,Spannung5=0,Strom5=0,Leistung5=0 ...

Ich habe jetzt gerade nach Drop gesucht und den Forumseintrag
viewtopic.php?p=33748&hilit=drop#p33748
gefunden
Da wird ja das selbe Problem beschrieben.
Und so wie es aussieht kann man es mit diesen SQL Statements

Code: Alles auswählen

SELECT Leistung,Leistung1,Leistung2,Spannung1,Spannung2,Strom1,Strom2 INTO PV_Copy FROM PV
drop measurement PV
SELECT Leistung,Leistung1,Leistung2,Spannung1,Spannung2,Strom1,Strom2 INTO PV FROM PV_Copy
drop measurement PV_Copy
erst mal wieder heilen

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

Re: Tabelle PV defekt?

Beitrag von Ulrich »

Es gibt sehr viele Beiträge über Huawei + LAN (und WLAN)
Das ist keine stabile Verbindung. RS485 funktioniert wesentlich besser bei HUAWEI.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Hans Norbert
Beiträge: 7
Registriert: Sa 21. Okt 2023, 18:51

Re: Tabelle PV defekt?

Beitrag von Hans Norbert »

Ich kann zwar kein PHP
aber ich kann C/C++
Damit kann ich PHP Code zumindest ein wenig lesen.
Ich hab mir mal die huawei_LAN.php angeschaut.
Ich glaube ich weiß wo da das Problem ist.
Wir haben im Log file ja gesehen:
22.02. 08:42:01 -Huawei: 192.168.55.73 Port: 502 GeräteID: 1
22.02. 08:42:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
22.02. 08:42:12 -Fehler! Keine gültigen Daten empfangen.
22.02. 08:42:14 > -Gerätetyp: G2 Modell ID: 0
Hier hat es irgendeine Form von Fehler gegeben
Gerätertyp; G2 Model ID 0 gibt es so nicht.
Das eigentliche Problem scheint aber zu sein, dass versucht wird die Anzahl der Strings auszulesen
Aber nicht überprüft wird ob diese Anzahl plausibel ist.
Wir haben

Code: Alles auswählen

...
$aktuelleDaten["Anz_PV_Strings"] = hexdec( substr( $rc["Wert"], 284, 4 ));
...
 for ($j = 1; $j <= hexdec( $aktuelleDaten["Anz_PV_Strings"] ); $j++) {
    ...
    $aktuelleDaten["PV".$j."_Spannung"] = $funktionen->hexdecs( substr( $rc["Wert"], 56 + ($j * 8), 4 )) / 10;
    $aktuelleDaten["PV".$j."_Strom"] = $funktionen->hexdecs( substr( $rc["Wert"], 60 + ($j * 8), 4 )) / 100;
    $aktuelleDaten["PV".$j."_Leistung"] = round( ($aktuelleDaten["PV".$j."_Strom"] * $aktuelleDaten["PV".$j."_Spannung"]), 2 );
,,,
  }
wenn in "Anz_PV_Strings" also irgendein Unsinn eingelesen wird
erzeugt die For Schleife auch Unsinns "PV".$j.<Name> Werte

Hier müsste also irgendwie ein Check rein damit die PV Tabelle nicht so aufgeblasen wird.
Wie gesagt, ich kann PHP nicht.
Aber ich könnte mir vorstellen, wenn dieser Fehler wie viele Strings da sind nicht abgefangen werden kann weil eben auch 10000 Strings theoretisch möglich wären,
Müsste man in huawei_LAN_math.php etwas spezifischen einbauen, dass checkt ob Anz_PV_Strings stimmt und nachträglich die $aktuellenDaten aufräumt.
Allerdings, muss man eigentlich die kompletten $aktuellenDaten verwerfen wenn ein Datum nicht stimmt.
Hat man halt für diesen Zeitstempel keine Daten



Gruß
Norbert

Wer ist online?

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