Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Aktuelle Leistung aus Stromzählerstand berechnen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    819

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.6k

Aktuelle Leistung aus Stromzählerstand berechnen

Scheduled Pinned Locked Moved Skripten / Logik
3 Posts 2 Posters 492 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    W Offline
    Wurmi
    wrote on last edited by
    #1

    Moin zusammen,

    mein Stromzähler zeigt mir nur den aktuellen Zählerstand an und diesen kann ich auch via IR-Kopf auslesen. Ich habe versucht an die PIN vom Stromzähler (APATOR/PAFAL 12ec3g) zu kommen aber laut meinem Messstellenbetreiber haben die keine PIN hinterlegt und so kann ich die aktuelle Leistung nicht einsehen :-( Auch reagiert der Zähler nicht auf das anleuchten mit der Taschenlampe.

    Ich habe versucht mir von ChatGPT ein JSScript bauen zu lassen, aber es kommen Werte wie 0,08 und 0,15 raus.

    // ID des Stromzählerstands-Datapoints
    var meterId = 'deinStromzaehlerstandID';
    // ID des Datapoints, um die aktuelle Leistung zu speichern
    var powerId = 'deineLeistungsDatapointID';
    
    // Variable zur Speicherung des vorherigen Zählerstands
    var previousMeterValue = null;
    // Variable zur Speicherung des vorherigen Zeitstempels
    var previousTimestamp = null;
    
    // Funktion zum Berechnen der aktuellen Leistung
    function calculatePower() {
      // Aktueller Zählerstand
      var currentMeterValue = getState(meterId).val;
      // Aktueller Zeitstempel
      var currentTimestamp = Date.now();
    
      if (previousMeterValue !== null && previousTimestamp !== null) {
        // Berechnung der Zeitdifferenz in Sekunden
        var timeDifference = (currentTimestamp - previousTimestamp) / 1000;
    
        if (timeDifference > 0 && currentMeterValue >= previousMeterValue) {
          // Berechnung der Differenz zwischen aktuellem und vorherigem Zählerstand
          var meterDifference = currentMeterValue - previousMeterValue;
    
          // Berechnung der aktuellen Leistung in Watt mit zwei Nachkommastellen
          var power = parseFloat((meterDifference / timeDifference) * 1000).toFixed(2);
    
          // Aktuelle Leistung setzen
          setState(powerId, power);
        }
      }
    
      // Vorherigen Zählerstand und Zeitstempel aktualisieren
      previousMeterValue = currentMeterValue;
      previousTimestamp = currentTimestamp;
    }
    
    // Überwachung von Änderungen am Zählerstand
    on({ id: meterId, change: 'ne' }, calculatePower);
    
    

    vlt könnt ihr mir helfen uns sagen wo der Fehler ist bzw. wie man es anders/besser machen kann. Der Zählerstand wird alle 60 Sekunden durch Smartmeter ausgelesen und mit zwei Nachkommastellen abgespeichert (31968.68)

    Gruß
    Wurmi \m/

    paul53P 1 Reply Last reply
    0
    • W Wurmi

      Moin zusammen,

      mein Stromzähler zeigt mir nur den aktuellen Zählerstand an und diesen kann ich auch via IR-Kopf auslesen. Ich habe versucht an die PIN vom Stromzähler (APATOR/PAFAL 12ec3g) zu kommen aber laut meinem Messstellenbetreiber haben die keine PIN hinterlegt und so kann ich die aktuelle Leistung nicht einsehen :-( Auch reagiert der Zähler nicht auf das anleuchten mit der Taschenlampe.

      Ich habe versucht mir von ChatGPT ein JSScript bauen zu lassen, aber es kommen Werte wie 0,08 und 0,15 raus.

      // ID des Stromzählerstands-Datapoints
      var meterId = 'deinStromzaehlerstandID';
      // ID des Datapoints, um die aktuelle Leistung zu speichern
      var powerId = 'deineLeistungsDatapointID';
      
      // Variable zur Speicherung des vorherigen Zählerstands
      var previousMeterValue = null;
      // Variable zur Speicherung des vorherigen Zeitstempels
      var previousTimestamp = null;
      
      // Funktion zum Berechnen der aktuellen Leistung
      function calculatePower() {
        // Aktueller Zählerstand
        var currentMeterValue = getState(meterId).val;
        // Aktueller Zeitstempel
        var currentTimestamp = Date.now();
      
        if (previousMeterValue !== null && previousTimestamp !== null) {
          // Berechnung der Zeitdifferenz in Sekunden
          var timeDifference = (currentTimestamp - previousTimestamp) / 1000;
      
          if (timeDifference > 0 && currentMeterValue >= previousMeterValue) {
            // Berechnung der Differenz zwischen aktuellem und vorherigem Zählerstand
            var meterDifference = currentMeterValue - previousMeterValue;
      
            // Berechnung der aktuellen Leistung in Watt mit zwei Nachkommastellen
            var power = parseFloat((meterDifference / timeDifference) * 1000).toFixed(2);
      
            // Aktuelle Leistung setzen
            setState(powerId, power);
          }
        }
      
        // Vorherigen Zählerstand und Zeitstempel aktualisieren
        previousMeterValue = currentMeterValue;
        previousTimestamp = currentTimestamp;
      }
      
      // Überwachung von Änderungen am Zählerstand
      on({ id: meterId, change: 'ne' }, calculatePower);
      
      

      vlt könnt ihr mir helfen uns sagen wo der Fehler ist bzw. wie man es anders/besser machen kann. Der Zählerstand wird alle 60 Sekunden durch Smartmeter ausgelesen und mit zwei Nachkommastellen abgespeichert (31968.68)

      Gruß
      Wurmi \m/

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @wurmi sagte: wie man es anders/besser machen kann.

      const idEnergy = '...'; // Zählerstand in kWh
      const idPower = '0_userdata.0.Elektro.Zaehler.Leistung'; // in W
      
      on(idEnergy, function(dp) {
          let power = 3600000000 * (dp.state.val - dp.oldState.val) / (dp.state.lc - dp.oldState.lc);
          setState(idPower, Math.round(power), true);
      });
      

      @wurmi sagte in Aktuelle Leistung aus Stromzählerstand berechnen:

      von ChatGPT ein JSScript bauen zu lassen

      ChatGPT muss offenbar noch viel lernen.

      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

      W 1 Reply Last reply
      2
      • paul53P paul53

        @wurmi sagte: wie man es anders/besser machen kann.

        const idEnergy = '...'; // Zählerstand in kWh
        const idPower = '0_userdata.0.Elektro.Zaehler.Leistung'; // in W
        
        on(idEnergy, function(dp) {
            let power = 3600000000 * (dp.state.val - dp.oldState.val) / (dp.state.lc - dp.oldState.lc);
            setState(idPower, Math.round(power), true);
        });
        

        @wurmi sagte in Aktuelle Leistung aus Stromzählerstand berechnen:

        von ChatGPT ein JSScript bauen zu lassen

        ChatGPT muss offenbar noch viel lernen.

        W Offline
        W Offline
        Wurmi
        wrote on last edited by
        #3

        @paul53 Vielen dank :-) e3ae1801-a7c3-4093-b0b6-8d3a30868adf-image.png Hat geklappt.

        Gruß
        Wurmi \m/

        1 Reply Last reply
        0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        Support us

        ioBroker
        Community Adapters
        Donate

        599

        Online

        32.8k

        Users

        82.7k

        Topics

        1.3m

        Posts
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Home
        • Recent
        • Tags
        • Unread 0
        • Categories
        • Unreplied
        • Popular
        • GitHub
        • Docu
        • Hilfe