Anbindung Wechselrichter Kostal "PIKO CI 30"

… das freut mich sehr.
Mir geht es auch oft so, dass man den Ablauf nicht selbsterklärend begreift… hinterher war es dann gefühlt einfach und denklogisch.
Weiter Viel Spass und Erfolg.

PS: Ich habe inzwischen mehrere WR und auch einen Smartmeter eingebunden und steuere die Verbraucher je nach Erzeugungs-/ Verbrauchssituation an - das mache ich über KNX und eine SIMATIC- Steuerung.

Hi nochmal, hab noch mal ne Frage. Ich schalte den ClientSocket über „Location Control“ morgens ein und abends aus, damit nicht ständig Fehlermeldungen auftauchen und morgens auch alles wieder normal startet. Jetzt hab ich aber das Problem das die Variablen nachts natürlich nicht auf 0 Stehen (PV-Leistung z.B). Das sieht in meine Visu natürlich katastrophal aus… Gibts hierfür auch einen Lösungsweg?

Hallo Conan,

ich bin im Moment unterwegs, kann also nicht im Detail nachsehen…
… ich würde einfach unmittelbar nach dem abschalten/ schließen des ClientSocket die entsprechenden Variablen auf 0 setzen, klingt einfach und ist es wohl auch?!
VG

Ich machen einen Ping an den Wechselrichter und schalte dann ab, wenn der Wechselrichter nicht erreichbar ist.
Leider kommen dennoch ein paar Fehlermeldungen durch :sweat_smile:

Wäre schön wenn man die Fehlermeldungen in der Instanz abschalten könnte.

@paresy habt ihr da ne Möglichkeit die Ausgabe der Fehler ins Log zu unterdrücken? Außerdem wäre es hier cool einen Default-wert angeben zu können wenn keine Verbindung möglich ist.
Das ModBus Gerät ist als Code ja nicht einsehbar, dass man es selbst anpassen könnte oder?

Hi, das bekomm ich leider nicht hin: Mein skript zum ausschalten sieht so aus:

@IPS_SetProperty(18794 , "Open", false);
@IPS_ApplyChanges(18794 );
setValueFloat(18530, 0);

Leider kommt dann aber die Fehlermeldung:

Warning: Variable is marked as read-only and cannot be changed in /var/lib/symcon/scripts/22612.ips.php on line 5

wie machst du das genau? per php? Kannst du das kurz erläutern

<?php
$online = GetValue(12345);

IPS_SetProperty(54321, "Open", $online);
IPS_ApplyChanges(54321);

12345 => ID der Variable vom Ping
54321 => ID vom Client Socket

oder meinst du das Zurücksetzten des Wertes?

Grundsätzlich würde mich natürlich am meisten interessieren wie du das lösen würdest, dass ich nach dem beenden des ClientSocket die Float-Variablen auf 0 setzen kann. Das Ein- und Ausschalten des Socket hab ich ja schon so weit hinbekommen. Jetzt geht nur noch um die Werte, dass die bei Dunkelheit einfach alle auf 0 stehn.

Ah OK… hatte ich mir jetzt noch keine Gedanken gemacht. Früher ging das auch problemlos.
Die Modbus-Instanz hat dafür auch scheinbar keine öffentlichen Funktionen.