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
    #146

    Das gibt es nicht….

    Gestern Abend hatte ich vor mein Wemo an den Gaszähler anzuschließen. Alles war vorbereitet und ein Magnetkontakt hatte ich auch schon.

    Ich machte die Luke auf und sah, dass der alte Gaszähler nicht mehr existiert und dafür etwas neuen gekommen ist.

    Kurz nachgedacht und ja... Meine Frau erzählte mir mal, dass ein Mann für GAS vor einigen Wochen/Monaten da war... ich war Arbeiten in der Zeit. :evil:

    siehe Bild.... alt und neu..

    das wars mit Gaszähler auslesen.... Das machen die Gaswerke schon und die Stelle für den Kontakt ist auch schon belegt.

    Kennt jemand das Sendemodul am Gaszähler? Dies wird vom Außen ausgelesen, wahrscheinlich über Bluetooth…

    ich kööööönte sooooo kotzeeenn :shock:
    1526_img_2017neu.jpg
    1526_141211-nabu-gaszaehler-mdommel.jpeg

    HP Microserver Gen8, RPI-4, IoBroker,

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

      Hat jemand schon versucht den externen Reedkontakt auf der Scheibe zu plazieren?

      Mann könnte in der Theori den vorhandenen Reedkontakt benutzen. Leider ist es mir zu heiß, da der Wemo beim Neustart einen Impuls auslöst.

      Dies würde bedeuten, dass an diesem Zähler 100l Gas dazu gezählt wird. 1 IMP = 0,1m3 bei neuem Gaszähler G4 RF1 was nicht entomen wurde.

      Ich müßte den sensor woanders plazieren! Jemand ein Tipp für mich?

      HP Microserver Gen8, RPI-4, IoBroker,

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

        @looxer01

        ich habe jetzt einen Weg gefunden, damit beim booten des Wemos der Kontakt nicht kzrzgeschlossen wird… Ich werde jetzt den vorhandenen Kontakt nutzen und den Zähler damit auswerten.

        Ich habe ein Zähler der mir 1 IMP = 0,1m3 liefert. Ich verbrauche Jährlich ca. 700 m3 Gas, was pro Tag im Schnitt 1,9m3 Gas ergibt.

        Demnach sind es ca. 19 Schaltvorgänge am Tag. ( Winter mehr, Sommer weniger)

        Jetzt müßte ich dein Script etwas umändern, damit pro Schaltvorgang ein 0,1 und nicht 0,01 gezählt wird.

        Kannst Du nen Tipp geben wo? und wie?

        Gruß

        HP Microserver Gen8, RPI-4, IoBroker,

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

          @knopers1:

          etzt müßte ich dein Script etwas umändern, damit pro Schaltvorgang ein 0,1 und nicht 0,01 gezählt wird.

          Kannst Du nen Tipp geben wo? und wie? `

          Hi,

          wenn ich das richtig verstehe, dann möchtest du die Schaltvorgänge zählen und jeweils mit 0,01 multiplizieren.

          Das sollte ohne Modifikation gehen.

          1. Definition eines Datenpunktes für den Gaszähler und die Funktion SWITCH aktivieren

          2. Definition eines weiteren Datenpunktes für den Switch (also der Datenpunkt, der durch den SWITCH erzeugt wurde) und mit Methode CALC mit 0,01 multiplizieren.

          das habe ich zwar nicht so getestet (ich habe immer noch keinen Systemzugriff), sollte aber gehen.

          vG Looxer

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

            Danke Looxer01,

            ich konnte das Sketch des Wemos etwas umschreiben. Jetzt zählt das Teil pro Schaltvorgang 0,1 m3.

            Jetzt versuche ich den Zählerstand anzupassen und baue das Teil an den Kontakt dran.

            HP Microserver Gen8, RPI-4, IoBroker,

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

              @looxer01

              kannst Du helfen?

              schau Dir mal das Bild an. Ich habe gerade den Zählerstand angepasst und noch mal dein Script neu eingefügt.

              Mein Gaszähler liefert Zahlen mit 2 Nachkommastellen…

              Bei BSZ.Counter.Heizung.DELTA.GAS steht die Zahl ohne Nachkomma ??

              In der Tabelle Spezial ist an der Position 1 nichts eingetragen.

              Denoch sehe ich keine Zahlen nach der Komma.

              Wenn ich in der Tabelle Spezial an der Position 1 eine 2 eintrage, müßte da nicht eine Zahl mit zwei Nachkommastellen auftauchen?

              special[0]  =   ['2'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
              

              1526_unbenannt.png

              HP Microserver Gen8, RPI-4, IoBroker,

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

                @knopers1:

                In der Tabelle Spezial ist an der Position 1 nichts eingetragen.

                Denoch sehe ich keine Zahlen nach der Komma.

                Wenn ich in der Tabelle Spezial an der Position 1 eine 2 eintrage, müßte da nicht eine Zahl mit zwei Nachkommastellen auftauchen? `

                Nachkommastellen werden nur gezeigt, wenn es welche gibt

                Beispiele:

                366.00 = 366

                366.10 = 366.1

                366.12 = 366.12

                Position 1 nichts eingetragen heisst, dass es keine Rundung gibt. Somit werden alle existierenden Nachkommastellen angezeigt. Ansonsten wird gerundet.

                Im System-Bereich der Daten werden aber alle Nachkommastellen geführt. Es gibt somit keinen Verlust bezüglich gerundeter Nachkommastellen.

                vG Looxer

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

                  Danke Looxer, habe verstanden! :)

                  HP Microserver Gen8, RPI-4, IoBroker,

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

                    Hallo Looxer01,

                    ich habe jetzt ein wenig dein Script mit meiner Hardware getestet… Die Werte sind plausibel sowei. Alles gut!

                    Allerdings wird bei mir zur Zeit alles in m³ ausgegeben.

                    Ich würde dies in KWh ausgeben wollen, da die Gasjahres-Rechnung auch in KWh berechnet wird.

                    Dazu bruche ich den Brennwert. Diesen werde ich von der letzten Abrechnung irgendwo ablesen können.

                    Kannst Du mir mal grob sagen, was in deinem Script umzustellen ist, damit die Werte in KWh ausgegeben werden?

                    Ganz grob gesehen entspricht ein 1 m³ bei einem Brennwert von 10 = 10KW

                    Demnach sollten 0,1m³ pro Taktung meines Gaszählers 1 KW entsprechen.

                    Soweit alles gut, nur wie stelle ich es ein, wenn mein Brennwert 12 oder 8 ist ???

                    Oder viel besser were es, wenn man zusätzlich noch neben den m³ auch noch eine Position hätte die in KWh ausgegeben wird. Geht das?

                    Somit könnte man den Gasverbrauch in m³ und parallel dazu in KWh anzeigen lassen.

                    HP Microserver Gen8, RPI-4, IoBroker,

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

                      Hi,

                      hab mal nachgelesen.

                      Die Berechnung sollte sein

                      KwH = m3 x Brennwert x Zustandszahl

                      wobei der Brennwert von dem Gasverkäufer kommt und die Zustandszahl sich ergibt aus z.B. Temperatur an der Zapfstelle, Luftdruck etc.

                      Wenn du die Zustandszahl ausser acht laesst, dann brauchst du nur in Tabelle "special" den Faktor 12 eintragen. Das wars.

                      Wenn du mit der Zustandszahl arbeiten möchtest dann könntest du einen Durchschnittswert verwenden, z.B. aus dem Letzten Jahr. Die Versorger machen monatliche updates. Also sollte es möglich sein, diesen Wert zu erhalten. Wenn die Zustandszahl z.B. 0,95 beträgt, dann

                      muss eben im Faktor 11.4 eingetragen werden. (12 x 0,95)

                      Wenn du genau arbeiten möchtest ist es komplizierter, da sich ja die Zustandszahl monatlich aendert. Für solche Berechnungen habe ich einen Userexit vorgesehen. D.h. aber, dass die Berechnung in Javascript gemacht werden muss. Zudem muss eine Tabelle vorgesehen werden, um die monatlichen Werte jeweils zu hinterlegen.

                      Natürlich kannst du auch m3 und kWh führen. dafür musst du aber eben mit zwei Zeilen in den Tabellen arbeiten. Beispielsweise durch die Methode CALC kannst du die kWh rechnen, sobald die m3 aus dem Zaehler sich aendern.

                      vG Looxer

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

                        Danke Looxer01,

                        die Zustandszahl möchte ich ausser acht lassen. Das reicht mir.

                        Um jetzt noch neben der m3 die KWh führen zu können, solle ich über zwei Zeilen gehen schreibst Du….

                        Also, in der Gruppe die neuen Zeile auf CALC setzten.

                        Gruppen[ 1]  = ['javascript.0.Gaszaehler.Wert'                                ,'Heizung-KWh'                                 ,false  ,false  ,false  ,false  ,false  ,false  ,'CALC'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                        

                        In der Zweiten Tabelle kommt nur ein Name bzw Beschreibung herein

                        logname[1]  =   ['Gas-KWh'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                        

                        und in der Tabelle Spezial unter Punkt 3 den Brennwert eintragen.zB 12 oder 8 Richtig? Habe ich noch etwas übersehen?

                        special[1]  =   [''     ,''     ,'12'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                        

                        HP Microserver Gen8, RPI-4, IoBroker,

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

                          Hi

                          @knopers1:

                          lso, in der Gruppe die neuen Zeile auf CALC setzten.

                          Code: Alles auswählen

                          Gruppen[ 1] = ['javascript.0.Gaszaehler.Wert' ,'Heizung-KWh' ,false ,false ,false ,false ,false ,false ,'CALC' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; // `

                          ich glaube der Datenpunkt 'javascript.0.Gaszaehler.Wert" ist dein Gaszaehler. Ich meinte den Datenpunkt mit dem m3 Wert aus dem BSZ.

                          ansonsten sieht es gut aus. (Du willst keine Historie z.B. Monatswerte führen ?)

                          vG Looxer

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

                            ja, javascript.0.Gaszaehler.Wert ist mein Gaszähler.

                            Der Datenpunkt mit m3 Wert kommt doch aus der ersten Zeile nehme ich mal an…

                            Gruppen[ 0] = ['javascript.0.Gaszaehler.Wert' ,'Heizung' ,false ,false ,false ,false ,false ,false ,'Delta' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; //

                            Bin jetzt davon ausgegegangen dass ich neue Zeile bilden soll.

                            Ja, Monatswerte und Jahreswerte möchte ich auch führen
                            1526_unbenannt.png

                            HP Microserver Gen8, RPI-4, IoBroker,

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

                              also ja, ich meinte auch eine zweite Zeile.

                              Du machst also eine zweite Zeile und stellst dort den Datenpunkt der ersten Zeile ein. (aber komplett mit javascript.0.BSZ.Counter….)

                              Der soll dann auf CALC gestellt werden und in special die 12 eintragen.

                              Wenn du die Historienwerte auch in kWh sehen wills, dann müssen die auch noch auf true gestellt werden.

                              vG Looxer

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

                                So, jetzt kommt es bei mir an :D

                                Also,

                                in der Gruppentabelle Zeilen ausfüllen für Tag, Wochenende, Woche Monat usw mit den Datenpunkt ID , was aus dem ersten Eintrag enstanden ist…

                                Bei mir eben als Beispiel für den Tag: BSZ.Counter.Heizung.Delta.GAS.1-Day. Bevor ich alles wieder umändern muß. Gilt / als Sonderzeichen? Im Script steht etwas drin, das keine Sonderzeichen zulässig sind. zB: Name: Heizung-KWh/Tag ???

                                Gruppen[ 1]  = ['BSZ.Counter.Heizung.Delta.GAS.1-Day'                                ,'Heizung-KWh/Tag'                                 ,true  ,true  ,true  ,true  ,true  ,true  ,'CALC'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                
                                Gruppen[ 2]  = ['BSZ.Counter.Heizung.Delta.GAS.2-WEEK'                                ,'Heizung-KWh/Wochenende'                                 ,true  ,true  ,true  ,true  ,true  ,true  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
                                

                                In der zweiten Tabelle müsste dann soetwas sein:

                                logname[1]  =   ['Gas-KWh/Tag'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                
                                logname[2]  =   ['Gas-KWh/Wochenende'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
                                

                                und in der Tabelle Spezial

                                special[1]  =   [''     ,''     ,'12'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                
                                
                                special[2]  =   [''     ,''     ,'12'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                
                                

                                HP Microserver Gen8, RPI-4, IoBroker,

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

                                  …du hast zwei Gruppenzeilen angelegt. Wochenende und Wochentags nehme ich mal an.

                                  gibts da unterschiedliche Tarife ? oder warum ?

                                  ansonsten sieht es gut aus. Allerdings würde ich die switches auf false stellen. Die Anzahl der Gaszählermeldungen dürfte dich nicht interessieren.

                                  "/" sollte funktionieren. Ich bin aber immer generell vorsichtig mit Sonderzeichen. Dann gibt es auch keine Ueberraschungen.

                                  vG Looxer

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

                                    Nein, Tarif ist die gleiche… Es unterscheidet sich aber in der ID. (siehe mein Bild)

                                    Eine ID für den Tag und fürs Wochenende ist eine andere.. usw... da kommt noch Monat Jahr und....

                                    Oder kommt nur eine Zeile mit dem ersten Eintrag: BSZ.Counter.Heizung.Delta.GAS in meinem Beispiel ???

                                    Ich bin jetzt davon ausgegangen, dass ich für jede ID etwas in der Gruppe eintragen muß..Ist es nicht so?

                                    Das mit den Switchen habe ich in kenntniss genommen, wird wieder auf false gestellt.
                                    1526_unbenannt.png

                                    HP Microserver Gen8, RPI-4, IoBroker,

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

                                      aaah jetzt. Nein, Die Historie Werte brauchst du nicht als Zeile. Du

                                      hast ja in der zweiten Zeile dann Historie eingeschaltet und brauchst die nicht als Quelle.

                                      Insgesamt brauchst du also nur zwei Zeilen - nicht drei

                                      Zeile 0 - Dein Gaszähler

                                      Zeile 1 die Zeile des Gaszählers aus dem Betriebsstundenzähler - also: BSZ.Counter.Heizung.Delta.GAS

                                      Zeile 1 stellst du die Historienwerte auf true und dann sollte es gehen.

                                      vG Looxer

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

                                        Geil, es ist etwas in Script entstanden. Habe heute aber noch kein Gas entnommen, deshalb die Null.

                                        Gerade eben die alte Rechnung durchgeschaut und den Brennwert gefunden. 11,432 ist angegeben.

                                        special[1]  =   [''     ,''     ,'11,432'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        

                                        Soll ich nach der 11 eine Komma setzen, oder muß in deinem Script eine Null zwischen tun?

                                        11,432 oder 11.432 ???

                                        Edit: wird doch mit dem Punkt getrennt, zumindest schreiben die Meisten ein Punkt dazwischen….
                                        1526_unbenannt.png
                                        1526_unbenannt1.png

                                        HP Microserver Gen8, RPI-4, IoBroker,

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

                                          @looxer,

                                          die Tabelle mit KWh ist zwar da, allerdings bleiben die Werte dort beim Null. :(

                                          Kannst Du meine Konfig überprüffen? Evtl. fällt Dir schnell etwas auf, was nicht o.k sein könnte…
                                          1526_new_2.txt

                                          HP Microserver Gen8, RPI-4, IoBroker,

                                          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

                                          689

                                          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