Ankündigung

Einklappen
Keine Ankündigung bisher.

Auslesen eines Victron EM24 (Carlo Gavazzi) mit dem LBS 19001586 (ModBus Read (v0.6))

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

    Auslesen eines Victron EM24 (Carlo Gavazzi) mit dem LBS 19001586 (ModBus Read (v0.6))

    Hey zusammen,

    ich versuche gerade den EM24-Zähler per Modus/TCP-Abfrage auszulesen, was auch - mit etwas Anlaufschwierigkeiten - geklappt hat. Es werden absolut plausible Werte ausgelesen, abgesehen vom Zeitpunkt, an dem die PV-Anlage mehr als ~850W produziert, WOBEI der Zähler gar nicht die Erzeugung des Wechselrichter misst!

    So sah das bspw. gestern aus:

    image.png
    Bezug: Abgefragte Gesamtleistung über Modbus vom EM24 (nur positive Werte)
    Lieferung: Negativer Anteil von „Bezug“
    Photovoltaik: Gesamtleistung des Wechselrichters (Kostal PIKO 15) über WebAPI

    Eigenverbrauch und Verbrauch: Errechnete Werte aus o.g.

    Also: Sobald der WR mehr als ~850W produziert, springt der Verbrauchswert (errechnet) auf konstant ~6,5kW (beim Peak von 12:00-13:00 Uhr wurde das E-Auto geladen).

    Werte im Baustein:

    image.png
    Mit "Endian" habe ich schon experimentiert (weil ich dachte, dass bei großen Werten die Bytes möglicherweise vertauscht sein könnten), doch es werden nur bei "0" sinnvolle Werte ausgegeben. RegOffset auf "auto", wobei ich hier Schwierigkeiten habe den ersten Wert (Spannung L1) abzufragen, denn der hat dies Adresse "-1" laut logfile. Möglicherweise ist auch eine Kombination aus Offset und Endian erfolgreich, im Manual vom EM24 steht:

    "For all the formats the byte order (inside the single word) is MSB->LSB. In INT32, UINT32 and UINT64 formats, the word order is LSW-> MSW."

    Hat jemand eine Idee, woran das liegen könnte? Ich bin mir unsicher, ob es sich um eine elektrisches/messtechnisches Problem oder um ein IT-technisches handelt.




    #2
    Kannst du bitte posten, was du bei E8eibgetragen hast? Würde das gerne mir anschauen.

    Kommentar


      #3
      Oh, na klar:

      Code:
      [{"address":"0013","type":"int32","name":"Strom_L1"},
      {"address":"0015","type":"int32","name":"Strom_L2"},
      {"address":"0017","type":"int32","name":"Strom_L3"},
      {"address":"0019","type":"int32","name":"Leistung_L1"},
      {"address":"0021","type":"int32","name":"Leistung_L2"},
      {"address":"0023","type":"int32","name":"Leistung_L3"},
      {"address":"0025","type":"int32","name":"VA_L1"},  
      {"address":"0027","type":"int32","name":"VA_L2"},
      {"address":"0029","type":"int32","name":"VA_L3"},  
      {"address":"0041","type":"int32","name":"Gesamtleistung"},
      {"address":"0051","type":"int16","name":"PF_L1"},
       {"address":"0052","type":"int16","name":"PF_L2"},
      {"address":"0053","type":"int16","name":"PF_L3"}]

      Kommentar


        #4
        Wenn ich mir das:
        "For all the formats the byte order (inside the single word) is:
        MSB->LSB.
        In INT32, UINT32 and UINT64 formats, the word order is:
        LSW-> MSW."

        genau betrachte, dann müsste das doch 3=LITTLE_ENDIAN_LOW_WORD_FIRST sein, oder? Also: E9 = 3

        (E9: Endian der Ergebnisse (außer Type = string)
        0=BIG_ENDIAN | 1=BIG_ENDIAN_LOW_WORD_FIRST | 2=LITTLE_ENDIAN | 3=LITTLE_ENDIAN_LOW_WORD_FIRST)

        Bei E9 = 3 und Offset = 0 bekomme ich aber nur ein "[]" json zurück.​

        Kommentar


          #5
          Manchmal treibt das solch komische Stilblüten:

          image.png
          L1 auf 6505,8 W, L2 auf -6466 W - für mich liegen die Werte irgendwie verdammt nah an 2^16 => 65536 und stinken förmlich nach einem "Byte-Fehler"

          Kommentar


            #6
            Nach viel Rumprobieren kam ich nun auf die Lösung:
            E9 = 1 (BIG_ENDIAN_LOW_WORD_FIRST)
            und
            E19 = -1 (OFFSET)

            Hoffe, es hilft jemandem

            Kommentar


              #7
              wieso lest du die Werte vom Multiplus nicht aus oder hast du nur so einen Zähler verbaut?
              Achso das ist ein TCP Zähler von der seltenen Sorte

              Kommentar


                #8
                Hallo zusammen,
                ich bin neu hier im Forum und beim Stöbern auf den Beitrag gestoßen.
                Ich möchte den PV Überschuß direkt im Pufferspeicher als Warmwasser und Heizungsunterstützung verbraten. Die Daten kommen doch sicher über die RS485 Schnittstelle.
                Plan ist, den vom EM24 gemeldeten Überschuß per PWM oder Phasenanschnitt auf den Heizstab zu geben.
                Ein Raspberry soll die Regelung übernehmen.
                Wie wurde die Anbindung des EM24 hardwareseitig gemacht. Woher bekomme ich den Quellcode für die Anwendung. Ihr merkt sicher, ich bin noch ganz am Anfang des Projekts.
                Danke schon einmal für die Unterstützung und viele Grüße.

                Kommentar


                  #9
                  Hi Odysseus18! Hardwareseitig wurde der EM24 lediglich per Ethernet ins LAN eingebunden. Und den Quellcode kannst Du Dir im Edomi-Baustein anschauen (ist php).

                  Kommentar

                  Lädt...
                  X