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
    #4

    @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

    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

    I 1 Antwort Letzte Antwort
    1
    • 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

                        905

                        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