Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      WILHER last edited by WILHER

      Hallo zusammen, ich habe eine Heizung von SOLARFOCUS und möchte diese Visualisieren bzw steuern über den Modbus TCP.

      Die Schnittstelle an der Anlage ist eingeschaltet und sendet auch.

      Nur komme ich nicht damit klar wie ich die Adressen abrufen soll/kann.
      Ich hätte gerne die Input-Registerdaten (IST-Werte) und die Holding-Registerdaten (SOLL-Werte) ausgelesen.

      Die aktuelle Beschreibung der Schnittstelle von SOLARFOCUS hänge ich hier mal an.

      EcoMT_Modbus-TCP_Anleitung_v9-202202_DE.pdf

      Kann mir jemand helfen? Wäre euch sehr dankbar.

      J 1 Reply Last reply Reply Quote 0
      • J
        JoergH @WILHER last edited by

        @wilher
        Du musst erstmal in den Einstellungen des Modbus Adapters die IP Deines Modbusgerätes eintragen, der Port 502 ist sowieso schon korrekt vorgewählt, dann musst Du in den Reitern Holding Register die Adressen, die Du abfragen willst eintragen (Haken bei "Poll" nicht vergessen!) und dann müsste er die entsprechenden Werte abholen und in die dazu angelegten DP schreiben.

        W 1 Reply Last reply Reply Quote 0
        • W
          WILHER @JoergH last edited by

          @joergh Hi, vielen Dank für deine Antwort.

          Leider bringt mich das aber nicht weiter. Wenn ich die Adressen wie von Seite 10 eintrage (32600 Vorlauftemperatur Heizen) kommt leider gar nix. nur eine Fehlermeldung im Protokoll:

          modbus.0 2022-04-18 14:24:29.032 error Invalid holdingRegisters address: -7401

          Wenn ich unter Eingangsregister die Adresse von Seite 3 eintrage (1100 Vorlauftemperatur) dann kommt auch erstmal nix, es sei denn ich mach die Adresse in folgendem Format: 31101 (dann wird mir ein Wert ausgegeben).

          Aber wieseo muss die Adresse so verändert werden, bzw. geht das evtl auch noch anders? Habe ich einen Denk- oder Logikfehler?

          J 1 Reply Last reply Reply Quote 0
          • J
            JoergH @WILHER last edited by

            @wilher Ja, weil Du was falsch eingestellt hast, kommt der Fehler. Poste mal bitte ein Screenshot von Deinen Adaptereinstellungen und dann von den Holding Registern. Ich empfehle erst einmal mit einem Register anzufangen. Wenn es läuft, kann man die anderen sukzessive hinzufügen. Sollte nämlich eines falsch sein, geht der Adapter wieder auf rot.

            W 1 Reply Last reply Reply Quote 0
            • W
              WILHER @JoergH last edited by

              @joergh Hier mal Screenshots der Einstellungen

              Screenshot 2022-04-18 143818.jpg
              Screenshot 2022-04-18 143842.jpg
              Screenshot 2022-04-18 144026.jpg
              Screenshot 2022-04-18 144047.jpg

              J 1 Reply Last reply Reply Quote 0
              • J
                JoergH @WILHER last edited by JoergH

                @wilher

                Nimm mal Aliases benutzen, direkte Adressen benutzen und nicht auf 16 bit ausrichten raus und dann musst Du auch den Typ im Holding Register angeben, in deinem Fall bei diesem Wert int16, sprich "unsigned 16 Bit" und die Länge fehlt auch, in diesem Fall "1"

                W 1 Reply Last reply Reply Quote 0
                • W
                  WILHER @JoergH last edited by

                  @joergh welches unsigned 16 bit soll ich nahmen? Big Endian oder Little Endian? Oder ist das egal?

                  Die Holding Register sind die Werte mit denen ich schreiben kann auf die Anlage?

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    JoergH @WILHER last edited by JoergH

                    @wilher Achso, sorry. Ob Big oder Little Endian ist nicht egal, sondern bedeutet er nimmt entweder die ersten 8 Bit als die niedrigeren oder die zweiten 8 Bit. Da kommen also völlig falsche Werte wenn es falsch herum eingestellt ist. Stegt vermutlich in der Doku. Meist ist es Big Endian, einfach mal probieren.

                    Um Werte lesen bzw. schreiben zu können muss man einen Code vorweg senden, z. B. 0x03 beim Holding Register abfragen. Das macht der Adapter für Dich automatisch bei den Werten die Du unter Holding Register einstellst. Also geht es erstmal nur ums Lesen.

                    W 1 Reply Last reply Reply Quote 0
                    • W
                      WILHER @JoergH last edited by

                      @joergh Okay bis hierhin habe ich es verstanden... und wo ist der Unterschied zwischen Input und Holdingregister?

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        JoergH @WILHER last edited by JoergH

                        @wilher Holding Register sind die Analogen Output Register, Input - wie der Name schon sagt - analoge Eingangsregister...

                        Anbei mal ein Link, wenn Du es genauer wissen möchtest https://ipc2u.de/artikel/wissenswertes/modbus-rtu-einfach-gemacht-mit-detaillierten-beschreibungen-und-beispielen/

                        oder auch etwas kürzer...https://www.wachendorff-prozesstechnik.de/fileadmin/wp/fileserver/technical_notes/TN_0302_Grundlagen_Modbus.pdf

                        W 1 Reply Last reply Reply Quote 0
                        • W
                          WILHER @JoergH last edited by

                          @joergh Okay, vielen Dank für die Ausführungen. Scheint zu funktionieren.

                          Wie kann man denn dann ggf. auch Werte zurück schreiben? Also z.B. 1107 Status Heizkreis den Wert 19 = Partybetrieb.

                          Nun muss ich nur den Anlagenhersteller nochmal anschreiben, wieso man weniger Werte auslesen kann als es scheinbar in der eigenen APP bzw. Display gibt.

                          J W A 3 Replies Last reply Reply Quote 0
                          • J
                            JoergH @WILHER last edited by

                            @wilher Wenn Du den Wert des DP überschreibst, dann müsste er ihn vermutlich schon selber senden. Wenn nicht, dann musst Du die Werte wohl noch einmal als Input Register anlegen und dann dort reinschreiben.

                            Ich würde nun nach und nach die Werte konfigurieren und nicht alle auf einmal, da er wie gesagt bei einem falschen Wert die Abfrage aller Folgewerte abbricht und man das dann nur im Logfile sieht, bzw. daran, dass er den Adapter dann rot werden lässt. Man kann sie also alle in der Liste eintragen, aber das Häkchen bei "Abfrage" sukzessive hinzufügen.

                            Sollte er die Werte nicht schreiben wollen, kannst Du auch noch einmal versuchen ob das Werte schreiben mehrerer Werte was bringt. Laut Deiner Beschreibung erwartet er FC16, also mehrere Werte schreiben auf einmal...

                            Welche Werte hat er denn nicht?

                            W 1 Reply Last reply Reply Quote 0
                            • W
                              WILHER @WILHER last edited by

                              @wilher Noch eine Frage, kann man eine Art Scan auf eine IP Adresse machen um zu sehen welche Adressen vom Mod-BUS ggf verfügbar sind bzw. alle Adressen zu finden die Daten liefern?

                              J 1 Reply Last reply Reply Quote 0
                              • W
                                WILHER @JoergH last edited by

                                @joergh Mir fehlen Werte von Pumpen, Temp. Sensoren, Paddelschalter (Durchlauf) etc.

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  JoergH @WILHER last edited by

                                  @wilher Unmöglich ist es nicht. Ich habe mal gelesen, dass sich einer ein Skript gebastelt hatte, aber da die Werte ja immer auch unterschiedlich lang sein können, ist das eher schwierig denke ich. Die Doku sollte alle Werte enthalten...

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    JoergH @WILHER last edited by

                                    @wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:

                                    @joergh Mir fehlen Werte von Pumpen, Temp. Sensoren, Paddelschalter (Durchlauf) etc.

                                    Was ist mit 1106 Mischerstellung, 1105 Heizkreispumpe, 1150 Vorlauftemperatur, etc. ?

                                    Aber generell habe ich das auch, dass meine Heizungssteuerung vieles mehr kann als die APP und die wieder einiges mehr kann als die API...Fragen kostet nix 😉

                                    W 1 Reply Last reply Reply Quote 0
                                    • W
                                      WILHER @JoergH last edited by

                                      @joergh Und du meinst also ich solle erstmal alle Werte nach und nach im Holdingregister anlegen ach die 1100, 1107 etc?

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        JoergH @WILHER last edited by JoergH

                                        @wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:

                                        @joergh Und du meinst also ich solle erstmal alle Werte nach und nach im Holdingregister anlegen ach die 1100, 1107 etc?

                                        Nein, da das Input Register sind, wird Dein Gerät auf den FC03 den er bei den Holding Register am Anfang sendet nichts zurückliefern. Um die abfragen zu können muss er den FC04 senden und das macht er wenn Du die bei Input Register einträgst.

                                        Sehe gerade, dass der die Werte in den Input Registern nur lesen kann...etwas entgegen der Philosphie wie ich sie verstanden habe...🤔

                                        W 1 Reply Last reply Reply Quote 0
                                        • W
                                          WILHER @JoergH last edited by

                                          @joergh Ah ja okay.

                                          Bei 2406 Kesselreinigung bekomme ich immer 65535% als Wert zurück, ist da ggf noch etwas zu korrigieren?

                                          W J 2 Replies Last reply Reply Quote 0
                                          • W
                                            WILHER @WILHER last edited by

                                            @wilher Wie könnte man den ausserdem erreichen, dass statt z.b. einer 0 im Wert der Text "Heizkreis ist ausgeschaltet" erscheint, wäre ja für die VIS ganz nett

                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            998
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            44
                                            3599
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo