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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    "Rechnen" in Widgets

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      Ich versuche immer noch einen View für die Hardwareüberwachung zu erstellen, der allgemeingültig für jedewede angeschlossene Hardware ist.

      Ich arbeite weiter daran sämtliche Daten aus der Hardware zu ziehen und in den Views für die Skalierung der Widgets zu verwenden.

      So ist z.B. ein justgage Widget für den freien Speicherplatz der HDD/SD-Card.

      minimum ist 0 (klar 😉 )

      maximum soll der Wert der Gesamtkapazität der SD-Karte/HDD/SSD sein, da in jedem SBC eine andere Karte stecken könnte.

      Der Datenpunkt dazu könnte "SDCard_root-total" vom rpi2-Adapter sein.

      jetzt liegt der freie Speicherplatz als GB, die gesamte Kapazität als MB vor.

      Manchmal klappt es wie es soll, manchmal nicht:
      144_datenpunkte_rechnen.png

      Wie müsste diese "Formel" richtig formatiert sein, damit es immer klappt?

      Danke

      Rainer

      1 Reply Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        Hast du das mal mit geschweiften Klammern probiert? Die müssen ja auch verwendet werden, wenn man einen Datenpunkt verwenden möchte. Ob man dann damit auch rechnen kann?

        Vielleicht so: {javascript.0.Datenquelle/1000} oder {{javascript.0.Datenquelle}/1000}?

        Enrico

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

          Mit geschweiften Klammern geht es gar nicht.

          Die bekam ich auch gar nicht mehr weg, danach musste ich das Widget löschen.

          Die Kombination habe ich noch nicht versucht.

          Gruß

          Rainer

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

            Hast du mal versucht den Datenpunkt einer Variablen zu zuweisen bevor du damit rechnest?

            Folgendes funktioniert bspw. bei mir mit dem Widget:

            {value1:hm-rpc.0.xxxxxxx.1.HUMIDITY;value2:hm-rpc.0.xxxxxxxxx.1.HUMIDITY;value1+value2}
            

            oder

            {value:hm-rpc.0.xxxxxx.1.HUMIDITY;value/2}
            

            oder

            {value:hm-rpc.0.xxxxxx.1.HUMIDITY;value*2}
            
            1 Reply Last reply Reply Quote 2
            • Homoran
              Homoran Global Moderator Administrators last edited by

              @peoples:

              Hast du mal versucht den Datenpunkt einer Variablen zu zuweisen bevor du damit rechnest? `
              auch nicht!

              Dafür habe ich gestern srundenlang an den geschweiften Klammern gehangen.

              letztendlich musste ich sogar über die vis-views.json gehen und dort diese Klammern entfernen bevor ich das Widget wieder über den Editor bearbeiten konnte ohne dass danach wieder dier Klammerausdruck drin war.

              Werde das heute Abend mal mit value versuchen.

              Danke

              Rainer

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

                DANKE!!

                Das hier:

                {value:mqtt-client.0.HardwareDaten.Rock64.sdcard_root_total;value/1000}
                

                ergibt
                144_vis_rechnen.png

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • S
                  sveni_lee last edited by

                  gibt es auch die Möglichkeit innerhalb eines Widgets einen "berechneten" Datenpunkt anzeigen zu lassen…

                  also schon sotewas

                  {value:mqtt-client.0.HardwareDaten.Rock64.sdcard_root_total;value/1000}
                  

                  aber das Ergebnis direkt anzeigen lassen?

                  EDIT:

                  ha… das funktioniert mit einem einfachen HTML-widget...

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

                    wenn du ein Textwidget wählst sollte es genau mit diesem Befehl auch eine Ausgabe erzeugen

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

                      Hallo steffen,

                      habe es auch mal probiert.

                      Widget: basic - string

                      und widget: basic - string unescaped

                      und dann das binding bei objekten

                      {value1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value1+value2}

                      oder

                      {value:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value/2}

                      In vis hab ich gar keine Anzeige.

                      Ist es das richtige Widget?

                      mfg

                      Dieter

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

                        Versuchs mal mit dem Html-Widget aber das addieren geht bei mir nicht, wenn ich 23 + 21 auslese bekomme ich als Ergebnis 2321 versuche ich es mit parseInt() gibt es gar keine Ausgabe.

                        Alternativ kann man das auch über ein kleines JavaScript machen, ist zwar unschön aber funktioniert wenigstens

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

                          Ja, script geht natürlich und stellt auch kein Problem dar.

                          Wollte es aber auch so mal probieren.

                          Klappt nur nicht.

                          Ich nehme "basic-html"

                          füge dann bei html ein:

                          {value1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value1}

                          Fazit: angezeigt wird in vis der wert von produziert -> korrekt so

                          {value1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value2}

                          Fazit: angezeigt wird in vis der wert 0 -> dies ist nicht korrekt

                          drehe ich dies um:

                          {value1:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value1}

                          Fazit: angezeigt wird in vis der wert von eingespeist -> korrekt so

                          Fazit:

                          Die Variable value2 wird nicht korrekt ermittelt und folglich auch nicht angezeigt.

                          Somit kann man auch nicht rechnen.

                          @peoples

                          Hab ich wieder das falsche widget genommen?

                          mfg

                          Dieter

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

                            @bahnuhr:

                            füge dann bei html ein:

                            {value1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value1}
                            
                            

                            Fazit: angezeigt wird in vis der wert von produziert -> korrekt so

                            {value1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value2}
                            
                            

                            Fazit: angezeigt wird in vis der wert 0 -> dies ist nicht korrekt

                            drehe ich dies um:

                            {value1:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value1}
                            
                            

                            Fazit: angezeigt wird in vis der wert von eingespeist -> korrekt so

                            Fazit:

                            Die Variable value2 wird nicht korrekt ermittelt und folglich auch nicht angezeigt.

                            @peoples

                            Hab ich wieder das falsche widget genommen? `
                            Das Widget nehme ich auch!

                            Ich verstehe nur nicht ganz den Sinn von:

                            {value1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value2}
                            
                            

                            value1 = javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung (was steht hier normal drin wenn du unter Objekte schaust?)

                            value2 = javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung (was steht hier normal drin wenn du unter Objekte schaust?)

                            Und du lässt immer zwei anzeigen?

                            Was ist wenn du einfach:

                            [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{wert2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;wert2}"},"style":{"left":"50px","top":"173px","background-color":"yellow","width":"348px","height":"38px"},"widgetSet":"basic"}]
                            
                            

                            oder

                            [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung}"},"style":{"left":"50px","top":"173px","background-color":"yellow","width":"348px","height":"38px"},"widgetSet":"basic"}]
                            
                            

                            versuchst?

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

                              Der Sinn ist, dass ich testen wollte ob er value2 anzeigt.

                              hat er aber nicht.

                              Gewollt ist.

                              Variable: value1 = produziert

                              (ist unter Ojekten vorhanden und zeigt Wert z.B. 3000)

                              Variable: value2 = eingespeist

                              (ist unter Ojekten vorhanden und zeigt Wert z.B. 1800)

                              Ich möchte nun in vis darstellen: -> Eigenverbrauch (also value1 - value2).

                              Selbstverständlich kann ich dies mit einem script lösen und eine extra variable unter objekte erzeuge.

                              Dachte aber es geht so.

                              mfg

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

                                Eigentlich sollte es auch. Aber bei dir wird value2 gar nicht dargestellt im Binding. Wie ich es verstanden habe?

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

                                  {value1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;value2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;value1-value2}
                                  
                                  

                                  Und sowas klappt bei dir?

                                  Merkwürdig.

                                  Bei mir wird nix angezeigt.

                                  mfg

                                  Dieter

                                  1 Reply Last reply Reply Quote 0
                                  • Dutchman
                                    Dutchman Developer Most Active Administrators last edited by

                                    Hi,

                                    Hat jemand bereits hierzu eine Lösung ?

                                    Ich würde gerne in vis 2 datenpunkt mit einander verrechnen und die summe deren wiedergeben.

                                    Also datenpunkt 1 + Datenpunkt 2 = an zu zeigender wert

                                    damit möchte ich mir den tagesverbraucht meine Stromzählers in einem backen wiedergeben lassen, dazu muss ich aber nacht + tagesverbraucht erst zusammen rechnen

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      sveni_lee last edited by

                                      versuch mal es mal so..

                                      datenpunkt 11 + Datenpunkt 21

                                      bsp.

                                      {v1:javascript.0.Hardware.StromPi.CPUload_1;v2:javascript.0.Hardware.StromPi.CPUload_15; v1*1+v2*1}
                                      

                                      so werden die werte auch als Zahl interpretiert….

                                      1 Reply Last reply Reply Quote 0
                                      • Dutchman
                                        Dutchman Developer Most Active Administrators last edited by

                                        @sveni_lee:

                                        versuch mal es mal so..

                                        datenpunkt 11 + Datenpunkt 21

                                        bsp.

                                        {v1:javascript.0.Hardware.StromPi.CPUload_1;v2:javascript.0.Hardware.StromPi.CPUload_15; v1*1+v2*1}
                                        

                                        so werden die werte auch als Zahl interpretiert…. `

                                        hmm komisch, wert 1 ist 0.19, wert 2 ist 0.45, sollte also 0.64 ergeben kommt aber 0.56 raus ?

                                        stimmt es auch das diese Berechnungen nur in html widgets gehen ? Mit dem basic-html bekomme ich 0.56, als object im Graph geht es leider überhaupt nicht 😐

                                        {v1:javascript.0.Verbrauchszaehler.Stroom_Afname_piek.Kosten.Tag;v2:javascript.0.Verbrauchszaehler.Stroom_Afname_Dal.Kosten.Tag; (v1*1)+(v2*1)}
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • bahnuhr
                                          bahnuhr Forum Testing Most Active last edited by

                                          Also bei mir klappt dies gar nicht.

                                          {v1:javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung;v2:javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung;(v11+v21)}

                                          Sobald ich v2 ins Spiel bringt zeigt die Anzeige 0.

                                          mfg

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            ktsalti last edited by

                                            Hallo,

                                            ich möchte auch gern rechnen, aber leider funktioniert es nicht 😞

                                            Ziel: Die Ventilstellung vom HMIP-eTRV soll z.b. auch mit 80% anstatt wie jetzt 0,08 angegeben werden.

                                            Code:

                                            {value:hm-rpc.2.000397098A453F.1.LEVEL;value*100}
                                            
                                            

                                            Was mache ich falsch? Aktuell zeigt er mir leider nichts an. Ich nutze basic string als widget.

                                            Vielen Dank im Voraus!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            830
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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