Variable in _math.php zu Datenbank hinzufügen

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

Moderator: Ulrich

Antworten
Benutzeravatar
simon.s
Beiträge: 41
Registriert: Sa 27. Feb 2021, 19:30
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal

Variable in _math.php zu Datenbank hinzufügen

Beitrag von simon.s »

Hallo Leute,

habe mir in der qpi_p30_math.php weitere Daten aus meinem Regler ausgelesen.
Es handelt sich um Monatswerte die der Regler bereitstellt.

Code: Alles auswählen

  $Wert = false;
  $Antwort = "";
  $rc = fgets($USB,4096); // Alte Daten löschen
  fputs ($USB, "\r");
  usleep(10000);


  $CRC = $funktionen->hex2str(dechex($funktionen->CRC16Normal("QEM".date(Ym))));
  fputs ($USB, substr("QEM".date(Ym),0,8));
  fputs ($USB, substr("QEM".date(Ym),8,3).$CRC."\r");
  usleep(10000);       //  [normal 10000] Es dauert etwas, bis die ersten Daten kommen ...
  $funktionen->log_schreiben("Befehl: QEM".date(Ym),"    ",5);

  for ($k = 1 ; $k < 200; $k++) {
    $rc = fgets($USB,4096); // 4096
    usleep(30000);
    $Antwort .= trim($rc,"\0");

    if (substr($Antwort,-1) == "\r" and substr($Antwort,0,1) == "(") {
      $funktionen->log_schreiben("Antwort: ".bin2hex($rc),"    ",5);
      if (substr($Antwort,1,3) == "NAK") {
        $Wert = false;
        $funktionen->log_schreiben("QEM, Wechselrichter Antwortet mit NAK!","    ",5);
      }
      else {
        $aktuelleDaten["PV_WattstundenMonat"] = substr($Antwort,1,8);
        $funktionen->log_schreiben("QEM: ".substr($Antwort,1,8),"    ",5);
        $Wert = true;
      }
      $rc = "";
      break;
    }
  }
  if ($Wert === false) {
    $funktionen->log_schreiben("QEM, Datenübertragung vom Wechselrichter war erfolglos!","    ",5);
        $funktionen->log_schreiben("Antwort: ".bin2hex($rc),"    ",5);
    $rc = "";
  }
momentan habe ich die Daten über einen Umweg in der funktionen.ink.php aufgenommen. Die wird jedoch durch ein Update jedes mal überschrieben.

Code: Alles auswählen

    
    ..
    ..
        $query .= ",Fehlercode=0"; // *
        $query .= ",Warnungen=".bindec( $daten["Optionen"] ); // *
        $query .= "  ".$daten["zentralerTimestamp"];
        $query .= "\n"; // *
        $query .= "Summen ";
        $query .= "Wh_Heute=".$daten["WattstundenGesamtHeute"];
--->  $query .= ",PV_Wh_Heute=".$daten["PV_WattstundenGesamtHeute"];   <---
--->  $query .= ",AC_Wh_Heute=".$daten["AC_WattstundenGesamtHeute"];   <---
        $query .= "  ".$daten["zentralerTimestamp"];
        $query .= "\n";
        break;
    ..
    ..
nun habe ich die Daten " $aktuelleDaten["PV_WattstundenMonat"]" die ich in die Datenbank mit aufnehmen möchte.
Habe mir das Dokument "Zusätzliche Daten in die Datenbank schreiben" angeschaut, leider stehe ich irgendwie auf dem Schlauch.....

wie muß der Aufbau sein damit die Daten in "Summen" liegen ??

Code: Alles auswählen

 
$aktuelleDaten["ZusatzQuery"]  = "Summen ";
$aktuelleDaten["ZusatzQuery"] .= "PV_Wh_Heute=" . $aktuelleDaten["PV_WattstundenGesamtHeute"];
$aktuelleDaten["ZusatzQuery"] .= ",AC_Wh_Heute=" . $aktuelleDaten["AC_WattstundenGesamtHeute"];
$aktuelleDaten["ZusatzQuery"] .= ",PV_Wh_Monat=" . $aktuelleDaten["PV_WattstundenMonat"];
$aktuelleDaten["ZusatzQuery"] .= "  ".$aktuelleDaten["zentralerTimestamp"];
kann das so funktionieren??

Gruß
8-) Ich wohne da wo Ihr Urlaub macht 8-)
16x Amerisolar 320 FullBlack - 5,12KWp
Axpert III 5048 + 16S DalyBMS
16x Winston 160Ah + 16x 240Ah China LiFePo4

Antworten