Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    137

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    563

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
61 Beiträge 4 Kommentatoren 9.5k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    alexmosel
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          alexmosel
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              alexmosel
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  alexmosel
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #21

                    @alexmosel:

                    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 `
                    Das sind 14 Zeichen, die angezeigt werden - aber mit Scrollen. Dann bleibt nur probieren mit verschieden langen Texten:

                    PV 1200 W (9 Zeichen)

                    Dann den gleichen Text mit verschiedener Anzahl Leerzeichen hinten dran.

                    Wird irgendwann der Text ohne Scrollen angezeigt ?

                    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 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      alexmosel
                      schrieb am zuletzt editiert von
                      #22

                      Hallo, tatsache, immer 14 Zeichen, sonst wird Müll angezeigt…

                      Wobei ich mich frage ob die ETS auch leerzeichen hinten anhängt...

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #23

                        @alexmosel:

                        immer 14 Zeichen, sonst wird Müll angezeigt… `
                        Dann sollten die Skripte funktionieren.
                        @alexmosel:

                        Wobei ich mich frage ob die ETS auch leerzeichen hinten anhängt… `
                        493_synohr_149.jpg

                        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 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          alexmosel
                          schrieb am zuletzt editiert von
                          #24

                          hallo, die beiden letzten Scripte senden garnix ans knx…

                          iobroker zeigt irgendwelcxhe warnungen an.

                          Log

                          13:01:12.674 [info] javascript.0 Stop script script.js.Modbus-WR_Werte_an_KNX_senden

                          13:01:12.682 [info] javascript.0 Start javascript script.js.Modbus-WR_Werte_an_KNX_senden

                          13:01:12.682 [warn] javascript.0 at script.js.Modbus-WR_Werte_an_KNX_senden:5:15

                          13:01:12.682 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: registered 1 subscription and 0 schedules

                          13:01:13.819 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:14.941 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:15.089 [info] javascript.0 Stop script script.js.Modbus-WR_Werte_an_KNX_senden

                          13:01:16.176 [info] javascript.0 Start javascript script.js.Modbus-WR_Werte_an_KNX_senden

                          13:01:16.177 [warn] javascript.0 at script.js.Modbus-WR_Werte_an_KNX_senden:5:15

                          13:01:16.177 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: registered 1 subscription and 0 schedules

                          13:01:17.295 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:18.386 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:19.513 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:20.650 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:21.832 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:22.943 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:24.070 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:25.225 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:26.355 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:27.445 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:28.590 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:29.775 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:30.910 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:31.998 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:33.080 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:34.325 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:35.447 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:36.557 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:37.690 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:38.844 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:39.967 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:41.080 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:42.215 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:43.375 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:44.528 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:45.663 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:46.794 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:47.945 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:49.087 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:50.227 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:51.363 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:52.505 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:53.632 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:54.764 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:55.892 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:57.067 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          13:01:58.237 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                          1 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #25

                            Die Warnungen sagen allerdings nichts aus, ausser dass vor setState() (Zeile 16) gewarnt wird. Warnungen verhindern aber die Ausführung nicht.

                            Bau mal hinter dem setState() ein:

                                  setState(idKNXDP, text);
                                  // zusätzlich für Test
                                  log(text + '_');
                                  setTimeout(function() {
                                     var x = getState(idKNXDP).val;
                                     log(x + x.length);
                                  }, 300);
                            

                            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 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              alexmosel
                              schrieb am zuletzt editiert von
                              #26

                              ` > 13:42:48.281 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                              13:42:48.281 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: 0231 W _

                              13:42:48.582 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:20:18)

                              13:42:48.582 [error] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:21:19)

                              13:42:49.472 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                              13:42:49.472 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: 0252 W _

                              13:42:49.773 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:20:18)

                              13:42:49.773 [error] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:21:19)

                              13:42:50.577 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                              13:42:50.577 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: 0230 W _

                              13:42:50.879 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:20:18)

                              13:42:50.879 [error] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:21:19)

                              13:42:51.752 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                              13:42:51.752 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: 0228 W _

                              13:42:52.053 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:20:18)

                              13:42:52.053 [error] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:21:19)

                              13:42:52.874 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7)

                              13:42:52.874 [info] javascript.0 script.js.Modbus-WR_Werte_an_KNX_senden: 0317 W _

                              13:42:53.175 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:20:18)

                              13:42:53.175 [error] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:21:19)

                              13:42:53.954 [warn] javascript.0 at Object. (script.js.Modbus-WR_Werte_an_KNX_senden:16:7) `

                              sieht jetzt so aus…wird aber immernoch nix geschrieben

                              Skript sieht aktuell so aus:

                              const idModbusDP = 'modbus.0.inputRegisters.30865_Netz-Bezug';
                              const idKNXDP = 'knx.0.Visu_Werte.Synohr.Display_Text';
                              const delta = 1.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);
                                    // zusätzlich für Test
                                    log(text + '_');
                                    setTimeout(function() {
                                       var x = getState(idKNXDP).val;
                                       log(x + x.length);
                                    }, 300);
                                 }
                              });
                              
                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #27

                                Erste Feststellung: log(text + '_') zeigt, dass der Text verkürzt wird: Es werden nicht mehr als 1 Leerzeichen hintereinander akzeptiert !

                                Zweite Feststellung: Bei Zugriff auf den Datenpunkt 'knx.0.Visu_Werte.Synohr.Display_Text' wird gewarnt. Das muss eine Ursache haben. Poste bitte mal die Objekteigenschalten (Reiter "Objekte", Beistift rechts, dann Reiter "raw(nur Experten)" copy & paste) in Code-Tags.

                                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 Antwort Letzte Antwort
                                0
                                • A Offline
                                  A Offline
                                  alexmosel
                                  schrieb am zuletzt editiert von
                                  #28

                                  Hier einmal von Modbus (Quelle)

                                  {
                                    "common": {
                                      "name": "",
                                      "type": "number",
                                      "role": "value",
                                      "unit": "W",
                                      "def": 0,
                                      "read": true,
                                      "write": false
                                    },
                                    "native": {
                                      "regType": "inputRegs",
                                      "type": "int32be",
                                      "address": 30865,
                                      "len": 2,
                                      "offset": 0,
                                      "factor": 1
                                    },
                                    "acl": {
                                      "object": 1638,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator",
                                      "state": 1638
                                    },
                                    "_id": "modbus.0.inputRegisters.30865_Netz-Bezug",
                                    "type": "state"
                                  }
                                  

                                  und vom KNX Objekt (ZIEL)

                                  {
                                    "_id": "knx.0.Zentralbefehle_u_Visu.Visualisierung.Synohr_Text",
                                    "type": "state",
                                    "common": {
                                      "name": "Synohr Text",
                                      "type": "string",
                                      "role": "text.string",
                                      "min": "",
                                      "max": "",
                                      "read": false,
                                      "write": true
                                    },
                                    "native": {
                                      "dpt": "DPT16.000",
                                      "address": "0/7/0",
                                      "addressRefId": "P-057F-0_GA-385",
                                      "statusGARefId": "",
                                      "actGARefId": ""
                                    },
                                    "acl": {
                                      "object": 1638,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator",
                                      "state": 1638
                                    }
                                  }
                                  
                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #29

                                    Die Ziel-ID stimmt nicht überein ! Ändere im Skript

                                    const idModbusDP = 'modbus.0.inputRegisters.30865_Netz-Bezug';
                                    const idKNXDP = 'knx.0.Zentralbefehle_u_Visu.Visualisierung.Synohr_Text';
                                    

                                    und lösche den Testteil wieder (der Datenpunkt ist write-only).

                                    Zur Verkürzung mit mehr als einem Leerzeichen hintereinander: Es wird wohl nicht tatsächlich in Javascript verkürzt, sondern sieht nur im Log so aus, da hier die Darstellung über HTML erfolgt. HTML verkürzt mehrere Leerzeichen hintereinander auf 1 Leerzeichen.

                                    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 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      alexmosel
                                      schrieb am zuletzt editiert von
                                      #30

                                      Okay, Cool, das läuft wohl Tatsächlich….

                                      Wie kann ich noch was davor schreiben ?

                                      ...und leider Scrollt das Display immernoch die ganze Zeit, wenns das nicht tut wäre es perfekt...

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #31

                                        @alexmosel:

                                        Wie kann ich noch was davor schreiben ? `
                                        Siehe Aufruf knxText() (nimm besser das Skript mit der Mittelwertbildung).

                                        const idModbusDP = 'modbus.0.inputRegisters.30865_Netz-Bezug';
                                        const idKNXDP = 'knx.0.Zentralbefehle_u_Visu.Visualisierung.Synohr_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, 'PV ' + 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 Antwort Letzte Antwort
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #32

                                          @alexmosel:

                                          …und leider Scrollt das Display immernoch die ganze Zeit, wenns das nicht tut wäre es perfekt... `
                                          Das widerspricht der Aussage in der Doku. Bei angehängten Leerzeichen dürfte es nicht scrollen, es sei denn, der Text (ohne die Leerzeichen) ist für das Display schon zu lang.

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          769

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe