Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. rechnen im html-Widget geht nicht mehr

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    rechnen im html-Widget geht nicht mehr

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

      Ich habe einen fix für das umlaut/raute-Zeichen Problem für vis
      welches aber man zuvor erst mal noch testen sollte, da man für den test manuell in den vis dateien eine zeile ändern muss

      verwendet habe ich vis version 1.4.16
      die folgenden Anweisungen gelten nur für diese version

      geändert werden muss die Datei:
      /op/iobroker/node_modules/iobroker.vis/www/js/visUtils.js

      in Zeile 107 sollte genau so aussehen:

      if (parts[u].trim().match(/^[\w_]+:\s?[-.\w_]+$/)) {//parts[u].includes(':') && !parts[u].includes('::')) {
      

      diese muss gegen die folgende Zeile ersetzt werden

      if (parts[u].trim().match(/^[\d\w_]+:\s?[._\-\/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+$/u)) {//parts[u].indexOf(':') !== -1 && parts[u].indexOf('::') === -1) {
      

      Dann ist vis auch in der Lage bindings mit Datenpunkten zu erkennen, welche auch die Zeichen #öäüÖÄÜ enthalten. Die ergänzten Zeichen sind der einzige Unterschied zwischen den beiden Zeilen. Dadurch wird das regex erweitert, so das er auch diese Zeichen noch akzeptiert, die er vorher nicht akzeptiert hat.

      Da vis nicht immer so optimal programmiert wurde und grundlegendere reengineerings auch nicht mehr gemacht werden, sollte man soche Änderungen ausführlich auf Seiteneffekte untersuchen, die so nicht absehbar sind.

      Daher, wer eine iobroker Testinstanz hat, kann das mal mit einer umfangreicheren Visualisierung mal testen.
      Wer die bisherige Zeile nur mit // am Anfang auskommentiert und die neue Zeile einfach nur darunter kopiert, kann auch den ursprünglichen Zustand wieder herstellen, ohne den vis adapter neu zu installieren.

      Wenn die Änderung vorgenommen wurde,
      muss man zwingend noch den folgenden Befehl auf der Konsole ausführen:

      iobroker upload all
      

      Ich bin gespannt auf die Ergebnisse.
      Wenn das erfolgreich verläuft, würde ich auch ein PR einreichen.
      Leider ist, wegen vis-2 der vis-Adapter nicht mehr in dem Zustand, das man da einen PR einreichen kann. Aber das klären wir dannach.

      Nachtrag: Das Regex wurde nochmal angepasst um alle gültigen Zeichen für einen Datenpunkt mit einzuschließen

      bahnuhr OliverIO 3 Replies Last reply Reply Quote 3
      • bahnuhr
        bahnuhr Forum Testing Most Active @OliverIO last edited by

        @oliverio
        Hallo,

        du schreibst die Zeile 107 sieht so aus:

        if (parts[u].trim().match(/^[\w_]+:\s?[-.\w_]+$/)) {//parts[u].includes(':') && !parts[u].includes('::')) {
        

        Habe auch 1.4.16.
        Bei mir sieht die 107 aber so aus:

        if (parts[u].trim().match(/^[\d\w_]+:\s?[-.\d\w_]+$/)) {//parts[u].indexOf(':') !== -1 && parts[u].indexOf('::') === -1) {
        

        Kann ich trotzdem deine Zeile nehmen ?

        1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active @OliverIO last edited by

          @oliverio
          so ausprobiert.
          Habe den neue Zeile eingefügt und upload gemacht.
          Dann im html Widget:

          {v1:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Haus_Verbrauch_aufgelaufen;parseInt(v1)}<br>
          {v2:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Meter_bezogen_aufgelaufen;parseInt(v2)}<br>
          {v1:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Haus_Verbrauch_aufgelaufen;v2:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Meter_bezogen_aufgelaufen;parseInt(v1)+parseInt(v2)}
          

          Als Ergebnis kommt wieder 0 bei der Berechnung:
          80cbf16a-cd58-4a39-98ff-58f70070d6c6-image.png

          Fazit:
          Bei hat es noch nicht geklappt !

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @bahnuhr last edited by

            @bahnuhr

            kannst du bitte mal folgendes überprüfen:

            mit F12 in die Browser developer Tools gehen
            dann den Sources/Quellen-Tab dort anwählen und die Datei visUtil.js
            gemäß dem folgenden Pfad auswählen und in die Zeile 107 schauen

            Wenn dort die veränderte Zeile sichtbar ist. dann muss ich weiterschauen.
            wenn nicht, dann nochmal iobroker upload all machen bzw. iobroker komplett neu starten. Dann ist diese Zeile dort nicht angekommen.
            d559cd38-e9bf-44cc-a32a-d8e2e5fe4569-image.png

            bahnuhr 1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @OliverIO last edited by

              @oliverio
              ja, da ist sie sichtbar:
              e694c687-b513-4529-b3ce-e8809f581504-image.png

              oben die auskommentierte
              darunter die neue !

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @OliverIO last edited by

                @oliverio said in rechnen im html-Widget geht nicht mehr:

                Daher, wer eine iobroker Testinstanz hat, kann das mal mit einer umfangreicheren Visualisierung mal testen.

                Wenn das erfolgreich verläuft, würde ich auch ein PR einreichen.

                Leider habe ich bisher noch keine Rückmeldung zu einem erfolgreichen Test in einer größeren Visualisierung erhalten. Daher auch noch kein PR dazu.
                Scheint ja dann nicht so das Interesse zu bestehen. Dann brauch man auch kein dauerhaften fix dafür

                M 1 Reply Last reply Reply Quote 0
                • M
                  micw42 @OliverIO last edited by

                  @oliverio
                  bahnuhr hatte doch getestet und ich habe immer darauf gewartet, dass du darauf noch weiter eingehst.
                  Ich hatte damals (ist ja schon 2 Jahre her) meine Datenpunkte umbenannt, damit es klappt. Ich werde es auch nochmal testen, melde mich dann.

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @micw42 last edited by

                    @micw42

                    tatsächlich, hab das übersehen, ich war damals im urlaub.
                    also bitte nochmal testen, ich habe gestern noch ein unterschied zwischen browser und node entdeckt, damit die unicode matches auch im browser funktionieren.
                    wichtig wäre es das in einer umfangreicheren vis zu testen, um evtl seiteneffekte zu entdecken.
                    wenn der fix dann bei vis1 ist, kann man den auch nach vis2 portieren
                    da ist der fehler auch mit drin
                    https://github.com/ioBroker/ioBroker.vis-2/blob/master/src/src/Vis/visUtils.jsx#L102

                    bahnuhr 2 Replies Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active @OliverIO last edited by bahnuhr

                      @oliverio
                      Hallo,

                      wie oben:
                      https://forum.iobroker.net/topic/69004/rechnen-im-html-widget-geht-nicht-mehr/21?page=2

                      schon geschrieben klappt es bei mir nicht.
                      Habs eben nochmal probiert mit der 1.5.1.
                      Klappt nicht.

                      Es kommt:

                      b0c33365-a451-42a9-bbaf-1c4e4f029d73-image.png

                      Mit F12 kommt sowas:
                      31eb9a6f-5e79-4e60-830a-27e693921dcc-image.png

                      Nachtrag:
                      Mit DP ohne Sonderzeichen (hier ä) klappt es.
                      Mit ä nicht!

                      1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @OliverIO last edited by

                        @oliverio

                        Korrektur.
                        Hatte "upload" vergessen.

                        Jetzt rechnet die Kiste auch bei mir.
                        Bitte entsprechend weitergeben und einbauen.
                        Danke.

                        M 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO last edited by OliverIO

                          https://github.com/ioBroker/ioBroker.vis/pull/802

                          leider hat der PR für vis-2 nicht geklappt. Muss morgen nochmal probieren

                          oweitman created this issue in ioBroker/ioBroker.vis

                          closed Datenpunkte mit Sonderzeichen in vis in bindings #802

                          1 Reply Last reply Reply Quote 0
                          • M
                            micw42 @bahnuhr last edited by micw42

                            @oliverio
                            Ich kann bestätigen, dass der Patch auch bei mir funktioniert.
                            Danke!

                            Also für v1.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            812
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            binding rechnen widget
                            5
                            30
                            1329
                            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