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.
    • Lenny.CB
      Lenny.CB Most Active last edited by

      Das Problem hatte ich auch lange Zeit. Nach etwas probieren trat das "Phänomen" (ich nenne es mal so) auf, wenn````
      var KumulierterWertIstBereitsInKilo = true;

      
      Im Log kamen auch Fehler in dem Zweig "if(KumulierterWertIstBereitsInKilo)"
      
      Ich hatte dann folgendes probiert (warum, weil in der Zeile darunter wo / 1000 geteilt wird keine Fehler gab):
      

      if(KumulierterWertIstBereitsInKilo)
      _zaehler = (getState(idKumuliert).val * 1).toFixed(AnzahlKommastellenZaehlerstand);

      
      den Zweig gibt es in:````
      function schreibeZaehlerstand(geraet, zeitraum)
      und
      pruefePreisaenderung();
      

      Gleich vorn weg, ich habe nicht wirklich Ahnung von Javascript. Ich mache eigene Sachen nur durch adaptieren von Beispielen und trail & error.

      Seit her funktioniert jedenfalls der Tageswechsel bei mir.

      Jetzt das Wichtigste:

      Kann mir jemand von den "Wissenden" sagen ob das Hand und Fuß hat?

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

        @dering:

        @Röstkartoffel:

        Hallo dering.

        Ich habe dein Script seit gestern am laufen und habe zu den Telegram-Meldungen eine Frage:

        Was kann mir da als Nachricht geschickt werden?

        Kannst du dein globales Javascript bitte mal zeigen?

        Danke

        Gruß

        Volker `

        Hi Volker,

        um Nachrichten via Telegram schicken zu lassen benötigst du eine Telegram Instanz und einem Token. Wie man das alles macht, ist hier sehr gut erklärt:

        https://github.com/ioBroker/ioBroker.te … am-adapter

        Wenn du dann eine "grüne Ampel" in der Instanz hast, kannst du dir über ein Script Nachrichten schicken lassen.

        Ein einfacher Befehl wäre:

        sendTo("telegram.0", {

        text: "Deine Nachricht",

        chatId: <dein chatid="">});

        Wie du deine ChatID erhältst, wird auch in dem Link erklärt.</dein> `

        Hallo dering.

        Telegram habe ich schon lange eingerichtet und lasse mir diverse Meldungen aufs Handy schicken, bzw. kann auch über Telegram Lichter ein- und ausschalten.

        Das ist nicht das Problem.

        Sondern, dass ich in deinem Script Telegram aktiviert habe, aber noch nie eine Meldung vom Verbrauchsskript bekommen habe.

        Ich habe es so:

        sendTo("telegram.0", {
        text: text,
        chatId: <meine chatid="">
        });</meine>
        

        Da ich in der Doku nichts darüber gefunden habe, daher meine Frage: bei welchem Event werden Meldungen verschickt?

        Gruß

        Volker

        PS: <meine chatid="">ist natürlich meine eigene 9 stellige ChatId :-)</meine>

        1 Reply Last reply Reply Quote 0
        • R
          ralalla last edited by

          @Lenny.CB:

          if(KumulierterWertIstBereitsInKilo)
                      _zaehler    = (getState(idKumuliert).val * 1).toFixed(AnzahlKommastellenZaehlerstand);
          ````Also den Wert ****idKumuliert.val * 1[/b**** ****Danke, deine Lösung hat auch bei mir geholfen.
          
          Kenne mich ebenso wenig damit aus aber so funktioniert es.
          
          @Röstkartoffel
          
          So wie ich das sehe muss ja auch festgelegt werden was versendet werden soll. Die Datenpunkte werden nicht einfach automatisch versendet.
          
          Ich mache das z: B. mit Blockly in einem extra Script da ich noch eigene Werte aus den Verbräuchen berechne (Eigenverbrauch).**
          
           ![1110_telegrammverbrauch.jpg](/assets/uploads/files/1110_telegrammverbrauch.jpg) ** ` 
          1 Reply Last reply Reply Quote 0
          • E
            Eloee last edited by

            Hallo!

            Erstmal vielen Dank für das tolle Script und die Arbeit damit!

            Habe es seid ein paar Tagen laufen, aber entweder irgendwas ist falsch oder ich habe ein Verständnisproblem 😄

            Habe die Datenpunkte mit Leistungswerten (aktueller Verbrauch in Watt) gefüttert, wenn ich dann aber den Verbrauch nach einem Tag anschaue, liegt der bei einem Durchschnittlichen Strombedarf von 300Watt, bei z.B. 400kWh.

            Rechnerisch sind es ja aber nur 7,2kWh :roll:

            Was mache ich falsch?? Hier mal paar Log Zeilen:
            ` > javascript.0 2018-08-21 12:20:18.597 info script.js.common.Technik.Stromverbrauch: alter Wert: 264.59

            javascript.0 2018-08-21 12:20:18.597 info script.js.common.Technik.Stromverbrauch: neuer Wert: 263.84 `

            und in den Objekten dann:
            ` > Verbrauch vor 1 Tag(en) (Energieverbrauch Eigen) 525.8 kWh

            Verbrauch vor 2 Tag(en) (Energieverbrauch Eigen) 441.15 kWh

            Verbrauch vor 3 Tag(en) (Energieverbrauch Eigen) 418.165 kWh `

            Schöne Grüße

            Eloee

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

              Vielen Dank für dieses tolle Script!

              Ich habe meine Strommessgeräte unter eigene Datenpunkte eingerichtet - funktioniert super! Was ich allerdings noch gerne hätte wäre eine Gesamtsumme über all meine Geräte - mit den Summenwerten aktuell, täglich , wöchentlich…. Also so wie es auch pro konfiguriertem Datenpunkt eingerichtet wird. Hat dies von euch schon jemand soweit angepasst? Falls nicht - wie könnte ich so etwas am einfachsten realisieren? :roll:

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

                ich mach das mit einem blockly script

                1 Reply Last reply Reply Quote 0
                • E
                  EVOlutionIX last edited by

                  Hallo alle zusammen.

                  Ich würde gerne das Skript auch nutzen, aber irgendwie stehe ich auf dem Schlauch. :oops: Wie bekomme ich das Skript denn runter von der GitHub Seite :?:

                  und jetzt Steinigt mich!

                  Danke Marcus :roll:

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

                    @EVOlutionIX:

                    Hallo alle zusammen.

                    Ich würde gerne das Skript auch nutzen, aber irgendwie stehe ich auf dem Schlauch. :oops: Wie bekomme ich das Skript denn runter von der GitHub Seite :?:

                    und jetzt Steinigt mich!

                    Danke Marcus :roll: `

                    Hallo Marcus,

                    du kannst dir das Skript einfach https://github.com/hdering/homematic_verbrauchszaehler/blob/master/Zaehlerstande_protokollieren.js rauskopieren.

                    Gruß Christian

                    1 Reply Last reply Reply Quote 0
                    • E
                      EVOlutionIX last edited by

                      @cvidal:

                      @EVOlutionIX:

                      Hallo alle zusammen.

                      Ich würde gerne das Skript auch nutzen, aber irgendwie stehe ich auf dem Schlauch. :oops: Wie bekomme ich das Skript denn runter von der GitHub Seite :?:

                      und jetzt Steinigt mich!

                      Danke Marcus :roll: `

                      Hallo Marcus,

                      du kannst dir das Skript einfach https://github.com/hdering/homematic_verbrauchszaehler/blob/master/Zaehlerstande_protokollieren.js rauskopieren.

                      Gruß Christian `

                      Super Danke 🙂

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

                        Hallo zusammen,

                        ich muß mal etwas unwissend fragen.

                        Ich bekomme die "Zählimpulse per mqtt.o Adapter. Wie binde ich das ein?

                        Grüße

                        Manfred

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

                          @Beowolf:

                          Hallo zusammen,

                          ich muß mal etwas unwissend fragen.

                          Ich bekomme die "Tählimpulse per mqtt.o Adapter. Wie binde ich das ein?

                          Grüße

                          Manfred `

                          Impulse oder total verbraucht?

                          Sent from my iPhone using Tapatalk

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

                            Je ein Impuls für eine Umdrehung der Scheibe

                            Grüße

                            Es geht um den alten Ferraris Zähler

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

                              @Beowolf:

                              Je ein Impuls für eine Umdrehung der Scheibe

                              Grüße `

                              Dan musst du diese erst umsetzen in Wh bzw kWh.

                              Das Script kan nicht mit Impulsen arbeiten sondern Braucht wh oder kWh als wert

                              Sent from my iPhone using Tapatalk

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

                                Ok, danke.

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

                                  Hallo

                                  vielen dank für das super script.

                                  Ich habe noch eine Frage, können diese Werte passen? Mein Zähler senden kwh, dieses habe ich auch im Script angepasst. Der Betrag scheint mir etwas zu wenig zu sein. Habt ihr eine Idee?
                                  8702_strom.png

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

                                    @bumbumb:

                                    Mein Zähler senden kwh, dieses habe ich auch im Script angepasst. Der Betrag scheint mir etwas zu wenig zu sein. Habt ihr eine Idee? `

                                    Mit den werten stimmt der Betrag schon.

                                    Du bist dir sicher das es kWh sind und die Werte bei kumuliert richtig sind ?

                                    Sent from my iPhone using Tapatalk

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

                                      Hi,

                                      danke für die Nachricht, ich ab einen iskra mt681 Zähler. Hier die Technischen Daten. Was muss denn dort eingestellt werden.

                                      Der Zähler sendet in mehr oder weniger regelmäßigen Abständen (2-5 Sekunden) ein Datenpaket

                                      Enthalten sind die folgenden OBIS-Daten (abhängig vom VNB):

                                      1-0:1.8.0*255

                                      Wirkenergie in Wh (total)

                                      1-0:1.8.1*255

                                      Wirkenergie Tarif 1 in Wh (total)

                                      1-0:1.8.2*255

                                      Wirkenergie Tarif 2 in Wh (total)

                                      1-0:15.7.0*255

                                      Wirkleistung in W

                                      1-0:21.7.0*255

                                      Wirkleistung L1 in W

                                      1-0:41.7.0*255

                                      Wirkleistung L2 in W

                                      1-0:61.7.0*255

                                      Wirkleistung L3 in W

                                      Was muss denn ändern damit die Werte korrekt reinkommen? Vielen dank für die hilfe

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

                                        Du hast einen tarief 1,2 und total.

                                        Im den richtigen total Preis zu errechnen müsstest du sowohl tarief 1 als 2 mit den Script auslesen (den total Wert).

                                        Wen du den Gesamtverbrauch (kWh nicht Preis) wissen möchtest reicht der wirkarbeit total Wert aus.

                                        Weichen die Punkt hast du denn jetzt in Script definiert?

                                        Sent from my iPhone using Tapatalk

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

                                          Danke,

                                          das habe ich gemacht so gemacht bei den User Änderungen

                                          // +++++++++ 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 = 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-0:1_8_1_255.value', 'Verbrauchszähler.Strom', 'Wh', 'kWh' ], // Bezug

                                          [ 'smartmeter.0.1-0:2_8_0_255.value', 'Lieferungszähler.Strom', 'Wh', 'kWh' ] // Lieferungswerte

                                          // 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' ],

                                          ];

                                          was muss denn noch angepasst werden?

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

                                            Zeig Mai deine Datenpunkte der wirkbezüge

                                            Sent from my iPhone using Tapatalk

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            839
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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