Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Datenpunkte addieren und dann multiplizieren in vis

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Datenpunkte addieren und dann multiplizieren in vis

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

      müssen denn Arbeitspreis und Grundpreis Variablen sein. Reicht da nicht ein fixer Wert?

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

        @homoran sagte: Reicht da nicht ein fixer Wert?

        Nur eine gewisse Zeit (bis zur nächsten Preiserhöhung).

        1 Reply Last reply Reply Quote 0
        • H
          hagst last edited by hagst

          Hmmm, als Ergebnis wird mir eine 0 angezeigt.

          Hier jetzt mal mit den richtigen Daten:

          {x:0_userdata.0.Strompreisberechnung.Monatlicher_Grundpreis;y:0_userdata.0.Strompreisberechnung.Strompreis_pro_KW;z:javascript.0.ShellyVerbrauch.SHEM-3#C45BBE6BD432#1.Total.dieser_monat;parseFloat(x)+y*z}
          

          Btw. Ich hab das ganze zwischenzeitlich anders gelöst mit zwei Scripten, aber dennoch interessiert es mich, wie ich es in VIs lösen könnte.

          Script eins:

          const idTH = 'javascript.0.ShellyVerbrauch.SHEM-3#C45BBE6BD432#1.Total.heute';
          const idKW = '0_userdata.0.Strompreisberechnung.Strompreis_pro_KW';
          const idSumme = 'javascript.0.monatlicher-Strompreis-ohne-Grundpreis'; 
           
          var TH = getState(idTH).val;
          var KW = getState(idKW).val;
           
          if(!existsState(idSumme)) createState(idSumme, TH * KW, {type: 'number', unit: '€'}); 
           
          function summe() {
              setState(idSumme, TH * KW, true);
          }
           
          on(idTH, function(dp) {
             TH = dp.state.val;
             summe();
          });
          on(idKW, function(dp) {
             KW = dp.state.val;
             summe();
          });
          

          und dann noch das zweite

          const idHT = 'javascript.0.monatlicher-Strompreis-ohne-Grundpreis';
          const idNT = '0_userdata.0.Strompreisberechnung.Monatlicher_Grundpreis';
          const idSumme = 'javascript.0.monatlicher-Strompreis-inkl-Grundpreis'; 
           
          var HT = getState(idHT).val;
          var NT = getState(idNT).val;
           
          if(!existsState(idSumme)) createState(idSumme, HT + NT, {type: 'number', unit: '€'}); 
           
          function summe() {
              setState(idSumme, HT + NT, true);
          }
           
          on(idHT, function(dp) {
             HT = dp.state.val;
             summe();
          });
          on(idNT, function(dp) {
             NT = dp.state.val;
             summe();
          });
          

          Ist zwar bestimmt sehr umständlich, aber des Ergebnis ist richtig 🙂

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @hagst last edited by

            @hagst

            es gab mal ein problem mit # in der datenpunkt-id - weiß nicht, ob das gefixt wurde - versuch das ganze mal mit einem anderen dp, ob es dann funktioniert

            H 1 Reply Last reply Reply Quote 0
            • H
              hagst @liv-in-sky last edited by

              @liv-in-sky sagte in Datenpunkte addieren und dann multiplizieren in vis:

              es gab mal ein problem mit # in der datenpunkt-id - weiß nicht, ob das gefixt wurde - versuch das ganze mal mit einem anderen dp, ob es dann funktioniert

              Jepp, daran hat es gelegen. Wenn ich einen anderen Datenpunkt ohne # im Name probiere, wird der Wert auch richtig ausgegeben. So, und wie kann ich das Problem lösen, hast Du eine Ahnung?

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • CrunkFX
                CrunkFX Forum Testing last edited by

                @hagst Eine Möglichkeit wäre es mit dem Alias Adapter einen Alias für den Shelly Anzulegen der den Wert spiegelt. Dann ohne #

                1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @hagst last edited by

                  @hagst

                  nur über ein extra script und extra dp

                  oder evt alias

                  1 Reply Last reply Reply Quote 0
                  • H
                    hagst last edited by

                    So, mit dem Alias hat es geklappt, auch wenn die Kommastelle arg verrutscht ist und ich diesen Monat schon 12120.1325 € bezahlen muss 🙂
                    Ich glaube, das mit meinen beiden Scrips ist dann doch einfacher.

                    liv-in-sky 2 Replies Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @hagst last edited by

                      @hagst

                      was sollte den rauskommen - hat sich die vis verechnet ?

                      1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @hagst last edited by liv-in-sky

                        @hagst

                        funktioniert ohne probleme, wenn die dp vom type number sind und die einzelnen werte mit Number(..) umschrieben sind (oder parseFloat)

                        scrennmovie (4).gif

                        {wert1:0_userdata.0.CONTROL-OWN.AAATEST.aObject; wert2:0_userdata.0.CONTROL-OWN.AAATEST.TestZahl2; wert3:0_userdata.0.CONTROL-OWN.AAATEST.TestZahlPx;(Number(wert1)+Number(wert2))*Number(wert3)}
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        769
                        Online

                        32.1k
                        Users

                        80.6k
                        Topics

                        1.3m
                        Posts

                        5
                        15
                        1672
                        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