SofarSolar WR von 2020 verhindert das Auslesen bei zu wenig Sonne

Wenn mehr als ein Gerät an den Raspberry angeschlossen werden sollen. Z.B. ein Regler und ein Wechselrichter oder mehrere Wechselrichter. Das Maximum sind 6 Geräte pro Raspberry Pi.

Moderator: Ulrich

Ruhz69
Beiträge: 67
Registriert: Fr 28. Jan 2022, 19:41
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

SofarSolar WR von 2020 verhindert das Auslesen bei zu wenig Sonne

Beitrag von Ruhz69 »

Hallo,

ich habe schon lange den SofarSolar in der Solaranzeige laufen, es war einer der ersten unter Regler 73. Bei zu wenig PV Leistung geht er aus. Inzwischen habe ich 6 Geräte an der Solaranzeige und komme so knapp mit der Minute durch. Dann fällt natürlich auf dass der Sofar Solar entweder auf Lesefehler (Nachts) oder auf "Falsche" Daten" zum Beispiel jetzt bei Schnee auf den Modulen läuft. Da ich aus den Daten Summen bilde, möchte ich ihn auch nicht als Gerät 6 laufen lassen.
Das Problem mit Nachts ist einfach zu lösen:

Code: Alles auswählen

if($funktionen->tageslicht("hamburg") === false)  {
  $funktionen->log_schreiben("Kein Auslesen nach Sonnenuntergang","XX ",7);

   goto Ausgang;
}
Den Code in Zeile 110 der sofarsolar_wr.php einfügen, dann liest er Nachts nicht mehr aus.
Der Schnipsel ist von hier viewtopic.php?t=1416&hilit=sma+falsche+daten.
Dort steht auch, wie man das Auslesen stoppen kann, wenn der WR falsche Daten liefert. Den Teil kann ich aber nicht übernehmen, da der SMA über LAN und der Sofarsolar über usb ausgelesen wird.

Code: Alles auswählen

$COM1 = fsockopen($WR_IP, $WR_Port, $errno, $errstr, 5);   // 5 = Timeout in Sekunden
if (!is_resource($COM1)) {
  $funktionen->log_schreiben("Kein Kontakt zum Wechselrichter ".$WR_IP."  Port: ".$WR_Port,"XX ",3);
  $funktionen->log_schreiben("Exit.... ","XX ",9);
  goto Ausgang;
}
Für heute habe ich den timer auf 100000 (von 400000) runtergenommen, ich nehme aber an, dass der dann auch bei PV Leistung nicht mehr ausgelesen wird.
Der Solaranzeigelog sieht so aus (bei timer 400000 dauert das ganze halt 4 mal so lange). Mir würde reichen, wenn er das früher aufgibt, z.B. nach 5 mal falsche Daten es nicht noch einmal versucht.

13.01. 10:00:01 -Verarbeitung von: '1.user.config.php' Regler: 73
13.01. 10:00:01 |------------------------- Start sofarsolar_wr.php ---------------------
13.01. 10:00:01 -Timer Wert. [ normal = 400000 ]: 100000
13.01. 10:00:01 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:02 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:02 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:02 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:03 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:03 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:03 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:03 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:04 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:04 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:04 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:05 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:05 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:05 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:05 -Lesefehler > [ ]
13.01. 10:00:05 -Produkt: 0
13.01. 10:00:05 -Seriennummer:
13.01. 10:00:06 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:06 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:06 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:07 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:07 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:07 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:07 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:08 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:08 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:08 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:09 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:09 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:09 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:10 -Falsche Daten kommen zurück. Noch einmal versuchen.
13.01. 10:00:10 -Lesefehler > [ ]

Hat da jemand eine Lösung?

Viele Grüsse
Rüdiger

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

Re: SofarSolar WR von 2020 verhindert das Auslesen bei zu wenig Sonne

Beitrag von Ulrich »

Hallo Rüdiger,

Code: Alles auswählen

  /****************************************************************************
  //  Ab hier wird der Regler ausgelesen.
  //  Modell: x.x KTL-X
  ****************************************************************************/
  $Befehl["DeviceID"] = $WR_ID;
  $Befehl["BefehlFunctionCode"] = "04";
  $Befehl["RegisterAddress"] = str_pad( "2000", 4, "0", STR_PAD_LEFT );
  $Befehl["RegisterCount"] = "0010";
  $rc = $funktionen->phocos_pv18_auslesen( $USB1, $Befehl, $Timer );
  $aktuelleDaten["Produkt"] = hexdec( substr( $rc["data"], 0, 4 ));
  $aktuelleDaten["Seriennummer"] = $funktionen->hex2string( substr( $rc["data"], 4, 28 ));
  $aktuelleDaten["Firmware"] = $funktionen->hex2string( substr( $rc["data"], 32, 8 ));
  $aktuelleDaten["Hardware"] = $funktionen->hex2string( substr( $rc["data"], 40, 8 ));
  $funktionen->log_schreiben( "Produkt: ".$aktuelleDaten["Produkt"], "   ", 7 );
  $funktionen->log_schreiben( "Seriennummer: ".$aktuelleDaten["Seriennummer"], "   ", 7 );
  
Bitte ändere die Datei sofarsolar_wr.php wie folgt ab:

Code: Alles auswählen

  /****************************************************************************
  //  Ab hier wird der Regler ausgelesen.
  //  Modell: x.x KTL-X
  ****************************************************************************/
  $Befehl["DeviceID"] = $WR_ID;
  $Befehl["BefehlFunctionCode"] = "04";
  $Befehl["RegisterAddress"] = str_pad( "2000", 4, "0", STR_PAD_LEFT );
  $Befehl["RegisterCount"] = "0010";
  $rc = $funktionen->phocos_pv18_auslesen( $USB1, $Befehl, $Timer );
  if ($rc == false) {
    $funktionen->log_schreiben( "Das Gerät kann nicht ausgelesen werden.", "   ", 7 );
    goto Ausgang;
  }
  $aktuelleDaten["Produkt"] = hexdec( substr( $rc["data"], 0, 4 ));
  $aktuelleDaten["Seriennummer"] = $funktionen->hex2string( substr( $rc["data"], 4, 28 ));
  $aktuelleDaten["Firmware"] = $funktionen->hex2string( substr( $rc["data"], 32, 8 ));
  $aktuelleDaten["Hardware"] = $funktionen->hex2string( substr( $rc["data"], 40, 8 ));
  $funktionen->log_schreiben( "Produkt: ".$aktuelleDaten["Produkt"], "   ", 7 );
  $funktionen->log_schreiben( "Seriennummer: ".$aktuelleDaten["Seriennummer"], "   ", 7 );
  
oder benutze

$Regler = 87;

damit sollte das Problem auch nicht mehr auftreten.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Ruhz69
Beiträge: 67
Registriert: Fr 28. Jan 2022, 19:41
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

Re: SofarSolar WR von 2020 verhindert das Auslesen bei zu wenig Sonne

Beitrag von Ruhz69 »

Hallo Ulrich,

Danke für die schnelle Antwort:

-mit Regler 87 bekommt er "falsche Daten", bricht aber wie gewünscht ab und der Rest läuft. Der Wechselrichter ist ein 5.5 KTL-X, ich meine das habe ich schon mal probiert und das läuft nicht. Letztes Jahr um die Zeit hatte ich ja schon einmal das Problem, dass der zickt und du hast da dran gearbeitet.

-mit Regler 73 und der Änderung oben, bekommt er im Augenblick Daten (375 V, 0.04 A, 0 W Leistung) traurig, aber das passt.
Das ging sogar mit $Timer = 100000, allerdings immer mal wieder "falsche Daten" mit $Timer = 400000 läuft es grade glatt.

Ich warte ab bis Morgen früh, dann würde ich wieder in das Problem laufen. Ich bin gespannt.

Viele Grüsse

Rüdiger

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

Re: SofarSolar WR von 2020 verhindert das Auslesen bei zu wenig Sonne

Beitrag von Ulrich »

Das hat damit auch zu tun:
viewtopic.php?p=33246#p33246
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Ruhz69
Beiträge: 67
Registriert: Fr 28. Jan 2022, 19:41
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

Re: SofarSolar WR von 2020 verhindert das Auslesen bei zu wenig Sonne

Beitrag von Ruhz69 »

Hallo,

an Ulrich noch einmal vielen Dank für die Hilfe.

Für jemanden, der das gleiche Problem hat.
Mit dem Reinkopieren in die sofarsolar_wr.php funktioniert es. Es ist dann Regler 73.
Wenn man den $Timer = 200000 stellt (Zeile 30 in der sofarsolar_wr.php, Standard ist 400000) dann gibt er nach 10 Sekunden auf, wenn der Wechselrichter noch nicht läuft, etwa genau solange, wie er zum Auslesen benötigt. Damit läuft meine Multiregler Anzeige in 50 Sekunden durch.
In der Aufstartphase gibt der Solaranzeige log ein paar mal "Falsche Daten" zurück und liest dann aber doch aus.
Wenn der Wechselrichter dann richtig an ist, läuft es ohne Probleme und ohne Fehlermeldungen.
Zu Info noch die Firmware des WR ist LSW3_14_FFFF_1.0.34.

Viele Grüsse
Rüdiger

Zurück zu „Multi-Regler-Version [ bis zu 6 Geräten an einem Raspberry Pi ]“

Wer ist online?

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