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. Aktuelle Leistung aus Stromzählerstand berechnen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Aktuelle Leistung aus Stromzählerstand berechnen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 458 Aufrufe 1 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.
  • W Offline
    W Offline
    Wurmi
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #3

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

        Gruß
        Wurmi \m/

        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

        719

        Online

        32.6k

        Benutzer

        82.2k

        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