Kostal Smart Energy Meter programmatisch auslesen

  • Hi zusammen,

    ich habe bei mir den Kostal Smart Energy Meter zwar nicht am Laufen, bin aber bereit ein Skript zur Verfügung zu stellen um die Daten auszulesen. Hier eine erste Testversion, um zu checken, ob die Kommunikation funktioniert...

    Freue mich über Feedback :)

    Bitte IP adresse _ und ggf Port im Skript anpassen. Dann

    python3 kostal_em_query_v01.txt

  • Hi,


    super dass du dich darum annimmst.


    Hier der erste Output:


    Starting QUERY ..........

    ('Active power+', 0)

    ('ManufacturerID', 21043)

    Done...

    [[0, 'Active power+', 'U32', 0], [8192, 'ManufacturerID', 'Int16', 21043]]



    Habe noch etwas rumprobiert. Active Power ist bei mir anscheinend leer, habe aber aktuell die WR nicht per Modbus dran, aber ich änder das mal.


    Die Adresse 60 Current L1 lässt sich z.B. lesen, da kommt ein Wert zurück:


    In meinem Fall :753795072

    1.Anlage (2019): Module: 64x LG 340 N1C-V5 NeON2

    Wechselrichter1: Kostal Plenticore plus 10 (17er und 18er String, 3ter MPTT frei für evtl. Akku)

    Wechselrichter2: Kostal PIKO IQ 10 (14er und 15er String)

    Kostal Smart Energy Meter für 70% dynamisch

  • Ich habe noch ein wenig rumprobiert:


    Ich habe mal die Adresse 60 abgefragt, da da immer ein Wert zurückkam, allerdings konnte ich zuerst nicht viel damit anfangen. Dann habe ich gesehen, das die Antworten in BigEndian kommen, war vorher auf Little.

    Dann noch den richtigen Multiplikator eingetragen, und der Wert passt.


    Der Wert der bei 8192 zurückkommt ist als Integer gewandelt, wenn ich ihn in Hex umrechne passt es auch wieder.


    Meine Programmierkenntnisse halten sich aber schwer in grenzen.


    Ich habe so weit die wichtigsten Adressen hinzugefügt, soweit ich es mit der Umwandlung hinbekommen habe. Die Ausgabe ist teilweise auch nicht ganz so schön.


    Dateien

    1.Anlage (2019): Module: 64x LG 340 N1C-V5 NeON2

    Wechselrichter1: Kostal Plenticore plus 10 (17er und 18er String, 3ter MPTT frei für evtl. Akku)

    Wechselrichter2: Kostal PIKO IQ 10 (14er und 15er String)

    Kostal Smart Energy Meter für 70% dynamisch

  • Hi Stivmaster

    das Spannende ist doch, dass Du es geschafft hast die richtigen Werte rauszubekommen ;)

    Wenn ich es also richtig sehe, wissen wir also für die Register vom Typ U32, Int32 und Uint64 wie diese zu lesen sind ?

    Wenn Du das bestätigen kannst, würde ich mich an die Fleißarbeit machen und alle Register aus der Spec auslesen. Das kann aber ein bischen dauern, weil ich noch nen Neben-bzw Hauptjob habe :)

  • Hi,


    ja die Werte sind alle richtig. Habe es mit den Werten der Weboberfläche verglichen.

    1.Anlage (2019): Module: 64x LG 340 N1C-V5 NeON2

    Wechselrichter1: Kostal Plenticore plus 10 (17er und 18er String, 3ter MPTT frei für evtl. Akku)

    Wechselrichter2: Kostal PIKO IQ 10 (14er und 15er String)

    Kostal Smart Energy Meter für 70% dynamisch

  • Hallo zusammen,


    da ich gerne das Skript testen würde, eine kurze Zwischenfrage: was muss ich in den Modbus TCP-Einstellungen im Smart Meter eintragen, damit die Verbindung aufgebaut werden kann?


    Liebe Grüße

    Nena

  • Nur die IP Adresse im Skript muss passen, und im Smartmeter muss Modbus TCP (Slave) eingeschaltet sein.

    1.Anlage (2019): Module: 64x LG 340 N1C-V5 NeON2

    Wechselrichter1: Kostal Plenticore plus 10 (17er und 18er String, 3ter MPTT frei für evtl. Akku)

    Wechselrichter2: Kostal PIKO IQ 10 (14er und 15er String)

    Kostal Smart Energy Meter für 70% dynamisch

  • Ok

    ich hab das jetzt mal aufgebohrt um alle sich ändernden Parameter (Register) auszulesen. Es wäre nett, wenn jemand, der im Besitz der Hardware ist, das mal testen könnte .. stivmaster ;) ?

    Aufruf wie gehabt (python3):

    python kostal_em_query_v03.txt

  • Ich habs gerade ausprobiert. Funktioniert alles. Die Werte sehen auf den ersten Blick auch plausibel aus.

    1.Anlage (2019): Module: 64x LG 340 N1C-V5 NeON2

    Wechselrichter1: Kostal Plenticore plus 10 (17er und 18er String, 3ter MPTT frei für evtl. Akku)

    Wechselrichter2: Kostal PIKO IQ 10 (14er und 15er String)

    Kostal Smart Energy Meter für 70% dynamisch