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.
    • G
      grobi79 last edited by

      Hallo,

      Das Script ist Klasse! Danke!!

      Leider habe ich laufende Fehlermeldungen im LOG:

      ! undefined2018-09-15 00:08:23.229 - info: javascript.0 Stop script script.js.common.Energiekostenmessung
      ! 2018-09-15 00:08:23.320 - info: javascript.0 Start javascript script.js.common.Energiekostenmessung
      ! 2018-09-15 00:08:23.473 - info: javascript.0 script.js.common.Energiekostenmessung: Alias:m Datenpunkt:h Einheit:- Einheit_kilo:r
      ! 2018-09-15 00:08:23.474 - info: javascript.0 script.js.common.Energiekostenmessung: Alias:e Datenpunkt:V Einheit:r Einheit_kilo:b
      ! 2018-09-15 00:08:23.474 - info: javascript.0 script.js.common.Energiekostenmessung: Alias:h Datenpunkt:W Einheit:undefined Einheit_kilo:undefined
      ! 2018-09-15 00:08:23.475 - info: javascript.0 script.js.common.Energiekostenmessung: Alias:W Datenpunkt:k Einheit:h Einheit_kilo:undefined
      ! 2018-09-15 00:08:23.475 - info: javascript.0 script.js.common.Energiekostenmessung: registered 10 subscriptions and 5 schedules
      ! 2018-09-15 00:10:08.378 - info: javascript.0 script.js.common.Energiekostenmessung: –------ Strommesser ---------
      ! 2018-09-15 00:10:08.378 - info: javascript.0 script.js.common.Energiekostenmessung: RegExp-Funktion ausgelöst
      ! 2018-09-15 00:10:08.379 - info: javascript.0 script.js.common.Energiekostenmessung: id: hm-rpc.2.OEQ1402854.2.ENERGY_COUNTER
      ! 2018-09-15 00:10:08.380 - info: javascript.0 script.js.common.Energiekostenmessung: Name: undefined
      ! 2018-09-15 00:10:08.381 - info: javascript.0 script.js.common.Energiekostenmessung: channel ID: hm-rpc.2.OEQ1402854.2
      ! 2018-09-15 00:10:08.382 - info: javascript.0 script.js.common.Energiekostenmessung: channel Name: OEQ1402854:2
      ! 2018-09-15 00:10:08.383 - info: javascript.0 script.js.common.Energiekostenmessung: device ID: hm-rpc.2.OEQ1402854
      ! 2018-09-15 00:10:08.384 - info: javascript.0 script.js.common.Energiekostenmessung: device name: OEQ1402854
      ! 2018-09-15 00:10:08.385 - info: javascript.0 script.js.common.Energiekostenmessung: neuer Wert: 7785.299995
      ! 2018-09-15 00:10:08.385 - info: javascript.0 script.js.common.Energiekostenmessung: alter Wert: 7781.199997
      ! 2018-09-15 00:10:08.385 - info: javascript.0 script.js.common.Energiekostenmessung: vor der Aufbereitung: undefined
      ! 2018-09-15 00:10:08.399 - error: javascript.0 Error in callback: TypeError: Cannot read property 'indexOf' of undefined
      ! 2018-09-15 00:10:08.400 - error: javascript.0 at entferneDatenpunkt (script.js.common.Energiekostenmessung:411:16)
      ! 2018-09-15 00:10:08.401 - error: javascript.0 at run (script.js.common.Energiekostenmessung:251:23)
      ! 2018-09-15 00:10:08.401 - error: javascript.0 at Object. (script.js.common.Energiekostenmessung:401:4)
      ! 2018-09-15 00:10:08.402 - info: javascript.0 script.js.common.Energiekostenmessung: -------- Strommesser ---------
      ! 2018-09-15 00:10:08.402 - info: javascript.0 script.js.common.Energiekostenmessung: RegExp-Funktion ausgelöst
      ! 2018-09-15 00:10:08.402 - info: javascript.0 script.js.common.Energiekostenmessung: id: hm-rpc.0.OEQ1402854.2.ENERGY_COUNTER
      ! 2018-09-15 00:10:08.402 - info: javascript.0 script.js.common.Energiekostenmessung: Name: Verbrauchsmessung.ENERGY_COUNTER
      ! 2018-09-15 00:10:08.402 - info: javascript.0 script.js.common.Energiekostenmessung: channel ID: hm-rpc.0.OEQ1402854.2
      ! 2018-09-15 00:10:08.403 - info: javascript.0 script.js.common.Energiekostenmessung: channel Name: Verbrauchsmessung
      ! 2018-09-15 00:10:08.403 - info: javascript.0 script.js.common.Energiekostenmessung: device ID: hm-rpc.0.OEQ1402854
      ! 2018-09-15 00:10:08.403 - info: javascript.0 script.js.common.Energiekostenmessung: device name: Verbrauchsmessung
      ! 2018-09-15 00:10:08.403 - info: javascript.0 script.js.common.Energiekostenmessung: neuer Wert: 7785.299995
      ! 2018-09-15 00:10:08.403 - info: javascript.0 script.js.common.Energiekostenmessung: alter Wert: 7781.199997
      ! 2018-09-15 00:10:08.404 - info: javascript.0 script.js.common.Energiekostenmessung: vor der Aufbereitung: Verbrauchsmessung.ENERGY_COUNTER
      ! 2018-09-15 00:10:08.404 - info: javascript.0 script.js.common.Energiekostenmessung: entferneDatenpunkt - rueckgabe1:Verbrauchsmessung
      ! 2018-09-15 00:10:08.404 - info: javascript.0 script.js.common.Energiekostenmessung: entferneDatenpunkt - rueckgabe2:Verbrauchsmessung
      ! 2018-09-15 00:10:08.405 - info: javascript.0 script.js.common.Energiekostenmessung: entferneDatenpunkt - rueckgabe3:Verbrauchsmessung
      ! 2018-09-15 00:10:08.405 - info: javascript.0 script.js.common.Energiekostenmessung: entferneDatenpunkt - rueckgabe4:Verbrauchsmessung
      ! 2018-09-15 00:10:08.405 - info: javascript.0 script.js.common.Energiekostenmessung: Nach der Aufbereitung: Verbrauchsmessung
      ! 2018-09-15 00:10:08.416 - info: javascript.0 script.js.common.Energiekostenmessung: States in der Instanz javascript.0.Strom. erstellt
      ! 2018-09-15 00:10:08.420 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Zaehlerstand.kumuliert, state=293.9000020000003) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.422 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Preis.neu.PreisaenderungDurchgefuehrt, state=false) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.424 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Kosten.Tag, state=0.07) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.425 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Kosten.Woche, state=0.07) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.425 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Kosten.Monat, state=0.07) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.425 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Kosten.Quartal, state=0.07) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.426 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Kosten.Jahr, state=0.07) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.426 - info: javascript.0 script.js.common.Energiekostenmessung: Stromkosten (Verbrauchsmessung) aktualisiert
      ! 2018-09-15 00:10:08.426 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Verbrauch.Tag, state=0.29) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.426 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Verbrauch.Woche, state=0.29) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.426 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Verbrauch.Monat, state=0.29) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.427 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Verbrauch.Quartal, state=0.29) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.427 - warn: javascript.0 script.js.common.Energiekostenmessung: setForeignState(id=javascript.0.Strom.Verbrauchsmessung.Verbrauch.Jahr, state=0.29) - was not executed, while debug mode is active
      ! 2018-09-15 00:10:08.427 - info: javascript.0 script.js.common.Energiekostenmessung: Stromverbrauch (Verbrauchsmessung) aktualisiert
      ! 2018-09-15 00:10:08.427 - info: javascript.0 script.js.common.Energiekostenmessung: ------------ ENDE ------------

      2018-09-15 00:10:08.399 - error: javascript.0 Error in callback: TypeError: Cannot read property 'indexOf' of undefined
      2018-09-15 00:10:08.400 - error: javascript.0 at entferneDatenpunkt (script.js.common.Energiekostenmessung:411:16)
      2018-09-15 00:10:08.401 - error: javascript.0 at run (script.js.common.Energiekostenmessung:251:23)
      2018-09-15 00:10:08.401 - error: javascript.0 at Object. (script.js.common.Energiekostenmessung:401:4)
      
      

      Die 4 Zeilen wiederholen sich ständig.

      Anbei meine Konfig:

      ! // +++++++++ USER ANPASSUNGEN ++++++++++++++++++++++++
      ! // debug logging
      ! var logging = true;
      ! // Aktivieren der History Instanz
      ! var enable_history = false;
      ! // history Instanz
      ! var instance_history = 'history.0xxx';
      ! // 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 = 'Strom.';
      ! 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 = false;
      ! var eigeneDatenpunkte = [ 'hm-rpc.0.OEQ1402854.2.ENERGY_COUNTER', 'Verbrauchsmessung.ENERGY_COUNTER', 'Wh', '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 ++++++++++++++++++++++++

      Was habe ich verkehrt gemacht ?

      Grüße

      Andi

      1 Reply Last reply Reply Quote 0
      • G
        grobi79 last edited by

        Hallo,

        ich hab es am laufen, vielleicht hilft die Lösung ja noch jemanden weiter:

        Ich hatte versehentlich zwei hm-rpc Instanzen auf den RFD Daemon gestartet.

        Somit wurden abwechselnd die Werte auf hm-rpc.0 oder hm-rpc.2 aktualisiert. Nach stoppen der überzähligen Instanz war alles OK.

        Eine Änderung musste ich im Script machen.

        Die Aufzählungssyntax funktioniert bei mir nur wenn ich die eckigen Klammern weglasse:

        var eigeneDatenpunkte = [
        'hm-rpc.0.OEQ1402854.2.ENERGY_COUNTER', 'Stromkostenmessung:2.ENERGY_COUNTER', 'Wh', 'kWh' ,
        'hm-rpc.0.OEQ0769783.2.ENERGY_COUNTER', 'Grundwasser_Pumpe:2.ENERGY_COUNTER', 'Wh', 'kWh' ,
        'hm-rpc.0.OEQ0770897.2.ENERGY_COUNTER', 'Trockner:2.ENERGY_COUNTER', 'Wh', 'kWh' ,
        ];
        
        

        Ansonsten wird jeder Datenpunkt zweimal angelegt (Einmal mit :2 am Ende)

        Ist das eigentlich normal dass so viele "Woche.Woche_x does not exist" bzw. "Tag.Tag_x does not exist" in der Log aufkommen ?

        Grüße

        Andi

        1 Reply Last reply Reply Quote 0
        • M
          mig81 last edited by

          Hallo,

          vielen Dank erstmal für das Script 8-)

          Leider läuft es noch nicht wie es sein sollte.

          Bekomme im LOG folgende Fehlermeldung.

          Was könnte das sein?

          javascript.0 2018-09-25 20:26:58.090 error at Object. <anonymous>(script.js.common.Stromzähler_Auswertung_:225:25)

          javascript.0 2018-09-25 20:26:58.090 error at run (script.js.common.Stromzähler_Auswertung_:301:62)

          javascript.0 2018-09-25 20:26:58.090 error Error in callback: TypeError: Cannot read property 'val' of undefined

          javascript.0 2018-09-25 20:26:58.090 error script.js.common.Stromzähler_Auswertung_: Cannot use sync getState, use callback instead getState("javascript.0.Verbrauchszaehler.Verbrauchszähler.Strom_Totaal.Zaehlerstand.kumuliert", function (err,

          javascript.0 2018-09-25 20:26:58.090 info script.js.common.Stromzähler_Auswertung_: States in der Instanz javascript.0.Verbrauchszaehler. erstellt

          javascript.0 2018-09-25 20:26:58.090 info script.js.common.Stromzähler_Auswertung_: Nach der Aufbereitung: Verbrauchszähler.Strom_Totaal

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: Es wird der Aliasname gesetzt:Verbrauchszähler.Strom_Totaal

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: entferneDatenpunkt - rueckgabe4:0-0

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: entferneDatenpunkt - rueckgabe3:0-0

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: entferneDatenpunkt - rueckgabe2:0-0

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: entferneDatenpunkt - rueckgabe1:0-0:1_8_0.value

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: vor der Aufbereitung: 0-0:1_8_0.value

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: alter Wert: 22891.184

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: neuer Wert: 22891.279

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: device name: null

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: device ID: null

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: channel Name: (Total)

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: channel ID: smartmeter.0.0-0:1_8_0

          javascript.0 2018-09-25 20:26:58.089 info script.js.common.Stromzähler_Auswertung_: Name: 0-0:1_8_0.value

          javascript.0 2018-09-25 20:26:58.088 info script.js.common.Stromzähler_Auswertung_: id: smartmeter.0.0-0:1_8_0.value

          javascript.0 2018-09-25 20:26:58.088 info script.js.common.Stromzähler_Auswertung_: RegExp-Funktion ausgelöst

          javascript.0 2018-09-25 20:26:58.088 info script.js.common.Stromzähler_Auswertung_: –------ Strommesser ---------</anonymous>

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

            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

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            799
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            81
                                            455
                                            106380
                                            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