Code: Alles auswählen
<?php
// Relais des Plenticore auslesen
$rc = $funktionen->kostal_register_lesen($COM1,"0260","0001","U16-1");
$aktuelleDaten["Relais_1"] = $rc["Wert"];
$rc = $funktionen->kostal_register_lesen($COM1,"0261","0001","U16-1");
$aktuelleDaten["Relais_2"] = $rc["Wert"];
$rc = $funktionen->kostal_register_lesen($COM1,"0262","0001","U16-1");
$aktuelleDaten["Relais_3"] = $rc["Wert"];
$rc = $funktionen->kostal_register_lesen($COM1,"0263","0001","U16-1");
$aktuelleDaten["Relais_4"] = $rc["Wert"];
$aktuelleDaten["Relais_All"] = $aktuelleDaten["Relais_1"] + 2 * $aktuelleDaten["Relais_2"] + 4 * $aktuelleDaten["Relais_3"] + 8 * $aktuelleDaten["Relais_4"];
$aktuelleDaten["ZusatzQuery"] = "Service Relais_All=".$aktuelleDaten["Relais_All"].",";
$aktuelleDaten["ZusatzQuery"] .= "Relais_1=".$aktuelleDaten["Relais_1"].",";
$aktuelleDaten["ZusatzQuery"] .= "Relais_2=".$aktuelleDaten["Relais_2"].",";
$aktuelleDaten["ZusatzQuery"] .= "Relais_3=".$aktuelleDaten["Relais_3"].",";
$aktuelleDaten["ZusatzQuery"] .= "Relais_4=".$aktuelleDaten["Relais_4"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";
// Wenn der Wert auch in die LOG Datei geschrieben werden soll.
$funktionen->log_schreiben("Relais: ".$aktuelleDaten["Relais_All"]." ",">",1);
?>
Vielleicht kann man die Abfrage der Schaltausgänge des Plenticore zukünftig auch direkt in den Regler übernehmen?
Die Modbus-Register für die Schaltausgänge des Plenticore sind 0x0260 - 0x0263. Laut Kostal-Doku (Link siehe unten) sollten diese auch beschrieben werden können, was mir grundsätzlich auch gelungen ist ("Write succeeded"), allerdings ohne Effekt blieb und der nächste Lesevorgang zeigte wieder nur den vorherigen Status?
Kostal-Modbus-Doku 01/2024: https://cdn-production.kostal.com/-/med ... ybrid.pdf?
PS: Danke für "Solaranzeige" und die hier geleistete Arbeit !