Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Modbus RTU Gateway

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

    Update: mit IObroker kann ich auslesen:

    IO_1.jpg

    Bitte lasst euch von der anderen Slave ID nicht verwirren. Ich habe das mehrfach geändert, passt aber zu der aktuellen KNX Einstellung. Bin tatsächlich aber ratlos. Bei IO Broker kommen Werte die nicht 00 00 00 00 sind an, auf dem KNX nicht. Mir fehlt wirklich die Fantasie wie das zusammenhängen kann. Selbst bei falsch gewählter DPT müsste irgendwas ungleich 0 kommen?

    Kommentar


      Kannst du parallel mal ein USB Kabel anstecken und ein Terminal aufmachen?
      Mal schauen was dort ausgegeben wird.

      sonst drehe einfach mal zum Test die „Word Reihenfolge“.
      www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

      Kommentar


        Hi Masifi,

        ich habe ehrlich gesagt keine Ahnung wie ich das mache! Einfach den /dev/RS465 lauschen?
        Was mir aber aufgefallen ist, wenn ich andere Adressen eingebe bekomme ich Werte. Ich weiß nicht für was aber er kommuniziert. Kann es sein dass die erwartet wird die Registeradressen im 30000 Range zu haben und bei mir sind sie im 20000er? Ist ein Schuss ins Blaue aber bei einem funktionerenden Gerät habe ich Registeradressen im 3 stelligen Bereich, nicht fünfstellig.

        Das mit der Reihenfolge habe ich schon gemacht. Keine Änderung

        Kommentar


          Ich denke ich habe das Problem gefunden: Der ABB gibt die Werte mit einer Länge von 4 Bytes aus. Soweit ich das verstehe kann das Gateway nur 2 Bytes (vgl Screenshot aus IO Broker)

          IO_3.jpg


          Die Werte kommen und passen auch:

          IO_4.jpg
          @Masifi: Ich bekomme die Terminalverbindung mit putty nicht hin. Mir wird kein Serialdevice angezeigt wenn ich den Laptop verbinde.
          Zuletzt geändert von himself; 05.01.2024, 12:00.

          Kommentar


            Das Gateway kann auch 4Byte. Das ist das Double Word = 2x Word = 2x 2Byte
            www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

            Kommentar


              Welche Firmware hast du verwendet?

              Zuletzt geändert von Masifi; 05.01.2024, 13:10.
              www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

              Kommentar


                ist die 1.3

                Kommentar


                  Jetzt sehe ich gerade was. Eine Registeradresse kann max 0x270E = 9998dez groß sein. Daher kann die 20480 nicht passen. D.h. man muss einen Offset abziehen.

                  Wenn ich das hier lese, dann wird auch hier irgendwo der Hund begraben sein. Die Firmware übernimmt glaube ich nicht einfach die Registeradresse.
                  image.png

                  Zitat von himself Beitrag anzeigen
                  Was mir aber aufgefallen ist, wenn ich andere Adressen eingebe bekomme ich Werte.
                  Welche Adressen waren das denn?​
                  www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                  Kommentar


                    Z.B.: 35072 liefert 00 1C zurück, das wäre Hex 8900. Laut ABB ist das: Serial number 8900 2 Unsigned also auch nicht sinnvoll aber es kommt zumindestens ein Wert zurück.

                    Wie würde ich einen Offset abziehen? Das muss in der Firmware passieren? Modbus kann es anscheinend, sonst würde IOBroker damit j anicht zurecht kommen.

                    Konkret würde das bedeuten wenn ich im 20 k Range abfragen möchte müsste ich dann die Option 3x wählen und die Differenz nach unten arstellen? also einen negativen Wert? um zu testen könnte ich aber nach meinem Verständniss den oben genannten 8900 nehmen und auf Register 72 abfragen?

                    https://search.abb.com/library/Download.aspx?DocumentID=2CMC485003M0201&LanguageC ode=en&DocumentPartId=&Action=Launch hier ist die vollständige Bedienungsanleitung. Ich habe das bestimmt 3x mal durchgelesen, finde aber nichts was mich weiterbringt.
                    Zuletzt geändert von himself; 05.01.2024, 13:55.

                    Kommentar


                      Dann schau mal hier: https://ipc2u.de/artikel/wissenswert...nd-beispielen/
                      So ist der Modbus eigentlich aufgebaut und richtig. D.h. das es normal den Offset geben sollte. Warum ABB sich nicht daran hält, weiß ich nicht. Sie schreiben ja selber: "as is common for Modbus Products"

                      Wenn IOBroker es anders macht ist das ok und nicht falsch. D.h. aber immer, dass man beim IOBroker wenn der Offset nicht mit angegeben ist, ihn selber dazu addieren muss. völliger quatsch was ich hier geschrieben habe.

                      Ich muss mal in den Code schauen, wie es dort gehändelt wird.
                      Zuletzt geändert von Masifi; 05.01.2024, 14:39.
                      www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                      Kommentar


                        Ich kann im IOBroker die komplette Registeradresse angeben. Oben an meinem Beispiel siehst du eigtl. reht exemplarisch den Unterschied. Ich habe einmal die 280 und eben einmal die 20000er Nummern.
                        Frage zum Verständniss: du hast geschrieben: "Registeradresse kann max 0x270E". Das ist vermutlich aufgrund des von dir verlinktem Modbus Standards so in der Firmware verankert. Gibt es die Möglichkeit das zu verändern?

                        Kommentar


                          Ich habe das gerade mal geschaut. Die Modbus Lib ist nicht von mir, aber ich habe nirgends eine Abfrage gefunden, d.h. dass das Gateway eigentlich auch den "zu großen" Wert einfach auf den Bus schicken sollte. HM komisch

                          hast du mal versucht Spannung und Strom einzulesen, also werte die nur 2Byte haben? einfach mal als Test, nicht das es bei der 4 Byte Abfrage noch ein Problem gibt.

                          oder auch mal zum Test den Registerstart auf "1" geändert?

                          image.png


                          www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                          Kommentar


                            habe ich beides schon versucht, ohne sinnvolles Ergebniss. Vielleicht macht es doch am meisten Sinn das Terminal zum laufen zu bekommen. Wenn ich das richtig verstehe in putty den richtigen COM nehmen, BAUD auf 115200 stellen und ich sehe den Busverkehr?

                            Kommentar


                              ja so sollte es gehen.

                              Es kommt jetzt etwas auf die Firmware an, welche Infos genau ausgegeben werden.
                              www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                              Kommentar


                                Hat geklappt, aber wirklich schlauer macht es mich nicht auch nicht:

                                terminal.jpg


                                Den CH3 ignorieren, das ist der Versuch den ich weiter oben beschrieben habe. Was man sieht ist dass nichts ankommt.

                                Kommentar

                                Lädt...
                                X