Falsche Werte in DB vom WR

Alles was mit der Solaranzeige Image Installation und Betrieb zu tun hat. Einfache Konfiguration mit einem Gerät.

Moderator: Ulrich

acsolar
Beiträge: 14
Registriert: Mi 15. Sep 2021, 08:22

Falsche Werte in DB vom WR

Beitrag von acsolar »

Hallo,
poste hier da es kein Multireglerproblem oder MQTT Problem ist.

Habe eine neue Installation und bekomme falsche Werte in die Datenbank und somit in Grafana angezeigt.
Hier ein Beispiel der letzten 30 Minuten:
Screenshot 2023-05-11 111320.jpg
Hier der Logfile
11.05. 11:04:01 |---------------- Start huawei_LAN.php -----------------------------
11.05. 11:04:01 -Huawei: 10.0.0.81 Port: 502 GeräteID: 1
11.05. 11:04:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
11.05. 11:04:10 -MQTT Daten zum [ 10.0.0.91 ] senden.
11.05. 11:04:10 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
11.05. 11:04:10 -OK. Datenübertragung erfolgreich.
11.05. 11:04:10 |---------------- Stop huawei_LAN.php ---------------------------
11.05. 11:04:10 MQT-MQTT Daten zum Broker gesendet bzw. vom Broker empfangen. Adresse: 10.0.0.91 Port: 1883
11.05. 11:05:01 |---------------- Start huawei_LAN.php -----------------------------
11.05. 11:05:01 -Huawei: 10.0.0.81 Port: 502 GeräteID: 1
11.05. 11:05:05 > -Gerätetyp: Modell ID: 0
11.05. 11:05:10 -MQTT Daten zum [ 10.0.0.91 ] senden.
11.05. 11:05:10 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
11.05. 11:05:10 -OK. Datenübertragung erfolgreich.
11.05. 11:05:10 |---------------- Stop huawei_LAN.php ---------------------------

WR ist Huawei über SDongle, Raspi4 neues Image (32 und 64bit)

Hat jemand eine Idee?
Axel

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

Re: Falsche Werte in DB vom WR

Beitrag von Ulrich »

Der sDongle ist das Problem. Darüber gibt es hier im Forum eine Menge Posts. Der sDongle ist in der Regel extrem langsam und sendet manchmal auch keine Daten zurück. Es ist der Horror mit dem Ding. Ich habe so ein Gerät nicht, deshalb kann ich dir nicht direkt helfen.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

acsolar
Beiträge: 14
Registriert: Mi 15. Sep 2021, 08:22

Re: Falsche Werte in DB vom WR

Beitrag von acsolar »

OK,
danke habe ich verstanden.
Eigenartig ist nur es lief bis zum Update problemlos. Hast du irgendwo ein älteres Image damit ich es damit nochmals testen kann?

Danke
Axel

kgeipel
Beiträge: 8
Registriert: Mo 16. Jan 2023, 13:57

Re: Falsche Werte in DB vom WR

Beitrag von kgeipel »

Ich habe genau dasselbe Problem und denke nicht das es am sDongle liegt, denn seit Inbetriebnahme (Dezember 2022) der Anlage hatte ich immer vollständige Werte, erst nach einem Update/Neustart des Docker Containers (letzte Woche) kam es zu genau diesem Verhalten. Auch bei mir wird im Log der Solaranzeige immer genau dann die Modell-ID sowie der Gerätetyp nicht angezeigt.

Code: Alles auswählen

23.05. 08:35:02 |----------------   Start  huawei_LAN.php  ----------------------------- 
23.05. 08:35:02    -Huawei: 192.168.100.151 Port: 502 GeräteID: 1
23.05. 08:35:06 >  -Gerätetyp:   Modell ID: 0
23.05. 08:35:10 *  -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet. 
23.05. 08:35:10    -Schleife: 1 Zeitspanne: 1
23.05. 08:35:11    -OK. Datenübertragung erfolgreich.
23.05. 08:35:11 |----------------   Stop   huawei_LAN.php    --------------------------- 
23.05. 08:36:02 |----------------   Start  huawei_LAN.php  ----------------------------- 
23.05. 08:36:02    -Huawei: 192.168.100.151 Port: 502 GeräteID: 1
23.05. 08:36:07 >  -Gerätetyp: SUN2000-5KTL-M1  Modell ID: 426
23.05. 08:36:12 *  -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet. 
23.05. 08:36:12    -OK. Datenübertragung erfolgreich.
23.05. 08:36:12 |----------------   Stop   huawei_LAN.php    --------------------------- 
Evtl. könnte man das ja abfangen, dass wenn diese Daten gar nicht gelesen werden, dann eben auch keine 0 Werte an die InfluxDB gesendet werden. Leider ist PHP absolut nicht meine "Sprache"

TeamO
Beiträge: 1166
Registriert: Mo 22. Jun 2020, 08:58
Wohnort: Ulm / Neu-Ulm
Hat sich bedankt: 26 Mal
Danksagung erhalten: 228 Mal

Re: Falsche Werte in DB vom WR

Beitrag von TeamO »

Du könntest es damit testen, dass Du in der huawei_LAN.php die Zeilen 138 und 142+142 mit // auskommentierst.
Also so:

Code: Alles auswählen

//   $aktuelleDaten["Modell"] = $funktionen->hex2string( substr( $rc["Wert"], 0, 30 ));
  $aktuelleDaten["Firmware"] =  $funktionen->hex2string( substr( $rc["Wert"], 0, 30 ));
  $aktuelleDaten["Seriennummer"] = $funktionen->hex2string( substr( $rc["Wert"], 60, 24 ));
  $aktuelleDaten["PN"] =  $funktionen->hex2string( substr( $rc["Wert"], 100, 24 ));
//  $aktuelleDaten["ModellID"] = hexdec( substr( $rc["Wert"], 280, 4 ));
//  $funktionen->log_schreiben("Gerätetyp: ".$aktuelleDaten["Modell"]."  Modell ID: ".$aktuelleDaten["ModellID"],">  ",5);
Die Änderung ist aber nicht Updatefest. Also keinen Neustart des Containers danach machen.
Gruß Timo

Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen

Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de

Tibber Invite (100% Öko-Strom + 50€ Bonus)

kgeipel
Beiträge: 8
Registriert: Mo 16. Jan 2023, 13:57

Re: Falsche Werte in DB vom WR

Beitrag von kgeipel »

Hey Timo, danke für die Antwort, aber das einzige, was ich damit bewirke, ist, dass lediglich das WR Modell nicht mehr ausgelesen und geloggt wird

Ich habe stattdessen in Zeile 147 folgenden Block eingebaut:

Code: Alles auswählen

if (empty($aktuelleDaten["Modell"]) || empty($aktuelleDaten["ModellID"])) {
    if ($i > 3) {
    	$funktionen->log_schreiben("Modell oder Modell ID ungültig, überspringe Zyklus. ",">  ",5);
    	goto Ausgang;
    } else {
    	$funktionen->log_schreiben("Modell oder Modell ID ungültig, wiederhole Abfrage. ",">  ",5);
    	continue;
    }
  }
Falls die Abfrage dann 3 Mal ungültige Werte liefert, werden zwar für diesen Abfragezyklus keine Werte in die InfluxDB gesendet, jedoch kann man ja die Dashboards in Grafana dahingehend modifizieren, dass bei null Values einfach der vorhergehende Wert angezeigt wird.

TeamO
Beiträge: 1166
Registriert: Mo 22. Jun 2020, 08:58
Wohnort: Ulm / Neu-Ulm
Hat sich bedankt: 26 Mal
Danksagung erhalten: 228 Mal

Re: Falsche Werte in DB vom WR

Beitrag von TeamO »

Problem könnte hier aber dann die Laufzeit vom Script sein. Also dass es zu lange läuft.
Deswegen nur mal den Test um das Model nicht mehr auszulesen.
Das brauchst Du ja eigentlich auch nicht, oder?
Gruß Timo

Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen

Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de

Tibber Invite (100% Öko-Strom + 50€ Bonus)

kgeipel
Beiträge: 8
Registriert: Mo 16. Jan 2023, 13:57

Re: Falsche Werte in DB vom WR

Beitrag von kgeipel »

Hey Timo, jetzt versteh’ ich den Gedanken dahinter. Also die Laufzeit scheint auch nicht das Problem zu sein, manchmal braucht's 1 Versuch um schon nur das Modell und die ID zu lesen, manchmal 3 und wer hätte es gedacht, dasselbe Problem besteht dann trotzdem für andere Werte, da kommt einfach 0 vom Dongle zurück. Seltsamerweise sind es immer mal andere Werte, die nicht kommen.

Was ich eben nur absolut nicht verstehe ist, warum das alles Monatelang funktioniert hat und auf einen Schlag nicht mehr. Die Firmware des Dongles wurde in der vergangenen Woche auch nicht geändert, wie bereits erwähnt wurde lediglich der Container neu gestartet (Update EnvVar war dabei auf "yes" gestellt)

Hat sich an der Funktion "modbus_tcp_lesen" in den letzten Versionen irgendetwas geändert?

TeamO
Beiträge: 1166
Registriert: Mo 22. Jun 2020, 08:58
Wohnort: Ulm / Neu-Ulm
Hat sich bedankt: 26 Mal
Danksagung erhalten: 228 Mal

Re: Falsche Werte in DB vom WR

Beitrag von TeamO »

Das kann ich Dir leider nicht beantworten.
Du könntest jetzt natürlich versuchen eine "alte" Version der beiden Dateien huawei_LAN.php und funktionen.inc.php einzuspielen und dann prüfen, ob das Problem noch besteht.
Falls nein, müsste Ulrich schauen, was sich geändert hat.
Gruß Timo

Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen

Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de

Tibber Invite (100% Öko-Strom + 50€ Bonus)

kgeipel
Beiträge: 8
Registriert: Mo 16. Jan 2023, 13:57

Re: Falsche Werte in DB vom WR

Beitrag von kgeipel »

@acsolar/Axel: ich hab mal meine modifizierte huawei_LAN.php in den Anhang gepackt, du kannst ja mal testen, ob das dein Problem löst, bei mir läuft es damit jetzt jedenfalls wieder lückenlos.

Was hab ich gemacht?

Ich hab a) die sleeps zwischen den einzelnen Registerabfragen auf 2 Sekunden gesetzt und b) "retries" eingebaut, wenn Werte schlichtweg falsch sind, wie bspw. der Modellname ist leer oder Werte sind unwahrscheinlich, wie bspw. der Batterieladezustand (SOC) ist 0
Dateianhänge
huawei_LAN.php
(16.09 KiB) 107-mal heruntergeladen

Antworten

Zurück zu „Image Installation [ Single-Regler Version ]“