Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Modbus RTU Gateway

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

    #61
    Melde dich mal per PN, dann finden wir eine Lösung.
    www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

    Kommentar


      #62
      Ich hab momentan 2 Problemchen mit dem Modbus Gateway, aber vermutlich hockt das vorm PC 😅.

      Erstens:
      Ich hab gestern unsere neue Dimplex Brauchwasserwärmepumpe an das Gateway angeschlossen und bekomme auch die richtigen Werte gesendet. Super Happy, da es immer ein bisschen gefummel (für mich) ist bis ich die richtigen Einstellungen finde.
      Im Endeffekt geht es um das Sendeverhalten bei Wertänderung. Bei den Temperaturwerten geht das einwandfrei, diese habe ich als DTP9 eingebunden auch wenns laut Doku von Dimplex DTP8 sein müsste. DTP9 hab ich gewählt wegen der Einheit °C. Die Ausgabe erfolgt aber ohne Komma. Änderung wird nur bei 1°C-Änderung auf den Bus gesendet. Egal des passt, zurück zum Problemchen .

      Die ganzen Statuswerte wie Betriebsart, Störung, Lüfter Ein/AUS, Betriebsstunden, usw. sind laut Dimplex Doku uint16, somit habe ich im Gateway DTP7 gewählt, die Ausgabe der Werte passt auch.
      Jetzt mal am Beispiel Betriebsart, diese kann Werte von 0-8 annehmen (Aus, An, Abtauen, Frostschutz, usw.). Wenn ich hier bei "senden bei abs. Wertänderung" eine "1" eintrage, dachte ich das auch nur beim umschalten des Modus gesendet wird.
      Aber leider wird der Status im Sekunden-Takt auf den Bus gesendet, was ich gerne vermeiden möchte.

      BWWP Einstellungen.jpg


      BWWP Busmonitor.jpg

      Zweitens:
      Hab ich zufällig beim ganzen rumspielen mit dem Gateway gesehen das man virtuelle Zähler erstellen kann.
      Ich hab an meinem zweiten Gateway mehrere Eastron SDM630 für OG, EG, KG, Garage, PV, WP.
      Nun würde ich natürlich die Warmwasserbereitung soweit wie möglich in den Sonnenschein schieben, wenn PV-Überschuss vorhanden ist.

      Also hab ich mal testweise einen virtuellen Zähler erstellt, der mir die Wirkleistungen der einzelnen Zähler zusammen zählt.
      Also virtueller Zähler aktiviert.
      Und bei den entsprechenden Datenpunkten unten den Haken bei virtuellem Zähler 1 gesetzt.
      KO erscheint und hab ich verknüpft, aber es wird irgendwie kein Wert gesendet.
      Und das nächste ist, wenn ich Überschusserkennung aktiviere erscheint kein neues KO 🤷‍♂️.
      Hier mal meine Einstellungen, vielleicht fehlt auch einfach noch etwas.
      Bzw. geht diese Funktion generell überhaupt schon?

      Zähler Einstellungen 1.jpg

      Zähler Einstellungen 2.jpg
      Gruß Ben

      Kommentar


        #63
        Zitat von stonie2oo4 Beitrag anzeigen
        Jetzt mal am Beispiel Betriebsart, diese kann Werte von 0-8 annehmen (Aus, An, Abtauen, Frostschutz, usw.). Wenn ich hier bei "senden bei abs. Wertänderung" eine "1" eintrage, dachte ich das auch nur beim umschalten des Modus gesendet wird.
        Aber leider wird der Status im Sekunden-Takt auf den Bus gesendet, was ich gerne vermeiden möchte.
        Wird denn dann alle Sekunde immer der gleiche Wert auf den Bus gesendet?

        Zitat von stonie2oo4 Beitrag anzeigen
        Hab ich zufällig beim ganzen rumspielen mit dem Gateway gesehen das man virtuelle Zähler erstellen kann.
        ich denke man muss hier leider sagen, könnte statt kann. Ich habe diese Funktion damals als Feature-Wunsch aus dem Forum aufgenommen. Leider bin ich nie dazu gekommen es zu 100% abzuschließen. Das gleiche Spiel auch bei den S0-Inputs.
        Wollte das alles noch beheben, aber Anfang 2023 haben wir uns ein Bestandshaus gekauft, welches gerade 120% meiner Zeit kostet. Leider komme ich deswegen hier nur noch zum aller nötigsten.
        Auf langer Sicht, wird es ein HW-Update geben, welches die gleichen Funktionen beinhaltet, aber mehr Logikkanäle unterstützt. Im gleichen Zuge wollte ich auch die offenen Punkte noch angehen.
        Es tut mir leid das nicht besser kommuniziert zu haben. Ende 2023 wenn sich das Thema Haussanieren etwas ruhiger wird, dann wird es hier auch weitergehen.
        www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

        Kommentar


          #64
          Zitat von Masifi Beitrag anzeigen
          Wird denn dann alle Sekunde immer der gleiche Wert auf den Bus gesendet?
          Hab oben ja ein Bild vom Busmonitor angehangen, dort wird immer 8 Pulses gesendet. Also laut diesem ja. Kann man sich darauf verlassen, oder kann der Wert irgendwie durch den Busmonitor verfälscht werden?

          Zitat von Masifi Beitrag anzeigen
          ich denke man muss hier leider sagen, könnte statt kann.
          Alles gut, wenn ich das weiß passt das schon 😉.
          Das du momentan andere Prioritäten hast ist verständlich, also kein Stress.
          Wie gesagt bin ich da zufällig drüber gestolpert und hab gedacht, oh des könnt ich ja mal testen, könnte was sein was ich gebrauchen kann 😂.
          Theoretisch müsste das ja auch per Logik machbar sein.
          Dann aber dazu noch ne Frage, wird DTP14 im Logikteil des Modbusgateway schon unterstützt?
          Gruß Ben

          Kommentar


            #65
            Ok wenn ich heute Abend Zeit finde dann schaue ich mal in den Code.
            Das abs senden funktioniert mit anderen DPTs aber wie gewünscht, oder gab es außer DPT7 noch Auffälligkeiten?
            www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

            Kommentar


              #66
              Bis jetzt ist mir nichts negatives aufgefallen.
              Ich verwende ansonsten aber auch nur DTP9 und DTP14.
              Bei diesen beiden funktioniert es.
              Gruß Ben

              Kommentar


                #67
                Kann mir jemand sagen wo ich die Firmware für die RP2040 Hardware finde? Beim Release 1.0.2 ist nur die SAMD bin Datei dabei. PN an Masifi blieb leider unbeantwortet. Ich verstehe schon das er viel um die Ohren hat.
                Habe auch versucht es selber kompilieren, das scheitert aber schon an der OpenKNXproducer:

                Code:
                -> MaxInclusive of Parameter LOG_f27E1LowDpt12Fix cannot be greater than 4294967295, value is '4294967296'
                  --> MaxInclusive of Parameter LOG_f27E2LowDpt12 cannot be greater than 4294967295, value is '4294967296'
                  --> MaxInclusive of Parameter LOG_f27E2HighDpt12 cannot be greater than 4294967295, value is '4294967296'
                ...
                  --> MaxInclusive of Parameter LOG_f50OOnDpt12 cannot be greater than 4294967295, value is '4294967296'
                  --> MaxInclusive of Parameter LOG_f50OOffDpt12 cannot be greater than 4294967295, value is '4294967296'
                - ParameterRef-Value-Integrity...
                  --> MaxInclusive of ParameterRef M-00FA_A-A230-11-0000_UP-1001405_R-100140501, referencing Parameter LOG_f1E1LowDpt12, cannot be greater than 4294967295, value is '4294967296'
                  --> MaxInclusive of ParameterRef M-00FA_A-A230-11-0000_UP-1001405_R-100140502, referencing Parameter LOG_f1E1LowDpt12, cannot be greater than 4294967295, value is '4294967296'
                ...
                  --> MaxInclusive of ParameterRef M-00FA_A-A230-11-0000_UP-1050415_R-105041501, referencing Parameter LOG_f50E2HighDpt12, cannot be greater than 4294967295, value is '4294967296'
                  --> MaxInclusive of ParameterRef M-00FA_A-A230-11-0000_UP-1050415_R-105041502, referencing Parameter LOG_f50E2HighDpt12, cannot be greater than 4294967295, value is '4294967296'
                - ComObject-Name-Uniqueness... OK
                - ComObject-Number-Uniqueness... OK
                - RefId-Id-Comparison... OK
                - RefId-RefRef-Comparison... OK
                - Id-Namespace... OK
                - Id-Format...
                  --> Enumeration  has the Id=M-00FA_A-A230-11-0000_PT-OutputSendOn_EN-0, but this Id is missing the required part _PT-OutputSend_EN-
                  --> Enumeration  has the Id=M-00FA_A-A230-11-0000_PT-OutputSendOn_EN-1, but this Id is missing the required part _PT-OutputSend_EN-
                  --> Enumeration  has the Id=M-00FA_A-A230-11-0000_PT-OutputSendOn_EN-2, but this Id is missing the required part _PT-OutputSend_EN-
                  --> Enumeration  has the Id=M-00FA_A-A230-11-0000_PT-OutputSendOn_EN-3, but this Id is missing the required part _PT-OutputSend_EN-
                  --> Enumeration  has the Id=M-00FA_A-A230-11-0000_PT-OutputSendOn_EN-8, but this Id is missing the required part _PT-OutputSend_EN-
                  --> Enumeration  has the Id=M-00FA_A-A230-11-0000_PT-OutputSendOn_EN-4, but this Id is missing the required part _PT-OutputSend_EN-
                  --> Enumeration  has the Id=M-00FA_A-A230-11-0000_PT-OutputSendOn_EN-5, but this Id is missing the required part _PT-OutputSend_EN-
                - Serial number... OK
                - HelpContext-Ids... OK
                - Icon-Ids... OK
                - Baggage-File-Existence... OK
                - Application data... OK
                - Memory size... OK
                Writing debug file to ModbusGateway.debug.xml
                Writing header file to ModbusGateway.h
                --> Skipping creation of ModbusGateway.knxprod due to check errors! <--​
                Bekomme den Fehler sowohl mit Version 2.0.17 als auch der Beta Version 2.1.17 vom OpenKNXProducer.

                Kommentar


                  #68
                  Hi,

                  ich habe gerade ein Beta-Release 1.1.2 auf github hochgeladen (https://github.com/OpenKNX/OAM-Modbu...ses/tag/v1.1.2), das kannst Du nehmen. Es hat auf jeden Fall die RP2040 Unterstützung, aber ich bin mir nicht sicher, welche Hardware Du hast und kann Dir somit nicht sagen, ob es darauf läuft. Aber probier es ruhig aus und melde Dich, wenn was nicht passt.

                  Gruß, Waldemar

                  P.S.: Die Fehler oben kommen daher, dass Du nicht die neuste Version vom Logikmodul hattest, hat nichts mit dem OpenKNXproducer zu tun.
                  Zuletzt geändert von mumpf; 15.05.2023, 13:25.
                  OpenKNX www.openknx.de

                  Kommentar


                    #69
                    mumpf: Danke für deinen Support!
                    www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                    Kommentar


                      #70
                      Also erst mal vielen Dank an mumpf und Masifi. Hardware is die, die ich von Masifi bekommen habe. Konnte die Firmware vom Release 1.1.2 laden und Adresse und App downloaden. Programmier Button und LED gehen, wird auch im Debug Output angezeigt.
                      Parametriert habe ich erst mal nur Diagnoseobjekt. Datum/Uhrzeit und Heartbeat. Zeit/Datum wurden gesetzt (kombiniert). Modbus ist erst mal nicht angeschlossen. Ich bekomme keinen Heartbeat. Auf die Diagnoseanfragen ('r','t') kommt auch nichts zurück. Ich habe mit und ohne 24V Anschluss probiert.

                      Beim Kompilieren gibt es auch einen Fortschritt. Der OpenKNXProducer läuft jetzt durch. Allerdings gibt es ein Problem mit einer fehlenden "hardware.h":

                      Code:
                      Compiling .pio\build\build_RP2040\src\S0Function.cpp.o
                      In file included from src\LED_Statusanzeige.cpp:1:
                      src\LED_Statusanzeige.h:3:10: fatal error: hardware.h: No such file or directory
                      
                      ******************************************************************
                      * Looking for hardware.h dependency? Check our library registry!
                      *
                      * CLI  > platformio lib search "header:hardware.h"
                      * Web  > https://registry.platformio.org/search?q=header:hardware.h
                      *
                      ******************************************************************
                      
                          3 | #include "hardware.h"
                            |          ^~~~~~~~~~~~
                      compilation terminated.
                      *** [.pio\build\build_RP2040\src\LED_Statusanzeige.cpp.o] Error 1
                      In file included from src\Modbus.cpp:2:
                      src\Modbus.h:3:10: fatal error: knxprod.h: No such file or directory
                      
                      *****************************************************************
                      * Looking for knxprod.h dependency? Check our library registry!
                      *
                      * CLI  > platformio lib search "header:knxprod.h"
                      * Web  > https://registry.platformio.org/search?q=header:knxprod.h
                      *
                      *****************************************************************
                      
                          3 | #include "knxprod.h"
                            |          ^~~~~~~~~~~
                      compilation terminated.
                      In file included from src\Device.cpp:5:
                      src\LED_Statusanzeige.h:3:10: fatal error: hardware.h: No such file or directory
                      
                      ******************************************************************
                      * Looking for hardware.h dependency? Check our library registry!
                      *
                      * CLI  > platformio lib search "header:hardware.h"
                      * Web  > https://registry.platformio.org/search?q=header:hardware.h
                      *
                      ******************************************************************
                      
                          3 | #include "hardware.h"
                            |          ^~~~~~~~~~~~
                      compilation terminated.
                      In file included from src\S0Function.cpp:9:
                      src\LED_Statusanzeige.h:3:10: fatal error: hardware.h: No such file or directory​[I][/I]
                      Die war ja fruher in "OGMCommon/include". Heute gibt es da "OpenKNXHardware.h" im main Branch. Seid Ihr in einem anderem Branch Unterwegs? Ich habe natürlich für das ModbusModul das Tag v1.1.2 gewählt. Irgendwie ist mir nicht klar wie man mit den Restore Scripts genau diesen Release reproduzieren kann.
                      Zuletzt geändert von dhb2002; 16.05.2023, 09:30.

                      Kommentar


                        #71
                        Bin unterwegs... Du musst mit Ctrl+Shift+B bauen.

                        Später mehr,
                        Gruß Waldemar
                        OpenKNX www.openknx.de

                        Kommentar


                          #72
                          Zitat von mumpf Beitrag anzeigen
                          Du musst mit Ctrl+Shift+B bauen.
                          Mach ich doch ;-) Hatte Target "build_RP2040" genommen, da gab es den Fehler. Mit Ctrl+Shift P -> Run Test Task -> Build-Release ging es jetzt. Seid dem gehen auch die anderen Targets. Also Kompilieren geht jetzt.

                          Wenn Du etwas Zeit hast, können wir dem eigentlich Problem hoffentlich auf den Grund gehen. Erst mal vielen Dank bis hierher.

                          Kommentar


                            #73
                            Hab es eben mit der Version auf github ausprobiert:

                            Nach Ctrl-Shift-B:
                            Code:
                             *  Executing task in folder OAM-ModbusGateway: scripts/OpenKNX-Build.ps1 build_RP2040
                            
                            OpenKNX pre-build-steps:
                              - Copying 'src/ModbusGateway.h' into search path 'lib/OGM-Common/include/knxprod.h'
                              - Copying 'src/ModbusGatewayHardware.h' into search path 'lib/OGM-Common/include/hardware.h'
                            Processing build_RP2040 (platform: https://github.com/maxgerhardt/platform-raspberrypi.git; board: pico; framework: arduino)
                            --------------------------------------------------------------------------------------------------------------------------------------------------------​
                            ...
                            Deine Meldung kann ich mir nur erklären, wenn der pre-build-step nicht gelaufen ist. Ich kann Dir aber nicht sagen warum...

                            Zitat von dhb2002 Beitrag anzeigen
                            Irgendwie ist mir nicht klar wie man mit den Restore Scripts genau diesen Release reproduzieren kann.
                            Wenn Du noch nichts auf dem Rechner hast, befolge das Wiki: https://github.com/OpenKNX/OpenKNX/w...ct-from-Github

                            Wenn es um eine Aktualisierung geht:
                            • Du machst ein Pull auf OAM-ModbusGateway
                            • Du führst das restore/Restore-Project.ps1 script aus (ist eigentlich nur nötig, wenn sich am Projekt strukturell was geändert hat, aber das weiß man ja aus gelegenheitsnutzer nicht).
                            • Dann führst Du das restore/Restore-Checkout-Branch.ps1 aus (das ist immer nötig).
                            Danach kannst Du compilieren.

                            Gruß, Waldemar
                            OpenKNX www.openknx.de

                            Kommentar


                              #74
                              Zitat von mumpf Beitrag anzeigen
                              Hab es eben mit der Version auf github ausprobiert:

                              Wenn Du noch nichts auf dem Rechner hast, befolge das Wiki: https://github.com/OpenKNX/OpenKNX/w...ct-from-Github

                              Wenn es um eine Aktualisierung geht:
                              • Du machst ein Pull auf OAM-ModbusGateway
                              • Du führst das restore/Restore-Project.ps1 script aus (ist eigentlich nur nötig, wenn sich am Projekt strukturell was geändert hat, aber das weiß man ja aus gelegenheitsnutzer nicht).
                              • Dann führst Du das restore/Restore-Checkout-Branch.ps1 aus (das ist immer nötig).
                              Danach kannst Du compilieren.
                              Genau so gemacht. Woran es nun letztendlich lag, kann ich auch nicht mehr sagen. Es gab zunächst noch ein Toolchain update das ich in der PIO Console anstoßen musste und als erstes hab ich halt versucht nur das Target "build_RP2040" zu kompilieren. Deine Ausführungen haben aber trotzdem für etwas Aufklärung bei mir gesorgt. Wie gesagt, Kompilieren geht jetzt.

                              Leider lauft es halt nicht, sowohl mit der heruntergeladenen Firmware für den Release v1.1.2, als auch mit einer von mir kompilierten Version. Ergebnis nach wie vor:

                              Zitat von dhb2002 Beitrag anzeigen
                              Konnte die Firmware vom Release 1.1.2 laden und Adresse und App downloaden. Programmier Button und LED gehen, wird auch im Debug Output angezeigt.
                              Parametriert habe ich erst mal nur Diagnoseobjekt. Datum/Uhrzeit und Heartbeat. Zeit/Datum wurden gesetzt (kombiniert). Modbus ist erst mal nicht angeschlossen. Ich bekomme keinen Heartbeat. Auf die Diagnoseanfragen ('r','t') kommt auch nichts zurück. Ich habe mit und ohne 24V Anschluss probiert.
                              Zur Hardware von Masifi. Es steht auf dem PCB:

                              V2.0

                              Modbus / M-BUS / S0


                              Kommentar


                                #75
                                Ich schau heute nochmal mit genau der Version, ob es bei mir geht. Ich hab zwar nicht genau diese Hardware, aber kann zumindest checken, ob es ein prinzipielles Problem gibt.
                                melde mich dann.
                                Gruß, Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X