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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Stromverbrauch protokollieren - (etwas optimiert)

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[Vorlage] Stromverbrauch protokollieren - (etwas optimiert)

Geplant Angeheftet Gesperrt Verschoben JavaScript
455 Beiträge 81 Kommentatoren 116.6k Aufrufe 36 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.
  • D Offline
    D Offline
    dering
    schrieb am zuletzt editiert von
    #41

    @cvidal:

    @dering:

    Mach mal Screenshots von den Objekten in ioBroker. Am besten die ganze Baumstruktur aufklappen, damit man sieht, welchen Wert man mitloggen muss. `

    Danke für die Rückmeldung,

    ich hoffe damit kannst du Arbeiten 🙂

    TP-Link HS110:

    HS110.PNG

    Sonoff POW:

    HS110.PNG

    Gruß Christian `

    Version 1.1.0 ist nun online:

    https://github.com/hdering/homematic_st … okollieren

    1.1.0 (2018-03-12)

    • (hdering) Arbeitspreis + Grundpreis werden nicht mehr über das Skript gesetzt.

    • (hdering) Neuer Arbeitspreis + Grundpreis können innerhalb des Jahres angegeben werden.

    • (hdering) Geräte können ihren eigenen Strompreis haben.

    • (hdering) Geräte mit eigenem Strompreis haben ebenfalls die Funktion Arbeitspreis + Grundpreis innerhalb des Jahres zu ändern.

    • (hdering) Eigene Datenpunkte angeben

    • (hdering) Fehler in Funktion entferneDatenpunkt behoben

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      dering
      schrieb am zuletzt editiert von
      #42

      @Nepomukl:

      ups, das ist im falschen Fred gelandet.

      Jo mit der Angabe tuts das Script.

      Nun etwas anderes. Das bezieht sich ja alles auf HM Produkte.

      Das brauch ich in diesem Script nicht.

      Kann man nicht am Anfang des Scriptes einen Datenpunkt angeben der Ausgewertet werden soll?

      Einen Zählerstand, oder ein HM Fremdes Gerät.

      Das wäre mir lieber 😄

      Gruß Andreas `

      Version 1.1.0 ist nun online:

      https://github.com/hdering/homematic_st … okollieren

      1.1.0 (2018-03-12)

      • (hdering) Arbeitspreis + Grundpreis werden nicht mehr über das Skript gesetzt.

      • (hdering) Neuer Arbeitspreis + Grundpreis können innerhalb des Jahres angegeben werden.

      • (hdering) Geräte können ihren eigenen Strompreis haben.

      • (hdering) Geräte mit eigenem Strompreis haben ebenfalls die Funktion Arbeitspreis + Grundpreis innerhalb des Jahres zu ändern.

      • (hdering) Eigene Datenpunkte angeben

      • (hdering) Fehler in Funktion entferneDatenpunkt behoben

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

        Yeah, das muss ich heute Abend mal testen;-)

        Besten Dank für deine Bemühungen;-)

        Gruß

        Intel Nuc + Proxmox

        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          Nepomukl
          schrieb am zuletzt editiert von
          #44

          Top 😄

          habs gleich mal eingebaut. Jetzt gehts ans Testen.

          Bist ja wirklich fix 😉

          Besten Dank !!!

          Gruß Andreas

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

            ****Hallo,

            danke erst einmal dass Du Deine Arbeit teilst und hilfst.

            Meine Datenpunkte bekomme ich aus einem Loxone Mini Server und KNX Datenpunkten. Ich habe ein Stromzählerstand in Dein Script eingesetzt, aber offensichtlich habe ich die notwendigen Einstellungen nicht verstanden. Würdest Du es mir bitte noch mal erläutern hier meine Ansatz:****

            // debug logging

            var logging = true;

            // Aktivieren der History Instanz

            var enable_history = true;

            // history Instanz

            var instance_history = 'history.0';

            // Geräte können unterschiedliche Preise haben

            var enable_unterschiedlichePreise = true;

            // Speichern der Werte in zusätzlichen Objekten.

            // Wenn 0, dann deaktiviert

            var Tag_Anzahl_Werte_in_der_Vergangenheit = 7;

            var Woche_Anzahl_Werte_in_der_Vergangenheit = 4;

            var Monat_Anzahl_Werte_in_der_Vergangenheit = 12;

            var Quartal_Anzahl_Werte_in_der_Vergangenheit = 4;

            var Jahr_Anzahl_Werte_in_der_Vergangenheit = 2;

            var instance = '0';

            var instanz = 'javascript.' + instance + '.';

            // Pfad innerhalb der Instanz

            var pfad = 'Strom.';

            // Diese Teile werden aus den Gerätenamen entfernt

            var blacklist = [':1', ':2', ':3', ':4', ':5', ':6', ':7', ':8'];

            var AnzahlKommastellenKosten = 2;

            var AnzahlKommastellenVerbrauch = 3;

            var AnzahlKommastellenZaehlerstand = 3;

            var eigeneDatenpunkte = [

            // Beispiel:

            // ['Datenpunkt', 'Aliasname'],

            [ 'loxone.0.114bea65-0309-2a96-ffff403fb0c34b9e.value', 'Allgemeinstrom' ],

            // [ 'javascript.1.MeinePower', 'MeinSonoff' ],

            // [ 'javascript.1.MeinePower2', 'Sonoff.MeinZweiterSonoff' ],

            ];

            B: Kann ich auch einen Gasverbrauch damit loggen?

            Mit besten Grüßen

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

              Sieht soweit alles gut aus, könnte sein, dass er mit dem "-" nicht klar kommt.

              Wie hast du den Datenpunkt eingetragen? Über den Kopierbutton unter Objekte bei ID? Vielleicht ist auch ein Fehler im Namen.

              Für Gasverbrauch wäre das auch was, jedoch ist die Angabe in kWh.

              Was ich mir wünschen würde, wäre für jeden Datenpunkt eine Einheit die man selbst bestimmt. Zusätzlich wäre noch ein Teiler erforderlich, da einige Sensoren nicht nur Wh ausgeben sonder auch kWh.

              Dann wäre das Script perfekt für alle Energietypen.

              Was bei mir noch auffällt. Gestern Abend habe ich das Script aktiviert, danach wurde um 12 nicht genullt, sondern weitergezählt.

              Muss da noch was eingestellt werden??

              Großen Dank für deine Bemühungen !!!

              Intel Nuc + Proxmox

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                dering
                schrieb am zuletzt editiert von
                #47

                @Mac:

                ****Hallo,

                danke erst einmal dass Du Deine Arbeit teilst und hilfst.

                Meine Datenpunkte bekomme ich aus einem Loxone Mini Server und KNX Datenpunkten. Ich habe ein Stromzählerstand in Dein Script eingesetzt, aber offensichtlich habe ich die notwendigen Einstellungen nicht verstanden. Würdest Du es mir bitte noch mal erläutern hier meine Ansatz:****

                // debug logging

                var logging = true;

                // Aktivieren der History Instanz

                var enable_history = true;

                // history Instanz

                var instance_history = 'history.0';

                // Geräte können unterschiedliche Preise haben

                var enable_unterschiedlichePreise = true;

                // Speichern der Werte in zusätzlichen Objekten.

                // Wenn 0, dann deaktiviert

                var Tag_Anzahl_Werte_in_der_Vergangenheit = 7;

                var Woche_Anzahl_Werte_in_der_Vergangenheit = 4;

                var Monat_Anzahl_Werte_in_der_Vergangenheit = 12;

                var Quartal_Anzahl_Werte_in_der_Vergangenheit = 4;

                var Jahr_Anzahl_Werte_in_der_Vergangenheit = 2;

                var instance = '0';

                var instanz = 'javascript.' + instance + '.';

                // Pfad innerhalb der Instanz

                var pfad = 'Strom.';

                // Diese Teile werden aus den Gerätenamen entfernt

                var blacklist = [':1', ':2', ':3', ':4', ':5', ':6', ':7', ':8'];

                var AnzahlKommastellenKosten = 2;

                var AnzahlKommastellenVerbrauch = 3;

                var AnzahlKommastellenZaehlerstand = 3;

                var eigeneDatenpunkte = [

                // Beispiel:

                // ['Datenpunkt', 'Aliasname'],

                [ 'loxone.0.114bea65-0309-2a96-ffff403fb0c34b9e.value', 'Allgemeinstrom' ],

                // [ 'javascript.1.MeinePower', 'MeinSonoff' ],

                // [ 'javascript.1.MeinePower2', 'Sonoff.MeinZweiterSonoff' ],

                ];

                B: Kann ich auch einen Gasverbrauch damit loggen?

                Mit besten Grüßen `

                hi Mac,

                ich habe mal den Datenpunkt "loxone.0.114bea65-0309-2a96-ffff403fb0c34b9e.value" in meinem Testskript eingebaut. Er meckert mal nicht.

                Logging ist aktiviert -> gut.

                Was sagt den die Ausgabe? Irgendeine Ausgabe müsste ja kommen.

                Da du den Alias "Allgemeinstrom" angegeben hast, sollte in deiner javascript Instanz in .Strom das Verzeichnis .Allgemeinstrom erstellt werden. Kannst du das bestätigen?

                Zum Gasverbrauch schreib ich nochmal.

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  dering
                  schrieb am zuletzt editiert von
                  #48

                  @ple:

                  Für Gasverbrauch wäre das auch was, jedoch ist die Angabe in kWh.

                  Was ich mir wünschen würde, wäre für jeden Datenpunkt eine Einheit die man selbst bestimmt. Zusätzlich wäre noch ein Teiler erforderlich, da einige Sensoren nicht nur Wh ausgeben sonder auch kWh.

                  Dann wäre das Script perfekt für alle Energietypen. `

                  für die eigenenDatenpunkte ergänze ich noch um ein Feld für Gasverbrauch.

                  @ple:

                  Was bei mir noch auffällt. Gestern Abend habe ich das Script aktiviert, danach wurde um 12 nicht genullt, sondern weitergezählt.

                  Muss da noch was eingestellt werden?? `

                  Existieren bei den Objekten beim jeweiligen Stromzähler ein Ordner config? und dort Tag, Woche, Monat…usw?

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

                    Das ist ja toll, eine so schnelle Antwort, danke.

                    Ja es sind Ordner und Datensätze erzeugt worden, ich kann dort aber keine Werte eintragen:

                    4489_bildschirmfoto_2018-03-13_um_21.50.57.png

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      dering
                      schrieb am zuletzt editiert von
                      #50

                      @Mac:

                      Das ist ja toll, eine so schnelle Antwort, danke.

                      Ja es sind Ordner und Datensätze erzeugt worden, ich kann dort aber keine Werte eintragen:

                      Bildschirmfoto 2018-03-13 um 21.50.57.png `

                      Das Skript sollte eigentlich melden, dass der Arbeitspreis auf 0 steht und somit keine Berechnungen durchgeführt werden können und somit auch abbricht.

                      Siehst du diese Meldung?

                      Kannst du den Arbeitspreis nicht editieren? Rechts auf die 0 klicken und dann deinen aktuellen Arbeitspreis eingeben, z.B. 0.26

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

                        Hallo, es war meine Dusseligkeit ein Komma statt des Punktes zu verwenden, jetzt klappt das Einsetzen der beiden Preise.

                        4489_bildschirmfoto_2018-03-14_um_07.53.40.png

                        Zu Deiner Frage, nein, es ist keine Meldung erschienen, wo hätte ich die denn sehen müssen?

                        Wenn es verschiedene Punkte sind wie erkenne ich den deren Zuordnung? Ich habe jetzt zwei Punkte zusätzlich gesetzt, es erscheint aber noch kein weiterer Ordner?
                        4489_bildschirmfoto_2018-03-14_um_08.02.40.png

                        Erscheinen die Speicherwerte erst wenn ein Verbrauch stattfand?

                        Wird auch der eigentliche Verbrauch in kWh gespeichert?

                        Kann ich mehr als drei Punkte einsetzen?

                        Wird man die Preise von der Vis aus editieren können?

                        Danke Dir noch mal für die Hilfe.

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

                          Eben sehe ich noch eine Menge Fehlermeldungen in Gelb.

                          4489_bildschirmfoto_2018-03-14_um_08.05.24.png

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            dering
                            schrieb am zuletzt editiert von
                            #53

                            @Mac:

                            Eben sehe ich noch eine Menge Fehlermeldungen in Gelb.

                            Bildschirmfoto 2018-03-14 um 08.05.24.png `

                            Mit den Meldungen kann ich im Moment nicht viel Anfang.

                            Bitte mal das Script stoppen und wieder starten.

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              stephan61
                              schrieb am zuletzt editiert von
                              #54

                              Hallo Dering im Script Zeile 765 bis 771 ist ein Fehler

                              if(typeof geraet === "undefined") {

                              // Default Arbeitspreis ändern

                              _Datum = instanz + pfad + '.Preis.neu.Datum';

                              _PreisaenderungDurchgefuehrt = instanz + pfad + '.Preis.neu.PreisaenderungDurchgefuehrt';

                              _Arbeitspreis = instanz + pfad + '.Preis.aktuell.Arbeitspreis';

                              _Grundpreis = instanz + pfad + '.Preis.aktuell.Grundpreis';

                              _ArbeitspreisNeu = instanz + pfad + '.Preis.neu.Arbeitspreis';

                              _GrundpreisNeu = instanz + pfad + '.Preis.neu.Grundpreis';

                              Die Punkte vor Preis müssen weg da bei instanz + pfad schon ein Punkt am Ende Ist

                              Gruß Stephan

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

                                Das Script habe ich neu gestartet, es kommt jetzt keine Fehlermeldung mehr, aber der mittlere Wert > Gesamtstrom EK wurde nicht als Ordner angelegt.

                                Werden die Werte erst bei dem Tageswechsel erzeugt? Gilt der eingegebene Preis dann für alle Meßpunkte?

                                4489_bildschirmfoto_2018-03-14_um_15.13.47.png

                                So sieht es ausgeklappt aus:

                                4489_bildschirmfoto_2018-03-14_um_15.14.25.png

                                1 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  dering
                                  schrieb am zuletzt editiert von
                                  #56

                                  @stephan61:

                                  Hallo Dering im Script Zeile 765 bis 771 ist ein Fehler

                                  if(typeof geraet === "undefined") {

                                  // Default Arbeitspreis ändern

                                  _Datum = instanz + pfad + '.Preis.neu.Datum';

                                  _PreisaenderungDurchgefuehrt = instanz + pfad + '.Preis.neu.PreisaenderungDurchgefuehrt';

                                  _Arbeitspreis = instanz + pfad + '.Preis.aktuell.Arbeitspreis';

                                  _Grundpreis = instanz + pfad + '.Preis.aktuell.Grundpreis';

                                  _ArbeitspreisNeu = instanz + pfad + '.Preis.neu.Arbeitspreis';

                                  _GrundpreisNeu = instanz + pfad + '.Preis.neu.Grundpreis';

                                  Die Punkte vor Preis müssen weg da bei instanz + pfad schon ein Punkt am Ende Ist

                                  Gruß Stephan `

                                  Hi Stephan,

                                  vielen Dank für den Hinweis. Hab ich schon gemerkt und gefixt. Ist in der nächsten Version drin.

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    dering
                                    schrieb am zuletzt editiert von
                                    #57

                                    @Mac:

                                    Zu Deiner Frage, nein, es ist keine Meldung erschienen, wo hätte ich die denn sehen müssen? `

                                    Wenn kein Arbeitspreis angegeben wird, erhält man in der Log einen Fehler oder im Bereich javascript wenn man das Skript selektiert hat.

                                    @Mac:

                                    Wenn es verschiedene Punkte sind wie erkenne ich den deren Zuordnung? Ich habe jetzt zwei Punkte zusätzlich gesetzt, es erscheint aber noch kein weiterer Ordner? `

                                    Anhand dem Aliasnamen den du vergibst. Die Ordner werden erst erzeugt, wenn der erste Wert reinkommt.

                                    @Mac:

                                    Erscheinen die Speicherwerte erst wenn ein Verbrauch stattfand?

                                    Wird auch der eigentliche Verbrauch in kWh gespeichert?

                                    Kann ich mehr als drei Punkte einsetzen?

                                    Wird man die Preise von der Vis aus editieren können? `

                                    Richtig, die Verzeichnisstruktur wird erstellt erstellt, wenn sich der Wert beim Verbrauch ändert.

                                    Der eigentliche Verbrauch wird z.B. bei Homematic Geräten in Wh angegeben (kumulierte Wert). Die anderen Werte speichere ich dann in kWh ab. So ist es auch einfacher zu lesen.

                                    Du meinst mit Punkte Datenpunkte? Ja, soviele du willst bzw. soviele dein ioBroker verträgt :).

                                    Und der Vollständigkeit halber soviele Punket in den Aliasnamen wie du willst.

                                    Wenn du Punkte eingibst, werden Unterordner erstellt. Schon aufgefallen?

                                    Du kannst die Preise via VIS editieren. du musst im VIS nur das Objekt entsprechend angeben.

                                    1 Antwort Letzte Antwort
                                    0
                                    • D Offline
                                      D Offline
                                      dering
                                      schrieb am zuletzt editiert von
                                      #58

                                      @Mac:

                                      Das Script habe ich neu gestartet, es kommt jetzt keine Fehlermeldung mehr, aber der mittlere Wert > Gesamtstrom EK wurde nicht als Ordner angelegt.

                                      Werden die Werte erst bei dem Tageswechsel erzeugt? `

                                      Die Verzeichnisse mit Objekten werden erzeugt, sobald ein neuer Wert gemeldet wird. Außer irgendwo ist ein Fehler und das Skript bricht ab…dann müsste man im Log schauen, ob man dazu etwas sieht.

                                      @Mac:

                                      Gilt der eingegebene Preis dann für alle Meßpunkte? `

                                      der eingegebene Preis hier:

                                      Strom.Preis.aktuell.Arbeitspreis

                                      gilt für alle Geräte (Standardwert).

                                      In jedem Ordner eines Gerätes existiert aber auch noch ein "eigenerPreis" Ordner (wenn die Variable enable_unterschiedlichePreise = true ist). Sobald du dort einen anderen Preis nimmst, wird dieser zur Berechnung von Verbrauch und Kosten genommen.

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

                                        @dering:

                                        n jedem Ordner eines Gerätes existiert aber auch noch ein "eigenerPreis" Ordner (wenn die Variable enable_unterschiedlichePreise = true ist). Sobald du dort einen anderen Preis nimmst, wird dieser zur Berechnung von Verbrauch und Kosten genommen. `

                                        Was genau Passiert denn mit dem Grundpreis? wird der bei jedem Gerät drauf gerechnet? Die Doku verstehe ich zu diesem Punkt nicht.

                                        Gruß Christian

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          dering
                                          schrieb am zuletzt editiert von
                                          #60

                                          @cvidal:

                                          @dering:

                                          n jedem Ordner eines Gerätes existiert aber auch noch ein "eigenerPreis" Ordner (wenn die Variable enable_unterschiedlichePreise = true ist). Sobald du dort einen anderen Preis nimmst, wird dieser zur Berechnung von Verbrauch und Kosten genommen. `

                                          Was genau Passiert denn mit dem Grundpreis? wird der bei jedem Gerät drauf gerechnet? Die Doku verstehe ich zu diesem Punkt nicht.

                                          Gruß Christian `

                                          Den kannst du angeben, aber es wird noch nichts damit gemacht. Steht aber auf der TODO Liste :).

                                          Ich weiß aber noch nicht so recht, wie man den einreichen soll. Soll er in der Jahres, Monats, Ansicht mit dabei sein?

                                          Wenn er im Jahres-, Quartals-, Monatsverbrauch dabei sein sollen, da müsste man ja fürs

                                          Jahr = Grundpreis * 12 + Verbrauch bis dato

                                          Quartal = Grundpreis * die Quartale die schon vorbei sind + Verbrauch bis dato

                                          Monat = Grundpreis * die Monate die schon vorbei sind + Verbrauch bis dato

                                          Wenn du Ideen hast, dann her damit.

                                          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

                                          638

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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