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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    rechnen im html-Widget geht nicht mehr

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

      @bahnuhr

      eigentlich kommt bei bindings immer ein string an.
      leider hast du nicht gezeigt, was es aktuell macht, aber damit müsste er beide strings verketten, so das beide zahlen hintereinander stehen.

      du müsstest mit parseInt() oder parseFloat() die Werte zunächst in Zahlen konvertieren.

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

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

        parseInt() oder parseFloat()

        Er zeigt immer 0

        parseInt und parseFloat hab ich alles schon probiert: klappt nicht.

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

          @bahnuhr

          dann bitte mal in einem html widget einen datenpunkt anhand folgendem schema eintragen und das ergebnis hier zeigen

          {val1:0_userdata.0.test.test1;typeof val1}
          {val1:0_userdata.0.test.test1;val1}
          
          
          bahnuhr 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @OliverIO last edited by

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

            {val1:0_userdata.0.test.test1;typeof val1} {val1:0_userdata.0.test.test1;val1}

            Dieses:

            {v1:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Haus_Verbrauch_aufgelaufen;typeof v1}
            {v1:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Haus_Verbrauch_aufgelaufen;v1}
            {v2:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Leistung_alt_aufgelaufen;typeof v2}
            {v2:javascript.0.Geräte.Photovoltaik.Auswertung.Monat.Leistung_alt_aufgelaufen;v2}
            

            liefert dies:
            a4b132e7-bf21-4fd3-9d81-69769e8d61bf-image.png

            Nur rechnen geht nicht.

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

              @oliverIO

              Und dies:

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

              liefert:
              0f113a72-14ee-4b26-b5d6-187d3644c68f-image.png

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

                @OliverIO

                Jetzt kommst ganz dicke.

                Habe mal das ganze probiert in userdata.
                Da funktioniert es !!!

                Warum geht das nicht mehr mit Variablen/DP in javascript.0.

                @apollon77
                @Homoran

                Könnt ihr dies mal nachstellen.
                Ist das ein bewusster bug in javascript.0 ?

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

                  So, unter javascript.0 geht es auch.

                  Aber nicht mit meinen o.g. DP.
                  Offensichtlich stören die Umlaute !!!

                  Kann das jemand bestätigen.

                  Hatte eigentlich mit den Umlauten bisher keine Probleme.
                  Nur halt jetzt.

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

                    @bahnuhr

                    also normal funktioniert es
                    9451d463-be69-42e4-82de-dd0526c85af3-image.png

                    mit umlaut funktioniert es nicht
                    c24d7c6f-f5c8-4321-96e1-668cae4b5aa4-image.png

                    gibts auch schon ein issue
                    https://github.com/ioBroker/ioBroker.vis/issues/423

                    liv-in-sky created this issue in ioBroker/ioBroker.vis

                    open binding formel hat umlaut problem #423

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

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

                      gibts auch schon ein issue

                      Und dieses ist schon fast 2 Jahre alt.
                      Folglich wird sich da nix mehr tun.
                      Schade

                      liv-in-sky 2 Replies Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @bahnuhr last edited by

                        @bahnuhr vis1 wird nicht mehr gepflegt - soweit ich weiß

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @bahnuhr last edited by

                          @bahnuhr

                          ich glaube, ich hatte auch mal das problem, das die dp nur unter userdata funktionierten - irgendwas war da - ist zu lange her 😞

                          bahnuhr Homoran 2 Replies Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active @liv-in-sky last edited by

                            @liv-in-sky

                            Hast du auch schon vis2 drauf ?
                            Läuft das jetzt zufriedenstellend ?

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @bahnuhr last edited by

                              @bahnuhr nee - da brauch ich wohl urlaub - um mich da einzuarbeiten - auch die inventwo widgets funktionieren noch nicht richtig - die brauch ich
                              was ich im mometn in der vis1 brauche läuft - große änderungen mach ich da im moment nicht

                              vielleicht nächstes jahr

                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active @liv-in-sky last edited by

                                @liv-in-sky
                                sehe ich ähnlich.
                                Hatte mal am Anfang von vis2 diese drauf.
                                War aber schnell wieder deinstalliert (es klappte zu wenig).

                                Und seitdem bleib ich erst einmal bei vis 1

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @bahnuhr last edited by

                                  @bahnuhr

                                  genau so bei mir - zusätzlich hatte die vis2 dann den fehler meine daten unter iobroker folder auf über 1 GB zu erhöhen - da war wohl ein fehler - also wieder deinstalliert 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @liv-in-sky last edited by Homoran

                                    @liv-in-sky sagte in rechnen im html-Widget geht nicht mehr:

                                    @bahnuhr

                                    ich glaube, ich hatte auch mal das problem, das die dp nur unter userdata funktionierten - irgendwas war da - ist zu lange her 😞

                                    da war was!
                                    war das mit dem maps-widget mit eigenen Koordinaten?
                                    das ging aber nur in js, nicht in userdata, glaube ich...
                                    ...zu lange her

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Homoran last edited by

                                      @homoran ja genau - du hast recht - es war mit dem maps widget - respect - brain-leistung 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            862
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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