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

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

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

[Vorlage] Stromverbrauch protokollieren - (etwas optimiert)

Geplant Angeheftet Gesperrt Verschoben JavaScript
455 Beiträge 81 Kommentatoren 116.8k 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
    #86

    @cvidal:

    Beide,

    Automatisch eingelesene habe ich zwei Geräte und habe eins händisch zugefügt.

    Verhalten sich alle gleich.

    Gruß `

    bitte diese Funktion

    function setRecognizedChange(type) {
        cacheSelectorStateMeter.each(function (id, i) {
            var geraetename = parseObjects(id);
    
            setState(pfad + geraetename + '.config.' + type, true);
        });
    
        cacheSelectorStateEnergyCounter.each(function (id, i) {
            var geraetename = parseObjects(id);
    
            setState(pfad + geraetename + '.config.' + type, true);
        });    
    }
    

    durch folgende ersetzen:

    `function setRecognizedChange(type) {
        cacheSelectorStateMeter.each(function (id, i) {
            var geraetename = parseObjects(id);
    
            setState(pfad + geraetename + '.config.' + type, true);
        });
    
        cacheSelectorStateEnergyCounter.each(function (id, i) {
            var geraetename = parseObjects(id);
    
            setState(pfad + geraetename + '.config.' + type, true);
        });
    
        if (eigeneDatenpunkte.length > 0) {
    
            for(var i = 0; i < eigeneDatenpunkte.length; i++) {
                var alias = eigeneDatenpunkte[i][1];
    
                setState(pfad + alias + '.config.' + type, true);
            }
        }
    }`
    
    Das ist für den Tageswechsel von eigenen Datenpunkten.[/i]
    
    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      ple
      schrieb am zuletzt editiert von
      #87

      Wird gleich mal gemacht,

      also bei mir, denke auch bei cvidal, werden nach Tag und Woche der Configwert auf true gesetzt.

      Das scheint soweit zu funktionieren.

      Mit welcher Nodeverion bis du unterwegs? Wir haben die 6.xxx drauf.

      Deine Änderung lasse ich mal einfließen. Werde danach mal die Datenpunkte wieder löschen und den morgen abwarten.

      Gruß und Danke
      1241_iobroker.png

      Intel Nuc + Proxmox

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

        Jetzt scheint es super zu klappen. Endlich kann ich mir eine entsprechende Übersicht erstellen.

        4489_bildschirmfoto_2018-03-19_um_12.11.25.png

        Die Ordner im JS sehen jetzt so aus:

        4489_bildschirmfoto_2018-03-19_um_10.21.22.png

        Bin sehr gespannt auf die nächsten Tage, dann kann ich mir dann eine Entwicklung darstellen, bzw einen Verlauf.

        Noch verstehe ich nicht, warum tag und Woche verschieden sind von Quartal, Monat und Jahr?

        <size size="150">Noch eine Idee zu der Grundgebühr: Wäre es evtl. sinnvoll den Wert mal 12/360 zu Teilen und dann dem Tagesumsatz hinzuzurechen?</size>

        Beste Grüße und Danke

        1 Antwort Letzte Antwort
        0
        • sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #89

          Hallo, kann es nicht installieren,

          geht es nicht unter Windows?

          2858_screenshot__443_.png

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          1 Antwort Letzte Antwort
          0
          • wendy2702W Offline
            wendy2702W Offline
            wendy2702
            schrieb am zuletzt editiert von
            #90

            Ist doch kein Adapter sondern nur ein Script.

            Also aus Git laden und in Javascript als neues Script kopieren sollte gehen.

            Bitte keine Fragen per PN, die gehören ins Forum!

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            1 Antwort Letzte Antwort
            0
            • sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #91

              Ich bin ein Vollkoffer…......... :shock:

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              1 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                Kampfratte
                schrieb am zuletzt editiert von
                #92

                Guten morgen,

                habe mich gewundert, warum die kW/h nur mit 2 nachkommastellen geschrieben werden, obwohl ich 3 angegeben habe.

                Grund: Hab nen Fehler in Zeile 355 entdeckt und geändert. Und siehe da, jetzt sind es 3 nachkommastellen.

                Aus

                // aktualisiere den Verbrauch und die Kosten
                            _zaehler    = (getState(idKumuliert).val / 1000).toFixed(AnzahlKommastellenKosten);
                            _preis      = getState(idStrompreis).val;
                

                wurde

                // aktualisiere den Verbrauch und die Kosten
                            _zaehler    = (getState(idKumuliert).val / 1000).toFixed(AnzahlKommastellenZaehlerstand);
                            _preis      = getState(idStrompreis).val;
                
                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  dering
                  schrieb am zuletzt editiert von
                  #93

                  @Kampfratte:

                  Guten morgen,

                  habe mich gewundert, warum die kW/h nur mit 2 nachkommastellen geschrieben werden, obwohl ich 3 angegeben habe.

                  Grund: Hab nen Fehler in Zeile 355 entdeckt und geändert. Und siehe da, jetzt sind es 3 nachkommastellen.

                  Aus

                  // aktualisiere den Verbrauch und die Kosten
                              _zaehler    = (getState(idKumuliert).val / 1000).toFixed(AnzahlKommastellenKosten);
                              _preis      = getState(idStrompreis).val;
                  

                  wurde

                  // aktualisiere den Verbrauch und die Kosten
                              _zaehler    = (getState(idKumuliert).val / 1000).toFixed(AnzahlKommastellenZaehlerstand);
                              _preis      = getState(idStrompreis).val;
                  ```` `  
                  

                  Vielen Dank für den Hinweis. Hab ich gleich in github geändert.

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

                    Version 1.1.3 ist nun online:

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

                    1.1.3 (2018-03-20)

                    (hdering) AnzahlKommastellenZaehlerstand korrigiert

                    1.1.2 (2018-03-19)

                    (hdering) Tages-, Wochen-, Monats-.... bei eigenen Datenpunkten vergessen zu setzen

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

                      @ple:

                      Wird gleich mal gemacht,

                      also bei mir, denke auch bei cvidal, werden nach Tag und Woche der Configwert auf true gesetzt.

                      Das scheint soweit zu funktionieren.

                      Mit welcher Nodeverion bis du unterwegs? Wir haben die 6.xxx drauf.

                      Deine Änderung lasse ich mal einfließen. Werde danach mal die Datenpunkte wieder löschen und den morgen abwarten.

                      Gruß und Danke `

                      Ich habe auch node 6.

                      Kannst du mal die log in ioBroker um 0:00 Uhr offen lassen um zu sehen, ob irgendwelche Fehler kommen?

                      Irgendwas muss ja kommen.

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        Kampfratte
                        schrieb am zuletzt editiert von
                        #96

                        danke für das Update. Habe deine Änderungen bei mir rein kopiert.

                        Musste nur aufpassen, ab wo ich von github kopiere, da ich dein Script ziemlich oben heute früh vor der Arbeit angepasst habe.

                        Ich habe das Script heute früh in soweit geändert, dass es bei Tages-, Wochen-, Monats-, u.s.w. Wechsel nicht mehr "true" in die config… schreibt, sondern gleich das kopieren der Zahlen in die Tag1, Tag2, Tag3 u.s.w. durchführt und den aktuellen Tag auf 0 setzt. Und das Nachts um 0 Uhr.

                        Habe dann nach einbau den schedule Tag statt auf 0 0 auf 35 5 und so gestellt um zu sehen was passiert. Und siehe da, es klappte bei allen drei Versuchen.

                        Grund für diese Arbeit bei mir war, dass Steckdosen in diesem Log mit dabei sind, die nicht jeden Tag an sind, sondern ganz sporadisch nur ab und an. Das Problem war, dass das sogenannte "true" ja nur abgearbeitet wurde und die Daten übertragen wurden, wenn die Steckdose an ist und einen Wert schickt. Wenn die Steckdose nun aber 2 Tage nicht in Betrieb ist, dann bekomme ich den Verbrauch aber nicht nach Tag 3, wo er eigentlich hin sollte, sondern nach Tag 1 eingetragen. Aber genau das wollte ich nicht.

                        Wenn jemand Interesse daran hat, bitte melden.

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

                          @dering:

                          @ple:

                          Wird gleich mal gemacht,

                          also bei mir, denke auch bei cvidal, werden nach Tag und Woche der Configwert auf true gesetzt.

                          Das scheint soweit zu funktionieren.

                          Mit welcher Nodeverion bis du unterwegs? Wir haben die 6.xxx drauf.

                          Deine Änderung lasse ich mal einfließen. Werde danach mal die Datenpunkte wieder löschen und den morgen abwarten.

                          Gruß und Danke `

                          Ich habe auch node 6.

                          Kannst du mal die log in ioBroker um 0:00 Uhr offen lassen um zu sehen, ob irgendwelche Fehler kommen?

                          Irgendwas muss ja kommen. `

                          So, gerade noch mal alles neu gemacht mit deinem aktuellen Script und mal ein paar Minuten später die Daten schieben lassen. Ohne die WM-Bus Teilnehmer ging das schon mal.

                          Ich aktiviert die jetzt auch mal und sehe morgen früh mehr.

                          Nun scheint es zu funktionieren.

                          Besteht noch die Möglichkeit eventuell ein paar Features einzubauen?

                          Schön wäre es, wie auch beim eigenen Preis, auch die Einheit anzugeben, eventuell noch einen Teiler. Somit könnte man das Script für Wasser, Gasverbrauch nehmen.

                          Gruß und Danke

                          Intel Nuc + Proxmox

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

                            @ple:

                            @dering:

                            @ple:

                            Wird gleich mal gemacht,

                            also bei mir, denke auch bei cvidal, werden nach Tag und Woche der Configwert auf true gesetzt.

                            Das scheint soweit zu funktionieren.

                            Mit welcher Nodeverion bis du unterwegs? Wir haben die 6.xxx drauf.

                            Deine Änderung lasse ich mal einfließen. Werde danach mal die Datenpunkte wieder löschen und den morgen abwarten.

                            Gruß und Danke `

                            Ich habe auch node 6.

                            Kannst du mal die log in ioBroker um 0:00 Uhr offen lassen um zu sehen, ob irgendwelche Fehler kommen?

                            Irgendwas muss ja kommen. `

                            So, gerade noch mal alles neu gemacht mit deinem aktuellen Script und mal ein paar Minuten später die Daten schieben lassen. Ohne die WM-Bus Teilnehmer ging das schon mal.

                            Ich aktiviert die jetzt auch mal und sehe morgen früh mehr.

                            Nun scheint es zu funktionieren.

                            Besteht noch die Möglichkeit eventuell ein paar Features einzubauen?

                            Schön wäre es, wie auch beim eigenen Preis, auch die Einheit anzugeben, eventuell noch einen Teiler. Somit könnte man das Script für Wasser, Gasverbrauch nehmen.

                            Gruß und Danke `

                            Perfekt wäre ein eigener Adapter dafür. Ich bin mich schon am einlesen wie sowas funktioniert :).

                            Was man natürlich machen könnte. Alle Geräte ob Homematic oder nicht Homematic über eigene Datenpunkte anlegen. So könnte man zumindest die Einheit selbst wählen.

                            Teiler müsste dann noch hinzugefügt werden.

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

                              Dein Script nähert sich diesem hier

                              viewtopic.php?f=21&t=2175

                              schön das sich was in die Richtung entwickelt, leider kann ich dabei nicht unterstützen, da mir das Wissen fehlt.

                              Bin schon froh dass ich meine Standard Sachen in Javascript hinbekomme :-)

                              Intel Nuc + Proxmox

                              1 Antwort Letzte Antwort
                              0
                              • lobomauL Offline
                                lobomauL Offline
                                lobomau
                                schrieb am zuletzt editiert von
                                #100

                                Wie muss ich die Zeile für telegram richtig anpassen? Ich bekomme nämlich einen Fehler.

                                Meine Anpassung:

                                // Pushmeldung
                                function send_message(text) {
                                
                                    // Hier können die Pushmeldung über alle möglichen Wege verschickt werden.
                                
                                    //console.log(text);
                                
                                    sendTelegram(text);
                                }
                                
                                // ++++ ENDE USER ANPASSUNGEN ++++++++++++++++++++++++
                                

                                Fehler:

                                javascript.0	2018-03-21 14:40:46.237	info	Stop script script.js.common.Stromzaehler_homematic
                                javascript.0	2018-03-21 14:38:38.880	error	at Object. (script.js.common.Stromzaehler_homematic:437:4)
                                javascript.0	2018-03-21 14:38:38.880	error	at run (script.js.common.Stromzaehler_homematic:355:30)
                                javascript.0	2018-03-21 14:38:38.880	error	at send_message (script.js.common.Stromzaehler_homematic:60:5)
                                javascript.0	2018-03-21 14:38:38.880	error	Error in callback: ReferenceError: sendTelegram is not defined
                                javascript.0	2018-03-21 14:38:38.879	info	script.js.common.Stromzaehler_homematic: Stromverbrauch und -kosten 
                                

                                Host: NUC8i3 mit Proxmox:

                                • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
                                • Slave: Pi4
                                1 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  dering
                                  schrieb am zuletzt editiert von
                                  #101

                                  @lobomau:

                                  Wie muss ich die Zeile für telegram richtig anpassen? Ich bekomme nämlich einen Fehler.

                                  Meine Anpassung:

                                  // Pushmeldung
                                  function send_message(text) {
                                      
                                      // Hier können die Pushmeldung über alle möglichen Wege verschickt werden.
                                      
                                      //console.log(text);
                                      
                                      sendTelegram(text);
                                  }
                                  
                                  // ++++ ENDE USER ANPASSUNGEN ++++++++++++++++++++++++
                                  

                                  Fehler:

                                  javascript.0	2018-03-21 14:40:46.237	info	Stop script script.js.common.Stromzaehler_homematic
                                  javascript.0	2018-03-21 14:38:38.880	error	at Object. (script.js.common.Stromzaehler_homematic:437:4)
                                  javascript.0	2018-03-21 14:38:38.880	error	at run (script.js.common.Stromzaehler_homematic:355:30)
                                  javascript.0	2018-03-21 14:38:38.880	error	at send_message (script.js.common.Stromzaehler_homematic:60:5)
                                  javascript.0	2018-03-21 14:38:38.880	error	Error in callback: ReferenceError: sendTelegram is not defined
                                  javascript.0	2018-03-21 14:38:38.879	info	script.js.common.Stromzaehler_homematic: Stromverbrauch und -kosten 
                                  ```` `  
                                  

                                  Hi lobomau,

                                  du musst Telegram installiert und konfiguriert haben. Ich habe in meinem javascript\global Ordner eine Hilfsfunktion dafür geschrieben die überall verfügbar ist.

                                  Anstatt

                                  > sendTelegram(text);

                                  könntest du auch folgendes schreiben:

                                  ` > sendTo("telegram.0", {

                                  text: text,

                                  chatId: <deine id="">});</deine> `

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    Kampfratte
                                    schrieb am zuletzt editiert von
                                    #102

                                    @lobomau:

                                    Wie muss ich die Zeile für telegram richtig anpassen? Ich bekomme nämlich einen Fehler.

                                    Meine Anpassung:

                                    // Pushmeldung
                                    function send_message(text) {
                                        
                                        // Hier können die Pushmeldung über alle möglichen Wege verschickt werden.
                                        
                                        //console.log(text);
                                        
                                        sendTelegram(text);
                                    }
                                    
                                    // ++++ ENDE USER ANPASSUNGEN ++++++++++++++++++++++++
                                    

                                    Fehler:

                                    javascript.0	2018-03-21 14:40:46.237	info	Stop script script.js.common.Stromzaehler_homematic
                                    javascript.0	2018-03-21 14:38:38.880	error	at Object. (script.js.common.Stromzaehler_homematic:437:4)
                                    javascript.0	2018-03-21 14:38:38.880	error	at run (script.js.common.Stromzaehler_homematic:355:30)
                                    javascript.0	2018-03-21 14:38:38.880	error	at send_message (script.js.common.Stromzaehler_homematic:60:5)
                                    javascript.0	2018-03-21 14:38:38.880	error	Error in callback: ReferenceError: sendTelegram is not defined
                                    javascript.0	2018-03-21 14:38:38.879	info	script.js.common.Stromzaehler_homematic: Stromverbrauch und -kosten 
                                    ```` `  
                                    

                                    einfach

                                    // Pushmeldung
                                    function send_message(text) {
                                    
                                        // Hier können die Pushmeldung über alle möglichen Wege verschickt werden.
                                    
                                        //console.log(text);
                                    
                                        //sendTelegram(text);
                                    }
                                    
                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      Mac
                                      schrieb am zuletzt editiert von
                                      #103

                                      Irgendwie wird bei mir der Wert am Tageswechsel nicht auf null gesetzt. Was ist noch falsch?

                                      Der Verbrauch war heute, bis jetzt, nur 7 kWh
                                      4489_bildschirmfoto_2018-03-21_um_17.57.33.png
                                      4489_bildschirmfoto_2018-03-21_um_18.02.43.png

                                      1 Antwort Letzte Antwort
                                      0
                                      • K Offline
                                        K Offline
                                        Kampfratte
                                        schrieb am zuletzt editiert von
                                        #104

                                        laut screen Loggst du die Daten ja mit. Was steht denn im Log so gegen 0 Uhr?

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

                                          Laut Log um 00:01 17 kWh

                                          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

                                          356

                                          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