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

                                @Röstkartoffel:

                                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. `

                                Na ich denke ja das der Autor des Scriptes hier mitliest. 😉

                                @hdering

                                Erst einmal vielen Dank für Deine tolles Script und deine Arbeit!

                                Eventuell kannst Du ja mal ein Statement abgeben ob und wie es weitergeht?

                                Die Zeit des großen Zählerablesens geht ja demnächst los! :roll:

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

                                  Zur Info und Vorankündigung, ich baue gerade an einen Adapter der die Funktionen dieses Scripts übernehmen wird (super Vorlage!!!!!).

                                  Darin wird es möglich sein sowohl jetzigen Zählerstand als auch der Vergangenheit zu ändern.

                                  Erste Beta dieses Wochenende auf github

                                  Sent from my iPhone using Tapatalk

                                  1 Reply Last reply Reply Quote 0
                                  • N
                                    Nepomukl last edited by

                                    Na da bin ich aber gespannt. 😄

                                    Super, melde mich schon als Tester.

                                    Gruß Andreas

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

                                      @Dutchman:

                                      Zur Info und Vorankündigung, ich baue gerade an einen Adapter der die Funktionen dieses Scripts übernehmen wird (super Vorlage!!!!!).

                                      Darin wird es möglich sein sowohl jetzigen Zählerstand als auch der Vergangenheit zu ändern.

                                      Erste Beta dieses Wochenende auf github

                                      Sent from my iPhone using Tapatalk ` Bin beim testen gerne wieder dabei

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        Conquest last edited by

                                        @Dutchman:

                                        Zur Info und Vorankündigung, ich baue gerade an einen Adapter der die Funktionen dieses Scripts übernehmen wird (super Vorlage!!!!!).

                                        Darin wird es möglich sein sowohl jetzigen Zählerstand als auch der Vergangenheit zu ändern.

                                        Erste Beta dieses Wochenende auf github

                                        Sent from my iPhone using Tapatalk ` Klasse hört sich schon mal gut an.Danke Dutchman.

                                        Gesendet von meinem MHA-L29 mit Tapatalk

                                        1 Reply Last reply Reply Quote 0
                                        • cvidal
                                          cvidal Forum Testing last edited by

                                          @Dutchman:

                                          Zur Info und Vorankündigung, ich baue gerade an einen Adapter der die Funktionen dieses Scripts übernehmen wird (super Vorlage!!!!!).

                                          Darin wird es möglich sein sowohl jetzigen Zählerstand als auch der Vergangenheit zu ändern.

                                          Erste Beta dieses Wochenende auf github

                                          Sent from my iPhone using Tapatalk `

                                          Sehr geil, darauf hatte ich gehofft das sich dem mal einer annimmt.

                                          Gruß Christian

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

                                            Das wäre schon echt cool, darf man noch Wünsche äußern?

                                            Ist jetzt vielleicht meine Meinung, aber ich würde es besser finden wenn dort nicht stehen würde vor 1 Tag, vor 2 Tagen usw. sondern einfach Montag, Dienstag, Mittwoch usw. bei der Tagesübersicht.

                                            Des Weiteren, wäre vielleicht auch eine Verbrauchsanzeige vom aktuellen Tag, Woche und Monat ganz nett.

                                            In meinem Excel Script welches ich damals angelegt hatte, hatte ich mir auch eine Jahresverbrauchsprognose mit eingebaut (verbrauch seit Abrechnungsbeginn / verstrichene Tage x 365 Tage)

                                            So könnte man schon ungefähr sehen wohin die Reise geht.

                                            Ist aber alles nur eine Idee.

                                            Christian

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            896
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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