Fehler in huawei_LAN.php
Moderator: Ulrich
Fehler in huawei_LAN.php
Hallo Ulrich,
ich bin neu hier und finde Deine Lösung sehr gut !
Bin neuer PV Besitzer ein Huawei SUN2000: Gerätetyp: SUN2000-10KTL-M Modell ID: 429
Habe einen Fehler in der Datei huawei_LAN.php gefunden:
Folgendes steht bei mir in der php.log:
[12-Nov-2023 00:20:10 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:21:09 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:22:08 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:23:10 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:24:10 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:25:08 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:26:09 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:27:09 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
Jede Minute ein neuer Eintrag.
Ich habe den Fehler in Zeile 322 gelöst, in dem ich die Variable $Start gegen $Startzeit ersetzt habe.
Hoffe das ist so korrekt !?
Alt:
sleep( floor( (56 - (time( ) - $Start)) / ($Wiederholungen - $i + 1)));
Neu:
sleep( floor( (56 - (time( ) - $Startzeit)) / ($Wiederholungen - $i + 1)));
liebe Grüße
Torsten
ich bin neu hier und finde Deine Lösung sehr gut !
Bin neuer PV Besitzer ein Huawei SUN2000: Gerätetyp: SUN2000-10KTL-M Modell ID: 429
Habe einen Fehler in der Datei huawei_LAN.php gefunden:
Folgendes steht bei mir in der php.log:
[12-Nov-2023 00:20:10 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:21:09 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:22:08 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:23:10 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:24:10 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:25:08 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:26:09 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
[12-Nov-2023 00:27:09 Europe/Berlin] PHP Warning: sleep(): Number of seconds must be greater than or equal to 0 in /var/www/html/huawei_LAN.php on line 322
Jede Minute ein neuer Eintrag.
Ich habe den Fehler in Zeile 322 gelöst, in dem ich die Variable $Start gegen $Startzeit ersetzt habe.
Hoffe das ist so korrekt !?
Alt:
sleep( floor( (56 - (time( ) - $Start)) / ($Wiederholungen - $i + 1)));
Neu:
sleep( floor( (56 - (time( ) - $Startzeit)) / ($Wiederholungen - $i + 1)));
liebe Grüße
Torsten
- Hybrid-Wechselrichter Huawei Sun2000-10KTL-M1
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
- Ulrich
- Administrator
- Beiträge: 6251
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 131 Mal
- Danksagung erhalten: 845 Mal
Re: Fehler in huawei_LAN.php
Hallo Torsten,
ja, das ist korrekt. Vielen Dank für den Hinweis, werde ich berichtigen.
ja, das ist korrekt. Vielen Dank für den Hinweis, werde ich berichtigen.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
- Urmel007
- Beiträge: 31
- Registriert: Mo 18. Sep 2023, 11:02
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 1 Mal
Re: Fehler in huawei_LAN.php
Hallo,
könnte es sein, dass durch die fehlerhafte Variable keine Daten mehr in der Influx-Db ankommen? Ich habe solaranzeige als Docker-Container auf einem Raspi 4B laufen. Zunächst läuft alles super, Daten kommen in der Influx DB an und auch in den Grafana Dashboards.
11.11. 08:43:01 |---------------- Start huawei_LAN.php -----------------------------
11.11. 08:43:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
11.11. 08:43:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
11.11. 08:43:09 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
11.11. 08:43:09 -OK. Datenübertragung erfolgreich.
11.11. 08:43:09 |---------------- Stop huawei_LAN.php ---------------------------
Nachts, aber auch nicht jede Nacht, bricht dann der Datenstrom meist zwischen 00:00 Uhr und 1:00 Uhr ab.
11.11. 08:27:01 |---------------- Start huawei_LAN.php -----------------------------
11.11. 08:27:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
11.11. 08:27:22 -Fehler! Keine gültigen Daten empfangen.
11.11. 08:27:42 -Fehler! Ende.
11.11. 08:27:42 |---------------- Stop huawei_LAN.php ---------------------------
Nach Neustart des Docker-Containers ist der Fehler weiterhin da. Ich muss den Container neu erstellen und ersetzen ("Deploy the Container" und "Replace"), dann läuft der Datenstrom wieder an, bis zum nächsten Abbruch. Die Fehlermeldung " -Fehler! Keine gültigen Daten empfangen. " könnte ja darauf hinweisen, dass eine Variable nicht gefunden wurde bzw. ungültig ist.
Macht es Sinn die Variable in der huawei_LAN.php manuell zu korrigieren? Wann wird die huwei_LAN.php eingelesen?
Liebe Grüße
Urmel007
könnte es sein, dass durch die fehlerhafte Variable keine Daten mehr in der Influx-Db ankommen? Ich habe solaranzeige als Docker-Container auf einem Raspi 4B laufen. Zunächst läuft alles super, Daten kommen in der Influx DB an und auch in den Grafana Dashboards.
11.11. 08:43:01 |---------------- Start huawei_LAN.php -----------------------------
11.11. 08:43:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
11.11. 08:43:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
11.11. 08:43:09 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
11.11. 08:43:09 -OK. Datenübertragung erfolgreich.
11.11. 08:43:09 |---------------- Stop huawei_LAN.php ---------------------------
Nachts, aber auch nicht jede Nacht, bricht dann der Datenstrom meist zwischen 00:00 Uhr und 1:00 Uhr ab.
11.11. 08:27:01 |---------------- Start huawei_LAN.php -----------------------------
11.11. 08:27:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
11.11. 08:27:22 -Fehler! Keine gültigen Daten empfangen.
11.11. 08:27:42 -Fehler! Ende.
11.11. 08:27:42 |---------------- Stop huawei_LAN.php ---------------------------
Nach Neustart des Docker-Containers ist der Fehler weiterhin da. Ich muss den Container neu erstellen und ersetzen ("Deploy the Container" und "Replace"), dann läuft der Datenstrom wieder an, bis zum nächsten Abbruch. Die Fehlermeldung " -Fehler! Keine gültigen Daten empfangen. " könnte ja darauf hinweisen, dass eine Variable nicht gefunden wurde bzw. ungültig ist.
Macht es Sinn die Variable in der huawei_LAN.php manuell zu korrigieren? Wann wird die huwei_LAN.php eingelesen?
Liebe Grüße
Urmel007

- 2x Huawei Sun2000-10KTL-M1 als Kaskade
- Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- 24 Bluesun Module 425Wp - Ost / West
- 28 Bluesun Module 425Wp - Nord-Ost / Süd-West
Re: Fehler in huawei_LAN.php
Sporadisch wurde mir bei einigen Feldern der Wert 0 geliefert.
Das passiert wenn in der Variable $rc nur eine 0 und manchmal auch ein leerer String geliefert wird.
Gelöst habe ich das, indem ich nach dieser Zeile:
$rc = $funktionen->modbus_tcp_lesen( $COM1, $WR_ID, "03", "32000", "74", "Hex", $Timebase );
if ($rc == false and $i < 2) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5 );
continue;
}
Noch diese Zeilen eingefügt habe:
/****************************************************************************
// TOWI: Pruefen ob Ergebnis $rc zu kurz --> continue
****************************************************************************/
$funktionen->log_schreiben( "Wechselrichter-Daten: (".substr( $rc["Wert"], 0, 8 ).")", " ", 6 );
if (strlen($rc["Wert"]) < 8) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5 );
continue;
}
/****************************************************************************/
Das ganze 2x, einmal nach der Wechelrichterabfrage und noch einmal nach der Batterieabfrage.
Seit dem bekomme ich keine falschen 0 Werte.
Habe meine huawei_LAN.php angehängt.
Das passiert wenn in der Variable $rc nur eine 0 und manchmal auch ein leerer String geliefert wird.
Gelöst habe ich das, indem ich nach dieser Zeile:
$rc = $funktionen->modbus_tcp_lesen( $COM1, $WR_ID, "03", "32000", "74", "Hex", $Timebase );
if ($rc == false and $i < 2) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5 );
continue;
}
Noch diese Zeilen eingefügt habe:
/****************************************************************************
// TOWI: Pruefen ob Ergebnis $rc zu kurz --> continue
****************************************************************************/
$funktionen->log_schreiben( "Wechselrichter-Daten: (".substr( $rc["Wert"], 0, 8 ).")", " ", 6 );
if (strlen($rc["Wert"]) < 8) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5 );
continue;
}
/****************************************************************************/
Das ganze 2x, einmal nach der Wechelrichterabfrage und noch einmal nach der Batterieabfrage.
Seit dem bekomme ich keine falschen 0 Werte.
Habe meine huawei_LAN.php angehängt.
- Dateianhänge
-
- huawei_LAN.php
- (17.08 KiB) 208-mal heruntergeladen
- Hybrid-Wechselrichter Huawei Sun2000-10KTL-M1
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
Re: Fehler in huawei_LAN.php
Urmel007 hat geschrieben: ↑So 12. Nov 2023, 10:10Hallo,
könnte es sein, dass durch die fehlerhafte Variable keine Daten mehr in der Influx-Db ankommen? Ich habe solaranzeige als Docker-Container auf einem Raspi 4B laufen. Zunächst läuft alles super, Daten kommen in der Influx DB an und auch in den Grafana Dashboards.
11.11. 08:43:01 |---------------- Start huawei_LAN.php -----------------------------
11.11. 08:43:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
11.11. 08:43:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
11.11. 08:43:09 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
11.11. 08:43:09 -OK. Datenübertragung erfolgreich.
11.11. 08:43:09 |---------------- Stop huawei_LAN.php ---------------------------
Nachts, aber auch nicht jede Nacht, bricht dann der Datenstrom meist zwischen 00:00 Uhr und 1:00 Uhr ab.
11.11. 08:27:01 |---------------- Start huawei_LAN.php -----------------------------
11.11. 08:27:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
11.11. 08:27:22 -Fehler! Keine gültigen Daten empfangen.
11.11. 08:27:42 -Fehler! Ende.
11.11. 08:27:42 |---------------- Stop huawei_LAN.php ---------------------------
Nach Neustart des Docker-Containers ist der Fehler weiterhin da. Ich muss den Container neu erstellen und ersetzen ("Deploy the Container" und "Replace"), dann läuft der Datenstrom wieder an, bis zum nächsten Abbruch. Die Fehlermeldung " -Fehler! Keine gültigen Daten empfangen. " könnte ja darauf hinweisen, dass eine Variable nicht gefunden wurde bzw. ungültig ist.
Macht es Sinn die Variable in der huawei_LAN.php manuell zu korrigieren? Wann wird die huwei_LAN.php eingelesen?
Liebe Grüße
Urmel007
Bei mir hat er trotzdem jede Minute die Daten geliefert. Es wird nur jede Minute eine Fehlermeldung für das "sleep" Kommande in die Datei php.log geschrieben.
- Hybrid-Wechselrichter Huawei Sun2000-10KTL-M1
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
- Urmel007
- Beiträge: 31
- Registriert: Mo 18. Sep 2023, 11:02
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 1 Mal
Re: Fehler in huawei_LAN.php
Hallo Torsten,
vielen Dank. Ich werde deine huawei_LAN.php testen und dann berichten. Ich hänge an dem Problem schon einige Wochen. Ich habe auch schon öfter den Raspi komplett neu mit Docker-Installation aufgesetzt. Erst läuft solaranzeige und dann habe ich wieder den gleichen Fehler mit den ungültigen Daten. Vielleicht klappt es ja jetzt.
Einen schönen Sonntag noch
LG Urmel007
vielen Dank. Ich werde deine huawei_LAN.php testen und dann berichten. Ich hänge an dem Problem schon einige Wochen. Ich habe auch schon öfter den Raspi komplett neu mit Docker-Installation aufgesetzt. Erst läuft solaranzeige und dann habe ich wieder den gleichen Fehler mit den ungültigen Daten. Vielleicht klappt es ja jetzt.
Einen schönen Sonntag noch
LG Urmel007

- 2x Huawei Sun2000-10KTL-M1 als Kaskade
- Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- 24 Bluesun Module 425Wp - Ost / West
- 28 Bluesun Module 425Wp - Nord-Ost / Süd-West
- Urmel007
- Beiträge: 31
- Registriert: Mo 18. Sep 2023, 11:02
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 1 Mal
Re: Fehler in huawei_LAN.php
Hallo,
ich habe die huawei_LAN.php getauscht und den Container einmal über "Deploy the Container" und Replace neu erstellt und gestartet. Jetzt habe ich auch den Eintrag "Batterie-Daten" im log.
Auffällig ist, dass bei den Batterie-Daten einmal
-Batterie-Daten : (00020000) angezeigt wird und später
-Batterie-Daten : (0002ffff) . Im Verlauf wechselt es wieder auf (00020000) und zurück auf (0002ffff)
2.11. 12:09:01 |---------------- Start huawei_LAN.php -----------------------------
12.11. 12:09:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
12.11. 12:09:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
12.11. 12:09:07 -Wechselrichter-Daten: (00060000)
12.11. 12:09:10 -Batterie-Daten : (00020000)
12.11. 12:09:10 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
12.11. 12:09:57 -OK. Datenübertragung erfolgreich.
12.11. 12:09:57 |---------------- Stop huawei_LAN.php ---------------------------
12.11. 12:10:01 |---------------- Start huawei_LAN.php -----------------------------
12.11. 12:10:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
12.11. 12:10:05 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
12.11. 12:10:08 -Wechselrichter-Daten: (00060000)
12.11. 12:10:11 -Batterie-Daten : (0002ffff)
12.11. 12:10:11 -Alle 10 Minuten werden die Statistikdaten übertragen.
12.11. 12:10:11 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
12.11. 12:10:57 -OK. Datenübertragung erfolgreich.
12.11. 12:10:57 |---------------- Stop huawei_LAN.php ---------------------------
Ich werde weiter testen und berichten.
LG Urmel007
ich habe die huawei_LAN.php getauscht und den Container einmal über "Deploy the Container" und Replace neu erstellt und gestartet. Jetzt habe ich auch den Eintrag "Batterie-Daten" im log.
Auffällig ist, dass bei den Batterie-Daten einmal
-Batterie-Daten : (00020000) angezeigt wird und später
-Batterie-Daten : (0002ffff) . Im Verlauf wechselt es wieder auf (00020000) und zurück auf (0002ffff)
2.11. 12:09:01 |---------------- Start huawei_LAN.php -----------------------------
12.11. 12:09:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
12.11. 12:09:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
12.11. 12:09:07 -Wechselrichter-Daten: (00060000)
12.11. 12:09:10 -Batterie-Daten : (00020000)
12.11. 12:09:10 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
12.11. 12:09:57 -OK. Datenübertragung erfolgreich.
12.11. 12:09:57 |---------------- Stop huawei_LAN.php ---------------------------
12.11. 12:10:01 |---------------- Start huawei_LAN.php -----------------------------
12.11. 12:10:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
12.11. 12:10:05 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
12.11. 12:10:08 -Wechselrichter-Daten: (00060000)
12.11. 12:10:11 -Batterie-Daten : (0002ffff)
12.11. 12:10:11 -Alle 10 Minuten werden die Statistikdaten übertragen.
12.11. 12:10:11 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
12.11. 12:10:57 -OK. Datenübertragung erfolgreich.
12.11. 12:10:57 |---------------- Stop huawei_LAN.php ---------------------------
Ich werde weiter testen und berichten.
LG Urmel007

- 2x Huawei Sun2000-10KTL-M1 als Kaskade
- Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- 24 Bluesun Module 425Wp - Ost / West
- 28 Bluesun Module 425Wp - Nord-Ost / Süd-West
Re: Fehler in huawei_LAN.php
-Wechselrichter-Daten: (00060000)Urmel007 hat geschrieben: ↑So 12. Nov 2023, 12:20Hallo,
ich habe die huawei_LAN.php getauscht und den Container einmal über "Deploy the Container" und Replace neu erstellt und gestartet. Jetzt habe ich auch den Eintrag "Batterie-Daten" im log.
Auffällig ist, dass bei den Batterie-Daten einmal
-Batterie-Daten : (00020000) angezeigt wird und später
-Batterie-Daten : (0002ffff) . Im Verlauf wechselt es wieder auf (00020000) und zurück auf (0002ffff)
2.11. 12:09:01 |---------------- Start huawei_LAN.php -----------------------------
12.11. 12:09:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
12.11. 12:09:04 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
12.11. 12:09:07 -Wechselrichter-Daten: (00060000)
12.11. 12:09:10 -Batterie-Daten : (00020000)
12.11. 12:09:10 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
12.11. 12:09:57 -OK. Datenübertragung erfolgreich.
12.11. 12:09:57 |---------------- Stop huawei_LAN.php ---------------------------
12.11. 12:10:01 |---------------- Start huawei_LAN.php -----------------------------
12.11. 12:10:01 -Huawei: 192.168.22.117 Port: 502 GeräteID: 1
12.11. 12:10:05 > -Gerätetyp: SUN2000-10KTL-M Modell ID: 429
12.11. 12:10:08 -Wechselrichter-Daten: (00060000)
12.11. 12:10:11 -Batterie-Daten : (0002ffff)
12.11. 12:10:11 -Alle 10 Minuten werden die Statistikdaten übertragen.
12.11. 12:10:11 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
12.11. 12:10:57 -OK. Datenübertragung erfolgreich.
12.11. 12:10:57 |---------------- Stop huawei_LAN.php ---------------------------
Ich werde weiter testen und berichten.
LG Urmel007
-Batterie-Daten : (00020000)
Diese Beiden Zeilen habe ich als Trace eingebaut.
Es werden die ersten 8 Zeichen des Datenstrings vom Wechselrichter bzw. von der Batterien angezeigt.
Bei mir ist es sporadisch vorgekommen, dass der Inhalt = (0) oder leer () war.
Dadurch wurden 0 Werte in die Datenbank geschrieben, was die graphische Auswertung verfälscht hat.
Wenn der String jetzt kleiner als 8 Zeichen ist (<2 Zeichen hätten bis jetzt auch gereicht) lass ich die Wechselrichter Abfrage wiederholen.
Das klappt dann meistens und wenn es mal nicht klappt wird keine 0 als Wert gespeichert, sondern kein Eintrag in der DB angelegt.
Ich habe auch den Timeout beim Zugriff auf den Wechelrichter von 5 auf 15 Sekunden erhöht.
Das scheint die Abfrage stabiler zu machen.
Diese 15s sind auch der Standard bei evcc.io für diesen Huawei Wechselrichter.
Bei mir läuft jetzt Solaranzeige und evcc parallel ohne große Probleme.
Gruß Torsten
- Hybrid-Wechselrichter Huawei Sun2000-10KTL-M1
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
- Speicher Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- SDongleA-05 per LAN verbunden
- Wallbox 2x Daheimladen Touch 11KW
- Hoymiles-Wechselrichter HMT-2250-6T
- Raspberry PI 4b
- Urmel007
- Beiträge: 31
- Registriert: Mo 18. Sep 2023, 11:02
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 1 Mal
Re: Fehler in huawei_LAN.php
Hallo Torsten,
seid ich deine huwei_LAN.php einsetze, habe ich keine Ausfälle bei der Datenübertragung mehr. Es läuft alles richtig stabil. Vielen Dank, dass du mir weitergeholfen hast und dein Wissen teilst.
LG Urmel007
seid ich deine huwei_LAN.php einsetze, habe ich keine Ausfälle bei der Datenübertragung mehr. Es läuft alles richtig stabil. Vielen Dank, dass du mir weitergeholfen hast und dein Wissen teilst.
LG Urmel007

- 2x Huawei Sun2000-10KTL-M1 als Kaskade
- Huawei Luna2000-10-S0 10 KWh
- Huawei Smart Meter DTSU-666 H 250A
- 24 Bluesun Module 425Wp - Ost / West
- 28 Bluesun Module 425Wp - Nord-Ost / Süd-West
-
- Beiträge: 36
- Registriert: So 25. Dez 2022, 21:57
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 2 Mal
Re: Fehler in huawei_LAN.php
Danke für die hervorragende Arbeit.
Die modifizierte Datei hat mir sehr weiter geholfen.
Es gibt jedoch noch ein Problem:
6-14x/Tag waren damit die Werte für die Spannungen, die Netzfrequenz und die Wechselrichtertemperatur bei 0, was die grafische Auswertung sehr stört (interessanterweise immer alle diese Werte zusammen).
Ich habe daher noch folgendes eingefügt:
}
if ((hexdec( substr( $rc["Wert"], 340, 4 )) / 100) == 0) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5
continue;
}
Hier wird überprüft ob die Netzfrequenz 0 ist, falls ja, wird der ganze Datensatz verworfen.
Eingefügt wird das an dieser Stelle:
/****************************************************************************
// TOWI: Pruefen ob Ergebnis $rc zu kurz --> continue
****************************************************************************/
$funktionen->log_schreiben( "Wechselrichter-Daten: (".substr( $rc["Wert"], 0, 8 ).
if (strlen($rc["Wert"]) < 8) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5
continue;
}
if ((hexdec( substr( $rc["Wert"], 340, 4 )) / 100) == 0) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5
continue;
}
/****************************************************************************/
Wie Ulrich ja schon geschrieben hat ist die Benutzung des Dongels eine Zumutung, aber man muss ja nicht damit leben, schließlich läuft das ganze auf einem Computer, mit dem man inkonsistente Daten automatisch abfangen kann. Und nicht alle Setups ermöglichen das problemlose auslesen der RS485-Schnittstelle…
Die modifizierte Datei hat mir sehr weiter geholfen.
Es gibt jedoch noch ein Problem:
6-14x/Tag waren damit die Werte für die Spannungen, die Netzfrequenz und die Wechselrichtertemperatur bei 0, was die grafische Auswertung sehr stört (interessanterweise immer alle diese Werte zusammen).
Ich habe daher noch folgendes eingefügt:
}
if ((hexdec( substr( $rc["Wert"], 340, 4 )) / 100) == 0) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5
continue;
}
Hier wird überprüft ob die Netzfrequenz 0 ist, falls ja, wird der ganze Datensatz verworfen.
Eingefügt wird das an dieser Stelle:
/****************************************************************************
// TOWI: Pruefen ob Ergebnis $rc zu kurz --> continue
****************************************************************************/
$funktionen->log_schreiben( "Wechselrichter-Daten: (".substr( $rc["Wert"], 0, 8 ).
if (strlen($rc["Wert"]) < 8) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5
continue;
}
if ((hexdec( substr( $rc["Wert"], 340, 4 )) / 100) == 0) {
$funktionen->log_schreiben( "Fehler! Keine gültigen Daten empfangen. ", " ", 5
continue;
}
/****************************************************************************/
Wie Ulrich ja schon geschrieben hat ist die Benutzung des Dongels eine Zumutung, aber man muss ja nicht damit leben, schließlich läuft das ganze auf einem Computer, mit dem man inkonsistente Daten automatisch abfangen kann. Und nicht alle Setups ermöglichen das problemlose auslesen der RS485-Schnittstelle…
Wer ist online?
Mitglieder in diesem Forum: Sonstige [Bot], trendiction [Bot], YandexBot [Bot] und 0 Gäste