Hallo Demel42,
erst mal danke für das tolle Modul. Ich nutze es seit längerem. Und ich hatte bis vor Weihnachten die 1/3 Phasenumschaltung per Modbus direkt gesteuert. Mit dem aktuellen Stand vom Modul hat das nicht mehr geklappt. Ich habe so den verdacht, dass das Modul, wenn in der Konfig der Instanz die Phasenumschaltung deaktiviert ist, diesen Status auch in der Keba Wallbox schreibt. Und damit war der Zugriff per Modbus deaktiviert. Das als Info.
Nun habe ich heute die Phasenumschaltung auf das Keba Modul umgestellt. Mir sein ein paar Punkte aufgefallen, wo ich mir nicht sicher bin, in wie weit das so „gewünscht“ ist:
Über das Webfront kann ich problemlos zw. 1 / 3 Phasen umschalten (per Button Netzanschluss Phasenumschalten). Per Skript klappt das nicht ganz so einfach. Ich benötige aktuell zwei Befehle:
KebaConnect_SetMainsConnectionPhases($IDKebaModul, 3);
SetValueInteger($IDNetzanschlussPhasenumschaltung, 3);
Das gleiche wenn ich zurück auf 1-phasig schalten will. Der 1. Befehl alleine führt nicht zur Umschaltung (ich habe es grundsätzlich bei aktiver Ladung getestet). Der Button im Webfront funktioniert in dem Fall immer.
Dann ist mir noch aufgefallen, dass vermutlich in der Funktion „private function ExtractSeries()“ (module.php) ein Buchstabe für die Erkennung fehlt. Ich hatte anfänglich das Problem, dass ich die Phasenumschaltung im Modul / in der Instanz nicht aktivieren konnte: „phase switching is only supported by series C and X“
Ich habe definitiv eine P30 x-series. Aber die meldet sich in dieser Funktion mit einem B - mit dieser Anpassung hat es dann geklappt:
private function ExtractSeries()
{
$product = $this->ReadAttributeString('Product');
if (strlen($product) < 14) {
$this->SendDebug(__FUNCTION__, 'product: ' . $product, 0);
return false;
}
$code = substr($product, 13, 1);
$map_series = [
'0'=> 'E',
'1'=> 'B',
'2'=> 'C',
'3'=> 'A',
**'B'=> 'X',**
'R'=> 'X',
'C'=> 'X',
'E'=> 'X',
'G'=> 'X',
'H'=> 'X',
];
$series = isset($map_series[$code]) ? $map_series[$code] : '';
$this->SendDebug(__FUNCTION__, 'product: ' . $product, 0);
$this->SendDebug(__FUNCTION__, 'series: ' . $series, 0);
return $series;
}
Weiterhin ist mir aufgefallen, dass beim de- / aktivieren der Phasenumschaltung im Modul / in der Instanz der Fehler kommt:
Fehler beim Übernehmen der Änderungen
Warning: Variable kann nicht gelöscht werden solange Unterobjekte vorhanden sind in C:\ProgramData\Symcon\modules\.store\demel42.keba.keconnect\KeConnectP30udp\module.php on line 427
(Code: -32603)
Auswirkungen zu diesem Fehler konnte ich bis jetzt keine feststellen.
Sorry das alles ein wenig unstrukturiert hier aufgelistet ist. Aber ich wollte es mal hier schreiben. Falls zukünftig noch jemand ähnliche Erfahrungen macht.
Installierte Version: 1.10 per Store