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
    24
    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.6k

[Vorlage] Betriebsstundenzähler & Verbrauchsrechner

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
333 Beiträge 51 Kommentatoren 92.9k 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
    #21

    @pix:

    Was steht dann im Log um Mitternacht? Die gesamtzeit des Tages? `
    Ja, so ist es gedacht. Um Mitternacht soll der Wert dann gesichert werden und dann genullt.

    vG Looxer

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #22

      Hallo Looxer,

      deine Protokollierung in eine Datei hat mich nicht mehr losgelassen. Habs jetzt in meinen Zähler auch eingebauthttp://forum.iobroker.org/viewtopic.php?f=21&t=2175&p=18886&sid=928d466eba6d7bb5516ff63754ad60cf&sid=928d466eba6d7bb5516ff63754ad60cf#p18886. Vielen Dank!

      Gruß,

      Pix
      14780_2019-01-11_12h01_02.png

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

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

        Hey Pix,

        freut mich, ist doch super, dass wir hier uns gegenseitig Ideen und Hilfen geben und auch Alternativen bieten.

        (oder vielmehr, dass ich das auch mal kann :) )

        Das Forum hier ist eh das Beste.

        vG Looxer

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

          Hi,

          ich habe jetzt die finale Version des BSZ eingestellt. Das Logging baue ich dort nicht mehr weiter aus.

          Diese Version ist stabil und kann fuer einfaches Logging verwendet werden.

          jetzt baue ich den BSZ um und mache eine erweiterte Version daraus. Der wird aber eine andere Struktur haben bzw. die Variablen werden anders strukturiert, daher sind die beiden Versionen nicht kompatibel.

          Funktionen:

          • Das Wichtigste ist, dass ich die Begrenzung auf True/false bzw. 0/100 aufheben möchte und bis zu 10 frei einstellbare Status loggen möchte.

          z.B. für Heizungen oder Geräte mit Status ungleich true/false z.B. Wassermelder etc. Auch ist es dann möglich z.B. nur auf false zu loggen statt auf true. (Bei mir ist ein Gerät leider so eingestellt und das werde ich auch nicht mehr ändern) Das ist quasi ein Abfallprodukt.

          • Pix Idee zum loggen der Schaltungen möchte ich ebenfalls übernehmen, wobei jeder Statuswechsel gezählt werden soll.

          • Ausbau des Loggings

          vG Looxer

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

            Hi,

            ich habe den erweiterte Betriebsstundenzaehler im ersten post hochgeladen.

            Der kann jetzt deutlich mehr. Beispiele:

            • jeder einzelne Status einer Variablen / Geraet kann geloggt werden. z.B. Sinnvoll bei Heizungen etc

            • Eine Geraet kann daher auch -wenn gewünscht auf true und false geloggt werden dann werden die Zeiten für ein und aus getrennt geloggt

            • Für die Status können sprechende Namen verwendet werden statt der status namen (z.B. statt 01 = Brenner_Laeuft)

            • LEVEL geraete sind einstellbar ab wann sie als eingeschaltet gelten z.B.wird dann erst geloggt wenn der Dimmer mehr als 20% eingeschaltet ist

            • Ein Zaehlwerk von Schaltvorgängen kann wahlweise aktiviert werden

            • Kumulation kann auf tag,woche,monat, jahr wahlweise eingestellt werden.

            Was noch fehlt ist das logging in eine EXCEL - Datei . Da muss ich noch ran :shock:

            vG Looxer

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              RobS
              schrieb am zuletzt editiert von
              #26

              Hi,

              Super Sache und Danke für's Teilen!

              Kleine Anmerkung: in der .txt steht beim Datum 2015 statt 2016 :ugeek:

              Beste Grüße,

              Rob

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pix
                schrieb am zuletzt editiert von
                #27

                Hallo Looxer,

                ich finde auch, dass du da schon richtig was geschafft hast. Super!

                Es wird mir aber zu unübersichtlich. Es soll ja generisch sein. Es ist aber schon recht kompliziert, neue Geräte einzutragen. Die vielen Spalten im Array verwirren. Vielleicht solltest du alle Einstellungen eines Gerät zusammenfassen (besser untereinander, auch wenn das Skript länger wird), damit man nicht an verschiedene Stellen im Skript springen muss. Wenn dann jede Einstllungsmöglichkeit kurz kommentiert ist, fällt es dem Nutzer leichter.

                Gruß

                Pix

                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #28

                  Schreib ein Adapter :D

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

                    @pix:

                    Hallo Looxer,

                    Vielleicht solltest du alle Einstellungen eines Gerät zusammenfassen (besser untereinander, auch wenn das Skript länger wird),

                    Pix `
                    habs mal versuchsweise gemacht - siehe unten- Ich bin mir nicht so sicher. das werden 700 Zeilen.

                    @Bluefox:

                    Schreib ein Adapte `
                    ist mir klar. Das schreit ja danach. Wäre auch gut für die Anwesenheitssimulation.

                    ABER - keine Ahnung wie ich überhaupt damit anfangen sollte.

                    Wahrscheinlich brauchts eine komplette Entwicklungsumgebung /Raspi/ioBroker/Webstorm damit das produktiv system nicht leidet.

                    Dann ist eine Oberflächenentwicklung ja noch etwas vollkommen anderes als eine einfache script entwicklung….

                    vG Looxer

                    ! var Gruppen = []; Gruppen[0] = /*1.Homematic ID, */ ['hm-rpc.0.JEQ0036841.1.STATE' , // der Text "initial" muss eingetragen sein fuer nicht genutzte Zeilen. Es funktionieren alle LEVEL und STATE Geraete und alles was mit true und false belegt werden kann /*2.Feldname(no spaces)*/ 'Licht_WZ_EsstischStehlampe' , // ist der Variablenname unter dem die Betriebszeiten in ioBroker abgelegt werden. Wichtig: keine Sonderzeichen und keine Spaces verwenden. Statdessen aber Unterstriche eintragen /*3.Freie Beschreibung */ 'Licht Wohnzimmer Esstisch Stehlampe' , //st frei zu vergebener Text (Beschreibung) /*4.DAY */ true , // Variable DAY wird angelegt und kumuliert - täglicher refresh - keine Hochkomma /*5.Week */ true , // Variable DAY wird angelegt und kumuliert - täglicher refresh - keine Hochkomma /*6.Month */ true , // Variable DAY wird angelegt und kumuliert - täglicher refresh - keine Hochkomma /*7.Year */ true , // Variable DAY wird angelegt und kumuliert - täglicher refresh - keine Hochkomma /*8.Switch */ true, // Verwendung eines Zaehlers um die Statuswechsel (anzahl Schaltungen) zu zaehlen /*9 - 18 Status to log */ 'true' , //9 - 18 Eingabe was gezaehlt werden soll. Jeder Eintrag erzeugt eine variable in den Objekten. Sobald ein Status des Homematic-ID gesetzt wird, wird die Zeit bzw. die Anzahl der Schaltvorgaenge gespeichert /*10- 18 Status to log */ '' , //Status kann in hochkomma anagegeben werden z.B. '100' oder 100\. Für Level Geraete wird nur ein Status berücksichtigt. Der Status kann von 0 - 100 eingegeben wird - empfohlen ist 1\. /*11 - Status to log */ '' , // Als eingeschaltet wird alles groesser gleich dem eingegebenen Wert berechnet /*12 - Status to log */ '' , /*13 - Status to log */ '' , /*14 - Status to log */ '' , /*15 - Status to log */ '' , /*16 - Status to log */ '' , /*17 - Status to log */ '' , /*18 - Status to log */ '' , /*19 - Status to log */ /*Refresh */ false // Refresh. Es werden alle Daten geloescht. Solange Refresh auf true steht werden keine neuen Daten aufgezeichnet ]; Gruppen[1] = /*1.Homematic ID, */ ['hm-rpc.0.JEQ0199306.1.LEVEL' , /*2.Feldname(no spaces)*/ 'Licht_WZ_EsstischDecke' , /*3.Freie Beschreibung */ 'Licht Wohnzimmer Esstisch Deckenlampe' , /*4.DAY */ true , /*5.Week */ true , /*6.Month */ false , /*7.Year */ false , /*8.Switch */ true, /*9 - 18 Status to log */ 'true' , /*10- 18 Status to log */ '' , /*11 - Status to log */ '' , /*12 - Status to log */ '' , /*13 - Status to log */ '' , /*14 - Status to log */ '' , /*15 - Status to log */ '' , /*16 - Status to log */ '' , /*17 - Status to log */ '' , /*18 - Status to log */ '' , /*19 - Status to log */ /*Refresh */ false ]; !

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

                      Version 030 ist jetzt hochgeladen mit folgenden Erweiterungen:

                      ….........Version 0.30

                      • Externes Logging (Excel) ist implementiert und kann aktiviert werden und zwar fuer jeden aufgezeichnete Statuswechsel und fuer genullte Werte

                      • HISTORY ist implementiert und kann aktiviert werden fuer Monat und Jahr (genullte Werte werden in Form JJJJMM gesichert

                      Rahmen der History funktion wurde die freie Bezeichnung entfernt, da sie nirgendwo im Programm genutzt wurde

                      • Refresh variable ist einstellbar. Vorläufige Funktion: Updates werden ignoriert falls auf true

                      vG Looxer

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

                        Hi,

                        Version 0.40 ist im ersten post hochgeladen.

                        Es gab noch einige grundsätzliche Fehler in der Vorversion beim Monats bzw. Jahreswechsel.

                        Das sollte jetzt funktionieren.

                        Ich selber setze den Zaehler jetzt produktiv ein.

                        vG Looxer
                        144_total01.png
                        144_total02.png

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

                          und jetzt ist die Version 0.60 hochgeladen mit wesentlich erweitertem Funktionsumfang.

                          Ich habe den ersten Post upgedated mit einer umfangreicheren Beschreibung.

                          Wesentlich ist das neue Methoden hinzugekommen sind die Berechnungen ermöglichen, die über zeitdifferenzbildung hinausgehen.

                          Das wird z.B. benötig für Ölverbrauchs-Stromverbrauchs,Pelletverbrauchs Rechnungen in KG/Wh, kWh, Euro etc.

                          vG Looxer

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            starfish
                            schrieb am zuletzt editiert von
                            #33

                            gelöscht - update folgt

                            1 Antwort Letzte Antwort
                            0
                            • blauholstenB Offline
                              blauholstenB Offline
                              blauholsten
                              Developer
                              schrieb am zuletzt editiert von
                              #34

                              Wollte mal ein kurzes Feedback geben. Erstmal grosses Lob für die tolle Arbeit!!!!!!!!!!!!

                              Ich nutze "Ihn" seit einigen Tagen produktiv, ohne Fehler! Klappt alles wunderbar, hoffe aber dennoch das du nicht wieder eine neue Version raus bringst! :D ;) …Denn die Arrays umzuschreiben macht etwas Arbeit. :oops:

                              Gibt es die Möglichkeit das man z.B. auch einen Tagesverbrauch oder ähnliches machen kann? ...Überwache meine Öltanks, und mache in einem ähnlichen Skript einen Tages, Wochen-verbrauch usw... würde das gerne alles in deinem Skript machen!

                              Mfg blauholsten

                              Entwickler vom: - Viessman Adapter
                              - Alarm Adapter

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

                                Hi blauholsten,

                                Das freut mich, dass es jemand einsetzt :)

                                die Time Funktion ist -glaube ich- recht stabil. Auch die Stomverbauchsmessung läuft.

                                Für andere Funktionen musste ich doch noch tiefer in die Programmierkiste greifen.

                                Die neue Version 0.65, die bald fertig ist:

                                Die kann alles was Verbrauch und Silo braucht. Dafür musste ich aber noch die Tabelle "special" anpassen.

                                Ansonsten sind keine weiteren Änderungen notwendig

                                Ich teste die Version aber noch ein wenig bevor ich sie hochlade.

                                Für Silorechnung kannst du dann folgendes machen:

                                • Messung der Füllzeiten anhand der Laufzeiten der Düse vermute ich mal (irgendwoher muss ja die Grundlage kommen)

                                • Umrechnung in Literverbrauch mit Kumulation und darstellung in perioden (DAY,WEEK,MONTH,YEAR) inklusiver Vorperioden für die Graphische Darstellung

                                • Darstellung des Restbestandes im Tank/Silo. (Subtraktion des Verbrauches fom letzten Tankstand). Der Tank muss natürlich dann nach Füllung auf "voll" gesetzt werden

                                • Umrechnung in Euroverbrauch mit Kumulation und darstellung in perioden inklusiver Vorperioden für die Graphische Darstellung

                                • Darstellung des AN AUS Zustandes der Düsenlaufzeit auch in Werten wie z.B. 1 und zwei statt true und false (So lassen sich die Schaltzustände in FLOT darstellen (Dafür gibt es eine neue Methode "BOOL"

                                Zusätzlich lassen sich alle Datenpunkte auch wieder automatisch loeschen (nicht nur nullen). Falls mal was umgebaut werden muss

                                Ich selber habe eine Schnecke deren Schnittstelle dummerweise immer false meldet, wenn sie läuft. Dafür habe ich noch eine Reverse funktion eingebaut. Ist aber wohl special

                                Ich hoffe, dass ist es was du brauchst.

                                vG Looxer

                                1 Antwort Letzte Antwort
                                0
                                • blauholstenB Offline
                                  blauholstenB Offline
                                  blauholsten
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #36

                                  Hi,

                                  ja das könnte klappen.

                                  Kurz zum Hintergrund. :

                                  Ich habe Öltanks und dort ist eine Ultraschall Messung installiert. Ich liefere an iobroker dann einem wert in Liter. (Über S7 Adapter) , dieser Wert ist zwar relativ statisch aber nur vor dem Komma. Ich will nun das zu einer bestimmten Zeit (z.B. Tages Wechsel) der aktuelle Wert vom Vortag abgezogen wird. Kumulierte Werte dann auf Woche…. Usw...

                                  Ich hoffe du hast verstanden was ich will. Vom Handy lässt sich nicht so gut schreiben.

                                  Entwickler vom: - Viessman Adapter
                                  - Alarm Adapter

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

                                    Hi,

                                    das sollte ohnehin schon funktionieren. Das Prinzip ist ja wie beim Stromzähler.

                                    Ein Wert kommt rein und dieser ist der letzte Stand. Differenzbildung zum vorherigen Stand ist der Verbrauch.

                                    Der Unterschied ist, dass sich der letzte Stand beim Stromzähler immer erhöht während er sich bei dir immer verringert. (negative Verbrauchswerte)

                                    Ich habe das Feedback, dass der Stromzähler funktioniert, also wird es wohl auch bei dir schon jetzt gehen, und zwar mit der Methode DELTA.

                                    Die Differenz wird dabei immer gebildet, wenn der Zählerstand eingeht und in die Perioden (Tag,Woche,Monat,Jahr) eingetragen.

                                    Wäre super, wenn du das mal testen könntest.

                                    Mit der Version 0.65 kommt dann noch der Vorperiodenwert.

                                    Damit hast du nur einen update je Periode (Tag,Woche,Monat,Jahr), der sich erst bei Periodenwechsel ändert.

                                    vG Looxer

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      starfish
                                      schrieb am zuletzt editiert von
                                      #38

                                      Anwendungsbeispiel Stromverbrauch

                                      291_obj-verbrauch.png

                                      291_verbrauch.png

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        starfish
                                        schrieb am zuletzt editiert von
                                        #39

                                        Anwendungsbeispiel bool offset , Darstellung von mehreren Statussignalen übereinander

                                        291_mehrfachgraph.png
                                        291_objecttree.png

                                        genauere Anleitung hier: http://forum.iobroker.net/viewtopic.php … 933#p19780

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

                                          Hi,

                                          es gibt ein umfängliches update - Jetzt Version 0.70. (siehe erster Post)

                                          Da die Einstellungen doch recht komplex sind habe ich ich eine recht ausführliche Dokumentation hinzugefügt.

                                          Dafür sind die Beschreibungen im ersten Post gekürzt

                                          major changes:

                                          ….........Version 0.70 Die Datenpunkte werden jetzt nicht zurückgesetzt sondern geloescht, wenn das loeschkennzeichen gesetzt wird

                                          ............................bei der Berechnung der Methoden ist ein Divisor eingefügt worden um leichter von Millisekunden auf Verbrauchswerte zu rechnen, oder auch für alternative Darstellungen für Zeitwerte

                                          ............................DELTAM - Methode hinzugefügt um automatische Tankmessungen zu unterstützen (absteigende gemeldete Werte)

                                          ............................Zusammenführung der Methoden ADD und SUB in TIME. Das wird durch die Anwendung der Rechenregel auch für TIME gemacht. Damit kann bei negativen faktor SUB - also Bestandsrechnung umgesetzt werden

                                          ............................Auch kann jederzeit von Darstellung DDDD:HH:MM:SS auf Sekunden/Minuten/Stunden/Tage etc durch Umrechnung umgestellt werden

                                          ............................Durch Tabelle specials kann eingestellt werden, ob der BSZ für einen Datenpunkt auf ack = true oder false reagieren soll (false sitzt i.d.R. bei selbsdefinierten Datenpunkten)

                                          ............................Die Anzal der möglichen IDs ist auf 26 erhöht

                                          ............................Eine Fluktuationsgrenze für Delta und deltaM ist in Tabelle special eingefügt. Bei blank(also '') wird 100 angenommen. Damit können Schwankungen von Messgeraeten ausgeglichen werden (i.d.R sollte 100 ausreichend sein)

                                          ............................Zur Vermeidung von Eingabefehlern in den Tabellen sind Zahlen in hochkomma erlaubt aber auch Zahlen ohne hochkomma- bei der Angabe von status true/false ist ebenfalls beides möglich

                                          ............................Es besteht die Möglichkeit eine Individuallogik einzubauen. Beispiel ist hier "oekofen". Der gemessene Wert wird vor Anwendung der Rechenregel an die function individual(funktion,nummer,runtime) gegeben.

                                          ............................wobei funktion = Name der Individual-Funktion / nummer = nummer des Geraetes aus der ersten Tabelle / runtime = gemessener Wert und Rückgabewert (damit wird der gemessene Wert uebersteuert)

                                          ............................Tabelle special Nummer 10 eingefügt zur Vorbereitung einer gleitenden Durchschnittsberechnung

                                          ............................Es wurden Reserveplätze für tabelle specials eingefügt (10 und 11).

                                          ............................Logging fuer die Aenderung von Datenpunkten wurde erneuert

                                          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

                                          604

                                          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