Eigene Erweiterungen als verkürzte Version (verständlich)
Verfasst: So 6. Jun 2021, 17:34
viewtopic.php?f=4&t=1494&p=9445&hilit=b ... rray#p9445
in diesem Thread wurde mir gesagt : es wird wohl nicht gehen.
eine funktionierende Variante:
Dies war erst der Anfang meiner Suche nach einer verständlichen Lösung.
Mein komplettes script besteht aus zwei Dateien.
eine mathe.php, die für alle Geräte gilt und eine
growatt_math.php in welcher meine Datenbanken und Measurements enthalten sind.
Es funktioniert jedoch nur imZusammenspiel beider Datein, weil die mathe.php includiert wird.
im Grunde müssen nur die entsprechenden fields und Namen geändert werden.
in diesem Thread wurde mir gesagt : es wird wohl nicht gehen.
eine funktionierende Variante:
Code: Alles auswählen
$Datenbank1 = "solaranzeige750";
$Measurement1 = "Summen";
$Measurement2 = "AC";
$ch = curl_init('http://localhost/query?db='.$Datenbank1.'&precision=s&q='.urlencode('select * from '.$Measurement1.' order by time desc limit 1').'&precision=s&q='.urlencode('select * from '.$Measurement2.' order by time desc limit 1'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_TIMEOUT, 15); //timeout in second s
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 12);
curl_setopt($ch, CURLOPT_PORT, 8086);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$Ergebnis["result"] = curl_exec($ch);
$Ergebnis["rc_info"] = curl_getinfo ($ch);
$Ergebnis["JSON_Ausgabe"] = json_decode($Ergebnis["result"],true,10);
$Ergebnis["errorno"] = curl_errno($ch);
if ($Ergebnis["rc_info"]["http_code"] == 200 or $Ergebnis["rc_info"]["http_code"] == 204) {
$Ergebnis["Ausgabe"] = true;
}
curl_close($ch);
unset($ch);
if (!isset($Ergebnis["JSON_Ausgabe"]["results"][0]["series"])) {
log_schreiben("Es fehlt die Datenbank solaranzeige750 mit dem Measurement Summen ist leer.","|- ",3);
log_schreiben("Fehler: ".$Ergebnis["JSON_Ausgabe"]["results"][0]["error"],"|- ",4);
}
else {
for ($h = 1; $h < count($Ergebnis["JSON_Ausgabe"]["results"][0]["series"][0]["columns"]); $h++) {
$DB1[$Ergebnis["JSON_Ausgabe"]["results"][0]["series"][0]["columns"][$h]] = $Ergebnis["JSON_Ausgabe"]["results"][0]["series"][0]["values"][0][$h];
}
log_schreiben("Datenbank: solaranzeige DB1 ".print_r($DB1,1)," ",10);
}
}
Mein komplettes script besteht aus zwei Dateien.
eine mathe.php, die für alle Geräte gilt und eine
growatt_math.php in welcher meine Datenbanken und Measurements enthalten sind.
Es funktioniert jedoch nur imZusammenspiel beider Datein, weil die mathe.php includiert wird.
im Grunde müssen nur die entsprechenden fields und Namen geändert werden.