Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. +/- Watt-Wert (Power) in 2 kWh-Werte (Energy) trennen lassen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    +/- Watt-Wert (Power) in 2 kWh-Werte (Energy) trennen lassen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MJAS last edited by

      Hallo zusammen,

      ich hab folgendes Problem:
      Mein Wechselrichter zeigt mir die Leistung, die in den Akku geladen bzw. entladen wird, als +/- Werte (in Watt) an.

      Ich such nach irgendeiner Möglichkeit, die kWh-Werte, also die Energie, getrennt anzuzeigen, in...
      xx kWh = Batterie geladen
      xx kWh = Batterie entladen

      Ich hab folgendes JS-Skript, welches Watt in Wh bzw. kWh aufaggregiert:

      const idPower = '0_userdata.0.Akku_Ladeleistung';  // cur_power
      const idEnergy = '0_userdata.0.Akku_Ladeleistung_kWh'; // kWh
      
      // Energie-Datenpunkt erzeugen
      createState(idEnergy, 0.00, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
      
      var energy = 1000 * getState(idEnergy).val; // Wh, erzeugt beim ersten Skripstart Fehler
      
      on({id: idPower}, function(dp) {
         energy = energy + dp.state.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
         setState(idEnergy, Math.round(energy) / 1000, true); // kWh mit 3 Nachkommastellen
      });
      

      Lässt sich das evtl irgendwie modifizieren, um getrennte Werte zu erhalten?

      Danke und viele Grüße,
      Martin

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

        @mjas sagte: modifizieren, um getrennte Werte zu erhalten?

        const idPower = '0_userdata.0.Akku_Ladeleistung';  // cur_power
        const idLadung = '0_userdata.0.Akku_Ladeenergie'; // kWh
        const idEntladung = '0_userdata.0.Akku_Entladeenergie'; // kWh 
         
        var ladung = 1000 * getState(idLadung).val; // Wh
        var entladung = 1000 * getState(idEntladung).val; // Wh
         
        on(idPower, function(dp) {
            const deltaWh = dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 3600000; // Wh 
            if(deltaWh < 0) {
                entladung -= deltaWh;
                setState(idEntladung, Math.round(entladung) / 1000, true); // kWh mit 3 Nachkommastellen
            } else {
                ladung += deltaWh;
                setState(idLadung, Math.round(ladung) / 1000, true); // kWh mit 3 Nachkommastellen
            }
        });
        
        1 Reply Last reply Reply Quote 1
        • M
          MJAS last edited by

          Wow, vielen herzlichen Dank!

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          695
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

          2
          3
          125
          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