Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Zwei oder mehr Werte im VIS addieren?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    993

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Zwei oder mehr Werte im VIS addieren?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
19 Beiträge 9 Kommentatoren 6.0k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • htreckslerH htrecksler

    @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)

    SoundyS Offline
    SoundyS Offline
    Soundy
    schrieb am zuletzt editiert von
    #7

    @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?

    SBorgS htreckslerH 2 Antworten Letzte Antwort
    0
    • SoundyS Soundy

      @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?

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #8

      @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)

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      1 Antwort Letzte Antwort
      0
      • SoundyS Soundy

        @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?

        htreckslerH Offline
        htreckslerH Offline
        htrecksler
        Forum Testing
        schrieb am zuletzt editiert von
        #9

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

        Gruss Hermann

        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

        SoundyS 1 Antwort Letzte Antwort
        0
        • htreckslerH htrecksler

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

          SoundyS Offline
          SoundyS Offline
          Soundy
          schrieb am zuletzt editiert von
          #10

          @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 ...

          SoundyS 1 Antwort Letzte Antwort
          0
          • SoundyS Soundy

            @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 ...

            SoundyS Offline
            SoundyS Offline
            Soundy
            schrieb am zuletzt editiert von
            #11

            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

            PeoplesP 1 Antwort Letzte Antwort
            0
            • SoundyS Soundy

              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

              PeoplesP Offline
              PeoplesP Offline
              Peoples
              schrieb am zuletzt editiert von
              #12

              @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"

              Ich beantworte keine Fragen zu Themen via PN

              Dominik F.D I 2 Antworten Letzte Antwort
              0
              • PeoplesP Peoples

                @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.D Offline
                Dominik F.D Offline
                Dominik F.
                schrieb am zuletzt editiert von
                #13

                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 Antwort Letzte Antwort
                0
                • PeoplesP Peoples

                  @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"

                  I Offline
                  I Offline
                  io2345
                  schrieb am zuletzt editiert von io2345
                  #14

                  @peoples Der Post ist zwar ein bißchen älter, aber nach wie vor aktuell. Das funktioniert auch astrein mit zwei Variablen. Nehme ich allerdings noch einen dritten Wert hinzu, also
                  {wert1:<Objekt1>; wert2:<Objekt2>; wert3:<Objekt3>; parseInt(wert1)+parseInt(+wert2)+parseInt(+wert3)}
                  ist das Ergebnis "0;". Wie macht man das richtig? Oder sind nur zwei Werte möglich?

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • I io2345

                    @peoples Der Post ist zwar ein bißchen älter, aber nach wie vor aktuell. Das funktioniert auch astrein mit zwei Variablen. Nehme ich allerdings noch einen dritten Wert hinzu, also
                    {wert1:<Objekt1>; wert2:<Objekt2>; wert3:<Objekt3>; parseInt(wert1)+parseInt(+wert2)+parseInt(+wert3)}
                    ist das Ergebnis "0;". Wie macht man das richtig? Oder sind nur zwei Werte möglich?

                    CodierknechtC Online
                    CodierknechtC Online
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #15

                    @io2345
                    Hast Du das rauskopiert oder abgetippt?

                    Was sollen da die zusätzlichen + nach der öffnenden Klammer?

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    I 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @io2345
                      Hast Du das rauskopiert oder abgetippt?

                      Was sollen da die zusätzlichen + nach der öffnenden Klammer?

                      I Offline
                      I Offline
                      io2345
                      schrieb am zuletzt editiert von
                      #16

                      @codierknecht So steht's zwei Beiträge drüber im Eintrag von Peoples. Das funktioniert auch mit zwei Werten

                      CodierknechtC OliverIOO 2 Antworten Letzte Antwort
                      0
                      • I io2345

                        @codierknecht So steht's zwei Beiträge drüber im Eintrag von Peoples. Das funktioniert auch mit zwei Werten

                        CodierknechtC Online
                        CodierknechtC Online
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #17

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

                        Das funktioniert auch mit zwei Werten

                        Das funzt auch mit 3 Werten einwandfrei:

                        {wert1:alias.0.Test.Zahl; wert2:alias.0.Test.Zahl; wert3:alias.0.Test.Zahl; parseInt(wert1)+parseInt(wert2)+parseInt(wert3)}
                        

                        In meinem Test-DP steht 'ne 22. Macht nach Adam Riese und Eva Zwerg also 66.

                        Quod erat demonstrandum
                        62968f53-36ca-4733-86c6-f67a01a8d1b7-image.png

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        1 Antwort Letzte Antwort
                        0
                        • I io2345

                          @codierknecht So steht's zwei Beiträge drüber im Eintrag von Peoples. Das funktioniert auch mit zwei Werten

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von
                          #18

                          @io2345

                          Was für Zahlen stehen denn da drin?
                          parseInt ist nur für Ganzzahl da. Wenn da überall irgendwas mit 0.123 drin steht, wird da immer null draus.
                          Für fliesskomma zahlen tausche mit

                          parseFloat

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          I 1 Antwort Letzte Antwort
                          0
                          • OliverIOO OliverIO

                            @io2345

                            Was für Zahlen stehen denn da drin?
                            parseInt ist nur für Ganzzahl da. Wenn da überall irgendwas mit 0.123 drin steht, wird da immer null draus.
                            Für fliesskomma zahlen tausche mit

                            parseFloat

                            I Offline
                            I Offline
                            io2345
                            schrieb am zuletzt editiert von
                            #19

                            @oliverio Aha!
                            Habe in der Zwischenzeit mal die ganzen Parse-Sachen weggelassen und nur wert1+wert2+wert3 verwendet -> geht auch und das Ergebnis wird eine Komma-Zahl.
                            Solange da kein String mit was anderem als Zahlen drin steht, muss man offenbar gar nicht viel machen.

                            Danke euch beiden für die Erleuchtung!

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            766

                            Online

                            32.5k

                            Benutzer

                            81.6k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe