Alles muss man nicht verstehen, es funktioniert ja generell und somit ist erst einmal alles Gut. Wenn der Fehler nur so „selten“ (1x pro Tag) auftritt, kann ich vorerst mit leben
ja auf jeden Fall
und ich bin immer noch der Meinung, dass der Dongle hier eher das Problem ist, da der viel zu anfällig ist bzgl. der ModBus-Anfragen und die Lösung hätte deutlich besser seitens Huawei umgesetzt werden müssen.
Sehe ich genauso… Der Dongle ist sowas von empfindlich
Frage, wie kann ich die Wallbox (leider Heidelberger → gabs kostenlos zur PV) Daten abfragen
- aktueller Ladestrom
- gesamt Ladestrom der Wallbox
etc…
Die Schaltung der Wallbox werde ich mittels Shelly einrichten, dann kann ich mir auch Logiken aufbauen.
Schau mal hier:
Für weitere Fragen dann aber bitte einen eigenen Thread aufmachen.
Danke schön, schau ich mir an
Noch eine Frage wie ist der Fehler zu deuten - 11331 ist die Schnittstelle Modbus Splitter Instanz Wechselrichter
Schwierig zu sagen. Passiert dies im Zuge der anderen Fehlermeldungen? Dann hat es vermutlich mit dem Timing zu tun… Hatte ich glaube ich auch früher; jetzt nicht mehr.
ja kommt meinst zusammen mit der anderen Meldung.
Kannst du mir einen Tipp geben, wie ich die Verbrauchswerte „summiert“ pro Tag / Woche / Jahr mit ermitteln kann. Im Archiv habe ich diese der Test mittels Ablaufplan
bringt leider keine Ergebnisse
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);
}
?>
Hmm, ich glaube nicht, dass es so funktionieren kann in IPS.
Bin mir nicht sicher, ob du aus einem Ereignis heraus eine Funktion innerhalb eines Scriptes aufrufen kannst. Ich hatte solche Dinge nur innerhalb von Modulen realisiert… aber das wäre hier vermutlich schon ziemlich Overkill.
Und mit Archiv-Daten habe ich bisher nicht gearbeitet. Ev. hat jemand etwas ähnliches schon gebaut? Vielleicht hilft dir aber auch einzelne Berechnungen/Scripte von drapple. Er hat hier mal, bevor wir es mit der neuen Modbus-Implementierung umgesetzt hatten (und damals noch ohne Templates) ein Installationsscript erstellt. Daraus habe ich dann einzelne Berechnungen „übernommen“. (Wichtig: dieses damalige Script bitte nicht ausführen, sonst wird eine neue Struktur erstellt, welches mit deiner aktuellen Huawei-Implementierung Probleme bereiten kann → aber einzelne Funktionen/Berechnungen helfen allenfalls)
Mein Problem ist, dass ich schon einige Werte habe und auch archiviere. Ich hätte jedoch gerne z.B. Ertrag pro Tag, Monat und Jahr. Genauso einige andere Werte dann am besten dargestellt in einer Art Tabelle.
Ich hatte hier im Forum etwas mal gefunden, mir aber nicht gemerkt wo. Hier hatte ein User genau so etwas umgesetzt wenn ich mich noch recht entsinne. Leider bin ich auch mit der Suche nicht mehr darauf gestoßen :-(.
Aber das kannst du doch ganz normal im Standard über das Webfront visualisieren? Jedenfalls bis auf die Tabelle.
Ich nutze IPSview in den Diagrammen stimmen die verdichteten Werte nicht.
Hi zusammen,
bisher läuft mit der Anbindung des Huawei Wechselrichters alles perfekt, ich erhalte jedoch weiterhin immer diesen Fehler
Kennt jemand diesen Fehler und kann mir hier Hilfe geben?
Vielen Dank
Ja, habe ich auch (jedoch keine von deinen ILLEGAL_DATA_ADDRESS Meldungen)
Es scheint, dass IPS nicht klar kommt, wenn es mal ein längerer Timeout gibt (z.B. wenn die Gegenstelle beschäftigt ist). Wünschenswert wäre ev. eine Einstellung, um diese (bekannten) Timeouts, wenn z.B. der Wechselrichter beschäftigt ist (bei mir alle ca. 24 Stunden), zu ignorieren.
Ich glaube, das Thema wird gerade auch in einem anderen Thread behandelt…
Grüsse
Martin
PS: übrigens, heute Morgen gab es aussergewöhnlich viele Meldungen! Im Normalfall habe ich alle 24h ca. 6-7 Stk. Heute mehr als das Doppelte…
Hallo Martin,
okay vielen Dank für die Info, ja bei mir kommt manchmal nur 1-2 hoch und dann sind es wieder 5-8 Stück.
Bei mir kommen die auch nur vom DataBlocks2 nie ein anderer.
Gruß
Thimo
Ich denke, das hängt vielleicht damit zusammen, dass ich zwei Wechselrichter und auch eine Batterie habe. Vielleicht führt das dann schneller zu einer „Überlast“. Naja, mit der neuen Timeout-Einstellung konnte man zumindest die Anzahl reduzieren, aber leider nicht ganz eliminieren.
Deshalb denke ich, müsste seitens IPS noch weitere Möglichkeiten angeboten werden, es ganz zu unterbinden.
Hallo Martin,
ja da muss IPS noch nach optimieren, die „mehr“ Fehler kommen sicherlich von den 2 Wechselrichtern.
Keine Sorge - ich habe am Tag 5000 bis 10000 (Fehler) - Meldungen von 2 WR - funktioniert trotzdem…
Naja, das füllt dann unnötig den Fehlerlog. Am Anfang hatte ich es auch, aber mit der Timeout-Einstellung wird es wieder übersichtlich…