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. [gelöst] javascript Grundlage Berechnung

NEWS

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

  • 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] javascript Grundlage Berechnung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
6 Beiträge 3 Kommentatoren 1.2k Aufrufe
  • Ä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.
  • 0 Offline
    0 Offline
    0018
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    habe eine Anfängerfrage zum Thema Javascript und Berechnung einzelner Werte.

    Ich würde gerne zwei Werte miteinander multiplizieren und diese in eine neue Variable schreiben.

    Die Werte kommen aus CCU Variablen. Habe hierzu schon das Forum gewälzt und mir dieses zusammen gebastelt:

    createState('Stromkosten_laufende_Woche', 0);
    createState('Stromkosten_letzte_Woche', 0);
    
    var Preis = getState("hm-rega.0.7609").val;
    var SVaW = getState("hm-rega.0.7027").val; //Strom Verbrauch aktuelle Woche
    var SVlW = getState("hm-rega.0.7206").val; //Strom Verbrauch letzte Woche
    
    function laufendeWoche() {
    	var SklaW = Preis * SVaW;
    	setState('javascript.0.Stromkosten_laufende_Woche', SklaW);
    	}
    
    function letzteWoche() {
    	var SkleW = Preis * SVaW;
    	setState('javascript.0.Stromkosten_letzte_Woche', SkleW);
    	}
    
    

    Leider funktioniert dieses nicht so richtig.

    Könnt ihr mir sagen was im Script falsch ist und wie ich es richtig machen muss bzw. es am einfachsten ausführen kann?

    Mfg

    Mfg
    0018

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      Du berechnest die Wochenpreise innerhalb von Funktionen. Damit Funktionen ausgeführt werden, müssen sie aufgerufen werden, z.B. bei Script start:

      ...
      
      laufendeWoche();
      letzteWoche();
      
      

      Das genügt, wenn man das Script zykllsch startet (Cron).

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • 0 Offline
        0 Offline
        0018
        schrieb am zuletzt editiert von
        #3

        Ah ok. Habe es jetzt die funtionen rausgelassen.

        createState('Stromkosten_laufende_Woche', 0);
        createState('Stromkosten_letzte_Woche', 0);
        
        var Preis = getState("hm-rega.0.7609").val;
        var SVaW = getState("hm-rega.0.7027").val; //Strom Verbrauch aktuelle Woche
        var SVlW = getState("hm-rega.0.7206").val; //Strom Verbrauch letzte Woche
        
        	var SklaW = Preis * SVaW;
        	setState('javascript.0.Stromkosten_laufende_Woche', SklaW);
        
        	var SkleW = Preis * SVlW;
        	setState('javascript.0.Stromkosten_letzte_Woche', SkleW);
        
        

        jetzt klappt auch die Berechnung.

        Wie bekomme ich es hin das die Berechnung immer neu angestoßen wird wenn sich die Werte in der CCU Variable ändern?

        Mfg
        0018

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #4

          @0018:

          Ah ok. Habe es jetzt die funtionen rausgelassen.

          createState('Stromkosten_laufende_Woche', 0);
          createState('Stromkosten_letzte_Woche', 0);
          
          var Preis = getState("hm-rega.0.7609").val;
          var SVaW = getState("hm-rega.0.7027").val; //Strom Verbrauch aktuelle Woche
          var SVlW = getState("hm-rega.0.7206").val; //Strom Verbrauch letzte Woche
          
          	var SklaW = Preis * SVaW;
          	setState('javascript.0.Stromkosten_laufende_Woche', SklaW);
          
          	var SkleW = Preis * SVlW;
          	setState('javascript.0.Stromkosten_letzte_Woche', SkleW);
          
          

          jetzt klappt auch die Berechnung.

          Wie bekomme ich es hin das die Berechnung immer neu angestoßen wird wenn sich die Werte in der CCU Variable ändern? `

          createState('Stromkosten_laufende_Woche', 0);
          createState('Stromkosten_letzte_Woche', 0);
          
          var PreisID = "hm-rega.0.7609";
          var SVaW_ID = "hm-rega.0.7027"; //Strom Verbrauch aktuelle Woche
          var SVlW_ID = "hm-rega.0.7206";  //Strom Verbrauch letzte Woche
          
          function laufendeWoche() {
             setState('Stromkosten_laufende_Woche', getState(PreisID).val * getState(SVaW_ID).val);
          }
          
          function letzteWoche() {
             setState('Stromkosten_letzte_Woche', getState(PreisID).val * getState(SVlW_ID).val);
          }
          
          on(SVaW_ID, laufendeWoche);
          on(SVlW_ID, letzteWoche);
          on (PreisID, function () {
              laufendeWoche();
              letzteWoche();
          });
          
          
          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @0018:

            Wie bekomme ich es hin das die Berechnung immer neu angestoßen wird wenn sich die Werte in der CCU Variable ändern? `

            ...
            
            on("hm-rega.0.7027", function(dp){  // Änderung des Wertes für aktuelle Woche
                setState('javascript.0.Stromkosten_laufende_Woche', Preis * dp.state.val);
            });
            
            on("hm-rega.0.7206", function(dp){  // Änderung des Wertes für letzte Woche
                setState('javascript.0.Stromkosten_letzte_Woche', Preis * dp.state.val);
            });
            
            on("hm-rega.0.7609", function(dp) {  // Preisänderung
                Preis = dp.state.val;
            });
            
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • 0 Offline
              0 Offline
              0018
              schrieb am zuletzt editiert von
              #6

              Super, funktioniert wunderbar :D

              Danke!

              Mfg
              0018

              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

              906

              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