Kostal Smart Energy Meter (KSEM) mit Modbus TCP

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • FiCastle
    Extension Master
    • 11.01.2019
    • 144

    #1

    Kostal Smart Energy Meter (KSEM) mit Modbus TCP

    Hallo

    Ich habe ein Kostal Smart Energy Meter (KSEM) für die Messung des gesamten Haushalts-Energieverbrauch eingebaut und möchte diesen über Modbus TCP an den Miniserver anbinden.

    Der KSEM ist nicht an einen Wechselrichter gekoppelt - er dient lediglich als Energiezähler.

    Leider gelingt es mir auf keine Art, den Zähler mit dem Miniserver auszulesen. Ich habe mich in das Thema Modbus TCP eingelesen, habe aber keine Erfahrung. Würdet Ihr mich bitte unterstützen? Ich beschreibe nachfolgend mein Vorgehen, Gedanken und Fragen dazu und wäre sehr dankbar um alle Inputs, Korrekturen und konkreten Anweisungen von jedem erfahrenen Modbus Loxonauten.

    Herzlichen Dank und Gruss
    Roger



    1. Master / Slave vs. Client / Server
    So habe ich das Modbus Prinzip verstanden:
    • Der Miniserver fungiert als als Modbus Client, der auf den TCP/IP Port 502, des im KSEM eingebauten Modbus Servers zugreift.
    • Der Modbus TCP Client wird je nach Anbieter oder Quelle auch als Master bezeichnet. Analog dazu wird der Server auch als Slave bezeichnet.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Diagram.png
Ansichten: 5557
Größe: 26,4 KB
ID: 277239



    2. Konfiguration KSEM
    Damit das KSEM als Server (Slave) funktioniert, hab ich im Menü Modbus-Einstellungen des KSEM den Schalter Aktiviere TCP-Slave aktiviert.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Kostal Modbus TCP Slave.jpg
Ansichten: 4134
Größe: 62,2 KB
ID: 277240


    3. Grundkonfiguration Loxone Modbus TCP
    A) In der Loxone Config hab ich dann als ersten Schritt eine Miniserverkommunikation zu einem Modbusserver eingefügt.

    Anmerkung: Im ersten Moment war das Modbusserver-Icon für mich als Modbus-Einsteiger irritierend. Ich glaubte instinktiv einen Baustein, also einen Modbusserver einzufügen. Nach genauer Betrachtung der Konfigurationsmöglichkeiten, kam ich zur Erkenntnis, dass das was ich eingefügt hatte, eigentlich eher eine Modbus Clientkonfiguration sein müsste.

    B) Dem Element Modbusserver habe ich die Server IP Adresse des KSEM mit Port 502 eingetragen.

    Anmerkung: Der Loxone Knowledebase-Artikel Kommunikation mit Modbus TCP hat zusätzlich zur Verwirrung beigetragen, da sie dort explizit von einer Client IP-Adresse sprechen (was einer Modbus Master IP Adresse entsprechen würde):

    In den Geräteeigenschaften muss nun die Adresse des Modbus Clients bzw. Teilnehmers angegeben werden.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Lox Modbusserver einfügen.png
Ansichten: 3928
Größe: 30,1 KB
ID: 277241


    C) Dann fügte ich ein Modbusgerät ein. Diesem muss man die Modbus-Adresse zuweisen. Gemäss verschiedener Informationen aus dem Netz muss diese vom Hersteller bekannt gegeben werden. Die Adresse soll oftmals auch die 1 sein und müsse nicht verändert werden.

    Im Manual von Kostal, aber auch sonst im Netz, konnte ich diese Modbus-Adresse des KSEM nirgends finden.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Lox Modbusgerät einfügen.png
Ansichten: 3982
Größe: 35,4 KB
ID: 277243

    Da ich die Verbindung zwischen Client und Servier nicht zum Laufen brachte, habe ich zum Vergleich in der Lox Config das vordefinierte Gerät Kostal Modbus-TCP and Battery eingefügt. Dort ist die Modbus-Adresse 71 hinterlegt.

    Dem entnehme ich, dass Kostal nicht zwingend die Default Modbus-Adresse 1 verwendet. Natürlich habe ich auf die 71 versucht und trotzdem keine Verbindung hingekriegt.

    Eventuell liegt der Fehler (oder einer davon) schon hier begraben. Kennt jemand die effektive Modbus-Adresse des Kostal Smart Energy Meters oder weiss, wie man diese rausfindet?

    4. Sensoren und Datenabfrage
    a) Als nächstes habe ich in der Lox Config einen Analogsensor hinzugefügt. Und hier fängt die "Magie" erst richtig an.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Lox Modbus Sensor.png
Ansichten: 3843
Größe: 44,2 KB
ID: 277242

    Das Manual von Kostal gibt hier viele Angaben.

    Da Ziel wäre nun, die folgenden Abfragen zu machen:
    • Aktueller Leistungsbezug in kW (über alle 3 Phasen)
    • Gesamte bezogenen Leistung in kWh
    • Den Verbrauch mit dem Baustein Energiemonitor zu visualisieren
    Hat hier schon jemand Erfahrungen mit dem Kostal Smart Energy Meter oder würde sich jemand bereit erklären, hier in die Tiefe zu stechen und mir:
    • diese zwei Beispiel-Konfigurationen zur Verfügung stellen
    • erläutern, auf Grund welcher Informationen im Manual man zu diesen Konfigurationsparametern kommt
    Jede Hilfe ist sowas von Willkommen! Ich bin auch gerne bereit, dann mit dem gesammelten Wissen, wenn es dann funktioniert, im Loxwiki einen entsprechenden Eintrag zum KSEM zu erstellen.








  • Schurti
    Smart Home'r
    • 25.08.2015
    • 90

    #2
    Hoi Roger

    Ich habe einer in Betrieb mit einem Wechselrichter, aber das spielt keine Rolle. Also Punkt 2 und 3 sollte passen, habe auch dies so eingestellt

    Zu Punkt 4:
    Im Anhang zwei Bilder wie ich es programmiert habe...
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Energie kWh.JPG
Ansichten: 5036
Größe: 164,6 KB
ID: 277256
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Leistung kW.JPG
Ansichten: 4984
Größe: 228,9 KB
ID: 277257
    Anhand der Bilder und der Modbusanleitung vom KSEM solltest du andere Werte auch auslesen können

    Gruss und viel Erfolg
    Schurti

    Kommentar

    • FiCastle
      Extension Master
      • 11.01.2019
      • 144

      #3
      Hallo Schurti

      Grosses Kino. Es läuft!!! Habe die Modbus-Adresse des Geräts auf 1 belassen und einfach die Werte Deiner Screenshots übernommen.

      Werde nun versuchen, im Reversengineering zu verstehen, wie sich das aus dem Manual ableiten lässt.

      Einfach nur ganz herzlichen Dank :-)

      LG, Roger
      Zuletzt geändert von FiCastle; 27.11.2020, 19:25.

      Kommentar

      • Schurti
        Smart Home'r
        • 25.08.2015
        • 90

        #4
        Cool wen es nun bei dir funktioniert.
        Einfach auf den Typ in der Anleitung achten.

        Kommentar

        • FiCastle
          Extension Master
          • 11.01.2019
          • 144

          #5
          Hallo Zusammen

          wie oben versprochen, habe ich nun einen Eintrag im Loxwiki erfasst.

          Vielleicht möchte jemand reinschauen und allenfalls Korrekturen oder Ergänzungen anbringen.

          Viele Grüsse und nochmals herzlichen Dank an Schurti!
          Roger

          Kommentar

          • bbi
            Dumb Home'r
            • 16.11.2017
            • 27

            #6
            Hallo allerseits,
            ich habe heute versucht mit Hilfe von Rogers Loxwiki Entrag mein KSEM via Modbus auszulesen.
            Das war auch kein Problem, bis auf den letzten Punkt im WIKI (Skalierungsfaktor), den verstehe ich nicht.
            Welche Werte liefert der KSEM als Skalierungsfaktor? Aus der umfangreichen Kostal Anleitung werde ich mit meinen limitierten Kenntnissen nicht schlau.
            In Rogers Beispiel sieht es für mich so aus als müsste der Wert einfach mit 10 multipliziert werden und passt es. Aber was soll dann der Skalierungsfaktor?
            Kann mir jemand die genau Formel hier posten?

            Ich beziehme mich auf diesen Teil im WIKI (siehe Anhang)
            ​​
            Gruss und Dank!
            bbi
            Angehängte Dateien

            Kommentar

            • LoxFFB
              Extension Master
              • 29.08.2015
              • 197

              #7
              Würde mich auch interessieren

              Kommentar

              • FiCastle
                Extension Master
                • 11.01.2019
                • 144

                #8
                Hallo bbi
                Hallo LoxFFB

                Die Faktoren die bei mir funktionieren sind 100, bzw. 1000. Seit einigen Monaten rufe ich den Skalierungsfaktor gar nicht mehr ab, da sich dieser nie verändert hatte. Ich arbeite also mit fixen Werten für die Skalierung der angelieferten Werte.

                Die Formel ist dann einen einfache Division, bzw. Multiplikation:

                Für einen Skalierungsfaktor von 1'000

                Code:
                (I1*0.001)
                bzw. für Skalierungsfaktor von 100
                Code:
                (I1*0.01)
                Und sonst bitte einfach ausprobieren, welcher Faktor die korrekten Werte an den Zählerbaustein liefert. In der Liveview seht Ihr die Werte ja, die über den Analog-Sensor vom ModBus-Gerät empfangen werden. Die müssen halt einfach plausibel sein zum Eingang des Zählerbausteins. Also Watt oder Kilowatt, Wattstunden oder Kilowattstunden.

                Wenn die Werte im KSEM Web-Interface identisch sind mit denjenigen der Loxone Zählervisualisierung stimmt der Faktor. Tönt nach Trial und Error. Ist es je nachdem auch

                Viel Erfolg!
                Zuletzt geändert von FiCastle; 26.03.2023, 22:58.

                Kommentar


                • bbi
                  bbi kommentierte
                  Kommentar bearbeiten
                  Hallo Roger,
                  erstmal vielen Dank für die Mühe im WIKI. Ohne die Doku hätte ich es wohl nicht hinbekommen.
                  Bei mir wird der Skalierungsfaktor 1 geliefert und ich muss durch 100 dividieren um den richtigen Wert zu bekommen.
                  Der stimmt dann aktuell auch überein mit dem Wert den KSEM im Webbrowser liefert. Somit muss ich also nichts mehr machen.
                  Gruss bbi
                  Zuletzt geändert von bbi; 27.03.2023, 07:12. Grund: Fehler
              • matze511
                Smart Home'r
                • 06.09.2020
                • 33

                #9
                Hallo,

                ich würde das Thema gern nochmal ausgraben, da manche Bezeichnungen nach dem Tut. in Loxwiki bei mir nicht passen.
                Hab es erstmal so aufgebaut wie in dem Wiki, nur leider hat mein Energiemonitor komplett andere Eingangsbezeichnungen wie in dem Wiki.
                Welche muß ich denn da jetzt nutzen?Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Unbenannt.jpg
Ansichten: 1645
Größe: 19,5 KB
ID: 403841

                den Umrechnungsfaktor hab ich angepasst, das stand ja weiter oben "testen und mit Weboberfläche vom KSEM vergleichen"

                Gruß matze

                Kommentar

                • Messer1301
                  Azubi
                  • 01.09.2021
                  • 7

                  #10
                  Hallo,


                  ich habe folgendes Problem, ich hatte bisher einen Plenticore 7 an dem ich die daten abgelesen habe. Nun habe ich zusätzlich in einer Schwarm Verschaltung ein Plenticore 10 nun die Werte hier auszulesen ist keine Kunst. aber ich nutze den energieflussmonitor, hier gibt es ein Rest, dieser wird ständig falsch angezeigt seit der Umstellung ich glaube ich muss hier die Werte am KSEM auslesen, eingebunden ist er in Loxone aber ich habe hier keine Passenden Register gefunden. hat hier jemand vielleicht eine Fertige Modbus Vorlage für mich und kann mir sagen welchen wert ich an den Netzzähler hängen muss, dieser ist der Bidirektionale Zähler

                  Danke euch, ich komm hier echt nicht weiter, Problem das der Energiemanager so nicht richtig geht wenn PV 15KW Produziert aber angezeigt werden 10 in Netz und 4 Rest aber Rest müsste hier auch ins Netz, nach Minuten fängt er sich wieder

                  Kommentar

                  • HeinrichW
                    Azubi
                    • 10.07.2024
                    • 3

                    #11
                    Ich hoffe ich grabe hier keine Leiche aus.
                    Die Kommunikation via Modbus steht, ich habe jedoch keine Idee mehr wie ich dem KSEM sinnvolle Werte für den Energieflussmonitor entlocken kann.

                    Ich habe die drei Sensoren wie im Wiki umrissen angelegt, aber wie komme ich nun zu logischen Werten? Habe auch das KSEM Manual durchforstet. Finde bei den Sunspec Register Werten keine nützlichen Werte außer die im Wiki erwähnten.

                    Den Netzbezug und Einspeisung kann ich nur als Gesamtleserstand auslesen und den aktuellen Vebrauch nur als Gesamtwert. Wie habt ihr das gelöst? Habe ich einen Denkfehler? Möchte nur ganz klasssich, Netzbezug und PV Leistung auslesen..

                    Ist eine 100kwp Anlage, deshalb die leicht höheren Werte.

                    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Loxone Config.jpg Ansichten: 0 Größe: 98,1 KB ID: 436447
                    Zuletzt geändert von HeinrichW; 10.07.2024, 11:27.

                    Kommentar

                    • FiCastle
                      Extension Master
                      • 11.01.2019
                      • 144

                      #12
                      Keine Leichen. Du bist auf dem richtigen Weg

                      Ich habe das so gelöst, dass ich die Netzwerte (Einspeisung und Bezug) aus dem KSEM lese, die Produktionswerte aber direkt aus dem Wechselrichter.

                      Zur Info: Die Formelbausteine ersetzen bei mir den Skalierungsfaktor statisch.

                      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Loxone Kostal PVA.png Ansichten: 4 Größe: 64,4 KB ID: 436468

                      Achte unten auf die Unterscheidung von Energie und Leistung, sowie AC und DC. Die DC Werte kannst Du zusätzlich in einem Anlagenschema einsetzen. Das gibt Dir Aufschluss über die einzelnen Strings der Anlage. Die Adressen, bzw. Register findest Du in der Kostal Modbus Liste.

                      Ach ja: Und der Plenticor verwendet übrigens IP Port 1502 und nicht wie der KSEM 502.

                      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: KSEM & Plenticore.png Ansichten: 0 Größe: 47,7 KB ID: 436469

                      Hoffe das hilft. Viel Erfolg.

                      Kommentar

                      • HeinrichW
                        Azubi
                        • 10.07.2024
                        • 3

                        #13
                        Danke für das Schema, das hat mir viel weiter geholfen. Bin vor deinem Post noch draufgekommen, dass ich die WR ja direkt auslesen könnte (dachte mir eigentlich, dass das auch über den KSEM möglich sein sollte, da die ja über den Modbus zusammenhängen).
                        Das mit dem 1502er Port habe ich nach 25 weiteren grauen Haaren auch herausfinden könnnen. Ein wichtiger Hinweis auch für Leute die den Thread zukünftig konsultieren.

                        Hab das Schema soweit geändert. Nur kommt mir langsam vor, dass der KSEM falsche Werte ausliest. Kann ja nicht sein, dass mein Verbrauch bei über 100kw liegt, obwohl schon Feierabend ist. Wenn ich direkt per Browser auf den KSEM gehe zeigt er dasselbe an. Das deckt sich auch nicht mit dem verrechneten Verbrauch.

                        Noch eine letzte Frage - deine Wirkleistung Bidirektional nimmst du vom 40087 Modbus des KSEM, richtig?

                        Kommentar

                        • FiCastle
                          Extension Master
                          • 11.01.2019
                          • 144

                          #14
                          Freut mich, dass Du weitergekommen bist.

                          Ja richtig. Die Netz Wirkleistung Bidirektional kommt von Adresse 40087 des KSEM. Hier wie ich die Eigenschaften konfiguriert habe.

                          Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Wirkleistung.png Ansichten: 0 Größe: 39,4 KB ID: 436921
                          Über die Loxone Live View siehst Du ja schön, welche Werte über Modbus ankommen. Einfach mal vergleichen mit dem, was im KSEM Webinterface angezeigt wird.

                          Wenn die Werte über das Webinterface des KSEM stimmen, kann es fast nur noch sein, dass ein Skalierungsfehler im Formelbaustein vorliegt.

                          Hier darum noch die Skalierung im Formelbaustein, der gleich nach dem Modbus Sensor angehängt ist:

                          Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Scaler.png Ansichten: 0 Größe: 2,2 KB ID: 436922

                          Eine Fehlerquelle bei Modbus Sensoren könnte auch noch die Validierung sein. Wenn zu tiefe Werte angegeben wurden (z.B. weil die Skalierung nicht berücksichtigt wurde) kann es auch sein, dass dann das +/- Maximum der effektiven Werte begrenzt wird. Das wäre im Fall, dass zu tiefe Werte ankommen.

                          Schöne Grüsse
                          Zuletzt geändert von FiCastle; 16.07.2024, 20:18.

                          Kommentar

                          • HeinrichW
                            Azubi
                            • 10.07.2024
                            • 3

                            #15
                            Dann sollte bei mir soweit alles richtig hinterlegt sein.

                            Habe mir die Verkabelung des KSEM genauer angeschaut. Für mich sieht es fast so aus als ob Netz- und Verbraucherseite bei der Montage vertauscht wurden.
                            (Wandlerverhältnis habe ich korrigiert, sowie die Einbauposition in den WR Einstellungen). Am Zähler sehe ich auch, dass eingespeist wird, im Kostal Portal und demzufolge in Loxone zeigt er aber Verbrauch an. Dann stimmt natürlich nichts mehr, da er die Leistungen addiert. Sobald der Elektriker nochmal da war, update ich ob meine Theorie stimmt.

                            Dachte mir noch es würde vielleicht mit einem Update zusammenhängen, aber KSEM und beide WR sind nun auf dem neuesten Stand.

                            Skalierungsfaktoren habe ich angepasst und auch mit dem Webinterface abgeglichen. Das sollte soweit hinhauen.

                            Also tendenziell wird nun alles richtig angezeigt, aber die "Richtung" stimmt nicht.
                            Danke nochmal für deine Hilfe. Wenn man einen Anhaltspunkt hat, ist es ein wenig einfacher.


                            Nachtrag:
                            Nun wird alles richtig angezeigt. Die Wandlerzähler waren nicht auf die richtigen Phasen geklemmt. Nun ist alles richtig und es werden nachvollziehbare Daten angezeigt.
                            Angehängte Dateien
                            Zuletzt geändert von HeinrichW; 08.08.2024, 07:45.

                            Kommentar

                            Lädt...