Ankündigung

Einklappen
Keine Ankündigung bisher.

Generischer MOD-Bus TCP-Connector

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

    Generischer MOD-Bus TCP-Connector

    Ich hab einen generischen Mod-Bus connector erstellt, der das lesen und schreiben erlaubt. In der admin werden die Live-Werte anzeigt und auch Test-Writes können getätigt werden.

    http://service.knx-user-forum.de/?co...ad&id=19002762

    Das ganze erstmal für den Fronius-Wechselrichter. Durch entsprechende Json-Dateien lässt sich der LBS auch für x-beliebige Modbus-Anbindungen verwenden.
    Die JSON-Dateien für den Fronius hab ich bei mir im Git hochgeladen:

    https://github.com/sipiyou/fronius_sunspec

    Im Fronius-WR muss die Fernsteuerung aktiviert sein, wenn auch geschrieben werden soll. Das ist dann z.B. der Fall, wenn ihr das Laden der Batterie beeinflussen wollt.

    Die Konfiguration ist in der Admin des Wechselrichters unter "Kommunikation / Modbus"

    image.png

    Ich hab die Einstellung Int+SF, d.h. die Konfigurations-Dateien, die benötigt werden sind die mit "Inf&SF" aus dem Git.

    Da ich einen WR mit Batterie habe, wird die json-Datei mit "storage" benötigt. Diese beiden Dateien werden über die Admin in den LBS geladen:
    Gen24_Primo_Symo_Inverter_Int&SF_storage_ROW 192.168.1.180 502 1 big 8
    Smart_Meter_Int&SF


    Über dem Menüpunkt json importieren kann das jeweilige Gerät konfiguriert werden:

    image.png

    Bei mir hat der Wechselrichter die Unit-ID 1 und der Smart-Meter die 4.

    image.png


    Nachdem alles hochgeladen und konfiguriert wurde, sieht das ganze in der Admin dann so aus:


    image.png

    image.png


    Dann können hier auch die Werte direkt an Edomi KO's / KNX-KO's gesendet werden.
    Zuletzt geändert von sipiyou; 02.05.2026, 15:06.

    #2
    Was ich noch vergessen habe zu erwähnen ist, dass die polling Intervall sich pro Gruppe einstellen lassen, default sind 30 Sekunden. So kann man unwichtige Gruppen seltener Pollen. Gruppen, die keine Zuweisungen haben, werden im LBS nicht gepollt - nur in der Admin, wenn man die jewilige Gruppe zur Ansicht auf hat.

    Alle KO-writes sind send by change, sprich werden nur gesetzt, wenn sich die Werte tatsächlich verändern. Die Umrechnung der Blöcke findet automatisch im Hintergrund statt, d.h. der Wert des jeweiligen Eintrags ist auch beim Schreiben als Endwert anzugeben.

    In der Admin ist ganz links beschrieben, wie der Wert sich zusammensetzt.
    Zuletzt geändert von sipiyou; 02.05.2026, 15:03.

    Kommentar


      #3
      Ich hab noch einen dicken Fehler gefunden, der Fronius scheint die SF-Register dynamisch zu ändern. Bitte die 1.01 herunterladen

      Und hier nochmal die Registerübersicht für die relevanten Daten für die Visu.

      Für die aktuell erzeuge Energiemenge nimmt man am besten String1 (40275) +String2 (40295) (module/1/DCW​ + module/2/DCV​)

      Der Hausverbrauch ist dann 40084 (W) + 40088 (Total Real Power aus dem SmartMeter)

      Anbei meine Zuweisungsübersicht, sonst in der Admin einfach die Livewerte anschauen, der Rest ist eigentlich selbsterklärend.


      image.png

      Kommentar


        #4
        Moin Nima,

        Ich versuche mit dem LBS meine BWWP und Stromzähler auszulesen.
        Die .json files habe ich mir (nach bestem Wissen) erstellt.


        Hier mal als Bsp. das .json für des Stromzähler der BWWP.

        Code:
        [
            {
                "device": "Eastron_SDM120_Slave_101",
                "protocol": "TCP",
                "elements": [
                    {
                        "firstID": 13,
                        "group": "Input_Register",
                        "elements": {
                            "2": {
                                "start": 13,
                                "size": 4,
                                "rw": "R",
                                "function": "0x03",
                                "name": "Phase_1_active_power",
                                "desc": "Momentanverbrauch BWWP",
                                "type": "float32",
                                "unit": "W",
                                "scaleFactor": "",
                                "notsupported": 0
                            },
                            "3": {
                                "start": 73,
                                "size": 4,
                                "rw": "R",
                                "function": "0x03",
                                "name": "Import_active_energy",
                                "desc": "Gesamtverbrauch BWWP",
                                "type": "float32",
                                "unit": "kWh",
                                "scaleFactor": "",
                                "notsupported": 0
                            }
                        }
                    },
                    {
                        "firstID": 21,
                        "group": "Holding_Register",
                        "elements": {
                            "2": {
                                "start": 21,
                                "size": 4,
                                "rw": "R",
                                "function": "0x04",
                                "name": "slave_id",
                                "desc": "Slave ID",
                                "type": "float32",
                                "unit": "",
                                "scaleFactor": "",
                                "notsupported": 0
                            }
                        }
                    }
                ]
            }
        ]​
        Problem ist das ich nichts aus den 0x03 Registern bekomme. Er liest immer die Daten aus den 0x04 Registern aus.
        Was mache ich hier falsch?

        Ebenfalls bekomme ich (je nach json) in der Admin Seite rechts oben in der Ecke den Fehler: "Modbus: incomplete MBAP header from 192.168.20.xx" angezeigt.
        Fehler ist auf beiden GW (Waveshare) aufgetreten.

        Aktuell lese ich beide GW mit HA und zum Test mit QModMaster aus was auch funktioniert. ​

        Danke

        Gruß
        Zuletzt geändert von toddler; Gestern, 15:22.

        Kommentar

        Lädt...
        X