Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Stromverbrauchsrechnung mit NT HT Berücksichtigung - Script

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Stromverbrauchsrechnung mit NT HT Berücksichtigung - Script

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

      Hi,

      ich habe ein Script erstellt, um meinen Stromverbrauch aktuell darstellen zu können, ohne dass ich ablesen muss.

      Besonderheit ist, dass ich einen Niedrigtarif und einen Hochtarif beim Versorger abgeschlossen haben. Damit ist die Berechnung etwas komplizierter als bei einem einzigen Tarif.

      Vorraussetzungen

      • Vertrag bei einem Stromversorger mit Niedrig- und Hochtarif ( HT - NT)

      • Stromzähler muss ausgelesen werden. Das mache ich mit BControl, der intern einen Stromzähler hat. Andere Lösungen lassen sich einbinden

      • Feiertagskalender Adapter muss aktiviert sein. Der wird gebraucht für die HT

      Funktionen:

      • Berechnung des Zaehlerstandes synchron zum Zaehlerstandes des Energieversorgers

      • Automatische Umschaltung für HT und NT

      • Fortschreibung der Zählerstandes frei wählbar entsprechend CRON schedule

      • Bewertung des Verbrauchs getrennt nach HT und NT

      • Hochrechnung des Verbrauchs auf das Gesamtjahr

      • Prognose der Kosten unter Berücksichtigung des aktuellen kwh Preises und Grundpreises

      • Deltarechnung zwischen dem vom Energieversorger errechnetenn Abschlag und der Stromverbrauchsprognose in Euro

      • Auf Wunsch logging der Verbrauchswerte in eine Excel-lesbare Datei (CSV)

      Aufgrund der Vorraussetzungen wird das Programm nicht für viele relevant sein. Vielleicht kann es aber trotzdem der eine oder andere nutzen.

      vG Looxer

      305_stromzaehler_10.txt

      Hinweis1: weitere Darstellungen wie z.B. Tagestromverbrauch, Monatsstromverbrauch etc könnnen mit dem Betriebsstundenzähler erreicht werden. Hierzu können die angelegten States verwendet werden.

      Hinweis2: ich habe den schedule auf 30 Minuten eingestellt. Ich empfehle kürzere Einstellungen nur zum Testen, da sich mit sehr kurzen Messungen Rundungsfehler ergeben können.

      1 Reply Last reply Reply Quote 0
      • L
        looxer01 last edited by

        Hi,

        ich habe das Programm erweitert und etwas umgearbeitet.

        Change_Log gibt es im ersten Post im Programm.

        vG Looxer

        1 Reply Last reply Reply Quote 0
        • S
          Solear last edited by

          Hallo,

          vielen Dank für das Script! Ich bin sehr interessiert.

          Wie funktioniert das mit "BControl"? Kann man auch den Homematic Stromzähler nehmen? Dieser hat ja den Nachteil, gerade bei wenig/keinen Stromverbrauch ungenau zu sein, weil er nur jede "Umdrehung" misst.

          1 Reply Last reply Reply Quote 0
          • L
            looxer01 last edited by

            Hi solear.

            Ich habe den neuen Adapter erst ein paar Tage life. Sieht aber gut aus. Es gibt sehr kleine Abweichungen wegen Differenzen der schaltzeiten vom energieversorger. Aber die gleichen sich zwischen NT und ht aus. Das Programm sollte mit jedem energiemesser funktionieren. Es muss nur eine Fortschreibung des Verbrauchs auslesbar sein

            VG looxer

            Gesendet von meinem SM-G935F mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • L
              looxer01 last edited by

              Ich habe den Stromzaehler nochmal erweitert und teilweise umgeschrieben. (jetzt version 1.0.

              So koennen jetzt Tabelle mit jason Datenpunkten verknuepft werden

              Bei mir läuft er jetzt so vor sich hin und macht was er machen soll.

              Falls jemand interesse hat und z.B. monatlich HT und NT Zaehlerstände manuell ablesen und eintippen möchte, dann sollte das auch ohne grossen Aufwand gehen. Einfach Bescheid sagen. Ich würde dann ein paar Anpassungen vornehmen.

              vG Looxer

              305_strom1.jpg
              305_strom3.jpg
              305_strom2.jpg

              1 Reply Last reply Reply Quote 0
              • S
                starfish last edited by

                hallo,

                bis jetzt brauchte ich den BSZ von looxer. Nun wollte ich das script Stromverbrauchsrechnung testen aber irgendwie habe ich noch einen Fehler drin.

                zur Rekapitulation: was muss man genau einstellen?

                • script kopieren, klar

                • den Zähler-datenpunkt konfigurieren (bei mir var StateDigizaehler= "modbus.0.inputRegisters.2801_Verbrauch"; ) sollte ja mit modbus-zähler auch laufen (?)

                • ggf. noch die manuellen Werte einfügen

                • Feiertagsadapter installieren

                eigentlich hätte ich erwartet, dass nach mehrfachem manuellem Start oder zumindest nach 1 Tag irgendwas passiert, tuts aber nicht.

                die States unter Stromzaehler werden erzeugt, bleiben aber auf 0

                das log /opt/iobroker/iobroker-data/Stromverbrauchslog.csv ist (noch) nicht zu finden.

                entweder bin ich zu ungeduldig oder habe etwas vergessen oder übersehen ?

                1 Reply Last reply Reply Quote 0
                • L
                  looxer01 last edited by

                  Hi,

                  leider habe ich im Moment keinen Zugriff zum System oder zum Programm.

                  Der Zähler ist ja im Prinzip relativ einfach gestrickt.

                  Er nimmt den letzten Zaehlerstand und ermittelt den Differenzstand. So wie im BSZ auch.

                  Allerdings kommt noch die Logik von NT und HT hinzu. Also zeitabhängig werden 2 Zaehler geführt.

                  Wenn also der Zaehler bisher in BSZ funktioniert hat, dann sollte das auch mit dem Programm funktionieren.

                  Der Verbrauch wird entsprechend cron Einstellung berechnet. Du solltest also etwas sehen können, wenn der Rest stimmt.

                  schick mir doch mal das konfigurierte Programm per PN. Dann schaue ich mir die Konfig an. Ansonsten bin ich am Freitag wieder am System.

                  vG Looxer

                  1 Reply Last reply Reply Quote 0
                  • L
                    looxer01 last edited by

                    @starfish:

                    • den Zähler-datenpunkt konfigurieren (bei mir var StateDigizaehler= "modbus.0.inputRegisters.2801_Verbrauch"; ) sollte ja mit modbus-zähler auch laufen (?) `

                    das scheint ein Verbrauchswert zu sein. Richtig waere ein Zaehlerstand. (interner Zaehlerstand des Messgeraetes)

                    Die Differenzwerte werden aus dem vorherigen und dem aktuellen Zaehlerstand ermittelt und dann NT oder HT zugerechnet. Damit kann der Verbrauch auch nach HT oder NT differenziert werden.

                    vG Looxer

                    1 Reply Last reply Reply Quote 0
                    • S
                      starfish last edited by

                      ein Blick von Looxer01 genügte: es war der Eintrag im Objekt Tarif.TarifAktuell der nicht den Tarif in cents, sondern entweder HT oder NT enthalten sollte. Jetzt scheint jedenfalls alles zu laufen.

                      1 Reply Last reply Reply Quote 0
                      • S
                        starfish last edited by

                        kann es sein, dass bei der Flot-Aufzeichnung des DP LetzterVerbrauch kWh Werte unter 0.05 kWh auf 0 abgerundet werden? (siehe violetter Linie).
                        291_flot_edit.png
                        in der Objektliste werden jedenfalls x Nachkomma-Stellen angezeigt.

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          Dann stell doch mal auf 3 oder 4 Nachkommastellen um.

                          Gruß

                          Rainer

                          1 Reply Last reply Reply Quote 0
                          • S
                            starfish last edited by

                            hallo Rainer - hatte ich bereits gemacht (im Flot-Editor auf 4 Nachkommastellen eingestellt - oder wo meinst Du?) - aber bei der Historien-Einstellung ganz am Ende der Objektzeile sehe ich unter "Tabelle" nach wie vor nur 2 Stellen und der Abrundungseffekt auf 0 ist nach wie vor vorhanden.

                            1 Reply Last reply Reply Quote 0
                            • L
                              looxer01 last edited by

                              Hi,

                              hast dir mal die Werte angesehen ?

                              hab mal ein Beispiel angehängt.

                              Sollte ja ähnlich bei dir aussehen ? vielleicht ist es ein Flot Anzeigeproblem.

                              vG Looxer

                              305_stromverbrauch.jpg

                              1 Reply Last reply Reply Quote 0
                              • S
                                starfish last edited by

                                hallo, bei mir siehts so aus:
                                291_iobroker.admin_2_.png
                                dazu muss ich anmerken, dass ich z.Zt. im Urlaub bin und der Stromverbrauch zu Hause nicht unbedingt sehr hoch ist. Aber 0 kann nicht sein. Ich könnte das Berechnungsintervall noch höher setzen, im Moment sinds die empfohlenen 30 Minuten für eine halbwegs vernünftige Auflösung (um Verbraucher zu identifizieren).

                                Flot Anzeigeproblem glaube ich weniger, wo 0 ist zeigt er auch 0 an. Bei Deinem Skript kanns auch nicht liegen, das zeigt immer einen Verbrauch an (hat ja auch genug Nachkommastellen). Die Abrundung passiert wohl irgendwo dazwischen, bei der History resp. SQL-Speicherung.

                                Diese Art Darstellung finde ich auch noch ganz gut: (wäre da nicht die chaotische Beschriftung der X-Achse)
                                291_flot_edit_2_.png

                                1 Reply Last reply Reply Quote 0
                                • L
                                  looxer01 last edited by

                                  @starfish:

                                  Bei Deinem Skript kanns auch nicht liegen, das zeigt immer einen Verbrauch an (hat ja auch genug Nachkommastellen). `

                                  ich bin da nicht so sicher. Es gibt mehrere Stellen bei denen die Nachkommastellen abhanden kommen können.

                                  • Der Smartmeter liefert Werte üblicherweise in Wh und Nachkommastellen. Wenn keine Nachkommastellen geliefert werden ist das eine mögliche Quelle

                                  • Das Programm rechnet Wh in kWh um. Im Programm sind 4 Nachkommastellen vorgesehen (einstellbar). Das sollte nicht darunter liegen. Wenn der Smartmeter kWh liefert, dann sollte die Anzahl der Nachkommastellen erhöht werden, z.B. auf 8

                                  • Wenn die Werte zu klein werden dann sollte das Messintervall erhöht werden. Du hast 30 Minuten eingestellt. Stelle es mal auf 60 Minuten

                                  vG Looxer

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    starfish last edited by

                                    an welcher Stelle soll die Erhöhung der Nachkommastellen auf 8 gemacht werden - hier:

                                      var RundungZaehler = 4;                      // Rundung fuer den Zaehler
                                    ````?
                                    
                                    hier noch ein interessantes Bild (Zählerstand gespreizt bei 250W/div)
                                    
                                    trotz kontinuierlichem Anstieg der 0-Wert beim Delta …
                                     ![291_flot_edit_3_.png](/assets/uploads/files/291_flot_edit_3_.png) 
                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 last edited by

                                      @starfish:

                                      an welcher Stelle soll die Erhöhung der Nachkommastellen auf 8 gemacht werden - hier:

                                        var RundungZaehler = 4;                      // Rundung fuer den Zaehler
                                      ````?
                                      
                                      hier noch ein interessantes Bild (Zählerstand gespreizt bei 250W/div)
                                      
                                      trotz kontinuierlichem Anstieg der 0-Wert beim Delta …
                                      
                                      Flot Edit(3).png `  
                                      

                                      ja genau.

                                      Auffällig ist, dass du nur zwei Nachkommastellen hast. Dafür muss es einen Grund geben.

                                      Wobei es sein kann, dass es bei einzelnen Werten eben nur 2 Nachkommastellen gibt, definitiv aber nicht bei allen.

                                      Wenn das keine Aenderung bringt, dann erhöhe die Messung auf 60 Minuten-

                                      vG Looxer

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        Ich denke außerdem, dass die Datensammlung nur alle halbe Stunde stattfindet. Im Chart ist wahrscheinlich Linie und nicht Schritte eingestellt, so dass "bestenfalls" gerade um 06:00 ein Drop war, der zu dieser Form der Kurve geführt hat.

                                        2 Nachkommastellen sind default bei der Erstellung von Charts, müssten ggf in den Optionen geändert werden.

                                        Gruß

                                        Rainer

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          looxer01 last edited by

                                          @Homoran:

                                          Ich denke außerdem, dass die Datensammlung nur alle halbe Stunde stattfindet. Im Chart ist wahrscheinlich Linie und nicht Schritte eingestellt, so dass "bestenfalls" gerade um 06:00 ein Drop war, der zu dieser Form der Kurve geführt hat. `
                                          Das würde bedeuten, dass kein Stromverbrauch innerhalb der gemessenen halben Stunde stattfand. Das dürfte eher unwahrscheinlich sein. Vielleicht war der Verbrauch aber so klein, dass abgerundet 0 raus kam. naja, auch ein Drop. Bei 2 Nachkommastellen und Messung in kWh würde das also bei <50 Watt passieren.

                                          @Homoran:

                                          2 Nachkommastellen sind default bei der Erstellung von Charts, müssten ggf in den Optionen geändert werden. `
                                          jap, das wäre das o.g Ergebnis bei 2 Nachkommastellen

                                          Ausserdem führt die Messung mit nur 2 Nachkommastellen auch zu einem falschen Zählerstand.

                                          Ich mache das schon seit einigen Monaten und meine Zählerstände NT und HT sind korrekt. Die Genauigkeit also hoch.

                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            Ich habe mir das Skript jetzt nicht intensiv angesehen,
                                            @looxer01:

                                            Das würde bedeuten, dass kein Stromverbrauch innerhalb der gemessenen halben Stunde stattfand. `
                                            Wenn jedoch nur alle halbe Stunde der aktuelle Stromverbrauch abgerufen (oder geloggt) wird, und genau zu diesem Zeitpunkt gerade 0 war???

                                            Für mich sieht der Chart so aus, als ob für den aktuellen Stromverbrauch nur alle 30 Minuten ein Wert existiert - keine Glättung!

                                            Gruß

                                            Rainer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            609
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            30
                                            4857
                                            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