Seite 1 von 1

Variable in _math.php zu Datenbank hinzufügen

Verfasst: Sa 17. Sep 2022, 20:35
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ß