Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Zwei oder mehr Werte im VIS addieren?

    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

    Zwei oder mehr Werte im VIS addieren?

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

      @soundy sagte in Zwei oder mehr Werte im VIS addieren?:

      Hab es auch mit "basic number" (ergibt: NaN)

      ist ja auch Not a Number.
      dann nur (wert1+wert2) und anzahl Nachkommastellen und Einheit im widget einstellen

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

        @homoran

        Ups,...

        laut https://forum.iobroker.net/topic/1248/bindings-of-objects-berechnungen/3 darf ich diese Berechnungen nicht in der "Object ID" verwenden. Daher klappt das auch nicht, aber habe ich auch im Screenshot gezeigt...

        In einem "basic HTML" Widget habe ich es nun unter html drinnen:

        Screenshot 2021-03-06 234427.png

        {wert1:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_0; wert2:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_1; (wert1)+(wert2)} W
        

        Das ergibt mir nun aber in der Ausgabe "Wert1+Wert", also nur die beiden Zahlen hintereinander gereiht. Wenn ich aber subtrahieren würde, also so:

        {wert1:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_0; wert2:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_1; (wert1)-(wert2)} W
        

        Dann werden die beiden Werte voneinander abgezogen.

        Jetzt verstehe ich gar nichts mehr, wieso und wo ist der Denkfehler?

        Wieso kann ich das übrigens nicht in einem "basic number" Widget machen?

        Lg, Jürgen

        htrecksler 1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing @Soundy last edited by

          @soundy sagte in Zwei oder mehr Werte im VIS addieren?:

          Wieso kann ich das übrigens nicht in einem "basic number" Widget machen?

          weil das Resultat aus dem Binding ein Text ist. Wie Homoran schon schrieb "NaN" (Not a number)

          Soundy 1 Reply Last reply Reply Quote 0
          • Soundy
            Soundy @htrecksler last edited by

            @htrecksler

            Okay, aber wieso kommt es dazu:

            In einem "basic HTML" Widget habe ich es nun unter html drinnen:

            Screenshot 2021-03-06 234427.png

            {wert1:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_0; wert2:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_1; (wert1)+(wert2)} W
            

            Das ergibt mir nun aber in der Ausgabe "Wert1+Wert", also nur die beiden Zahlen hintereinander gereiht.

            z.B. Wert 1 = 10, Wert 2 = 5, Ergebnis: 105

            Wenn ich aber subtrahieren würde, also so:

            {wert1:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_0; wert2:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_1; (wert1)-(wert2)} W
            

            Dann werden die beiden Werte voneinander abgezogen.

            z.B. Wert 1 = 10, Wert 2 = 5, Ergebnis: 5

            Jetzt verstehe ich gar nichts mehr, wieso und wo ist der Denkfehler?

            SBorg htrecksler 2 Replies Last reply Reply Quote 0
            • SBorg
              SBorg Forum Testing Most Active @Soundy last edited by

              @soundy "Recht" einfach 😉
              Bindings werden immer als String gelesen. Bei einer Operation mittels "-" "weiß" JS dann, dass es sich trotzdem um Zahlen handelt und subtrahiert sie korrekt. Mittels "+" kann man aber auch Strings aneinanderhängen und genau das passiert dann bei dir. Du musst die Berechnung klammern, nicht nur den einzelnen Wert. Dann "kapiert" auch JS das du rechnen möchtest: (wert1 + wert2)

              1 Reply Last reply Reply Quote 0
              • htrecksler
                htrecksler Forum Testing @Soundy last edited by

                @soundy das kann ich dir auch nicht beantworten, was passiert denn wenn du eine Klammer um das gesamte Argument legst:
                ( (wert1)+(wert2) )

                Soundy 1 Reply Last reply Reply Quote 0
                • Soundy
                  Soundy @htrecksler last edited by

                  @SBorg @htrecksler

                  Gut, das ist ja alles verständlich, wie ihr schreibt...

                  Ich habe nun in einem "basic HTML" Widget im Feld HTML nun folgendes:

                  {wert1:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_0; wert2:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_1; ((wert1)+(wert2))}
                  

                  Es setzt aber nur die Strings aneinander... 😞

                  Ich bin auch nicht auf ein "basic HTML" gebunden. Gäbe es einfachere und funktionelle Möglichkeiten mit "basic number" oder einem anderen Widget? Es muss eigentlich nur auf einem VIS anzeigbar sein. Mehr will ich momentan nicht, da die Werte nur informativ angezeigt werden sollen ...

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

                    MOMENT MAL .... !!!

                    Jetzt hab ich nach dem "Trail-and-Error-Prinzip" folgendes probiert:

                    {wert1:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_0; wert2:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_1; ((+wert1)+(+wert2))}
                    

                    Beide Werte geklammert und jeweils ein "+" vorweg und es funktioniert.

                    Bitte wieso? Das liest sich komplett unlogisch diese Schreibweise, gibts dafür eine Erklärung? omg

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

                      @soundy sagte in Zwei oder mehr Werte im VIS addieren?:

                      {wert1:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_0; wert2:sonoff.0.Doppelschalter_Kinderzimmer_F9896D.ENERGY_Power_1; parseInt(wert1)+parseInt(+wert2)}
                      

                      sollte auch funktionierten und ist "sauberer"

                      Dominik F. 1 Reply Last reply Reply Quote 0
                      • Dominik F.
                        Dominik F. @Peoples last edited by

                        Ich würde mich gerne hier mal anschließen und habe eine Frage dazu:
                        In meinem Fall würde ich gerne zu einem Datenpunkt der eine Uhrzeit enthält 30 min. addieren.
                        Habt ihr da eine Idee wie das funktionieren könnte?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        682
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        6
                        13
                        5230
                        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