Kostal Wirkleistungsbegrenzung ohne KSEM

Ich tobe mich gerade mit Codex und Co aus. Venus OS / Pi Zero 2 W: eigene Optimierungen für Kostal, BMS und Balancer

Heute bin ich den Weg, Kostal Wechselrichter dynamisch in der Wirkleistung zu begrenzen weiter gekommen.

Kurze Einschub. Alte Kostalwechselrichter (z.B. mein Piko 20) sind ziemlich günstig gebraucht zu bekommen und reparieren. Die Original Kostal EnergyMeter (KSEM) haben das Problem, dass sie mit der Zeit kaputt gehen. Zudem ist regelungstechnisch (speziell bei 0 Einspeisung) in Verbindung mit Venus OS ein Albtraum, eine dynamische Wirkleistungsbegrenzung umzusetzen.

Nun ist es von Kostal ziemlich simpel umgesetzt. Die Steuerung erfolgt über UDP‑Broadcasts vom KSEM auf Port 53321. Alles klar :+1: — hier ist eine forum‑taugliche, saubere Zusammenfassung eurer Erkenntnisse.
Du kannst sie 1:1 posten oder bei Bedarf kürzen.


Kostal KSEM / PIKO – Dynamische Wirkleistungsbegrenzung per Broadcast (Reverse Engineering)

Kurzfassung:
Kostal‑Wechselrichter (PIKO‑Generation) werden nicht in Watt, sondern in Prozent der Nennleistung geregelt.
Die Steuerung erfolgt über UDP‑Broadcasts vom KSEM auf Port 53321.
Der Wechselrichter setzt daraus intern ein Leistungs‑Limit und regelt selbst (Rampe/Filter).


1. Transport & Protokoll

  • Transport: UDP Broadcast

  • Ziel: 255.255.255.255:53321

  • Intervall: ~1 Hz (Keep‑Alive erforderlich für aktive Begrenzung)


2. Telegrammstruktur (UDP‑Payload, ohne Ethernet‑Padding)

4c 4b 50 56 01 00 02 0a XX

  • 4c 4b 50 56 → ASCII "LKPV"

  • 01 00 02 → Protokoll / Typ (konstant)

  • 0a → Steuerkanal

  • XXLeistungsbegrenzung in Prozent (0–100)

Belegt durch Mitschnitte:
Der letzte Byte nimmt Werte von 00 bis 64 (dez. 0–100) an und zeigt Rampen (01,02,…), kein reines Modus‑Flag.


3. Bedeutung von XX (Prozent‑Limiter)

  • 000 % (keine Einspeisung)

  • 0a10 %

  • 1420 %

  • 3250 %

  • 64100 % (volle Freigabe)

Wichtig:
Das Broadcast setzt ein Maximum. Die Feinregelung (Rampe, Verzögerung) macht der WR intern.


4. Keep‑Alive & Timeout

  • Begrenzen = Stream nötig:
    Solange gültige LKPV‑Telegramme (~1 Hz) ankommen, gilt die Begrenzung.

  • Stream stoppt:
    Der WR hält kurz den letzten Wert und fällt dann per Timeout auf Default = 100 % zurück.
    Fail‑Safe ist maximale Einspeisung, nicht 0 %.


5. Mehrere Steuerquellen

  • Wenn KSEM und eigener Sender parallel senden, kombiniert der WR die Limits (Priorität/Min/Arbitration je nach Firmware).

  • Ergebnis kann ein Zwischenwert sein (z. B. 60 kW → ~12–13 kW).


6. Praxis: Verifizieren der Prozent‑Regelung

  • 10 % senden → WR ≈ 10 % der Nennleistung

  • 20 % senden → WR ≈ 20 %

  • 50 % senden → WR ≈ 50 %
    lineares Mapping bestätigt

. Fazit

  • Kostal regelt in Prozent, nicht in Watt.

  • UDP‑Broadcast 53321, Payload LKPV … 0a XX.

  • Stream nötig für aktive Begrenzung, Timeout → 100 %.

  • Voll funktionsfähig zur KSEM‑Emulation und Integration in eigene Regelungen.

Wichtig ist noch, ihr müsst alle Sekunden wirklich die Begrenzung in % alle Sekunden schicken. Und, wenn ihr jetzt z.B. einen WR mit 10kW Und einem WR mit 20kW habt und mit 50% begrenzen wollt, werdet ihr 5kW + 10kW haben. Ihr begrenzt starr die Leistung des jeweiligen Wechselrichters.