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.
  • 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
                        • L Offline
                          L Offline
                          looxer01
                          schrieb am zuletzt editiert von
                          #166

                          Hi,

                          setzt mal special(1)(8) auf false. (auf Bestätigung warten)

                          im Standard wird auf eine Bestätigung (acknowledge) gewartet. Da es sich aber um einen Javascript Datenpunkt handelt kommt diese nicht.

                          Daher erfolgt bei Aenderung des Datenpunktes Javascript.0.BSZ.Counter.Gas keine Ausführung des updates des Folgedatenpunktes.

                          vG Looxer

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

                            @looxer

                            ich verzweifle an dem Script…

                            Das rechnet nicht, aus welchem Grund auch immer...Ich habe auch in der Tabelle Spezial (1) (8) auf false gestellt. :(

                            ich will doch einfach den Tageswert in m3, was bereits ohne Probleme hochgezählt wird in KW ausgeben.

                            in meinem Bild sieht man doch die 0,1 m3... Diesen Wert einfach mal mit dem Brennwert 11.432 multiplizieren.

                            0.1x 11.432=1.14 KW

                            Wieso geht es nicht bei mir? Kannst Du mir einen einfachen Beispiel hier zeigen, wie ich eine Zahl aus der Objekt ID mit 11.432 multiplizieren kann?

                            Das kann doch nicht so schwer sein. Irgendwo muß ich doch ne Komma mit Punkt oder ähnliches vertauscht haben. Ich kriege es nicht hin das Teil zum Zählen zu bewegen.
                            1526_unbenannt.png

                            HP Microserver Gen8, RPI-4, IoBroker,

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

                              @looxer01

                              es geht :mrgreen:

                              ich habe den Datenpunkt nicht Komplett ausgeschrieben!

                              javascript.0.BSZ.Counter.Heizung.DELTA.GAS sollte es heißen… und ich habe nur BSZ.Counter.Heizung.DELTA.GAS als Datenpunkt gesetzt!

                              Ich kenne Deine Beschreibung mitlerweile auswendig, trotzdem kam ich auf die Idee nicht, dass ich unter dem I den ganzen Datenpunkt notieren soll. Gelesen und nicht umgesetzt! :shock:

                              Danke für deine Hilfe!

                              HP Microserver Gen8, RPI-4, IoBroker,

                              1 Antwort Letzte Antwort
                              0
                              • N Offline
                                N Offline
                                noxx
                                schrieb am zuletzt editiert von
                                #169

                                habe bei einigen Datenpunkten nur 000:00:00:00

                                stehen

                                Script: https://pastebin.com/raw/ZEhZgVcL
                                2880_01.png

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

                                  Hi Noxx,

                                  die Werte werden erst mit dem Tagesabschluss gefüllt. (also um Mitternacht)

                                  Hattest du die Konfig schon über Nacht laufen ?

                                  vG Looxer

                                  1 Antwort Letzte Antwort
                                  0
                                  • N Offline
                                    N Offline
                                    noxx
                                    schrieb am zuletzt editiert von
                                    #171

                                    @looxer01:

                                    Hi Noxx,

                                    die Werte werden erst mit dem Tagesabschluss gefüllt. (also um Mitternacht)

                                    Hattest du die Konfig schon über Nacht laufen ?

                                    vG Looxer ` Läuft seit einer Woche

                                    Gesendet von meinem Huawei P10lite mit Tapatalk

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

                                      kannst du mal ins log schauen, ob es Meldungen um 00:04 gab ?

                                      Deine Einstellungen sehen erstmal gut aus. Und der kumulierte Wert wird ja offensichtlich gefüllt.

                                      Also stimmt was mit dem Tagesabschluss nicht. Wenn due das Programm neu startest muesstest du auch die Anzahl der schedules reported bekommen. Sollten 27 sein.

                                      vG Looxer

                                      1 Antwort Letzte Antwort
                                      0
                                      • N Offline
                                        N Offline
                                        noxx
                                        schrieb am zuletzt editiert von
                                        #173

                                        erstmal das:

                                        
                                        16:36:51.925	[info]	javascript.0 Stop script script.js.common.Betriebsstundenzaehler
                                        16:36:52.875	[info]	javascript.0 Start javascript script.js.common.Betriebsstundenzaehler
                                        16:36:52.876	[info]	javascript.0 script.js.common.Betriebsstundenzaehler: registered 26 subscriptions and 27 schedules
                                        
                                        `2017-09-22 00:00:00.118  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 started with pid 4336
                                        2017-09-22 00:00:00.207  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 started with pid 4342
                                        2017-09-22 00:00:00.257  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.1 started with pid 4348
                                        2017-09-22 00:00:00.323  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.0 started with pid 4354
                                        2017-09-22 00:00:00.885  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Ausgelöst bei Timer
                                        2017-09-22 00:00:00.910  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 0: Cresta_ 1 Low battery: false
                                        2017-09-22 00:00:00.911  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 1: Cresta_ 2 Low battery: false
                                        2017-09-22 00:00:00.913  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 2: Cresta_ 4 Low battery: false
                                        2017-09-22 00:00:00.914  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 3: Cresta_ 5 Low battery: false
                                        2017-09-22 00:00:00.916  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 4: Cresta_ 3 Low battery: false
                                        2017-09-22 00:00:00.927  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Text: 
                                        2017-09-22 00:00:00.928  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Anzahl Geräte: 5 # davon LOWBAT erkannt: 0
                                        2017-09-22 00:00:06.968  - [32minfo[39m: tvspielfilm.0 starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.tvspielfilm, node: v6.11.1
                                        2017-09-22 00:00:07.171  - [32minfo[39m: dwd.0 starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd, node: v6.11.1
                                        2017-09-22 00:00:07.224  - [32minfo[39m: tvspielfilm.0 objects written
                                        2017-09-22 00:00:07.809  - [32minfo[39m: ical.1 starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.ical, node: v6.11.1
                                        2017-09-22 00:00:08.161  - [32minfo[39m: ical.0 starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.ical, node: v6.11.1
                                        2017-09-22 00:00:08.534  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 terminated with code 0 (OK)
                                        2017-09-22 00:00:09.437  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 terminated with code 0 (OK)
                                        ...
                                        2017-09-22 00:00:15.363  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.0 terminated with code 0 (OK)
                                        2017-09-22 00:00:15.490  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.1 terminated with code 0 (OK)
                                        2017-09-22 00:04:00.228  - [32minfo[39m: javascript.0 script.js.common.Betriebsstundenzaehler: EVENT Betriebsstundenzaehler werden zurueckgesetzt TAG:22 Wochentag 5Monat 09
                                        2017-09-22 00:05:00.053  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 started with pid 4396
                                        2017-09-22 00:05:00.109  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 started with pid 4403
                                        2017-09-22 00:05:05.306  - [32minfo[39m: dwd.0 starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd, node: v6.11.1
                                        2017-09-22 00:05:05.457  - [32minfo[39m: tvspielfilm.0 starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.tvspielfilm, node: v6.11.1
                                        2017-09-22 00:05:05.631  - [32minfo[39m: tvspielfilm.0 objects written
                                        2017-09-22 00:05:06.349  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 terminated with code 0 (OK)
                                        2017-09-22 00:05:07.432  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 terminated with code 0 (OK)[/code]`
                                          [2880_1.png](/assets/uploads/files/2880_1.png)  
                                        
                                        1 Antwort Letzte Antwort
                                        0
                                        • N Offline
                                          N Offline
                                          noxx
                                          schrieb am zuletzt editiert von
                                          #174

                                          moin

                                          woran liegts nun das keine delta-werte da sind?

                                          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

                                          378

                                          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