Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Stromverbrauch protokollieren - (etwas optimiert)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Stromverbrauch protokollieren - (etwas optimiert)

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mig81 last edited by

      Kann keiner weiterhelfen?

      Habe alle möglichen Einstellungen versucht…..ich bekomme immer wieder die gleiche Fehlermeldung 😞

      hier meine Einstellungen:

      // +++++++++ USER ANPASSUNGEN ++++++++++++++++++++++++

      // debug logging

      var logging = true;

      // Aktivieren der History Instanz

      var enable_history = false;

      // history Instanz

      var instance_history = 'history.0';

      // Geräte können unterschiedliche Preise haben

      var enable_unterschiedlichePreise = false;

      // 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;

      // Grundpreis einberechnen

      var enable_Grundpreis_einberechnen = false;

      var instance = '0';

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

      // Pfad innerhalb der Instanz

      var pfad = 'Verbrauchszaehler.';

      var default_unit = 'Wh';

      var default_unit_kilo = 'kWh';

      // 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 KumulierterWertIstBereitsInKilo = true;

      var eigeneDatenpunkte = [

      [ 'smartmeter.0.1_8_0.value', 'Casa', 'kWh', 'kWh' ],

      // Beispiel:

      // ['Datenpunkt', 'Aliasname', 'Einheit kumulierter Wert', 'Einheit berechnete Werte (kilo/1000)' ],

      // [ 'hm-rpc.2.NEQ0861663.1.ENERGY_COUNTER', 'Stromzaehler:1.ENERGY_COUNTER', 'Wh', 'kWh' ],

      // [ 'javascript.1.MeinSonoffGeraet1', 'Strom.Sonoff.MeinSonoffGeraet1', 'Wh', 'kWh' ],

      // [ 'javascript.1.MeinSonoffGeraet2', 'Strom.Sonoff.MeinSonoffGeraet2', 'kWh', 'kWh' ],

      // [ 'javascript.1.MeineGas1', 'Gas.MeinGaszaehler1', 'm3', 'm3' ],

      // [ 'javascript.1.MeineGas2', 'Gas.MeinGaszaehler2', 'm3', 'm3' ],

      ];

      // 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 ++++++++++++++++++++++++

      //–--------------------------------------------------------------------------//
      5108_bildschirmfoto_2018-09-26_um_20.14.55.png
      5108_bildschirmfoto_2018-09-26_um_20.16.48.png

      1 Reply Last reply Reply Quote 0
      • Röstkartoffel
        Röstkartoffel last edited by

        @Beowolf:

        Mal ne Frage.

        ` > var eigeneDatenpunkte = [

        // Beispiel:

        // ['Datenpunkt', 'Aliasname', 'Einheit kumulierter Wert', 'Einheit berechnete Werte (kilo/1000)' ],

        [ 'hm-rega.0.8422', 'Stromzaehler', 'Wh', 'kWh' ],

        [ 'hm-rega.0.8424', 'Brauchwasserzaehler', 'm3', 'm3' ],

        // [ 'javascript.1.MeinSonoffGeraet1', 'Strom.Sonoff.MeinSonoffGeraet1', 'Wh', 'kWh' ],

        // [ 'javascript.1.MeinSonoffGeraet2', 'Strom.Sonoff.MeinSonoffGeraet2', 'kWh', 'kWh' ],

        // [ 'javascript.1.MeineGas1', 'Gas.MeinGaszaehler1', 'm3', 'm3' ],

        // [ 'javascript.1.MeineGas2', 'Gas.MeinGaszaehler2', 'm3', 'm3' ],

        ]; `

        Der Stromzähler wird schön erfasst, der Wasserzähler erscheint nicht. Warum? Wo habe ich dort einen Fehler?

        Grüße

        Manfred `
        @Manfred,

        @mig81.

        Entfernt bitte mal das hintere Komma vom letzten Eintrag (habe ich im Zitat rot markiert), das gehört beim letzten Eintrag da nicht mehr hin.

        1 Reply Last reply Reply Quote 0
        • B
          Beowolf last edited by

          Das mit dem Komma ist egal. Habe es probiert.

          Der Fehler bei mir lag an einer anderen Stelle. Der Zähler den ich hier habe gibt nur einen den Wert weiter, wenn sich etwas geändert hat.

          Deshalb hat das bei dem Stromzähler funktioniert. Ich verbrauche ja Strom, ständig. Bei dem Wasserzähler sah es eben anders aus. Der steht ja still (zumindestens solange ich vor meinem Rechner sitze).

          Der Wasserzähler funktioniert jetzt auch.

          ABER

          Ich habe im LOG folgendes stehen:

          ` > javascript.0 2018-09-27 16:31:18.942 error at Object. <anonymous>(script.js.common.Verbrauchszähler:222:25)

          javascript.0 2018-09-27 16:31:18.942 error at run (script.js.common.Verbrauchszähler:361:54)

          javascript.0 2018-09-27 16:31:18.942 error Error in callback: TypeError: Cannot read property 'toFixed' of null

          javascript.0 2018-09-27 16:31:18.942 warn at Object. <anonymous>(script.js.common.Verbrauchszähler:222:25)

          javascript.0 2018-09-27 16:31:18.942 warn at run (script.js.common.Verbrauchszähler:361:28)

          javascript.0 2018-09-27 16:31:18.942 warn getState "javascript.0.Verbrauchszähler.Brauchwasserzähler.Zaehlerstand.kumuliert" not found (3)

          javascript.0 2018-09-27 16:31:18.942 warn at Object. <anonymous>(script.js.common.Verbrauchszähler:222:25)

          javascript.0 2018-09-27 16:31:18.942 warn at run (script.js.common.Verbrauchszähler:302:17)

          javascript.0 2018-09-27 16:31:18.942 warn State "javascript.0.Verbrauchszähler.Brauchwasserzähler.Zaehlerstand.kumuliert" not found

          javascript.0 2018-09-27 16:31:18.941 warn at Object. <anonymous>(script.js.common.Verbrauchszähler:222:25)

          javascript.0 2018-09-27 16:31:18.941 warn at run (script.js.common.Verbrauchszähler:298:41)

          javascript.0 2018-09-27 16:31:18.941 warn getState "javascript.0.Verbrauchszähler.Brauchwasserzähler.Zaehlerstand.kumuliert" not found (3)</anonymous></anonymous></anonymous></anonymous> `

          Bedeutet, das er gerne die Preise haben möchte.

          Wo trage ich die ein?

          Für Strom erscheint sofort unter Preis/aktuell/Arbeitspreis und Grundpreis.

          Für Wasser erscheint dort nichts. Muß ich das manuell anlegen?

          Grüße

          Manfred

          PS:

          Habe es gefunden. In der Zeile im Konfigbereich:

          // Geräte können unterschiedliche Preise haben

          var enable_unterschiedlichePreise = true;

          Grüße

          1 Reply Last reply Reply Quote 0
          • B
            Beowolf last edited by

            Habe noch eine Frage.

            Bei "Arbeitspreis" und "Grundpreis" steht ja in der Spalte NAME immer "Strompreis". Kann ich den im Skript einfach auf "Preis" ändern? Das wäre neutraler.

            Grüße

            Manfred

            1 Reply Last reply Reply Quote 0
            • B
              Beowolf last edited by

              Ist da noch ein Fehler drin?

              Ich habe jetzt drei Zähler. Strom, Wasser und Gartenwasser. Alle mit "eigenem Preis" eingestellt. Sie zählen und berechnen auch alle schon sauber.

              ABER

              In der LOG-Datei von IOBroker steht immer wieder dieses hier:

              javascript.0 2018-09-28 16:35:46.205 info script.js.common.Verbrauchszähler: Das Gerät:Stromzähler hat eigenen Grundpreis: 1.69

              javascript.0 2018-09-28 16:35:46.205 info script.js.common.Verbrauchszähler: Das Gerät:Stromzähler hat eigenen Strompreis: 0.26

              javascript.0 2018-09-28 16:35:46.204 warn at Object. <anonymous>(script.js.common.Verbrauchszähler:223:25)

              javascript.0 2018-09-28 16:35:46.204 warn at run (script.js.common.Verbrauchszähler:367:23)

              javascript.0 2018-09-28 16:35:46.201 warn getState "javascript.0.Verbrauchszähler.Preis.aktuell.Grundpreis" not found (3)

              javascript.0 2018-09-28 16:35:46.201 warn at Object. <anonymous>(script.js.common.Verbrauchszähler:223:25)

              javascript.0 2018-09-28 16:35:46.201 warn at run (script.js.common.Verbrauchszähler:366:23)

              javascript.0 2018-09-28 16:35:46.198 warn getState "javascript.0.Verbrauchszähler.Preis.aktuell.Arbeitspreis" not found (3)

              javascript.0 2018-09-28 16:35:46.197 warn Object "javascript.0.Verbrauchszähler.Preis.neu.Datum" does not exist</anonymous></anonymous>

              javascript.0 2018-09-28 16:35:46.196 info script.js.common.Verbrauchszähler: States in der Instanz javascript.0.Verbrauchszähler. erstellt

              javascript.0 2018-09-28 16:35:46.183 info script.js.common.Verbrauchszähler: Nach der Aufbereitung: Stromzähler

              javascript.0 2018-09-28 16:35:46.183 info script.js.common.Verbrauchszähler: Es wird der Aliasname gesetzt:Stromzähler

              Kann es sein, das er immer noch den "normalen" Preis haben möchte? Also den der für alle Datenpunkte gilt?

              Grüße

              Manfred

              1 Reply Last reply Reply Quote 0
              • hg6806
                hg6806 Most Active last edited by

                Guten Morgen,

                ich habe auch das 1.3.3er Script genommen und zwei Smartmeter eingefügt:

                [ 'smartmeter.0.1-0:16_7_0_255.value', 'Strom.Allgemeinstrom', 'Wh', 'kWh' ],
                [ 'smartmeter.1.1-0:16_7_0_255.value', 'Strom.Heizungsstrom', 'Wh', 'kWh' ],
                

                Komischerweise ist aber beim "Allgemeinstrom" ein Fehler von Faktor 10 drin.

                Das Script zählt 10x mehr als ich wirklich verbrauche.

                "Heizungsstrom" funktioniert 1a.

                Noch etwas.

                Das Script legt Datenpunkte für "Leistungsmessungaußen" an, obwohl ich im Script gar nichts angegeben habe.

                Sucht es automatisch nach Homematic Leistungsmessern?

                1 Reply Last reply Reply Quote 0
                • Lenny.CB
                  Lenny.CB Most Active last edited by

                  @hg6806:

                  Sucht es automatisch nach Homematic Leistungsmessern? ` Das war bei mir auch so. Ich glaube https://github.com/hdering/homematic_verbrauchszaehler/blob/master/Zaehlerstande_protokollieren.js#L231 passiert das.

                  1 Reply Last reply Reply Quote 0
                  • hg6806
                    hg6806 Most Active last edited by

                    OK, das kann gut sein mit dem Homematic Leistungsmesser.

                    Aber woher kommt der Fehler mit dem Faktor 10?

                    Klar könnte ich das schnell fixen, mich würde aber interessieren wo das her kommt.

                    1 Reply Last reply Reply Quote 0
                    • hg6806
                      hg6806 Most Active last edited by

                      Ich muss mich korrigieren. Beide Smartmeter werden um Faktor 10 falsch gezählt.

                      1 Reply Last reply Reply Quote 0
                      • hg6806
                        hg6806 Most Active last edited by

                        Guten Morgen,

                        kann hier bitte jemand helfen?

                        Stromverbrauch wird noch immer um groben Faktor 10 falsch gezählt.

                        Es wird im Skript mehr gezählt als tatsächlich verbraucht.

                        Ich habe lediglich das Skript genommen und meine beiden IR-USB Smartmeter inkludiert.

                        Danke für Hinweise!

                        1 Reply Last reply Reply Quote 0
                        • K
                          knudi76 last edited by

                          Hallo Forengemeinde,

                          ich versuche mich gerade an diesem Script, leider bekomme ich von meiner PV-Anlage nur die Leistungswerte und keine Energiewerte. Diese benötige ich aber damit dieses Script funktioniert. Ich habe bislang im Forum nur etwas zur Umrechung von Energie zu Leistung gefunden. Gibt es eine Möglichkeit die Leistung auf Wertänderung zu prüfen und diese dann über die verstrichende Zeit in Energie zu berechnen? Diese Energie kann ich dann vernünftig in dieses Script einfügen und so meinen Ertrag protokollieren.

                          Vielen Dank

                          Stephan

                          1 Reply Last reply Reply Quote 0
                          • E
                            ein-bayer last edited by

                            Hallo allerseits,

                            ich hab das script vor einer halben Stunde laufen lassen, soweit alles gut.

                            Auffällig ist jedoch das mein LOG mit Fehlermeldungen vom history Adapter überläuft. Wenn ich das script pausiere sind die Meldungen weg.

                            Weiß jemand woran das liegt?
                            1342_log_verbrausz_hler.jpg

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              Ich sehe keine Fehlermeldung aber Meldungen das Datenpunkte geloggt werden?

                              Sent from my iPhone using Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • E
                                ein-bayer last edited by

                                Hallo Dutchman,

                                Danke , ich habs falsch interpretiert weil´s beim Start so viele Meldungen waren und bei einem Zähler alias=false stand.

                                1 Reply Last reply Reply Quote 0
                                • Dutchman
                                  Dutchman Developer Most Active Administrators last edited by

                                  Ich würde mir an deiner Stelle auch abfragen ob du so viele Datenpunkte loggen musst.

                                  Von diesem Script loggen ich insgesamt 15 oder so und das reicht vollkommen

                                  Sent from my iPhone using Tapatalk

                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    w00dy last edited by w00dy

                                    Hallo,

                                    wie @hg6806 habe ich ebenfalls das Problem, dass die ermittelten Werte um den Faktor +10 nicht stimmen.

                                    Ist es möglich, den Umrechnungsfaktor irgendwo im Script anzupassen?

                                    Im Script selber habe ich einen eigenen Datenpunkt angelegt. Dieser übernimmt Daten, die vom Modbus ermittelt werden.

                                    1 Reply Last reply Reply Quote 0
                                    • Dutchman
                                      Dutchman Developer Most Active Administrators last edited by

                                      Nein das kann das Script nicht.

                                      Ich würde es mit einem Script lösen welches erst den Wert mit Factor in einen anderen Datenpunkt schreiben und das Script auf diesen Datenpunkt loslassen

                                      Sent from my iPhone using Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • W
                                        w00dy last edited by w00dy

                                        Hallo Dutchman,

                                        daran habe ich auch schon gedacht, einfach den ermittelten Wert vom Modbus entsprechend anzupassen.

                                        Da stoße ich aber mit meinen bescheidenen Blockly-Fähigkeiten an meine Grenzen.

                                        Im Modbus-Adapter selber kann man zwar einen Faktor einstellen, allerdings fehlen dann die notwendigen Nachkommastellen, was die Sache dann sehr ungenau macht.

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          FriMatze last edited by

                                          Moin in die Runde 8-)

                                          Zum Script hätte ich eine kleine Frage. Die Daten werden soweit aufgezeichnet, doch wie auf dem Bild zu sehen nicht einzeln unter Tage und Wochen usw. und unter Zählerstände werden nur die kumulierten Werte aufgezeichnet jetzt frage ich mich natürlich warum?

                                          Gruß
                                          3311_52aa7b4f-8ff6-4f3d-aed9-2b6f528fa2ab.jpeg

                                          1 Reply Last reply Reply Quote 0
                                          • W
                                            w00dy last edited by w00dy

                                            Hallo,

                                            sieht so aus, als ob der Adapter noch nicht genug Zeit hatte Daten zu sammeln.

                                            Warte mal ein paar Tage ab, dann sollten Daten vorhanden sein.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            616
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            81
                                            455
                                            104870
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo