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. Auswertung für smartmeter

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    417

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

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

Auswertung für smartmeter

Scheduled Pinned Locked Moved Skripten / Logik
62 Posts 16 Posters 11.5k Views 4 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.
  • RöstkartoffelR Offline
    RöstkartoffelR Offline
    Röstkartoffel
    wrote on last edited by
    #44

    Hi crissh.

    Das freut mich.

    Da du jetzt die notwendigen Daten hast, ist der Rest mit der Darstellung in Vis nur noch Kosmetik.

    Gruß

    Volker

    NUC7i3BNH mit Proxmox und ioBroker (VM Debian Buster), Raspi3 (Slave Smartmeter für eHZ easymeter), Hardware CCU2, SMA SB5000TL-21

    1 Reply Last reply
    0
    • B Offline
      B Offline
      Brookyman
      wrote on last edited by
      #45

      Hallo,

      für die Überwachung meiner Wärmepumpe möchte ich mir den Verbrauch je Minute in Watt ausrechnen lassen. Da ich aber mit Scripten noch nie was zu tun hatte wollte ich hier mal an fragen ob mir wer sagen kann was ich z.B. an dem Stunden Script anpassen muss, damit ich den Wert minütlich ausgerechnet bekomme.

      1 Reply Last reply
      0
      • Palm_ManiacP Offline
        Palm_ManiacP Offline
        Palm_Maniac
        wrote on last edited by
        #46

        Hallo,

        ich bin der neue hier bei ioBroker und ich weiß, dass der Threat schon etwas älter ist, aber bei mir gerade aktuell. :)

        Vor einer Woche habe ich angfangen mit ioBroker zu experimentieren und bin jetzt schon soweit, dass ich mich frage, wieso ich erst jetzt auf diese Software setze. Mit intensiven Lesen hier im Forum und ausprobieren, habe ich alles Rund um meinen SMA-WR und Discovergy-Zähler hinbekommen. Auch das Skript hier aus dem Threat habe ich endlich zu Laufen gebracht.

        Nun gibt es aber doch eine Frage.

        17814_werte.jpg

        Wie man sehen kann, werden Daten von Skript erfasst. Bei der Übergabe von TMP in die Objekte für Tag, Woche, Monat, usw. werden 3 Nachkommastellen ohne Trennung angehängt. Das ist natürlich falsch. Wie bekomme ich die richtige Anzeige hin mit 3 Nachkommastellen? Wo muß ich was eintragen? Kann ich das eventuell in den Objekt-Eigenschaften festlegen oder muß dazu etwas ins Skript eingefügt werden?

        Vielen Dank im voraus für eure Hilfe und vielen Dank an die Autoren für dieses tolle Programm/Projekt. :)

        1 Reply Last reply
        0
        • Palm_ManiacP Offline
          Palm_ManiacP Offline
          Palm_Maniac
          wrote on last edited by
          #47

          Hallo,

          ich habe das Skript vergessen, welches ich benutze. Hier ist es:

          // NEU - Zählerstand vom Anfang der akt. Stunde wird ermittelt v 0.11
          //
          
          var AktWoche 	= true;					// Berechnung des Wertes: Aktuelle Woche ein-/ausschalten 
          var AktMonat	= true;					// Berechnung des Wertes: Aktueller Monat ein-/ausschalten 
          var PathToDP  = "javascript.0.Stromzähler.Discovergy.";  // Pfad zum Datenpunkt
          
          var cronH           = "0 * * * *";
          var cronD           = "59 23 * * *";
          var cronW           = "0 0 * * 1";
          var cronM           = "0 0 1 * *";
          
          var idHAGTotH       = PathToDP + "tmp.Total-h";
          var idHAGTotD       = PathToDP + "tmp.Total-d";
          var idHAGTotW       = PathToDP + "tmp.Total-w";
          var idHAGTotM       = PathToDP + "tmp.Total-m";
          var idHAGTotal      = "script.js.Strom.Einspeise-Bezug.Werte.Gesamtverbrauch";               /*Stromverbrauch insgesammt*/
          var idHAGZielH      = PathToDP + "Stunde";
          var idHAGZielD      = PathToDP + "Tag";
          var idHAGZielW      = PathToDP + "Woche";
          var idHAGZielM      = PathToDP + "Monat";
          var idHAGZielT      = PathToDP + "Heute";
          var idHAGZielCW     = PathToDP + "AktuelleWoche";
          var idHAGZielCM     = PathToDP + "AktuellerMonat";
          
          var debug           = false;
          
          var DPArray         = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM, idHAGZielT, idHAGZielCW, idHAGZielCM];
          var DPUnit          = "Wh";
          
          DPArray.forEach(function(wert, index, array) {
              var DPType = wert.split(".");
              var DPDescr = "Stromverbrauch " + (DPType[DPType.length - 1]);
          
              if(index > 3) DPUnit = "Wh";
              createState(wert, 0, {
                  name: DPDescr,
                  desc: DPDescr,
                  type: 'number',
                  unit: DPUnit,
                  role: 'value'
              });
          });
          
          function haupt (VorId, ZielId, SetN) {
              var nVorwert = getState(VorId).val;
              var nAktuell = getState(idHAGTotal).val;
              var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
              setState(ZielId, runden(nDiff, 3), true);
              if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
              if(SetN) {
                  var shandler = on ({id: ZielId, change: 'any'}, function(data) {
                      setState(VorId, (nAktuell*10)/10, true);
                      unsubscribe(shandler); 
                  });
              }
          }
          
          // regelmässige Wiederholungen
          // -----------------------------------------------------------------------------
          
          schedule(cronH, function () {
              haupt(idHAGTotH, idHAGZielH, true);
              haupt(idHAGTotD, idHAGZielT, false);
              if(AktWoche) haupt(idHAGTotW, idHAGZielCW, false);
              if(AktMonat) haupt(idHAGTotM, idHAGZielCM, false);
          });
          
          schedule(cronD, function () {
              haupt(idHAGTotD, idHAGZielD, true);
          });
          
          schedule(cronW, function () {
              haupt(idHAGTotW, idHAGZielW, true);
          });
          
          schedule(cronM, function () {
              haupt(idHAGTotM, idHAGZielM, true);
          });
          
          1 Reply Last reply
          0
          • a200A Offline
            a200A Offline
            a200
            wrote on last edited by
            #48

            @Palm_Maniac:

            Hallo,

            ich habe das Skript vergessen, welches ich benutze. Hier ist es: `
            bist du dir sicher, dass du Nachkommastellen überhaupt hast? Was steht bei dir im Datenpunkt: "script.js.Strom.Einspeise-Bezug.Werte.Gesamtverbrauch"

            Wenn du immer nur ganze Wh Angaben hast, dann können keine Nachkommastellen entstehen. Schau aber erstmal in dem o.g. Datenpunkt.

            a200.

            IoBroker auf QNAP TS-451, Raspi und NUC

            1 Reply Last reply
            0
            • Palm_ManiacP Offline
              Palm_ManiacP Offline
              Palm_Maniac
              wrote on last edited by
              #49

              Also unter dem Datenpunkt wird mit Nachkommastelle in Watt ausgegeben, aktuell z.b. 1143.5W. In den TMPs des Skripts steht es noch richtig.

              Ich habe im Skript gesehen, wenn die Differenz zwischen aktuellen und vorhergehenden Wert berechnet wird, dann werden die jeweilen Werte mit 10 multipliziert und das Ergebnis dann nochmal mit 100. Als Ergebnis gibts dann die Monsterzahlen, die eher mWh entsprechen als Wh. Hier der Ausschnitt des Codes:

              var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
              

              Ist das Absicht so? Mir kommt das komisch vor.

              Hier mal ein Ausschnitt von Heute mit den Inhalten der Objekte. Da sieht man, dass sie temporär mit Nachkommastellen richtig als Wh abgelegt werden.

              17814_daten.jpg

              Und hier die Quelle, der Gesamtverbrauch.

              17814_gesamtverbrauch.jpg

              Da sind jetzt gerade mal viele Nachkommastellen, aber das Komma ist da.

              Vielen Dank für deine Hilfe. :)

              1 Reply Last reply
              0
              • a200A Offline
                a200A Offline
                a200
                wrote on last edited by
                #50

                @Palm_Maniac:

                Also unter dem Datenpunkt wird mit Nachkommastelle in Watt ausgegeben, aktuell z.b. 1143.5W. In den TMPs des Skripts steht es noch richtig.

                Ich habe im Skript gesehen, wenn die Differenz zwischen aktuellen und vorhergehenden Wert berechnet wird, dann werden die jeweilen Werte mit 10 multipliziert und das Ergebnis dann nochmal mit 100. Als Ergebnis gibts dann die Monsterzahlen, die eher mWh entsprechen als Wh. Hier der Ausschnitt des Codes:

                var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
                

                Ist das Absicht so? Mir kommt das komisch vor.

                Hier mal ein Ausschnitt von Heute mit den Inhalten der Objekte. Da sieht man, dass sie temporär mit Nachkommastellen richtig als Wh abgelegt werden.

                Daten.JPG

                Und hier die Quelle, der Gesamtverbrauch.

                Gesamtverbrauch.jpg

                Da sind jetzt gerade mal viele Nachkommastellen, aber das Komma ist da.

                Vielen Dank für deine Hilfe. :) `

                das sollte doch eher.

                var nDiff = ((nAktuell * 10) - (nVorwert * 10)) / 10;
                

                heißen. Also durch Zehn und nicht mal Hundert. So steht es wenigstens bei mir drin.

                Sauberer sollte es aber so sein:

                var nDiff = parseFloat(nAktuell) - parseFloat(nVorwert);
                

                Scheint bis jetzt Niemandem aufgefallen zu sein. Habe ich im ersten Posting korrigiert.

                IoBroker auf QNAP TS-451, Raspi und NUC

                1 Reply Last reply
                0
                • Palm_ManiacP Offline
                  Palm_ManiacP Offline
                  Palm_Maniac
                  wrote on last edited by
                  #51

                  Hallo a200,

                  das mit *100 ist so aus deiner 2. Version, als die Punkte für Aktueller Monat und Aktuelle Woche dazu kamen, etwas weiter unten auf der ersten Seite hier. Da hat sich der Fehler wohl schon eingeschlichen. :)

                  Den geänderten Code werde ich gleich übernehmen und berichten. Vielen Dank. :)

                  1 Reply Last reply
                  0
                  • Palm_ManiacP Offline
                    Palm_ManiacP Offline
                    Palm_Maniac
                    wrote on last edited by
                    #52

                    Jetzt klappt es, es werden keine mWh mehr berechnet. :)

                    Etwas verstehe ich aber noch nicht. Wieso wird in dem Skript eine Differenzberechnung durchgehführt? Was hat ein, sich mit der Zeit aufaddierender Wert mit der Differenz zum Vortag zut un? Aktuell führt das nähmlich bei mir zu negativen Werten Bei der Berechnung für Stromverbrauch Heute und Stromverbrauch Aktuelle Woche.

                    Nach meinem Verständnis fängt doch jeder neue Tag ab 0 Uhr bei Null an. Also müßte bei jedem Durchlauf des Skripts nach einer Stunde der neue Wert auf den alten aufaddiert werden. Im Skript wird aber immer der Vorwert vom aktuellen Wert abgezogen, was dann eben zu negativen Verbrauchsdaten führen kann. Oder habe ich da jetzt einen Denkfehler drin?

                    Vielleicht greife ich auch die falschen Daten ab. Das Objekt "Gesamtverbrauch" ergibt sich bei mir aus den Echtzeitverbrauchswerten der PV-Anlage und dem Bezug aus dem Netz. Also Daten, die sich sekündlich ändern. Oder muß ich den Zählerstand als Quelle angeben? Dann würde ich die Differenzberechnung verstehen.

                    1 Reply Last reply
                    0
                    • a200A Offline
                      a200A Offline
                      a200
                      wrote on last edited by
                      #53

                      @Palm_Maniac:

                      Jetzt klappt es, es werden keine mWh mehr berechnet. :)

                      Etwas verstehe ich aber noch nicht. Wieso wird in dem Skript eine Differenzberechnung durchgehführt? Was hat ein, sich mit der Zeit aufaddierender Wert mit der Differenz zum Vortag zut un? Aktuell führt das nähmlich bei mir zu negativen Werten Bei der Berechnung für Stromverbrauch Heute und Stromverbrauch Aktuelle Woche.

                      Nach meinem Verständnis fängt doch jeder neue Tag ab 0 Uhr bei Null an. Also müßte bei jedem Durchlauf des Skripts nach einer Stunde der neue Wert auf den alten aufaddiert werden. Im Skript wird aber immer der Vorwert vom aktuellen Wert abgezogen, was dann eben zu negativen Verbrauchsdaten führen kann. Oder habe ich da jetzt einen Denkfehler drin?

                      Vielleicht greife ich auch die falschen Daten ab. Das Objekt "Gesamtverbrauch" ergibt sich bei mir aus den Echtzeitverbrauchswerten der PV-Anlage und dem Bezug aus dem Netz. Also Daten, die sich sekündlich ändern. Oder muß ich den Zählerstand als Quelle angeben? Dann würde ich die Differenzberechnung verstehen. `

                      Dein Datenpunkt idHAGTotal muss auf den Gesamtzählerstand zeigen.

                      Die Berechnung funktioniert wie folgt:

                      um 13:00 wird der aktueller Gesamtzählerstand (z.B. 15000 kWh) minus der Zählerstand um 12:00 (z.B. 14800 kWh) berechnet. Das ergibt den Verbrauch der letzten Stunde (200 kWh). Der aktueller Gesamtzählerstand wird wieder in den TMP-H Datenpunkt geschrieben, um um 13:00 wieder die Differenz berechnen zu können.

                      Also wir ziehen immer vom aktuellen Gesamtzählerstand jeweils den Vorstunden-, Vortag-, Vorwoche-, Vormonatwert abgezogen. Das ergibt den Verbrauch in der letzten Stunde, letzten Tag, Woche und Monat.

                      Ich hoffe, jetzt ist es etwas klarer

                      IoBroker auf QNAP TS-451, Raspi und NUC

                      1 Reply Last reply
                      0
                      • DutchmanD Offline
                        DutchmanD Offline
                        Dutchman
                        Developer Most Active Administrators
                        wrote on last edited by
                        #54

                        Ihr wisst dass es inzwischen dafür einen Adapter gibt?

                        viewtopic.php?t=20897

                        Ich freue mich über jeden Tester!

                        Ziel ist ihn nächste Woche aus der Beta zu hohlen

                        Sent from my iPhone using Tapatalk

                        SlowmanS 1 Reply Last reply
                        0
                        • Palm_ManiacP Offline
                          Palm_ManiacP Offline
                          Palm_Maniac
                          wrote on last edited by
                          #55

                          Dann ist alles klar. :) Ok, dann werde ich umstellen.

                          Vielen Dank, a200.

                          Den Adapter schaue ich mir auch mal an.

                          1 Reply Last reply
                          0
                          • DutchmanD Dutchman

                            Ihr wisst dass es inzwischen dafür einen Adapter gibt?

                            viewtopic.php?t=20897

                            Ich freue mich über jeden Tester!

                            Ziel ist ihn nächste Woche aus der Beta zu hohlen

                            Sent from my iPhone using Tapatalk

                            SlowmanS Offline
                            SlowmanS Offline
                            Slowman
                            wrote on last edited by
                            #56

                            @Dutchman sagte in Auswertung für smartmeter:

                            Ihr wisst dass es inzwischen dafür einen Adapter gibt?

                            viewtopic.php?t=20897

                            Ich freue mich über jeden Tester!

                            Ziel ist ihn nächste Woche aus der Beta zu hohlen

                            Sent from my iPhone using Tapatalk

                            Link funktioniert nicht zu den neuen Adapter oder ist dieser überhaupt nicht realisiert worden ?

                            HomoranH 1 Reply Last reply
                            0
                            • SlowmanS Slowman

                              @Dutchman sagte in Auswertung für smartmeter:

                              Ihr wisst dass es inzwischen dafür einen Adapter gibt?

                              viewtopic.php?t=20897

                              Ich freue mich über jeden Tester!

                              Ziel ist ihn nächste Woche aus der Beta zu hohlen

                              Sent from my iPhone using Tapatalk

                              Link funktioniert nicht zu den neuen Adapter oder ist dieser überhaupt nicht realisiert worden ?

                              HomoranH Do not disturb
                              HomoranH Do not disturb
                              Homoran
                              Global Moderator Administrators
                              wrote on last edited by
                              #57

                              @Slowman sagte in Auswertung für smartmeter:

                              Link funktioniert nicht

                              Doch!
                              rechte Maustatste und in neuem Tab öffnen

                              @Slowman sagte in Auswertung für smartmeter:

                              ist dieser überhaupt nicht realisiert worden

                              natürlich ist er das

                              kein Support per PN! - Fragen im Forum stellen -
                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Reply Last reply
                              0
                              • SlowmanS Offline
                                SlowmanS Offline
                                Slowman
                                wrote on last edited by
                                #58

                                @Homoran

                                Vielen Dank, nur klicken mit der Maus bekomme ich eine Fehlermeldung.

                                HomoranH 1 Reply Last reply
                                0
                                • SlowmanS Slowman

                                  @Homoran

                                  Vielen Dank, nur klicken mit der Maus bekomme ich eine Fehlermeldung.

                                  HomoranH Do not disturb
                                  HomoranH Do not disturb
                                  Homoran
                                  Global Moderator Administrators
                                  wrote on last edited by
                                  #59

                                  @Slowman sagte in Auswertung für smartmeter:

                                  nur klicken

                                  auch bei rechtsklick?

                                  kein Support per PN! - Fragen im Forum stellen -
                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Reply Last reply
                                  0
                                  • SlowmanS Offline
                                    SlowmanS Offline
                                    Slowman
                                    wrote on last edited by
                                    #60

                                    Nein, bei rechts klick funktioniert es, aber nicht der Direktklick, da kommt bei mir

                                    Nicht Gefunden
                                    Diese Seite existiert nicht. Zur Homepage zurückkehren.

                                    HomoranH 1 Reply Last reply
                                    0
                                    • SlowmanS Slowman

                                      Nein, bei rechts klick funktioniert es, aber nicht der Direktklick, da kommt bei mir

                                      Nicht Gefunden
                                      Diese Seite existiert nicht. Zur Homepage zurückkehren.

                                      HomoranH Do not disturb
                                      HomoranH Do not disturb
                                      Homoran
                                      Global Moderator Administrators
                                      wrote on last edited by
                                      #61

                                      @Slowman sagte in Auswertung für smartmeter:

                                      aber nicht der Direktklick, da kommt

                                      Ich klicke direkt mit rechts ;-)

                                      sorry für die Begriffsverwirrung

                                      kein Support per PN! - Fragen im Forum stellen -
                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      E 1 Reply Last reply
                                      0
                                      • HomoranH Homoran

                                        @Slowman sagte in Auswertung für smartmeter:

                                        aber nicht der Direktklick, da kommt

                                        Ich klicke direkt mit rechts ;-)

                                        sorry für die Begriffsverwirrung

                                        E Offline
                                        E Offline
                                        europe
                                        wrote on last edited by
                                        #62

                                        @a200

                                        Das Skript ist super... ich habe noch eine Baustelle.
                                        Wenn iobroker neu gestartet wird (zB update controller) dann werden "null" Werte geschrieben. Wie kann ich die loswerden? Einmal ist es mit ack false und einmal mit true. Beide an Zeiten wo eigentlich nichts erscheinen soll. Hier zB ein Beispiel wo um 1 vor der volle Stunde was geschrieben wird, am um 9:38 und 9:38 wurden nulls geschrieben.

                                        3cc3e87e-403f-4de2-b5fe-5e0334ad7b94-image.png

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        652

                                        Online

                                        32.7k

                                        Users

                                        82.5k

                                        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