Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. "Rechnen" in Widgets

    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" in Widgets

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

      @sborg
      Ja da hast du absolut recht.
      Und wie optimiere ich das dann am einfachsten?
      Genau brauche es nur als Number in der Vis.

      SBorg 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @Sushibomba last edited by SBorg

        @sushibomba Ist im Grunde so gut wie das selbe wie dein JS, nur ohne Datenpunkte.

        Zur Anzeige nimmst du bspw. ein HTML-Widget.
        Dort nutzt du dann ein Binding zur Berechnung und Ausgabe:
        {val1:worx.0.123.rawMqtt.raw.blade_work_time;val2:worx.0.123.rawMqtt.raw.blade_work_time_reset; toHHMMSS(parseFloat(val1)-parseFloat(val2))}

        Dann musst du beim Widget unter "Skript" nur noch die Funktion einfügen:

        var toHHMMSS = (secs) => {
            var sec_num = parseInt(secs, 10)
            var hours   = Math.floor(sec_num / 3600) % 24
            var minutes = Math.floor(sec_num / 60) % 60
            var seconds = sec_num % 60    
        
            return [hours,minutes,seconds]
                .map(v => v < 10 ? "0" + v : v)
                .filter((v,i) => v !== "00" || i > 0)
                .join(":")
        }
        

        Somit steht dir die Funktion in jedem Widget deiner VIS zur Verfügung und wird auch nur noch bei Bedarf ausgeführt. Da ein Binding auch auf Änderungen getriggert wird, aktualisiert sich die Anzeige selbst dann wenn du in der View stehst und nicht nur beim laden/neu laden 😉

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

          Hey, schließe mich hier mal an mit der Frage.
          Um mir die Laufzeit von Proxmox anzuzeigen benutze ich folgendes (irgendwo mal hier im Forum gefunden)

          {d:proxmox.0.node_Rechenzentrum.uptime;Math.floor( ((d)/60/60/24) )} Tage‚ {h:proxmox.0.node_Rechenzentrum.uptime;Math.floor( ((h)/60/60) % 24 )} Std.
          

          Ich würde aber noch gerne die Minuten dabei haben und bekomme es natürlich wieder nicht hin 😵
          Da kann mir doch bestimmt einer von euch helfen 😀

          SBorg 1 Reply Last reply Reply Quote 0
          • SBorg
            SBorg Forum Testing Most Active @Nashra last edited by

            @nashra sagte in "Rechnen" in Widgets:

            Da kann mir doch bestimmt einer von euch helfen

            Verrate ich aber nicht... 😀

            {m:proxmox.0.node_Rechenzentrum.uptime;Math.floor( ((m)/60) % 60 )} Min. 
            
            Nashra 1 Reply Last reply Reply Quote 1
            • Nashra
              Nashra Most Active Forum Testing @SBorg last edited by

              @sborg sagte in "Rechnen" in Widgets:

              @nashra sagte in "Rechnen" in Widgets:

              Da kann mir doch bestimmt einer von euch helfen

              Verrate ich aber nicht... 😀

              {m:proxmox.0.node_Rechenzentrum.uptime;Math.floor( ((m)/60) % 60 )} Min. 
              

              Ich kann schweigen 😁
              Danke

              L 1 Reply Last reply Reply Quote 0
              • L
                legro @Nashra last edited by legro

                Hab's selbst gelöst.

                L 1 Reply Last reply Reply Quote 0
                • L
                  legro @legro last edited by legro

                  Ich verstehe einfach überhaupt nichts mehr.😞

                  Nun habe ich in meiner Visualisierung von Anfang an Berechnungen in Widgets durchgeführt. Ich kann mich noch an die Anfänge erinnern: Erst wollte nichts funktionieren, irgendwann klappte es und ich wusste nicht warum. Egal, dachte ich; Hauptsache es funktioniert.

                  Nun holt mich das Ganze wieder ein, als ich Ergänzungen vornehmen wollte. Hier zwei Beispiele, wie ich sie in HTML-Widgets verwende ..

                  • altes funktionierende Beispiel: {a:0_userdata.0.Heizung.tmp_jahr;b:0_userdata.0.Heizung.Umrechnungsfaktor;parseFloat(a*b).toFixed(2)}
                  • neues Beispiel, das stets bloß "0" als Ergebnis liefert: {a:0_userdata.GeräteÜberwachung.Spülmaschine.Energie_Verbrauch;b:0_userdata.0.GeräteÜberwachung.Waschmaschine.Energie_Verbrauch;parseFloat(a*b).toFixed(2)}

                  Ich bin völlig ratlos und hoffe verzweifelt auf eure Hilfe.

                  Codierknecht Homoran 2 Replies Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @legro last edited by Codierknecht

                    @legro
                    Keine Umlaute verwenden‼

                    (Warum man Verbräuche miteinander multipliziert, erschließt sich mir allerdings auch nicht)

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      legro @Codierknecht last edited by

                      @codierknecht said in "Rechnen" in Widgets:

                      @legro
                      Keine Umlaute verwenden‼

                      Hier ein Beispiel, das Umlaute enthält und dennoch funktioniert ..
                      <h2>Kosten</h2>
                      Verbrauch: {x:0_userdata.0.Gaszähler.TempGasJahr;parseFloat(x).toFixed(1)} m<sup>3</sup><br>Energie:
                      {a:0_userdata.0.Heizung.tmp_jahr;b:0_userdata.0.Heizung.Umrechnungsfaktor;c:0_userdata.0.Heizung.Zustandszahl;parseFloat(a
                      bc).toFixed(0)} KWh<br> Kosten:
                      {a:0_userdata.0.Heizung.tmp_jahr;b:0_userdata.0.Heizung.Umrechnungsfaktor;c:0_userdata.0.Heizung.Zustandszahl;d:0_userdata.0.Heizung.Energiepreis;parseFloat(a
                      bcd).toFixed(2)} €*

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @legro last edited by

                        @legro sagte in "Rechnen" in Widgets:

                        Ich bin völlig ratlos

                        beide DPs enthalten Zahlen?

                        1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @legro last edited by

                          @legro sagte in "Rechnen" in Widgets:

                          Hier ein Beispiel, das Umlaute enthält und dennoch funktioniert ..

                          Sollte man dennoch grundsätzlich vermeiden.

                          Ansonsten gilt was @Homoran geschrieben hat.

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            legro @Codierknecht last edited by

                            @codierknecht

                            Selbstverständlich sind in den Datenpunkten Zahlen enthalten.

                            1 Reply Last reply Reply Quote 0
                            • Ro75
                              Ro75 last edited by

                              Dann Frage ich mal anders. Sind die DP vom Typ Zahl (Number) oder Zeichenkette (String)?

                              L 1 Reply Last reply Reply Quote 1
                              • L
                                legro @Ro75 last edited by

                                @ro75

                                Beim Anlegen habe ich sie selbstverständlich als Typ number angelegt.

                                Ro75 Homoran 2 Replies Last reply Reply Quote 0
                                • Ro75
                                  Ro75 @legro last edited by Ro75

                                  @legro Fakt ist aber auch, dass wenn alles "selbstverständlich" ist - muss und geht es auch. Zeig doch bitte mal die DP selbst mit Werte.

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @legro last edited by

                                    @legro sagte in "Rechnen" in Widgets:

                                    @ro75

                                    Beim Anlegen habe ich sie selbstverständlich als Typ number angelegt.

                                    das ist irrelevant.
                                    was reingeschrieben wird ist interessant

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      legro @Homoran last edited by

                                      @homoran

                                      Selbstverständlich steht auch eine Zahl (float, int) in den Datenpunkten.

                                      Ro75 1 Reply Last reply Reply Quote 0
                                      • Ro75
                                        Ro75 @legro last edited by

                                        @legro Kann ich aber auch in eine (und/oder als ) Zeichenkette schreiben. Zeig doch bitte mal die Details.

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          legro @Ro75 last edited by legro

                                          @ro75

                                          Apropos Details ..

                                          Die Bezeichnungen der Datenpunkte in den Widgets kopiere ich mir aus den Objekten. Wenn's funktioniert, wird die Speicherung in die Zwischenablage mit Angabe des Bezeichners bestätigt (siehe 1.Bild), in den Fällen, in den es nachher nicht geht, wird nur "kopiert" angezeigt (s. 2.Bild).

                                          In beiden Fällen wird jedoch der korrekte Name des Bezeichners in die Zwischenablage kopiert.

                                          76e661d9-6154-4af4-bd08-e53e6c61342a-image.png
                                          5c011390-20fc-465a-bf9b-387f22de3d6e-image.png

                                          Homoran Ro75 2 Replies Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @legro last edited by

                                            @legro sagte in "Rechnen" in Widgets:

                                            beiden Fällen wird jedoch der korrekte Name des Bezeichners in die Zwischenablage kopiert.

                                            dann zeig mal die Objektdaten

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            926
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            21
                                            128
                                            20082
                                            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