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

      Moinsen

      Glaube irgendwas passt da nicht.

      Kosten gestern 21 cent (laut Stromanbieter 2,35€)

      Kosten heute um 6 Uhr 0 cent

      Sollten aber eigentlich schon 0.33€ stehen

      Zählerstand wird korrekt übermittelt dank dem neuen discovergy Adapter von dutchman.

      Gruß

      1 Reply Last reply Reply Quote 0
      • Webranger
        Webranger last edited by

        Zählt heute also wirklich nicht. Kosten heute immer noch auf NULL

        1 Reply Last reply Reply Quote 0
        • jedo
          jedo last edited by

          @ringdingringding:

          Zählt heute also wirklich nicht. Kosten heute immer noch auf NULL `

          Was sagt das Log dazu?

          Du hast doch hoffentlich im Script erster Eintrag

          // debug logging
          var logging = true;
          
          

          auf "true" gesetzt!?

          1 Reply Last reply Reply Quote 0
          • Webranger
            Webranger last edited by

            Da steht alle 3 sec das drin:

            `2018-12-07 18:21:19.929  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: -------- Strommesser ---------
            2018-12-07 18:21:19.935  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: RegExp-Funktion ausgelöst
            2018-12-07 18:21:19.936  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: id:           discovergy.0.60867681.Power_Total
            2018-12-07 18:21:19.936  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Name:         Zählerstand Bezug Gesamt
            2018-12-07 18:21:19.937  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: channel ID:   discovergy.0.60867681
            2018-12-07 18:21:19.938  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: channel Name: 60867681
            2018-12-07 18:21:19.938  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: device ID:    null
            2018-12-07 18:21:19.938  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: device name:  null
            2018-12-07 18:21:19.938  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: neuer Wert:   809.3274061
            2018-12-07 18:21:19.938  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: alter Wert:   809.3270572
            2018-12-07 18:21:19.938  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: vor der Aufbereitung: Zählerstand Bezug Gesamt
            2018-12-07 18:21:19.939  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe1:Zählerstand Bezug Gesamt
            2018-12-07 18:21:19.939  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe2:Zählerstand Bezug Gesamt
            2018-12-07 18:21:19.939  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe3:Zählerstand Bezug Gesamt
            2018-12-07 18:21:19.939  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe4:ZählerstandBezugGesamt
            2018-12-07 18:21:19.939  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Es wird der Aliasname gesetzt:Stromzaehler:1.freshEnergy
            2018-12-07 18:21:19.940  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Nach der Aufbereitung: Stromzaehler:1.freshEnergy
            2018-12-07 18:21:19.968  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: States in der Instanz javascript.0.Verbrauchszaehler. erstellt
            2018-12-07 18:21:19.979  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Stromkosten (Stromzaehler:1.freshEnergy) aktualisiert
            2018-12-07 18:21:19.989  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Stromverbrauch (Stromzaehler:1.freshEnergy) aktualisiert
            2018-12-07 18:21:19.990  - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: ------------ ENDE ------------[/code]`
            
            Alle drei sekunden wird mir der Wert von meinem Discovergy Zähler übermittelt.
            
            Gruss
            
            1 Reply Last reply Reply Quote 0
            • jedo
              jedo last edited by

              liefert dein Zaehler den Wert wirklich mit "7" Stellen nach dem Komma ?

              Und das dann noch alle 3 Sekunden!?

              Da rennt sich das Script doch nen Wolf!

              Bei mir kommen die Werte aller 5 min, soll ja keine Echtzeitanzeige sein!

              Versuche mal den Intervall zu verlängern, eventuell einen neuen Datenpunkt anlegen wo du per cron alle 5 Minuten den Zählerstand reinschreibst und das dann als Wert für das Script nehmen?

              1 Reply Last reply Reply Quote 0
              • Peoples
                Peoples last edited by

                Moing,

                ich versuche nun schon geraume Zeit dieses Script zum Laufen zu bekommen, aber irgendwie will das nicht klappen.

                Offensichtlich wurden / werden nicht alle Datenpunkte für die entsprechenden Geräte angelegt.

                Wie ich es verstanden habe werden die HM-Geräte automatisch gefunden/angelegt und die bspw. Zigbee Geräte müssen unter eigene Datenpunkte eingetragen werden oder?

                Dennoch bekomme ich immer folgende Fehlermeldung weil nicht alle Objekte angelegt wurden:

                ! ````
                javascript.0 2018-12-09 00:00:00.307 warn Object "javascript.0.Verbrauchszaehler.Spuelmaschine.Kosten._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.305 warn Object "javascript.0.Verbrauchszaehler.Spuelmaschine.Verbrauch._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.305 warn at script.js.Wandtablet.Stromverbrauch_neu:157:9
                javascript.0 2018-12-09 00:00:00.305 warn at schreibeZaehlerstand (script.js.Wandtablet.Stromverbrauch_neu:495:9)
                javascript.0 2018-12-09 00:00:00.304 warn State "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Zaehlerstand.Tag" not found
                javascript.0 2018-12-09 00:00:00.304 warn at script.js.Wandtablet.Stromverbrauch_neu:157:9
                javascript.0 2018-12-09 00:00:00.304 warn at schreibeZaehlerstand (script.js.Wandtablet.Stromverbrauch_neu:495:47)
                javascript.0 2018-12-09 00:00:00.303 warn getState "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Zaehlerstand.kumuliert" not found (3)
                javascript.0 2018-12-09 00:00:00.303 warn at script.js.Wandtablet.Stromverbrauch_neu:155:9
                javascript.0 2018-12-09 00:00:00.303 warn at resetVerbrauchUndKosten (script.js.Wandtablet.Stromverbrauch_neu:546:5)
                javascript.0 2018-12-09 00:00:00.303 warn State "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch.Tag" not found
                javascript.0 2018-12-09 00:00:00.302 warn at script.js.Wandtablet.Stromverbrauch_neu:155:9
                javascript.0 2018-12-09 00:00:00.302 warn at resetVerbrauchUndKosten (script.js.Wandtablet.Stromverbrauch_neu:545:5)
                javascript.0 2018-12-09 00:00:00.301 warn State "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten.Tag" not found
                javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_1" does not exist
                javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_2" does not exist
                javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_3" does not exist
                javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_4" does not exist
                javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_5" does not exist
                javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_6" does not exist
                javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_7" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_1" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_2" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_3" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_4" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_5" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_6" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_7" does not exist
                javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.298 warn Object "javascript.0.Verbrauchszaehler.Schaltaktor.Heizungsanlage.OEQ.Kosten._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.297 warn Object "javascript.0.Verbrauchszaehler.Schaltaktor.Heizungsanlage.OEQ.Verbrauch._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.295 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Trockner.LEQ.Kosten._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.294 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Trockner.LEQ.Verbrauch._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.292 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Waschmaschine.LEQ0.Kosten._Tag.Tag_8" does not exist
                javascript.0 2018-12-09 00:00:00.289 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Waschmaschine.LEQ0.Verbrauch._Tag.Tag_8" does not exist

                
                Vielleicht kann mir ja jemand mal auf die Sprünge helfen was ich falsch mache
                1 Reply Last reply Reply Quote 0
                • jedo
                  jedo last edited by

                  @peoples:

                  Offensichtlich wurden / werden nicht alle Datenpunkte für die entsprechenden Geräte angelegt. `

                  Datenpunkte werden erst angelegt wenn sich die erste Änderung des Zählerwertes ergeben hat!

                  > Wie ich es verstanden habe werden die HM-Geräte automatisch gefunden/angelegt und die bspw. Zigbee Geräte müssen unter eigene Datenpunkte eingetragen werden oder?

                  Da wird nichts automatisch angelegt, deine auszuwertenden Geräte musst du selbst im Config Bereich anlegen

                  Zeig uns doch mal deine Config?

                  Hier mal meine Einstellungen zum Vergleich.

                  // +++++++++  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 = 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;
                  
                  // Grundpreis einberechnen
                  var enable_Grundpreis_einberechnen = true;
                  
                  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 = 3;
                  var AnzahlKommastellenVerbrauch = 3;
                  var AnzahlKommastellenZaehlerstand = 2;
                  
                  var KumulierterWertIstBereitsInKilo = true;
                  
                  var eigeneDatenpunkte = [
                  
                      // Beispiel:
                      // ['Datenpunkt', 'Aliasname', 'Einheit kumulierter Wert', 'Einheit berechnete Werte (kilo/1000)' ],
                  
                       [ 'smartmeter.0.1_8_0.value'/*1 8 0 value*/, 'Bezug Haus', 'kWh', 'kWh' ],
                       [ 'smartmeter.0.2_8_0.value'/*2 8 0 value*/, 'Einspeisung Dachs', 'kWh', 'kWh' ],
                       [ 'smartmeter.1.1_8_0.value'/*1 8 0 value*/, 'Bezug PV', 'kWh', 'kWh' ],
                       [ 'smartmeter.1.2_8_0.value'/*2 8 0 value*/, 'Einspeisung PV', 'kWh', 'kWh' ],
                       [ "javascript.0.Gaszaehler.Wert"/*Gaszaehler.Wert*/, 'Gaszaehler', 'm3', 'm3' ],
                  ];
                  
                  

                  Damit laufen seit 3 Tagen 2 "2-Richtungs E-Zähler" und der "Gaszähler" sauber drüber.

                  1 Reply Last reply Reply Quote 0
                  • ChristianM
                    ChristianM last edited by

                    Ist das so richtig ? Oder stimmt da etwas nicht ?

                    Der Wert verändert sich nur beim Neustart von dem Skript, sonst nicht.
                    494_verbrauchsz_hler.jpg

                    1 Reply Last reply Reply Quote 0
                    • jedo
                      jedo last edited by

                      @ChristianM:

                      Ist das so richtig ? Oder stimmt da etwas nicht ?

                      Der Wert verändert sich nur beim Neustart von dem Skript, sonst nicht. `

                      Am Anfang muss man etwas Geduld haben, da passiert den ersten Tag nicht wirklich viel.

                      Am besten sieht man im Log ob was passiert. Immer wenn sich ein Zählerwert erhöht muss es in etwa so aussehen:

                      17:17:51.085	[info]	javascript.0 script.js.common.Zählerauswertung: -------- Strommesser ---------
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: RegExp-Funktion ausgelöst
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: id: smartmeter.0.1_8_0.value
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: Name: 1_8_0.value
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: channel ID: smartmeter.0.1_8_0
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: channel Name:
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: device ID: null
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: device name: null
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: neuer Wert: 51185.1
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: alter Wert: 51185
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: vor der Aufbereitung: 1_8_0.value
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe1:1_8_0.value
                      17:17:51.086	[info]	javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe2:1_8_0.value
                      17:17:51.087	[info]	javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe3:1_8_0.value
                      17:17:51.087	[info]	javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe4:1_8_0.value
                      17:17:51.087	[info]	javascript.0 script.js.common.Zählerauswertung: Es wird der Aliasname gesetzt:Bezug Haus
                      17:17:51.087	[info]	javascript.0 script.js.common.Zählerauswertung: Nach der Aufbereitung: Bezug Haus
                      17:17:51.087	[info]	javascript.0 script.js.common.Zählerauswertung: States in der Instanz javascript.0.Verbrauchszaehler. erstellt
                      17:17:51.087	[info]	javascript.0 script.js.common.Zählerauswertung: Das Gerät:Bezug Haus hat eigenen Strompreis: 0.2349
                      17:17:51.087	[info]	javascript.0 script.js.common.Zählerauswertung: Das Gerät:Bezug Haus hat eigenen Grundpreis: 6.82
                      17:17:51.088	[info]	javascript.0 script.js.common.Zählerauswertung: Stromkosten (Bezug Haus) aktualisiert
                      17:17:51.088	[info]	javascript.0 script.js.common.Zählerauswertung: Stromverbrauch (Bezug Haus) aktualisiert
                      17:17:51.088	[info]	javascript.0 script.js.common.Zählerauswertung: ------------ ENDE ------------
                      

                      Hier kannst du eigentlich deutlich sehen das die Daten erfasst und verarbeitet werden.

                      Und spätestens den 2.Tag solltest du auch Einträge in deinen Datenpunkten finden! 😄

                      1 Reply Last reply Reply Quote 0
                      • ChristianM
                        ChristianM last edited by

                        Ok super, dann warte ich mal.

                        Wie liest du deinen 2 Richtungszähler denn aus ?

                        1 Reply Last reply Reply Quote 0
                        • jedo
                          jedo last edited by

                          @ChristianM:

                          Ok super, dann warte ich mal.

                          Wie liest du deinen 2 Richtungszähler denn aus ? `

                          Leseköpfe von Volkszähler https://wiki.volkszaehler.org/hardware/ … sb-ausgang

                          und dann je eine Instanz des Smartmeter Moduls auf einem Raspi im Multihost Modus.

                          1 Reply Last reply Reply Quote 0
                          • O
                            OMCastle last edited by

                            Script für PulseCounter von StallBiz anpassen?!?

                            Hallo zusammen,

                            ich protokollieren mein Strom und Gasverbrauch mit dem PulseCounter von Stallbiz.

                            Hat jemand das Script dafür angepasst?

                            Irgendwie kommt bei mir nichts in den Objekten an.

                            Ich habe den Datenpunkt, in dem mein Zählerstand steht eingetragen.

                            var eigeneDatenpunkte = [

                            // Beispiel:

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

                            [ 'javascript.0.PUSLCOUNTER.w_counter_1', 'Gas.MeinGaszaehler1', 'kWh', 'kWh' ],

                            ];

                            1 Reply Last reply Reply Quote 0
                            • jedo
                              jedo last edited by

                              Da frage ich doch mal ganz vorsichtig:

                              Was steht im Log?

                              Gas in kw/h ist richtig?

                              Werte schon entsprechend umgerechnet?

                              1 Reply Last reply Reply Quote 0
                              • 2
                                2hot4you last edited by

                                Ich habe mich ein wenig mit dem Script beschäftigt und bekomme die ersten Daten, jedoch noch nicht so wie ich es will.

                                Aktuell habe ich einen Strom und Wasserzähler über ein NodeMCU mittels ESPEasy angeschlossen. Über den MQTT Adapter bekomme

                                ich die Impulse angezeigt. Beim Wasserzähler ist ein Impuls = 1 Liter, jedoch beim Stromzähler ist ein Impuls 1/400 kWh.

                                Wo muss ich den Faktor 1/400 eintragen ?

                                Die Datenpunkte habe ich wie folgt eingetragen

                                var eigeneDatenpunkte = [

                                [ 'mqtt.0.S0_Sensor.StromCounter.Count', 'Strom.Hauptzähler', 'Wh', 'kWh' ],

                                [ 'mqtt.0.S0_Sensor.Wasser.Count', 'Wasser.Hauptuhr', 'm3', 'm3' ],

                                ];

                                Weiterhin habe ich den Strompreis eingetragen. Wo bzw. wie trage ich den Preis vom Wasserzähler ein ??

                                Den folgen Abschnitt habe ich noch nicht verstanden. Was muss ich hier ändern ?

                                // Einlesen der aktuellen Daten vom Zähler

                                function run(obj, alias, unit, unit_kilo) {

                                if (logging) {

                                log('–------ Strommesser ---------');

                                log('RegExp-Funktion ausgelöst');

                                log('id: ' + obj.id);

                                log('Name: ' + obj.common.name); // Waschmaschine Küche:2.ENERGY_COUNTER

                                log('channel ID: ' + obj.channelId); // hm-rpc.0.MEQ0170864.2

                                log('channel Name: ' + obj.channelName); // Waschmaschine Küche:2

                                log('device ID: ' + obj.deviceId); // hm-rpc.0.MEQ0170864

                                log('device name: ' + obj.deviceName); // Küche Waschmaschine

                                log('neuer Wert: ' + obj.newState.val); // 16499.699982

                                log('alter Wert: ' + obj.oldState.val); // 16499.699982

                                }

                                oder macht es Sinn für Strom , Wasser und zukünftig Gas ein eigenes Script laufen zu lassen ?

                                Wie gebe ich den aktuellen Wert vom realen Zähler im Script händisch ein, damit beide Zähler die gleichen Werte haben ?

                                Danke

                                1 Reply Last reply Reply Quote 0
                                • jedo
                                  jedo last edited by

                                  @2hot4you:

                                  Ich habe mich ein wenig mit dem Script beschäftigt und bekomme die ersten Daten, jedoch noch nicht so wie ich es will.

                                  Aktuell habe ich einen Strom und Wasserzähler über ein NodeMCU mittels ESPEasy angeschlossen. Über den MQTT Adapter bekomme

                                  ich die Impulse angezeigt. Beim Wasserzähler ist ein Impuls = 1 Liter, jedoch beim Stromzähler ist ein Impuls 1/400 kWh.

                                  Wo muss ich den Faktor 1/400 eintragen ? `

                                  Hi,

                                  Das Script kann nur mit "echten" Zählerwerten arbeiten!

                                  Du musst also erst eine Möglichkeit finden deine Impulse zu zählen und in Zählerstände umzusetzen.

                                  Ich denke da sollten sich Ansätze hier im Forum finden.

                                  zB. https://forum.iobroker.net/viewtopic.php?f=21&t=14962&p=156350&hilit=impulse+z%C3%A4hlen#p156368

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

                                    @2hot4you:

                                    Weiterhin habe ich den Strompreis eingetragen. Wo bzw. wie trage ich den Preis vom Wasserzähler ein ??

                                    …

                                    oder macht es Sinn für Strom , Wasser und zukünftig Gas ein eigenes Script laufen zu lassen ?

                                    Wie gebe ich den aktuellen Wert vom realen Zähler im Script händisch ein, damit beide Zähler die gleichen Werte haben ?

                                    Danke `

                                    Nein, du brauchst keine extra Skripte für Wasser, Gas oder Strom.

                                    Die Preise kannst du jeweils auch pro Gerät eingeben, ebenso den aktuellen Zählerstand.
                                    filename="Verbrauchszähler.JPG" index="0">~~

                                    1 Reply Last reply Reply Quote 0
                                    • Webranger
                                      Webranger last edited by

                                      Wo gebe ich den aktuellen Zählerstand ein?

                                      1 Reply Last reply Reply Quote 0
                                      • jedo
                                        jedo last edited by

                                        @ringdingringding:

                                        Wo gebe ich den aktuellen Zählerstand ein? `

                                        https://github.com/hdering/homematic_verbrauchszaehler

                                        TODO
                                        Zaehlerstand_letzte_Ablesung und Zaehlerstand_jetzt angeben können
                                        
                                        

                                        Also…. Geht "noch" nicht! 😢

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

                                          @jedo:

                                          @ringdingringding:

                                          Wo gebe ich den aktuellen Zählerstand ein? `

                                          https://github.com/hdering/homematic_verbrauchszaehler

                                          TODO
                                          Zaehlerstand_letzte_Ablesung und Zaehlerstand_jetzt angeben können
                                          
                                          

                                          Also…. Geht "noch" nicht! 😢 `

                                          Na dann hoffen wir mal weiter, da der Skript-Ersteller schon seit April nichts mehr am Skript angepasst oder geändert hat. 😞

                                          Ich hoffe auch, dass diese Änderung mit dem Zählerstand mal implementiert wird. Leider habe ich mit JavaScript gar nichts am Hut, deshalb kann da leider immer nur auf fertige Skripte zurückgreifen.

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

                                            @2hot4you:

                                            …

                                            Den folgen Abschnitt habe ich noch nicht verstanden. Was muss ich hier ändern ?

                                            // Einlesen der aktuellen Daten vom Zähler

                                            function run(obj, alias, unit, unit_kilo) {

                                            if (logging) {

                                            log('-------- Strommesser ---------');

                                            log('RegExp-Funktion ausgelöst');

                                            log('id: ' + obj.id);

                                            log('Name: ' + obj.common.name); // Waschmaschine Küche:2.ENERGY_COUNTER

                                            log('channel ID: ' + obj.channelId); // hm-rpc.0.MEQ0170864.2

                                            log('channel Name: ' + obj.channelName); // Waschmaschine Küche:2

                                            log('device ID: ' + obj.deviceId); // hm-rpc.0.MEQ0170864

                                            log('device name: ' + obj.deviceName); // Küche Waschmaschine

                                            log('neuer Wert: ' + obj.newState.val); // 16499.699982

                                            log('alter Wert: ' + obj.oldState.val); // 16499.699982

                                            }

                                            ... `

                                            In dem Abschnitt musst du gar nichts ändern. Das sind nur Ausgaben im Log, wenn das Logging im Skript oben auf "true" steht.

                                            // +++++++++  USER ANPASSUNGEN ++++++++++++++++++++++++
                                            
                                            // debug logging
                                            var logging = false;
                                            

                                            Gerade zu Anfang, wenn das Skript eingesetzt wird, sind solche Logging Ausgaben sehr hilfreich, um die Funktionsweise zu überprüfen.

                                            Ich habe dieses schon seit langen wieder auf "false", da alle Werte plausibel sind.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            669
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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