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. Visualisierung
  4. [gelöst] HTML-Widget - Werte addieren

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[gelöst] HTML-Widget - Werte addieren

Geplant Angeheftet Gesperrt Verschoben Visualisierung
14 Beiträge 5 Kommentatoren 1.2k Aufrufe 6 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.
  • I Intruminator

    @liv-in-sky
    danke für deine Antwort.

    Ich habe mal einen anderen Datenpunkt ohne # verwendet. Das hat keine Unterschied gemacht.
    In den Entwicklertools habe ich einige Hinweise erhalten:

    8b6a6e21-c6d2-47ec-be46-aafaf05e3ee6-image.png

    scheinbar kann er den Doppelpunkt nicht interpretieren?

    Grüße
    Intruminator

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von liv-in-sky
    #5

    @intruminator wieso eigentlich:

    (+wert1)+(+wert2))
    

    und nicht

    wert1+wert2
    

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    OliverIOO 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @intruminator wieso eigentlich:

      (+wert1)+(+wert2))
      

      und nicht

      wert1+wert2
      
      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #6

      @liv-in-sky sagte in HTML-Widget - Werte addieren:

      wert1+wert2

      ja das ist richtig. zur Sicherheit müssen die Werte auch vorher in eine Zahl umgewandelt werden, da die Werte dort meist nur als String ankommen (parseInt oder parseFloat)

      Die Bindings haben sozusagen 2 verschiedene Modi:

      1. Notation ohne Variablenzuweisung: Hier kann als Befehl zur Addition +100 angegeben werden
      2. Notation mit Variablenzuordnung: Hier werden die nachfolgende Befehle als javascriptanweisungen interpretiert und dann gehen die ganzen Befehle, wie sie in der Binding-Doku angegeben worden sind nicht mehr und es muss alles mit javascriptanweisungen angegeben werden.

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

      liv-in-skyL 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @liv-in-sky sagte in HTML-Widget - Werte addieren:

        wert1+wert2

        ja das ist richtig. zur Sicherheit müssen die Werte auch vorher in eine Zahl umgewandelt werden, da die Werte dort meist nur als String ankommen (parseInt oder parseFloat)

        Die Bindings haben sozusagen 2 verschiedene Modi:

        1. Notation ohne Variablenzuweisung: Hier kann als Befehl zur Addition +100 angegeben werden
        2. Notation mit Variablenzuordnung: Hier werden die nachfolgende Befehle als javascriptanweisungen interpretiert und dann gehen die ganzen Befehle, wie sie in der Binding-Doku angegeben worden sind nicht mehr und es muss alles mit javascriptanweisungen angegeben werden.
        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #7

        @oliverio danke - man lernt nie aus mit iobroker

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @intruminator hast du mal id's getestet - also wert1 und 2 ohne diesen # im id-namen - mach dir einfach 2 testdatenpunkte

          ichdenke es ist nicht der doppelpunkt, sondern der id-name

          eine lösung wäre z.b. ein alias zu nehmen - falls es das # problem ist

          I Offline
          I Offline
          Intruminator
          schrieb am zuletzt editiert von Intruminator
          #8

          @liv-in-sky
          Ah, super Idee.
          Zum einen werde ich mal zwei Test-Objekte (dann ohne #) erstellen und ausprobieren.

          Dann schaue ich mir auch die Idee mit den Alias an. Dachte erst, dass ich die ID der shelly Geräte ja nicht ändern kann (mit #).

          @OliverIO
          Das Beispiel hatte ich aus dem oben genannten Thread einfach hergenommen.

          Grüße!

          I 1 Antwort Letzte Antwort
          0
          • I Intruminator

            @liv-in-sky
            Ah, super Idee.
            Zum einen werde ich mal zwei Test-Objekte (dann ohne #) erstellen und ausprobieren.

            Dann schaue ich mir auch die Idee mit den Alias an. Dachte erst, dass ich die ID der shelly Geräte ja nicht ändern kann (mit #).

            @OliverIO
            Das Beispiel hatte ich aus dem oben genannten Thread einfach hergenommen.

            Grüße!

            I Offline
            I Offline
            Intruminator
            schrieb am zuletzt editiert von
            #9

            Guten Abend!

            1. Mit den Testobjekten hat es direkt und korrekt funktioniert.

            2. Die Alias funktionieren super, da habe ich wieder was Neues im ioBroker gelernt! :grinning:
              Demnach gibt es bei der Interpretation der # in den Namen der shelly-Geräte Probleme.

            3. Folgende Lösungen konnte ich nun erfolgreich testen:

            3.1

            {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((+wert1)+(+wert2)+(+wert3)+(+wert4))}
            

            Gibt je nach Wert dann manchmal zu viele Nachkommastellen raus: c4c3c038-751f-48de-bd06-87f20a965236-image.png

            3.2

            Aus obigen Beitrag hatte @Peoples darauf hingewiesen, dass man es mit parseInt() "sauberer" realisieren kann. Daher habe ich die Idee angewendet und auf meine Wünsche angepasst.

            {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; (parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2)}
            

            --> da parseInt() mir ganze Zahlen zurückgibt, habe ich stattdessen parseFloat() genutzt
            --> um die Nachkommastellen unter 3.1 auf maximal zwei zu reduzieren habe ich toFixed(2) verwendet

            Das Ergebnis ist perfekt:

            4d7f7efe-ef99-4fdb-888a-6de8c70c3d76-image.png

            Danke für eure superschnelle Hilfe. Ich hoffe mein Beitrag kann auch anderen Usern von Nutzen sein!

            Ganz liebe Grüße
            Intruminator :smile:

            M 1 Antwort Letzte Antwort
            1
            • I Intruminator

              Guten Abend!

              1. Mit den Testobjekten hat es direkt und korrekt funktioniert.

              2. Die Alias funktionieren super, da habe ich wieder was Neues im ioBroker gelernt! :grinning:
                Demnach gibt es bei der Interpretation der # in den Namen der shelly-Geräte Probleme.

              3. Folgende Lösungen konnte ich nun erfolgreich testen:

              3.1

              {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((+wert1)+(+wert2)+(+wert3)+(+wert4))}
              

              Gibt je nach Wert dann manchmal zu viele Nachkommastellen raus: c4c3c038-751f-48de-bd06-87f20a965236-image.png

              3.2

              Aus obigen Beitrag hatte @Peoples darauf hingewiesen, dass man es mit parseInt() "sauberer" realisieren kann. Daher habe ich die Idee angewendet und auf meine Wünsche angepasst.

              {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; (parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2)}
              

              --> da parseInt() mir ganze Zahlen zurückgibt, habe ich stattdessen parseFloat() genutzt
              --> um die Nachkommastellen unter 3.1 auf maximal zwei zu reduzieren habe ich toFixed(2) verwendet

              Das Ergebnis ist perfekt:

              4d7f7efe-ef99-4fdb-888a-6de8c70c3d76-image.png

              Danke für eure superschnelle Hilfe. Ich hoffe mein Beitrag kann auch anderen Usern von Nutzen sein!

              Ganz liebe Grüße
              Intruminator :smile:

              M Offline
              M Offline
              Micha3004
              schrieb am zuletzt editiert von
              #10

              @intruminator sagte in [gelöst] HTML-Widget - Werte addieren:

              Guten Abend!

              1. Mit den Testobjekten hat es direkt und korrekt funktioniert.

              2. Die Alias funktionieren super, da habe ich wieder was Neues im ioBroker gelernt! :grinning:
                Demnach gibt es bei der Interpretation der # in den Namen der shelly-Geräte Probleme.

              3. Folgende Lösungen konnte ich nun erfolgreich testen:

              3.1

              {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((+wert1)+(+wert2)+(+wert3)+(+wert4))}
              

              Gibt je nach Wert dann manchmal zu viele Nachkommastellen raus: c4c3c038-751f-48de-bd06-87f20a965236-image.png

              3.2

              Aus obigen Beitrag hatte @Peoples darauf hingewiesen, dass man es mit parseInt() "sauberer" realisieren kann. Daher habe ich die Idee angewendet und auf meine Wünsche angepasst.

              {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; (parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2)}
              

              --> da parseInt() mir ganze Zahlen zurückgibt, habe ich stattdessen parseFloat() genutzt
              --> um die Nachkommastellen unter 3.1 auf maximal zwei zu reduzieren habe ich toFixed(2) verwendet

              Das Ergebnis ist perfekt:

              4d7f7efe-ef99-4fdb-888a-6de8c70c3d76-image.png

              Danke für eure superschnelle Hilfe. Ich hoffe mein Beitrag kann auch anderen Usern von Nutzen sein!

              Ganz liebe Grüße
              Intruminator :smile:

              Kann mir jemand sagen wie ich es nun noch im Code hinbekomme, die errechnete Summe mal XXX € zurechnen?

              OliverIOO 1 Antwort Letzte Antwort
              0
              • M Micha3004

                @intruminator sagte in [gelöst] HTML-Widget - Werte addieren:

                Guten Abend!

                1. Mit den Testobjekten hat es direkt und korrekt funktioniert.

                2. Die Alias funktionieren super, da habe ich wieder was Neues im ioBroker gelernt! :grinning:
                  Demnach gibt es bei der Interpretation der # in den Namen der shelly-Geräte Probleme.

                3. Folgende Lösungen konnte ich nun erfolgreich testen:

                3.1

                {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((+wert1)+(+wert2)+(+wert3)+(+wert4))}
                

                Gibt je nach Wert dann manchmal zu viele Nachkommastellen raus: c4c3c038-751f-48de-bd06-87f20a965236-image.png

                3.2

                Aus obigen Beitrag hatte @Peoples darauf hingewiesen, dass man es mit parseInt() "sauberer" realisieren kann. Daher habe ich die Idee angewendet und auf meine Wünsche angepasst.

                {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; (parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2)}
                

                --> da parseInt() mir ganze Zahlen zurückgibt, habe ich stattdessen parseFloat() genutzt
                --> um die Nachkommastellen unter 3.1 auf maximal zwei zu reduzieren habe ich toFixed(2) verwendet

                Das Ergebnis ist perfekt:

                4d7f7efe-ef99-4fdb-888a-6de8c70c3d76-image.png

                Danke für eure superschnelle Hilfe. Ich hoffe mein Beitrag kann auch anderen Usern von Nutzen sein!

                Ganz liebe Grüße
                Intruminator :smile:

                Kann mir jemand sagen wie ich es nun noch im Code hinbekomme, die errechnete Summe mal XXX € zurechnen?

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

                @micha3004

                {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2))*0.123}
                

                um die Formel zur Sicherheit noch eine Klammer und dann multiplizieren.
                Hier im Beispiel 0.123

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

                M 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @micha3004

                  {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2))*0.123}
                  

                  um die Formel zur Sicherheit noch eine Klammer und dann multiplizieren.
                  Hier im Beispiel 0.123

                  M Offline
                  M Offline
                  Micha3004
                  schrieb am zuletzt editiert von
                  #12

                  @oliverio sagte in [gelöst] HTML-Widget - Werte addieren:

                  @micha3004

                  {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2))*0.123}
                  

                  um die Formel zur Sicherheit noch eine Klammer und dann multiplizieren.
                  Hier im Beispiel 0.123

                  habe es versucht leider wird ein falscher Wert ausgegeben

                  {wert1:alias.0.Shelly.Lichterkette_Wohnzimmer.Umrechnung_gesamt; wert2:alias.0.Shelly.TV_Wand.Umrechnung_gesamt; wert3:alias.0.Shelly.Waschmaschine.Umrechnung_gesamt; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)).toFixed(2))*0,50}

                  OliverIOO C 2 Antworten Letzte Antwort
                  0
                  • M Micha3004

                    @oliverio sagte in [gelöst] HTML-Widget - Werte addieren:

                    @micha3004

                    {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2))*0.123}
                    

                    um die Formel zur Sicherheit noch eine Klammer und dann multiplizieren.
                    Hier im Beispiel 0.123

                    habe es versucht leider wird ein falscher Wert ausgegeben

                    {wert1:alias.0.Shelly.Lichterkette_Wohnzimmer.Umrechnung_gesamt; wert2:alias.0.Shelly.TV_Wand.Umrechnung_gesamt; wert3:alias.0.Shelly.Waschmaschine.Umrechnung_gesamt; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)).toFixed(2))*0,50}

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

                    @micha3004
                    was soll ich jetzt hier machen?
                    du hast den falschen wert nicht genannt.
                    du hast die Inhalte der anderen Datenpunktinhalte nicht genannt (wert1,2,3)
                    was hat es ohne die anpassung angezeigt?
                    wie sollte ich jetzt hier irgendwas überprüfen?
                    wenn es was falsch rechnet, dann ist was an der formel falsch.

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

                    1 Antwort Letzte Antwort
                    0
                    • M Micha3004

                      @oliverio sagte in [gelöst] HTML-Widget - Werte addieren:

                      @micha3004

                      {wert1:alias.0.alias-tvbox; wert2:alias.0.alias-blakon-led; wert3:alias.0.alias-pc-1; wert4:alias.0.alias-pc-2; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)+parseFloat(wert4)).toFixed(2))*0.123}
                      

                      um die Formel zur Sicherheit noch eine Klammer und dann multiplizieren.
                      Hier im Beispiel 0.123

                      habe es versucht leider wird ein falscher Wert ausgegeben

                      {wert1:alias.0.Shelly.Lichterkette_Wohnzimmer.Umrechnung_gesamt; wert2:alias.0.Shelly.TV_Wand.Umrechnung_gesamt; wert3:alias.0.Shelly.Waschmaschine.Umrechnung_gesamt; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)).toFixed(2))*0,50}

                      C Offline
                      C Offline
                      Chrunchy
                      schrieb am zuletzt editiert von
                      #14

                      @micha3004 sagte in [gelöst] HTML-Widget - Werte addieren:

                      habe es versucht leider wird ein falscher Wert ausgegeben

                      {wert1:alias.0.Shelly.Lichterkette_Wohnzimmer.Umrechnung_gesamt; wert2:alias.0.Shelly.TV_Wand.Umrechnung_gesamt; wert3:alias.0.Shelly.Waschmaschine.Umrechnung_gesamt; ((parseFloat(wert1)+parseFloat(wert2)+parseFloat(wert3)).toFixed(2))*0,50}

                      Soweit ich weiß, muss das Dezimaltrennzeichen ein Punkt sein, kein Komma.

                      Gruß Chrunchy

                      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

                      810

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      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