Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

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

      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 Reply Last reply Reply Quote 0
      • P
        ple last edited by

        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ß

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

          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 Reply Last reply Reply Quote 0
          • L
            looxer01 last edited by

            @ple:

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

            vG Looxer

            1 Reply Last reply Reply Quote 0
            • M
              Mac last edited by

              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 Reply Last reply Reply Quote 0
              • K
                knopers1 last edited by

                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

                1 Reply Last reply Reply Quote 0
                • cvidal
                  cvidal Forum Testing last edited by

                  @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 Reply Last reply Reply Quote 0
                  • E
                    ein-bayer last edited by

                    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 Reply Last reply Reply Quote 0
                    • L
                      looxer01 last edited by

                      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 Reply Last reply Reply Quote 0
                      • L
                        looxer01 last edited by

                        @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 Reply Last reply Reply Quote 0
                        • K
                          knopers1 last edited by

                          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

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

                            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 Reply Last reply Reply Quote 0
                            • K
                              knopers1 last edited by

                              die PN ist raus:

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

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

                                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 Reply Last reply Reply Quote 0
                                • K
                                  knopers1 last edited by

                                  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...

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

                                    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 Reply Last reply Reply Quote 0
                                    • K
                                      knopers1 last edited by

                                      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!

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

                                        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 Reply Last reply Reply Quote 0
                                        • L
                                          looxer01 last edited by

                                          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 Reply Last reply Reply Quote 0
                                          • K
                                            knopers1 last edited by

                                            vielen Dank Looxer,

                                            ich habe soweit alles eingetragen: siehe unten…

                                            Gruppen[ 2]  = ['javascript.0.StromMeter.Wert'                                ,'Stromzaehler'                                 ,false  ,false  ,false  ,false  ,false  ,false  ,'delta'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                            Gruppen[ 3]  = ['javascript.0.BSZ.System.Grp02MSec.UmdrDelta'                                ,'Stromzaehler'                                 ,false  ,false  ,false  ,false  ,false  ,false  ,'CALC'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                            
                                            logname[2]  =   ['UmdrDelta'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                            logname[3]  =   ['MomVerbr'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                            
                                            special[2]  =   ['9'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                            special[3]  =   ['9'     ,''     ,'10'                     ,'1000'         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                            

                                            Schaust Du mal was ich da raus bekommen habe? siehe Bild…

                                            Der Zähler ist mitlerweile montiert und zählt fleißig. Ich bekomme bei Momentanverbrauch ständig zwischen 0,01 und 0,03...

                                            Was sind das für Werte?

                                            Haben wir jetzt einfach die Umdrehung x 10 % 1000 gerechnet ??? Danach sieht es aus...

                                            Der Momentanverbrauch müsste aber so gerechnet werden. Umdrehung x 10 x 60 (um auf die min. zu kommen)

                                            Demnach müsste soetwas wie: 2 x 10 x 60 = 1800 Watt kommen bei Momentanverbrauch

                                            Lässt sich soetwas in deinem Script überhaupt einstellen? Da müsste man zwei mal die Werte miteinander multiplizieren 😐
                                            1526_unbenannt.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            880
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            51
                                            333
                                            79245
                                            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