S0 Eingang am RTC-Wechselrichter auslesen

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

Morph.
Beiträge: 27
Registriert: Sa 4. Mär 2023, 19:03
Hat sich bedankt: 1 Mal

S0 Eingang am RTC-Wechselrichter auslesen

Beitrag von Morph. »

Guten Tag,

ich würde gerne meinen RTC Wechselrichter so einrichten, das die Daten eines zusätzlichen Wechselrichters mit einbezogen werden. Der Wechselrichter ist über eine S0-Schnittstelle an den RTC Wechselrichter angeschlossen.

In der RTC.php sind IDs fürs auslesen des Wechselrichters angegeben und in dieser Anleitung:
-IO-Board-

Ich würde gerne eine ID in der Abfrage rtf.php mit hinzufügen, weiss leider aber nicht welche oder auch wie genau.
Zb.: 0x5BD2DB45 diese ID würde die Anzahl von Impulsen per KW repräsentieren, die Anzahl ist bereits richtig eingestellt, da die RTC-APP die Daten richtigerweise interpretiert.

Kann jemand mir hier etwas weiterhelfen, welche ID die richtige wäre, bzw. wie könnte ich eine Simulation der Daten ohne die Solaranzeige umzuprogrammieren, herauslesen lassen. Die Daten der S0 könnt ich ja in Echtzeit aus der APP lesen und müsste dann die IDs mit den Werten vergleichen können, oder?

Morph.
Beiträge: 27
Registriert: Sa 4. Mär 2023, 19:03
Hat sich bedankt: 1 Mal

Re: S0 Eingang am RTC-Wechselrichter auslesen

Beitrag von Morph. »

Hallo,
nach einigen Test sind die Ergebnisse Erfolgreich wie folgt:
In der Datei rot_wr.php habe ich folgende Änderung in Zeile 428-435 Eingefügt:

Code: Alles auswählen

$ID = "E96F1844";
    $Ergebnis = $funktionen->rct_auslesen($COM1,$Command,$Laenge,$ID,$Form);
    if (is_array($Ergebnis)) {
      $aktuelleDaten["ExternalPower"] = $Ergebnis["Wert"];
    }
    else {
      goto Ausgang;
    }
Die ID ist der S0-Eingang bezogen auf die Impulse / Kwh

Dann habe ich folgende Daten noch in der Wallbox_steuerung.php eingefügt, die bereits mit der Phasenumschaltung 1Phae/3Phasen des Go-EChargers ausgestattet ist ( Hier im Forum gefunden)

Zeile 556-579

Code: Alles auswählen

// $DB9 = Datenbank der SMA ExternalPower Measurement: Summen
    $ch = curl_init( 'http://localhost/query?db='.$wrDatenbankname.'&precision=s&q='.urlencode( 'select * from AC order by time desc limit 1' ));
      $rc = datenbank( $ch );
      if (!isset($rc["JSON_Ausgabe"]["results"][0]["series"])) {
        log_schreiben( "Es fehlt die Datenbank '".$wrDatenbankname."' mit dem Measurement PV, versuche es mit Measurement AC ", "|- ", 7 );
        $ch = curl_init( 'http://localhost/query?db='.$wrDatenbankname.'&precision=s&q='.urlencode( 'select * from AC order by time desc limit 1' ));
        $rc = datenbank( $ch );
        if (!isset($rc["JSON_Ausgabe"]["results"][0]["series"])) {
          log_schreiben( "Es fehlt die Datenbank '".$wrDatenbankname."' mit dem Measurement PV und AC oder sie ist leer.", "|- ", 1 );
          goto Ausgang;
        }
      }
      for ($h = 1; $h < count( $rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"] ); $h++) {
        $DB9[$rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"][$h]] = $rc["JSON_Ausgabe"]["results"][0]["series"][0]["values"][0][$h];
      }
      log_schreiben( "Datenbank: '".$wrDatenbankname."' ".print_r( $DB1, 1 ), "", 4 );
      switch ($wrRegler) {

        case 65:
          $Solarleistung1 = $DB9["ExternalPower"];
			  $Solarleistung = $Solarleistung + $Solarleistung1 - $Reserve;
          break;
		
		}
In Zeile 52 habe ich noch die Variable

Code: Alles auswählen

$Reserve = 400;
mit eingefügt, um ein wenig Reserve bei der Berechnung zu bekommen.

Damit kann ich jetzt die Summe der beiden Wechselrichter zusammen berechne und später auch in Grafana besser darstellen.

Mit freundlichen Grüßen

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 1 Gast