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. [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

[Vorlage] Betriebsstundenzähler & Verbrauchsrechner

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
333 Beiträge 51 Kommentatoren 92.8k Aufrufe 26 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.
  • K Offline
    K Offline
    knopers1
    schrieb am zuletzt editiert von
    #206

    Hi looxer01,

    vielen Dank nochmal für dein Script, läuft bereits paar Wochen lang und zählt schön mein Gasverbrauch.

    Jetzt habe ich mich heran gemacht und versuche den Strom zu erfassen.

    Als Grundlage habe ich wieder ein Sketch für "Gaszähler an Wemo D1 mini" genommen, etwas abgeändert und ein TCRT5000 Reflexionslichtschranke an das gute Teil angeschlossen.

    Ich bekomme jetzt jede Umdrehung des Stromzählers einen Wert von 0,1 dazugezählt….

    demnach nach 10 Umdrehungen der Scheibe wird eine glatte 1,00 ausgegeben. Die Werte kommen schön in den Iobroker mit Jawascript herein....

    Jetzt zur meiner Frage aber.... Laut meinem Stromzähler, ergeben 96 Umdrehungen der Scheibe = 1 KWh.

    Um den Tagesverbrauch zu ermitteln, müsste ich normal nur noch die Umdrehungen pro Tag zählen. Das sowiet klar.. Wie komme ich auf den Momentanverbrauch. Da spielt natürlich Zeit im Spiel. Kannst Du mir helfen Looxer01?

    HP Microserver Gen8, RPI-4, IoBroker,

    1 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      looxer01
      schrieb am zuletzt editiert von
      #207

      Hi Christian,

      zum Thema korrekter Umrechnung

      kannst du mal die Werte aus den unterliegenden Datenpunkten der folgenden Objekte zeigen ?

      javascript.0.BSZ.System.Grp02Kum

      javascript.0.BSZ.System.Grp02MSec

      javascript.0.BSZ.System.Grp03Kum

      javascript.0.BSZ.System.Grp03MSec

      Hintergrund ist, dass dort die realen Werte ohne Umrechnung gespeichert werden.

      Falls dort die Werte stimmen, dann gib in das Runden für kwh und Euro mal jeweils 9 ein.

      Mit Rundungen hatte ich mal Probleme. Die Originalwerte aus dem Systembereich verändern sich dabei nicht.

      Zum Thema "before" habe ich im Moment noch keine Idee. Da gab es noch nie ein Problem.

      "before" wird ja auch nicht gerechnet sondern einfach beim Tageswechsel in den Datenpunkt übertragen.

      Ich schaue mir nochmal das Coding an.

      vG Looxer

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        ple
        schrieb am zuletzt editiert von
        #208

        Das mit dem runden war bei mir mal ein Problem.

        Hattest du dann aber irgendwie gelöst.

        Ist diese Verbesserung garnicht als Update in deinem Script eingeflossen?

        Gruß

        Intel Nuc + Proxmox

        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          looxer01
          schrieb am zuletzt editiert von
          #209

          Hi

          @knopers1:

          Wie komme ich auf den Momentanverbrauch. Da spielt natürlich Zeit im Spiel. `

          Was liefert denn der Zähler genau für Daten ? Darauf kommt es ja an wie eine Lösung aussehen könnte.

          Theoretisch kannst du einen annähernden Momentanverbrauch (abhängig von der Laufzeit einer Umrundung) erhalten.

          jede Umdrehung = ungefähr 100 Watt . Wenn die Scheibe dafür 60 Sekunden braucht, dann hast du 6 kWh Verbrauch

          bei 0,5 kWh Verbrauch dürfte eine Scheibenumdrehung also 12 Minuten brauchen - korrekt ?

          Bei diesen Werten ist der Momentanverbrauch also eher ein letzter Verbrauch.

          Wie du schon gesagt hast. Du brauchst die letzte Umdrehungszeit. Wenn die geliefert wird, dann kannst du mit dem BSZ einfach umrechnen (Methode CALC)

          Wenn aber nur "0,1" geliefert wird, dann wird es eher schwierig für den BSZ, bzw. es bräuchte zusätzliches Coding über den UserExit.

          vG Looxer

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            looxer01
            schrieb am zuletzt editiert von
            #210

            @ple:

            Ist diese Verbesserung garnicht als Update in deinem Script eingeflossen? `
            Nein, es gab noch keine neue Version.

            vG Looxer

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Mac
              schrieb am zuletzt editiert von
              #211

              Die Aufzeichnung der Verbrauchsdaten läuft jetzt super, danke für das großartige Script BSZ.

              Der Name Betriebsstundenzähler legt nahe, dass es möglich ist Startzeiten und Betriebsdauer zu erfassen. ich habe jetzt schon alles mögliche ausprobiert, bekomme es einfach nicht hin.

              Ich habe eine Variable(Objekt) angelegt, diese wird durch einen Temperaturwert auf false/True geschaltet. diese habe ich in dem BSZ als Objekt eingefügt, aber dann? Spalte 9 ist ja offenbar für die Berechnungen, bzw die dritte Tabelle. Ich habe aber leider keinen Schimmer wie das zu konfigurieren ist.

              Für eine Hilfestellung wäre ich sehr dankbar.
              4489_bildschirmfoto_2017-12-29_um_17.36.47.png
              4489_bildschirmfoto_2017-12-29_um_17.41.06.png

              1 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                knopers1
                schrieb am zuletzt editiert von
                #212

                Hallo Looxer, hab den Sketch des Wemos umgeschrieben und bekomme jetzt glatte Zahlen pro Umdrehung! siehe Bild. Ich hoffe das es damit einfacher wird zu arbeiten.

                Bis dato habe ich ein paar Angaben für Gas und deren Berechnung! Deine obige Rechnung machtSinn…

                Aber: ich komme aber bei jeder Umdrehung = ungefähr auf 10 Watt aufgerundet. Wenn ich es mit 100 " Umdrehungen" multipliziere , komme ich auf 1000Watt was 1KW entspricht.... Kann das? Ich habe dir unten meine Tabelle vom deinem Script eingefügt. Kannst Du grob sagen, wie ich es (Methode CALC) bei meinem Beispiel anwenden soll?

                Gruß :)

                //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
                Gruppen[ 0]  = ['javascript.0.GasMeter.Wert'                           ,'Heizung'                               ,true  ,true  ,true  ,true  ,true  ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                Gruppen[ 1]  = ['javascript.0.BSZ.Counter.Heizung.DELTA.GAS.1-DAY'           ,'Heizung_KWh'                           ,true  ,true  ,true  ,true  ,true  ,false  ,'CALC'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                Gruppen[ 2]  = ['initial'                                ,''                                 ,false  ,false  ,false  ,false  ,false  ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                Gruppen[ 3]  = ['initial'                                ,''                                 ,false  ,false  ,false  ,false  ,false  ,false  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                
                var logname = [];
                //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
                logname[0]  =   ['GAS'          ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                logname[1]  =   ['GAS_KWh'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                logname[2]  =   ['EinAus3'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                logname[3]  =   ['EinAus3'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                
                var special = [];
                //             1.Round 2.add1   3.Faktor                4\. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12\. Min/MAX     13\. MehrfachStatus  14\. Selektives Logging
                special[0]  =   ['2'    ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                    ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
                special[1]  =   ['2'    ,''     ,'11.432'               ,''         ,''     ,''                 ,''                 ,'false'                    ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                special[2]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                special[3]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                

                1526_unbenannt.png

                HP Microserver Gen8, RPI-4, IoBroker,

                1 Antwort Letzte Antwort
                0
                • cvidalC Offline
                  cvidalC Offline
                  cvidal
                  Forum Testing
                  schrieb am zuletzt editiert von
                  #213

                  @looxer01:

                  @ple:

                  Ist diese Verbesserung garnicht als Update in deinem Script eingeflossen? `
                  Nein, es gab noch keine neue Version.

                  vG Looxer `

                  Danke für deine Rückmeldung,

                  @Ple hat mir sein Script zu Verfügung gestellt mit dem läuft es jetzt wie gewünscht allerdings habe ich keine unterscheide in seinem zu meinem Script gefunden.

                  Da hattest du aber wohl schon irgendwas geändert, deshalb läuft es jetzt.

                  Gruß Christian

                  1 Antwort Letzte Antwort
                  0
                  • E Offline
                    E Offline
                    ein-bayer
                    schrieb am zuletzt editiert von
                    #214

                    Hallo Looxer

                    nach Neuinstallation von iobroker hab ich 2 *.csv Dateien, eine vom Zeitraum 04/17 bis 12/17 und eine von der aktuellen Installation '(ab28.12.17). Kann man die "zusammenlegen" ? Hatte meine vorherige iobroker installation zerschossen.

                    1 Antwort Letzte Antwort
                    0
                    • L Offline
                      L Offline
                      looxer01
                      schrieb am zuletzt editiert von
                      #215

                      Hi,

                      ich nehme an, dass du die Dateien brauchst, um Folgebearbeitungen durchzuführen.

                      Mache ich auch so mit Excel.

                      in diesem Fall, ja. CSV Dateien sind reine Textdateien und enthalten keine Formatierungen.

                      Du kannst sie mit einem Editor einfach zusammenfügen.

                      vG Looxer

                      1 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        looxer01
                        schrieb am zuletzt editiert von
                        #216

                        @cvidal:

                        Ple hat mir sein Script zu Verfügung gestellt mit dem läuft es jetzt wie gewünscht allerdings habe ich keine unterscheide in seinem zu meinem Script gefunden.

                        Da hattest du aber wohl schon irgendwas geändert, deshalb läuft es jetzt. `

                        Dann scheint sich die Aenderung ja zu bewähren.

                        Ich mache eine neue Version und stelle sie online.

                        vG Looxer

                        1 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          knopers1
                          schrieb am zuletzt editiert von
                          #217

                          Hallo Looxer,

                          ich hänge immer noch fest bei der Umrechnung!

                          Mein Zähler:

                          96 Umdrehungen = 1000 Watt

                          1 Umdrehung = 10,42 Watt aufgerundet ( 1000%96=10,42 Watt pro Drehung des Zählers)

                          Meine Daten werden minütlich an IObroker vom Zähler übetragen.

                          Demnach mußte für Leistung in Watt/min so rechnen: Umdrehungen x 10,42 Watt x 60 (Zeit-damit ich auf die Minute komme) = Leistung in Watt/min

                          Beispiel: 2(Umdrehungen) x 10,42 = 20,84 Watt/min x 60 = 1250,4 Watt/min

                          Für kWh muß man es noch durch 1000 teilen

                          Also Umdrehung x 10,42 Watt x 60 % 1000

                          Beispiel: 2x10,42 x60 %1000 = 1,2504 KW

                          Jetzt das ganze etwas aufgerundeter, damit es nicht zu kompliziert wird…

                          Ich rechne so wie Du vorgerechnet hast.

                          1 Umdrehung = 10 Watt

                          Die Rechnung was ich benötige ist:

                          Also eine Umdrehung(=10Watt) x 60 (damit ich auf die 1 min. komme) = 600 Watt/min (Momentanverbrauch)

                          Ich würde gerne noch den Wert in kWh haben.

                          Also eine Umdrehung(=10Watt) x 60 (damit ich auf die 1 min. komme) = 600 Watt/min % 1000 = 0,6 kW/h

                          Ich habe jetzt nur mit einer Umdrehung gerechnet. Natürlich sind die Verbrauchswete immer unterschiedlich und werden pro min als Umdrehung des Zählers frisch übetragen.

                          Kannst Du helfen? Ich würde zum anfang erst mit dem Momentanverbrauch beginnen... Kannst Du sagen, wie dies in der Tabelle einzutragen ist?

                          PS: hier noch zwei Bilder von dem "Selbsbau" des Stromzählers :)
                          1526_2.2.jpg
                          1526_1.1.jpg

                          HP Microserver Gen8, RPI-4, IoBroker,

                          1 Antwort Letzte Antwort
                          0
                          • L Offline
                            L Offline
                            looxer01
                            schrieb am zuletzt editiert von
                            #218

                            Hi,
                            @knopers1:

                            1 Umdrehung = 10 Watt `

                            ok, das hört sich schon besser an. Mit der Auflösung 10 Watt per Umdrehung kann man da ja was mit anfangen.

                            Durch die minütliche Übertragung ist das natürlich wieder etwas eingeschränkt aber wohl noch ok. Hängt halt nach.

                            Könntest du mir die Datenpunkte per JSON Objektliste als PN senden ?

                            1. IoBroker - Admin

                            2. Objekte

                            3. Auf das überlegende Strukturelement navigieren und markieren

                            4. ICON oben links (das äusserst rechte)

                            Das File als txt umbenennen.

                            vG Looxer

                            1 Antwort Letzte Antwort
                            0
                            • K Offline
                              K Offline
                              knopers1
                              schrieb am zuletzt editiert von
                              #219

                              die PN ist raus:

                              hier noch zwei Bilder der Konfig!
                              1526_uifrhi6f.txt
                              1526_unbenannt.png
                              1526_unbenannt1.png

                              HP Microserver Gen8, RPI-4, IoBroker,

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                looxer01
                                schrieb am zuletzt editiert von
                                #220

                                Hi,

                                also bekommst du die Umdrehungen geliefert.

                                Im Screen sehe ich einen Wert von 5.00.

                                Bedeutet das, dass seit dem letzten update des Datenpunktes 5 Umdrehungen gemessen wurden ?

                                vG Looxer

                                1 Antwort Letzte Antwort
                                0
                                • K Offline
                                  K Offline
                                  knopers1
                                  schrieb am zuletzt editiert von
                                  #221

                                  ja, das sind Umdrehungen…

                                  Ich bekomme jede min. den aktuellen Zählerstand. Wenn kein Strom entnommen worden ist, dann bleibt es nach einer Minute weiterhin auf 5. Sonst kommen Werte hinzu. Wie gesagt, jede min. frisch ausgelesen und zu der 5 dazugezählt.

                                  Der Wert ist zwar deshalb so niedrig, da das ganze Zeug noch auf dem Schreibtisch liegt. Das Einbauen wird noch kommen. Der Sensor erkennt aber die Scheibe des Stromzählers ohne Probleme wenn es gut ausgerichtet und über dem Poti eingestellt ist.

                                  In der Praxis, wirt der Wert ständig steigen mit der Entnahme des Stromes.

                                  In der Theorie ist das nur ein dummer Zähler was hoch zählen kann...

                                  HP Microserver Gen8, RPI-4, IoBroker,

                                  1 Antwort Letzte Antwort
                                  0
                                  • L Offline
                                    L Offline
                                    looxer01
                                    schrieb am zuletzt editiert von
                                    #222

                                    Hi,
                                    @knopers1:

                                    ja, das sind Umdrehungen…

                                    Ich bekomme jede min. den aktuellen Zählerstand. Wenn kein Strom entnommen worden ist, dann bleibt es nach einer Minute weiterhin auf 5. Sonst kommen Werte hinzu. Wie gesagt, jede min. frisch ausgelesen und zu der 5 dazugezählt. `

                                    also ich bin noch nicht klar.

                                    • Bekommst du einen Zählerstand ? (zusätzlich zu den Umdrehungen ?

                                    • Mich irritiert, dass dort eine 5 steht. Wenn ständig addiert werden würde, dann müsste die Anzahl der Umdrehungen ja viel groesser sein

                                    1 Antwort Letzte Antwort
                                    0
                                    • K Offline
                                      K Offline
                                      knopers1
                                      schrieb am zuletzt editiert von
                                      #223

                                      siehe nochmal oben, habe mein Post vorhin editiert!

                                      Das ist ein dummer Zähler, was praktisch hochzählt und den Wert minütlich an IOBroker sendet! Ich bekomme nur die Umdrehungszahl. Die 5 ist an sich ein Zählerstand. Ich könnte es auf Wert 2000 setzen. Nur wofür? Nach einer min. würde er dann eine zB. eine 2002 ausgeben….

                                      Der Wert steigt nur, und ist deshalb so niedrig, da das ganze Zeug noch auf dem Schreibtisch liegt. Um an den Wert für die letzte min. zu kommen, müsste man den alten Wert von dem neuen abziehen. ZB: Wert alt 2000, frisch aktualiesiert 2002.

                                      EDIT:

                                      Betrachte es als ein neuer Zähler was frisch eingebaut ist. Der fängt auch an von 0 hoch zu zählen. Mann könnte sagen dass es ein Zählerstand ist!

                                      HP Microserver Gen8, RPI-4, IoBroker,

                                      1 Antwort Letzte Antwort
                                      0
                                      • L Offline
                                        L Offline
                                        looxer01
                                        schrieb am zuletzt editiert von
                                        #224

                                        Hi,

                                        es gibt tatsächlich eine Möglichkeit, da die Delta Werte im System Bereich vorgehalten werden.

                                        Ich habe es getestet. Du musst nur deine Datenpunkte eintragen. Wichtig: die richtige Gruppennummer für GRP24 eintragen.

                                        Sieht dann so aus anhand meiner Testdatenpunkte. Der Test war erfolgreich Du bekommst den Verbrauch der letzten Minute in kWh

                                        vG Looxer

                                        Gruppentabelle

                                        Gruppen[24] = ['javascript.0.StromzaehlerTest.StromzaehlerTest', 'Stromzaehler'            ,false  ,false  ,false  ,false  ,false  ,false  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
                                        Gruppen[25] = ['javascript.0.BSZ.System.Grp24MSec.UmdrDelta' , 'Stromzaehler'            ,false   ,false ,false  ,false  ,false  ,false  ,'calc'  ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false];
                                        
                                        /*-------------------------------------------------------------------------------
                                        
                                        

                                        LogName Tabelle

                                        `logname[24] =   ['UmdrDelta'    ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                        logname[25] =   ['MomVerbr'         ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                        
                                        special Tabelle
                                        [code]
                                        special[24] =   ['9'    ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                         ,''         ,''                 ,''   ,''             ,''                  ,''];
                                        special[25] =   ['9'    ,''     ,'10'                   ,'1000'     ,''     ,''                 ,''                 ,'false'                         ,''             ,''                 ,''             ,''         ,''              ,''];
                                        
                                        [/code]`
                                        
                                        
                                        1 Antwort Letzte Antwort
                                        0
                                        • L Offline
                                          L Offline
                                          looxer01
                                          schrieb am zuletzt editiert von
                                          #225

                                          Hi,

                                          Ich habe die Version 0.99 hochgeladen.

                                          Sie enthält ein paar Fixe. Der wichtigste ist der Rundungsfix, der hier schon öfter Thema war.

                                          Der Einstellbereich inkl Experteneinstellungen hat sich nicht geändert. Es kann also nach dem Einstellungsbereich einfach kopiert werden.

                                          vG Looxer

                                          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

                                          747

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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