KSEM über Modbus TCP auszulesen

  • Hi Spunky,
    wie hast Du das mir der ID 73 rausbekommen ?
    Mein KSME ist von 2019 und hat vom Werk aus die ID 1 eingestellt.

    Sonnige Grüße und immer SOC > 80%

    WolliK

  • Hi spunky,
    das macht jetzt wieder Sinn, vermultich wird die ModbusID nicht vom KSME ausgewertet und es wird wie Du ja getestet hast auf jede Anfrage egal an welche ID geantwortet.


    Sonnige Grüße und immer SOC > 80%

    WolliK

  • Falls noch jemand seinen KSEM G2 unter Linux auslesen möchte, hier ein Beispiel um die aktuellen Einspeisung/Netzbezug in Watt auszulesen:

    Code
    mbpoll -0 -t 3:int -r 0,2 -c 2 192.168.1.12 -1 -B -q > /tmp/mbpoll.txt
    consumption=$(grep "\[0\].*" -m 1 /tmp/mbpoll.txt  | cut -d ':' -f 2 | tr -d '\t ' | cut -d '(' -f 1 )
    feedback=$(grep "\[2\].*" -m 1 /tmp/mbpoll.txt | cut -d ':' -f 2 | tr -d '\t ' | cut -d '(' -f 1 )
    grid=$(( (consumption - feedback)/10 ))
    echo "$grid"

    Gibt den Wert in Watt aus, z.B. -1500 für Einspeisung von 1500 Watt. Positive Zahlen entsprechen dem aktuellen Netzbezug.


    Doku zu weiteren Registern:

    https://forum.iobroker.net/assets/uploads/files/1628289601496-ba_kostal_interface_ksem_de.pdf


    Link zu "mbpoll":
    https://aur.archlinux.org/packages/mbpoll-git

    GitHub - epsilonrt/mbpoll: command line utility to communicate with ModBus slave (RTU or TCP)
    command line utility to communicate with ModBus slave (RTU or TCP) - GitHub - epsilonrt/mbpoll: command line utility to communicate with ModBus slave (RTU or…
    github.com

  • Richtig, den Plenticore kann man direkt über Modbus/Tcp auslesen. Beim "normalen" PIKO geht das AFAIK leider nicht. Falls jemand weiß wie, ich bin ganz Ohr! Man kann entweder den Webserver auslesen, der sich aber nach einigen Tagen gerne mal aufhängt, oder indirekt über Modbus vom KSEM G2. Diese Variante läuft bei mir dauerhaft stabil. Die Kommunikation zwischen KSEM G2 und PIKO scheint über ein KOSTAL proprietäres Protokoll zu laufen.

  • Richtig, den Plenticore kann man direkt über Modbus/Tcp auslesen. Beim "normalen" PIKO geht das AFAIK leider nicht. Falls jemand weiß wie, ich bin ganz Ohr! Man kann entweder den Webserver auslesen, der sich aber nach einigen Tagen gerne mal aufhängt, oder indirekt über Modbus vom KSEM G2. Diese Variante läuft bei mir dauerhaft stabil. Die Kommunikation zwischen KSEM G2 und PIKO scheint über ein KOSTAL proprietäres Protokoll zu laufen.

    Der direkte Link für den KSEM Modbus war ja auch dabei. Die speziellen Piko haben glaube ich die gleiche FW wie der Plenticore.

  • Piko IQ sind gleich der Plenticore, für Piko und Piko BA gibt es für node-red eine Erweiterung:

    @gladder/node-red-kostal-piko-json (0.1.7), die ist sehr einfach aufgebaut und läuft sehr stabil.

  • Piko IQ sind gleich der Plenticore, für Piko und Piko BA gibt es für node-red eine Erweiterung:

    @gladder/node-red-kostal-piko-json (0.1.7), die ist sehr einfach aufgebaut und läuft sehr stabil.

    Vielen Dank, das greift über dxs.json vom PIKO Webserver zu. Hatte ich anfangs auch so gemacht:

    Code
    total=$(wget -qO - "http://192.168.1.11/api/dxs.json?dxsEntries=251658754" | cut -d ',' -f 2 | cut -d ':' -f 2 | cut -d '}' -f 1 | cut -d '.' -f 1)

    Die Werte sind hier gut dokumentiert: https://www.msxfaq.de/sonst/iot/kostal15.htm


    Wie erwähnt stürzt der Webserver vom PIKO aber leider nach einigen Tagen/Wochen ab. Zumindest bei meinem PIKO17 mit FW 06.17 und UI 6.53 und relativ häufigen Zugriffen (alle 1-5 Sekunden).


    ... nutze diese Variante nicht mehr, eben weil sich -zumindest bei mir- der Webserver nach einigen Tagen/Wochen aufhängt. Muss dann den WR kurz vom Netz/Strom trennen, damit es wieder funktioniert. Für mich war das keine Option, da ich relativ schlecht an den Sicherungskasten komme.


    Die PV-Total und Stringeinzelwerte lese ich deshalb über Modbus/TCP vom KSEM G2 aus, alles weitere kann ich im Kostal Solar Portal einsehen. - Beides funktioniert auch dann, wenn der PIKO Webserver sich verabschiedet hat. ;)