Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst]Umrechnung von Einheiten im Widget?

    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

    [gelöst]Umrechnung von Einheiten im Widget?

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

      Ich bin derzeit dabei, die Photovoltaik-Anlage in meiner vis (basierend auf MDCSS 2) darzustellen. Mit den den Anfängen bin ich auch schon zufrieden (siehe Bilder - work in progress).
      Folgende Herausforderung: Ich habe verschiedene darzustellende Datenpunkte, die Verbrauchs-/Erzeugungswerte in Watt beinhalten. Derzeit benutze ich dafür ein "basic - number" Widget, rechne die Werte durch die Widget-Option "Wert multiplizieren" in Kilowatt um und stelle dies dar. Nun würde ich gerne flexibler sein. D.h. wenn der Wert >= 1000 ist, dann - wie eben beschrieben - Umrechnung in Kilowatt und entsprechende Darstellung. Wenn <1000, dann wird der Wert in Watt dargestellt.

      Gibt es eine Möglichkeit, dies flexibel in einem "number" Widget (oder einem anderen) zu bewerkstelligen.

      Mein Workaround ist die Nutzung von zwei übereinander liegenden Widgets, bei denen ich in Abhängigkeit des Wertes die Sichtbarkeit steuere. Das geht auch soweit, wenn >= 1000 bzw. <1000 (wie beschrieben) die einzige Bedingung ist.

      Ich habe aber auch Stellen in der Visualisierung, wo ich noch eine weitere Bedingung für die Sichtbarkeit hätte (z.B. wird ins Netz eingespeist, oder wird Strom aus dem Netz konsumiert).

      Für Ideen bzw. Tipps bin ich dankbar.

      IMG_0804.png IMG_0805.png

      harrym 1 Reply Last reply Reply Quote 0
      • harrym
        harrym @ak1 last edited by

        @ak1 "Binding of objects"

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

        Kannste schön rechnen in der Vis 😉

        A 1 Reply Last reply Reply Quote 1
        • A
          ak1 @harrym last edited by

          @harrym sagte in Umrechnung von Einheiten im Widget?:

          @ak1 "Binding of objects"

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

          Kannste schön rechnen in der Vis 😉

          Ok, Danke. Das ist wohl tatsächlich der richtige Ansatz.
          Allerdings bin ich echt am Kämpfen mit den Feinheiten, z.B. dem richtigen Runden und Nachkommastellen.
          Langsam geht es voran ....

          A 1 Reply Last reply Reply Quote 1
          • A
            ak1 @ak1 last edited by

            So, ich war jetzt erfolgreich. Mit einem HTML Widget.
            Ungefähr so:

            {val:plenticore.0.devices.local.Home_P;val<1000?Math.round(val):""}
            {val:plenticore.0.devices.local.Home_P;val<1000?" W":""}
            {val:plenticore.0.devices.local.Home_P;val>=1000?parseFloat(val*0.001).toFixed(2):""}
            {val:plenticore.0.devices.local.Home_P;val>=1000?" kW":""}
            

            Das war viel Trial & Error und ist möglicherweise noch suboptimal. Aber es funktioniert gut.
            Insgesamt muss ich bei den Bindings noch üben 😉

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

              @ak1 sagte in [gelöst]Umrechnung von Einheiten im Widget?:

              Insgesamt muss ich bei den Bindings noch üben

              Übung macht den Meister 😁
              Bezieht sich #2 und #4 (ebenfalls #1 + #3) auf dasselbe Widget und soll nur bspw. 900 W / 1.2 kW anzeigen?

              Dann geht es auch wesentlich einfacher:

              {val:plenticore.0.devices.local.Home_P;val<1000?" W":" kW"}
              {val:plenticore.0.devices.local.Home_P;val<1000?Math.round(val):parseFloat(val*0.001).toFixed(2)}
              

              Das "Konstrukt" mit ? und : ist eine Vereinfachung (Programmierer sind faul ^^) von einer "if-then-else" - Abfrage.
              Wenn val kleiner als 1000 ist dann schreibe " W", sonst " kW"
              Deswegen brauchst du keine 2. Abfrage ob val >=1000 ist, denn entweder ist es kleiner als 1000, und wenn nicht, muss es eben größer als 1000 sein 😉

              A 1 Reply Last reply Reply Quote 1
              • A
                ak1 @SBorg last edited by

                @SBorg
                Oh ja, es bezieht sich tatsächlich auf das gleiche Widget.
                Und dein Ansatz ist natürlich wesentlich einfacher. Danke für den guten Hinweis!

                Ein wenig dämlich bin ich aber schon, denn natürlich hatte ich dieses "if...then...else" Konstrukt mit Bindings schon bei Einstellungen zur Opacity genutzt. Da war ich aber nicht vom Kampf, mit Umrechnungen, Runden und Nachkommastellen abgelenkt 😉

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

                Support us

                ioBroker
                Community Adapters
                Donate

                905
                Online

                31.9k
                Users

                80.1k
                Topics

                1.3m
                Posts

                material ui vis
                3
                6
                1710
                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