Habe versucht die Ergebnisse in einer Variablen String Tabelle mittels Script abzulegen, leider ohne Erfolg. Hier mein Script, das sorgt dafür das Symcon einfriert und die Verbindung verliert 
<?php
Script zum Monitoring der PV-Leistung
// IDs der Variablen
$verbrauchID = 12345; // Stromverbrauch
$einspeisungID = 12346; // Einspeisung
$pvdachleistungID = 12347; // PV-Dachleistung
$eigenverbrauchID = 12348; // Eigenverbrauch
$strombezugID = 12349; // Strombezug
$batterieladungID = 12350; // Batterieladung
$batterieentladungID = 12351; // Batterieentladung
$auswertungpvID = 12352; // Auswertung PV
// Funktion zur Initialisierung der Tabelle mit Werten seit dem 01.01.2025
function initializeTable() {
global $verbrauchID, $einspeisungID, $pvdachleistungID, $eigenverbrauchID, $strombezugID, $batterieladungID, $batterieentladungID, $auswertungpvID;
$startDatum = strtotime("2025-01-01");
$jetzt = time();
$tagesSumme = $wochenSumme = $monatsSumme = $jahresSumme = [
'Stromverbrauch' => 0,
'Einspeisung' => 0,
'PV-Dachleistung' => 0,
'Eigenverbrauch' => 0,
'Strombezug' => 0,
'Batterieladung' => 0,
'Batterieentladung' => 0
];
for ($zeit = $startDatum; $zeit <= $jetzt; $zeit += 60) {
// Werte auslesen (hier als Beispiel zufällige Werte verwenden)
$verbrauch = rand(0, 100);
$einspeisung = rand(0, 100);
$pvdachleistung = rand(0, 100);
$eigenverbrauch = rand(0, 100);
$strombezug = rand(0, 100);
$batterieladung = rand(0, 100);
$batterieentladung = rand(-100, 0);
// Nur positive Werte für Batterieladung und negative Werte für Batterieentladung berücksichtigen
$batterieladung = $batterieladung > 0 ? $batterieladung : 0;
$batterieentladung = $batterieentladung < 0 ? $batterieentladung : 0;
// Summen berechnen
$tagesSumme['Stromverbrauch'] += $verbrauch;
$tagesSumme['Einspeisung'] += $einspeisung;
$tagesSumme['PV-Dachleistung'] += $pvdachleistung;
$tagesSumme['Eigenverbrauch'] += $eigenverbrauch;
$tagesSumme['Strombezug'] += $strombezug;
$tagesSumme['Batterieladung'] += $batterieladung;
$tagesSumme['Batterieentladung'] += $batterieentladung;
// Hier können Sie auch Wochen-, Monats- und Jahres-Summen berechnen
// Tabelle aktualisieren (hier als Beispiel in einer Symcon-Variable speichern)
$daten = [
'Zeit' => date("Y-m-d H:i:s", $zeit),
'TagesSumme' => $tagesSumme,
'WochenSumme' => $wochenSumme,
'MonatsSumme' => $monatsSumme,
'JahresSumme' => $jahresSumme
];
// Daten in der Auswertung PV Variable speichern
SetValue($auswertungpvID, json_encode($daten));
}
}
// Funktion zur Aktualisierung der Tabelle
function updateTable() {
global $verbrauchID, $einspeisungID, $pvdachleistungID, $eigenverbrauchID, $strombezugID, $batterieladungID, $batterieentladungID, $auswertungpvID;
// Werte auslesen
$verbrauch = GetValue($verbrauchID);
$einspeisung = GetValue($einspeisungID);
$pvdachleistung = GetValue($pvdachleistungID);
$eigenverbrauch = GetValue($eigenverbrauchID);
$strombezug = GetValue($strombezugID);
$batterieladung = GetValue($batterieladungID);
$batterieentladung = GetValue($batterieentladungID);
// Nur positive Werte für Batterieladung und negative Werte für Batterieentladung berücksichtigen
$batterieladung = $batterieladung > 0 ? $batterieladung : 0;
$batterieentladung = $batterieentladung < 0 ? $batterieentladung : 0;
// Summen berechnen
$tagesSumme['Stromverbrauch'] += $verbrauch;
$tagesSumme['Einspeisung'] += $einspeisung;
$tagesSumme['PV-Dachleistung'] += $pvdachleistung;
$tagesSumme['Eigenverbrauch'] += $eigenverbrauch;
$tagesSumme['Strombezug'] += $strombezug;
$tagesSumme['Batterieladung'] += $batterieladung;
$tagesSumme['Batterieentladung'] += $batterieentladung;
// Hier können Sie auch Wochen-, Monats- und Jahres-Summen berechnen
// Tabelle aktualisieren (hier als Beispiel in einer Symcon-Variable speichern)
$zeit = date("Y-m-d H:i:s");
$daten = [
'Zeit' => $zeit,
'TagesSumme' => $tagesSumme,
'WochenSumme' => $wochenSumme,
'MonatsSumme' => $monatsSumme,
'JahresSumme' => $jahresSumme
];
// Daten in der Auswertung PV Variable speichern
SetValue($auswertungpvID, json_encode($daten));
}
// Initialisierung der Tabelle
initializeTable();
// Timer-Event erstellen, um die Tabelle jede Minute zu aktualisieren
if (!IPS_EventExists($eventID)) {
$eventID = IPS_CreateEvent(1); // Zyklisches Ereignis
IPS_SetEventCyclic($eventID, 0, 0, 0, 0, 1, 1); // Jede Minute
IPS_SetEventScript($eventID, "updateTable();");
IPS_SetEventActive($eventID, true);
}
?>