Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Aktuelle Leistung aus Stromzählerstand berechnen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Aktuelle Leistung aus Stromzählerstand berechnen

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

      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/

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Wurmi last edited by 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 1 Reply Last reply Reply Quote 2
        • W
          Wurmi @paul53 last edited by

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

          Gruß
          Wurmi \m/

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

          Support us

          ioBroker
          Community Adapters
          Donate

          876
          Online

          31.7k
          Users

          79.8k
          Topics

          1.3m
          Posts

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