Ankündigung

Einklappen
Keine Ankündigung bisher.

Logikbaustein: Kostal Wechselrichter via Modbus TCP abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Kurze Frage für Dummies :P

    Die DPT in deiner Doku... welche nehme ich denn da im HS?

    Entspricht 9.xxx / Float dann 4-Byte (EIS/IEEE-Gleitkommawert) im HS? 4Byte kommen mir so groß vor?

    Wie verhält es sich bei den anderen Datentypen? Gibt es eine Tabelle DPT/EIS oder so?
    Zuletzt geändert von Shine120; 12.01.2022, 16:12.

    Kommentar


      #32
      Steht eigentlich beim HS doch schon hinter den Datentypen oder welche Version hast du?
      Greenshot 2022-01-12 21.35.53.png
      zur Frage: EIS 5 - reichen 2byte float.
      du kannst auch ein 4 Byte float nehmen.

      Tabelle: https://www.loxone.com/dede/kb/eibknx-datentypen/
      (Muhaha, Loxone link im KNX Forum ;-) )

      Andere Datentypen: aus einem Logikbaustein kommt nur String/Text oder eine Zahl. Wenn der Datentyp zu klein ist, wird der Wert komisch (müsste dann immer das gegebene Min bzw. Max sein), ist er zu groß passiert nix. Ist dann nur doof, wenn du die Werte auf den KNX Bus geben willst und keiner mit 4byte was anfangen kann.

      Sprich kommt eine Komma-Zahl aus dem LBS und du nimmst einen Datentypen ohne Fraktion, so sollte diese einfach am Komma abgeschnitten werden.
      Zuletzt geändert von SvenB; 12.01.2022, 21:36.

      Kommentar


        #33
        Ich bin mit dem HS noch auf 4.7 da gibt es noch die EIS Bezeichner

        Aber danke für die Info

        Kommentar


          #34
          Hallo Sven,

          Ich habe eine Kostal Plenticore plus 10kW

          Beim Ausgang 7 (Power of Inverter AC/DC conversion) kommt ein Wert den ich nicht verarbeiten kann. zb. 1.08234571284e-33
          Die anderen Werte stimmen alle mit dem Wechselrichter überein. Nur dieser nicht. Was mache ich falsch?
          Möchte den Wert, den die Anlage gerade in AC erzeugt.

          bg
          Andreas

          Kommentar


            #35
            Den einzigen Wert, den nicht verwende und da hab ich n Bug. 🤦🏼‍♂️
            Es ist nur ein 16bit Register und ich hab es als 32bit register gelesen. Zudem muss ich bei dem Typ auch alle Werte Bitshiften und können auch negativ sein. Sprich die Batterie-Ladepower hast zu 99% gestimmt, der <1% wenn es aus dem Netz geladen wird sollte nun auch negativ dargestellt werden.

            Neues Modul (Version 2.1) hab ich eingereicht. Wenn Micha es freigeschaltet hat ist es hier. - Für kurz-entschlossene ist es natürlich auch auf Github.
            (Hoffe ich hab nun bei den wenigen S16-Registern keinen Fehler eingebaut. Sieht bei mir aber gerade sehr gut aus. Bitte beachten: AC/DC-Konvert kann auch negativ sein wenn aus Netz geladen und fasst PV und Batterie zusammen. Ich hatte daher bei mir im Quadclient keine Verwendung für den Wert 😀)

            Kommentar


              #36
              Hallo Sven,

              funktioniert jetzt ausgezeichnet. Vielen herzlichen Dank!

              Kommentar


                #37
                Hallo zusammen,

                ich habe heute den Logikbaustein getestet. Ich habe den Experten 4.11.2 und den Kostal PIKO CI 30. Sobald ich das Projekt auf den Gira Homeserver übertrage, reagiert der Server nicht mehr. "Fehler beim Netzwerk-Zugriff auf das Gerät" Fehlercode 3400" Fehler HTTP Response Error" die Diagnose Seite geht nicht, der Quadclient geht nicht, pingbar ist der Server aber weiterhin,
                Ich bekomme sogar Werte vom Modbus auf den KNX Bus.

                Erst das einspielen der alten Konfig, ohne Logikmodul (deaktivieren reicht auch) macht den Server wieder ansprechbar.

                Jemand eine Idee was das sein kann bzw. was ich noch testen kann?

                Viele Grüße

                Max


                Kommentar


                  #38
                  Das Modul wurde nicht für den PIKO CI geschrieben. Er ist aber wie der Plenticore und PIKO IQ ein Kostal WR der 3. Genereation. Die Modbus TCP-Register passen auf den ersten Blick auch und du sagst ja auch, dass du Antwort bekommst.

                  Deinen Fehler kann ich mir gerade garnicht erklären. Sprich mich gern via PM an.
                  (Wenn du damit Geld verdienst, schreib ich dir gern eine Rechnung. Kostenlos für SI's arbeiten ist nämlich uncool.)

                  Kommentar


                    #39
                    Seit heute ist Version 2.3 im Download-Bereich verfügbar. Folgende Änderungen:
                    • Bugfix: Scale Factors des Wechelrichters brachten den HomeServer zum Absturz (und die Werte waren bis zum Absturz falsch). Die Scale-Factors wurden korrigiert, der Absturz ist nun weg
                      • Es betrifft vorallem den PIKO CI, da dieser von Beginn an mit Scale Factors arbeitet. Home-Wechselrichter betrifft es zumindest zum Start nicht, hier ist der Scale-Factor 0 ist. Das könnte sich ändern, wenn die Verbrauchscounter steigen. (Daher bitte den Baustein aktualisieren!)
                      • Hier hat sich etwas rekursiv verhalten und damit wuchsen die Werte. Entweder beim Ausgang schreiben oder beim Loggen der Werte schlägt das scheinbar auf den Haupt-Thread durch. (Sorry für den Bug. Die Scale-Factors kamen später und beim Refactoring hat sich hier was eingeschlichen)
                    • Bugfix: Es gibt einen Register-Unterschied zw. Plenticore und PIKO CI. Ich habe ein Workaround gefunden, so dass bei beiden WR der State korrekt ausgegeben wird.
                    • Dokumentation wurde verbessert
                    • PIKO CI gilt nun offiziell als unterstützt
                    Wichtig: Bitte betreibt den LBS mit einer aktuellen Wechselrichter-Firmware. Kostal hat beim Plenticore for 2 Jahren und beim PIKO CI vor einem Jahr die Modbus-Register angepasst. Das Plugin funktioniert nur mit jüngeren Versionen! Ein Workaround ist auch nicht möglich, ohne weitere Eingänge hinzuzufügen.

                    Ein Update wird wegen den Scale-Factors ausdrücklich empfohlen, um abstürzende Homeserver zu vermeiden.
                    (Work-Around bei Abstürzen: WR-Verbindung trennen und HS neustarten und Plugin aktualisieren, HS neustarten und sehr(!) schnell das Update einspielen.)

                    (Dank an bauerkirch für das Testen der neuen Version!)

                    Kommentar


                      #40
                      Vielen Dank Sven, für deinen Support und für die Anpassungen an dem Logikbaustein.

                      Der Baustein läuft jetzt perfekt mit dem HS Exterte 4.11.2.211111 + Logikbaustein v2.3 von Sven und dem Kostal Piko CI 30 Interner Code "011005" -> V3.5.

                      Kommentar


                        #41
                        Ultimate Edition is coming

                        Moin,

                        mich hat an dem jetzigen Baustein immer gestört, dass er pro Wert eine Modbus-Abfrage macht. Es gab eine Optimierung: Hat der WR einen angeschlossenen Akku, so liesst er diese Register, sonst die für MPP-Tracker 3. Nun kam der Wunsch weitere Register hinzuzufügen und gleichzeitig hatte ich immer eine Idee im Kopf. - Die kommt nun: Die Ultimate-Edition mit der v3.0.

                        Ich lese aktuell mit nur 6 Modbus-Abfragen alle nötigen Register auf einmal aus. Dadurch hat man auch weniger Wertsprünge, die nicht zueinander passen. Danach werden die Register verarbeitet und zugewiesen. Da die Last nun geringer ist konnte ich etwa 15 zusätzliche Ausgänge hinzufügen:
                        • AC-Werte (V, A, W)
                        • DC-Leistung (W)
                        • Cos Phi
                        • Netz-Frequenz
                        • Isolationsabstand DC-Seite
                        • Batterie-Kapazität
                        • Aktuelles Leistungslimit DC/AC (z.B. 70%-Regelung oder Abregelung Netzbetreiber)
                        Falls jemandem noch ein Wert fehlt: Hier gerne einen von hier vorschlagen. Aus meiner Sicht hat mehr keinen Sinn.

                        Weitere neue Features:
                        • Abfrage-Intervall kann nun auch zur Laufzeit geändert werden
                        • Debug-Flag: Wenn man mehrere Wechselrichter hat
                        • Div. Refactorings und Vereinfachungen
                        Muss noch etwas coden und dokumentieren und dann kann es getestet werden. Feedback gerne schon einbringen, noch kann ich einfacher drauf reagieren.

                        Mal getestet: Sekunden-Frequenz scheint auch zu laufen, rate ich aber von ab. Trotz Send-By-Change Ausgängen knallt er natürlich echt viel auf die Ausgänge und ggf. auch den Bus.

                        Ultimate1.png Ultimate2.png
                        Zuletzt geändert von SvenB; 10.10.2022, 08:09.

                        Kommentar


                          #42
                          Auf Github ist das tolle Teil. Getestet auf Plenticore Plus 10 mit Batterie. Feedback gern gewünscht.
                          Es ändern sich sämtliche Ausgänge, dafür auch viel mehr Möglichkeiten. Braucht also etwas Zeit für die Neu-Integration, lohnt sich aber!

                          Kommentar


                            #43
                            Hallo Sven,

                            hast du evtl. schonmal versucht die Register 1026 - 1044 für das externe Battery-Managment zu beschreiben?
                            Interessant fände ich hier den Minimum SOC (1042), den man ja z.Bsp. auf 100 setzen könnte, um die Batterie beim laden des E-Auto nicht leer zu saugen.

                            Kommentar


                              #44
                              Moin zomteck ,
                              gerade mir die letzte Modbus-Beschreibung runtergeladen und scheint sich keine Änderung in dem Bereich ergeben zu haben:
                              • Nein, noch nicht probiert. Du kannst es aber gerne mit dem Modbus-Write Baustein probieren
                              • Du musst dann mit dem Installationszugang (hast du?) das ext. Batteriemanagement aktivieren und kannst diese dann schreiben
                              • Es ist nicht begrenzt auf PV-Leistung. Sprich wenn du Lade-Setpoint setzt und der höher ist als die PV-Leistung, dann läd er auch mit Netzstrom. Das ist leider gegenüber den EVUs soweit ich weiß nicht legal. - Auch, weil du umgekehrt aus der Batterie ins Netz laden kannst.
                                • Du müsstest also sehr oft die Werte anpassen. Glaub Kostal macht dies intern 8-10 mal pro Sekunde.
                                • Was ich aber vor hatte war einen Slave-Modbus Baustein für den KSEM zu schreiben. Der wird dir dann asap die Verbrauchswerte geben, aber ggf. den Homeserver auch stark auslasten. Danach kannst du hier was tun.
                                • Du musst übrigens regelmäßig schreiben, weil er sonst auf den normalen Modus zurückfällt wenn er eine Zeit lang keine Werte erhält.
                              Ich persönlich unterstütze das aber nicht. Zum einen aus Zeitmangel, aber auch weil es mir zu heiß ist eine Logik in den Baustein zu packen. Berichte aber gern. Evtl. verhält es sich anders als in der Anleitung und vom Kostal Produktmanagement beschrieben.

                              Kommentar


                                #45
                                Moin Sven,

                                dachte ich mir schon, da mein Versuch die Register zu beschreiben, bisher fehl schlug. ServiceCode ist beantragt. Ich schick dir auch gleich noch eine PN.

                                Kommentar

                                Lädt...
                                X