Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wert aus Modbus lesen und bei änderung größer als…..auf KNX Objekt senden

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    836

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.6k

Wert aus Modbus lesen und bei änderung größer als…..auf KNX Objekt senden

Scheduled Pinned Locked Moved Skripten / Logik
61 Posts 4 Posters 10.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    alexmosel
    wrote on last edited by
    #1

    Hallo, ich möchte gerne einen Wert aus Modbus auslesen und bei einer gewissen änderung (damit nicht zuviele teleegramme enstehen) auf den KNX Bus senden.

    Das geht bestimmt mit Blockly, aber ich bin dafür zu blöd…

    Die Frage gabs bestimmt schonmal, evtl kann doch wer helfen ?

    Besten Dank vorab

    1 Reply Last reply
    0
    • A Offline
      A Offline
      alexmosel
      wrote on last edited by
      #2

      Keiner ne Idee?

      Gesendet von meinem SM-G900F mit Tapatalk

      1 Reply Last reply
      0
      • DutchmanD Offline
        DutchmanD Offline
        Dutchman
        Developer Most Active Administrators
        wrote on last edited by
        #3

        @alexmosel:

        Keiner ne Idee?

        Gesendet von meinem SM-G900F mit Tapatalk `

        Ich Benutze beides nicht und kann daher schwer ein Beispiel machen.. Aber im Gründen:

        • blockly Trigger auf Wert Änderung des modbus objects

        • eventuelle logic sowie if Abfrage

        • steuern des objects von knx mit Wert x

        ~Dutch

        PS : wen du mal die objecte postest worum es geht könnte ich oder @rantanplan dir bestimmt mit nem blockly helfen

        –-----------------------

        Send from mobile device

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          Wenn es nicht Blockly sein muss, In Javascript könnte es etwa so aussehen:

          const idModbusDP = '...';
          const idKNXDP = '...';
          const delta = 0.3;  // Mindest-Änderung für KNX-Aktualisierung
          
          var lastKNX = getState(idKNXDP).val;
          
          on(idModbusDP, function(dp) {
             if(Math.abs(dp.state.val - lastKNX) >= delta) {
                lastKNX = dp.state.val;
                setState(idKNXDP, lastKNX);
             }
          });
          
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • A Offline
            A Offline
            alexmosel
            wrote on last edited by
            #5

            …vielen Dank, ich probiere das mit dem Java-Script mal....

            Ich dachte halt an Blockly, da ich für Java zu blöd bin und dachte Blockly sei auch für mich ggf. machbar

            1 Reply Last reply
            0
            • A Offline
              A Offline
              alexmosel
              wrote on last edited by
              #6

              Habe das Script eben mal versucht, auf der KNX Adresse kommt aber anstelle einer Wattzahl meines Wechselrichters nur wirres geschreibsel an….

              kann es sein dass das nicht richtig formatiert wird.. ?

              In IOBroker wird im Objekt schön die Wattzahl angezeigt...

              Komisch

              1 Reply Last reply
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                wrote on last edited by
                #7

                @alexmosel:

                Habe das Script eben mal versucht, auf der KNX Adresse kommt aber anstelle einer Wattzahl meines Wechselrichters nur wirres geschreibsel an….

                kann es sein dass das nicht richtig formatiert wird.. ?

                In IOBroker wird im Objekt schön die Wattzahl angezeigt...

                Komisch `

                Poste Mal dein Script + Screenshot der objecte

                –-----------------------

                Send from mobile device

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  alexmosel
                  wrote on last edited by
                  #8

                  Bitte sehr:

                  const idModbusDP = 'modbus.0.inputRegisters.30865_Netz-Bezug';
                  const idKNXDP = 'knx.0.Visu_Werte.Synohr.Display_Text';
                  const delta = 10.0;  // Mindest-Änderung für KNX-Aktualisierung
                  
                  var lastKNX = getState(idKNXDP).val;
                  
                  on(idModbusDP, function(dp) {
                     if(Math.abs(dp.state.val - lastKNX) >= delta) {
                        lastKNX = dp.state.val;
                        setState(idKNXDP, lastKNX);
                     }
                  });
                  

                  https://picload.org/view/drddgldw/1.png.html

                  1 Reply Last reply
                  0
                  • DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    wrote on last edited by
                    #9

                    Screenshot der objecte?

                    –-----------------------

                    Send from mobile device

                    1 Reply Last reply
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #10

                      Ist der Datenpunkt "knx.0.Visu_Werte.Synohr.Display_Text" vom type "number" mit der unit "W" und enthält den richtigen Wert ?

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        alexmosel
                        wrote on last edited by
                        #11

                        Zeit Dienst Flags Prio Quelladresse Quelle Zieladresse Ziel Rout Typ DPT Info

                        1433 2017-11-05 11:06:06.676 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 2B 02 F0 DF 00 00 00 00 90 2B E4 14 F7 07 | +ðß

                        Das ist sowas was ETS ausgibt…auf dem Display wird sinnloses Zeug angezeigt.

                        Das KNX Objekt gibt ASCII Zeichen aus, beim Modbus Objekt wird der korrekte Wert in IO Broker angezeigt.

                        Objektscreenshot hatte ich doch gepostet? Oder was sonst noch für einen Screenshot ?

                        Oh je.... :-(

                        Schönen Sonntag

                        1 Reply Last reply
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #12

                          @alexmosel:

                          Das KNX Objekt gibt ASCII Zeichen aus `
                          Dann muss der Wert in eine Zeichenkette gewandelt werden, also der letzte Befehl erweitert werden:

                                setState(idKNXDP, lastKNX.toFixed());
                          
                          

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            alexmosel
                            wrote on last edited by
                            #13

                            …das hat leider nix geändert...es gibt nur Quark aus....

                            Zeit Dienst Flags Prio Quelladresse Quelle Zieladresse Ziel Rout Typ DPT Info

                            19 2017-11-05 15:34:57.277 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 39 38 80 B8 FC 15 8C E6 E9 14 9F B8 F6 1F | 98€¸üŒæéŸ¸ö

                            20 2017-11-05 15:34:58.355 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 31 31 38 61 64 61 70 74 65 72 2E 6B 6E 78 | 118adapter.knx

                            21 2017-11-05 15:34:59.598 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 35 30 30 39 38 39 31 37 36 33 32 30 34 7D | 5009891763204}

                            22 2017-11-05 15:35:00.698 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 31 32 33 2E 44 61 74 65 6E 5F 57 65 74 74 | 123.Daten_Wett

                            23 2017-11-05 15:35:02.999 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 34 37 47 F3 E2 98 62 9F 34 32 5B 22 73 65 | 47Góâ˜bŸ42["se

                            24 2017-11-05 15:35:04.131 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 31 32 32 22 6C 63 22 3A 31 35 30 39 38 39 | 122"lc":150989

                            1 Reply Last reply
                            0
                            • paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by
                              #14

                              Es muss anscheinend ein Text mit 14 Zeichen Länge sein ? Dann klappt es vielleicht so:

                              const idModbusDP = 'modbus.0.inputRegisters.30865_Netz-Bezug';
                              const idKNXDP = 'knx.0.Visu_Werte.Synohr.Display_Text';
                              const delta = 10.0;  // Mindest-Änderung für KNX-Aktualisierung
                              
                              var lastKNX = getState(idKNXDP).val;
                              
                              on(idModbusDP, function(dp) {
                                 if(Math.abs(dp.state.val - lastKNX) >= delta) {
                                    lastKNX = dp.state.val;
                                    var unit = ' W        ';  // 10 Zeichen Länge
                                    var text;
                                    if(lastKNX >= 1000) text = lastKNX.toFixed() + unit;
                                    if(lastKNX < 1000) text = '0' + lastKNX.toFixed() + unit;
                                    if(lastKNX < 100) text = '00' + lastKNX.toFixed() + unit;
                                    if(lastKNX < 10) text = '000' + lastKNX.toFixed() + unit;
                                    setState(idKNXDP, text);
                                 }
                              });
                              

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              1 Reply Last reply
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by
                                #15

                                Ein delta von 10 dürfte die Zahl der KNX-Ausgaben kaum verringern, wie das Log zeigt. Besser wäre eine Mittelwertbildung über mehrere Messwerte.

                                const idModbusDP = 'modbus.0.inputRegisters.30865_Netz-Bezug';
                                const idKNXDP = 'knx.0.Visu_Werte.Synohr.Display_Text';
                                const werte = 10;  // Anzahl der Messwerte für Mittelwertbildung
                                
                                var cnt = 0;  // Zähler
                                var sum = 0;  // Summe der Messwerte
                                
                                function knxText(id, text) {
                                    var txt = text;
                                    for(var i = 0; i < 14 - text.length; i++) {
                                        txt = txt + ' ';
                                    }
                                    setState(id, txt);;
                                }
                                
                                on(idModbusDP, function(dp) {
                                   cnt++;
                                   sum = sum + dp.state.val;
                                   if(cnt >= werte) { 
                                      var power = sum / cnt;
                                      knxText(idKNXDP, power.toFixed() + ' W');
                                      cnt = 0;
                                      sum = 0;
                                   }
                                });
                                

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  alexmosel
                                  wrote on last edited by
                                  #16

                                  Hmmmm..

                                  ich weiß es ja auch nicht…jetzt sendet das Script garnix mehr, keines der beiden letzten.

                                  07:05:09.208 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: registered 1 subscription and 0 schedules

                                  07:05:09.894 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                                  07:05:10.987 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                                  07:05:12.065 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                                  07:05:13.154 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                                  07:05:14.233 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                                  Ich vermute fast mal, dass die Formatierungen falsch sind, es wird ja nicht nur am Display falsch angezeigt sondern steht auch in er ETS (PRogrammiersoftware für KNX Systeme) falsch ausgegeben.

                                  Wenn ich jetzt aber in der ETS den Wert Hallo sende, wird der am Display ohne wenn und aber angezeigt. Das sind ja auch keine 14 Zeichen.

                                  Es muss KNX Datenpunkttyp 16.000 Zeichen sein, denke ich, was an der Gruppenadresse an und für sich auch so hinterlegt ist.

                                  Der Modbus Wert in IObroker wird als Zahl ausgegeben

                                  1 Reply Last reply
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    wrote on last edited by
                                    #17

                                    Da ich kein KNX habe, kann ich es auch nicht testen.
                                    @alexmosel:

                                    19 2017-11-05 15:34:57.277 vom Bus Low 15.15.15 - 0/7/0 Synohr Text 5 Schreiben 16.000 Zeichen (ASCII) 39 38 80 B8 FC 15 8C E6 E9 14 9F B8 F6 1F | 98€¸üŒæéŸ¸ö `
                                    sieht danach aus, dass 14 Zeichen mit dem Inhalt 98€¸üŒæéŸ¸ö übertragen werden, wobei anscheinend die ersten zwei Zeichen den gewandelten Wert (98) enthalten und der Rest irgendwelchen zufälligen Speicherinhalt.

                                    Was wird auf dem Display angezeigt, wenn Du den Text Hallo als Wert in den Datenpunkt "knx.0.Visu_Werte.Synohr.Display_Text" per Hand eingibst ?

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Reply Last reply
                                    0
                                    • A Offline
                                      A Offline
                                      alexmosel
                                      wrote on last edited by
                                      #18

                                      Hallo,

                                      ich weiß nicht wo ich das eingeben soll ??

                                      Was ich probiert hatte über die ETS was an die GA zu senden und da kommt es ganz normal an…

                                      1 Reply Last reply
                                      0
                                      • paul53P Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by
                                        #19

                                        @alexmosel:

                                        ich weiß nicht wo ich das eingeben soll ?? `
                                        Im Reiter "Objekte" in der Zeile des Datenpunktes "knx.0.Visu_Werte.Synohr.Display_Text" rechts in der Spalte "Werte" (Feld anklicken, Text eingeben und Enter).

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Reply Last reply
                                        0
                                        • A Offline
                                          A Offline
                                          alexmosel
                                          wrote on last edited by
                                          #20

                                          Hllo,

                                          gerade mal versucht, wenn ich schreibe Test, dann wird mist angezeigt..

                                          Wenn ich schreibe Das ist ein Test wird Das ist ein Te angezeigt .

                                          Problem ist nur dass das Display dann schon scrollt, eigentlich will ich eine ein Zeilige anzeige ohne Scrollen

                                          da sollte z.b. stehen PV 500 w und das würde in die 1 Zeile passen.

                                          über die ETS kann ich Hallo senden und das wird korrekt übertragen…komisch

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          430

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe