Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter "smartmeter"

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Adapter "smartmeter"

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

      @a200:

      @chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt. `

      Das wären dann aber recherische Werte die aus den Momentanwert kommen. Also nicht aus dem Gerät?

      Natürlich sehr Schade wenn das so ist. Kannst du kurz schreiben was ich mit dem Script genau machen muss, ich bin bis jetzt mit so etwas nicht in Berührung gekommen. Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen?

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

        @chemieka:

        @a200:

        @chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt. `

        Das wären dann aber recherische Werte die aus den Momentanwert kommen. Also nicht aus dem Gerät?

        Natürlich sehr Schade wenn das so ist. Kannst du kurz schreiben was ich mit dem Script genau machen muss, ich bin bis jetzt mit so etwas nicht in Berührung gekommen. Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen? `

        @chemieka:

        Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen? `

        • Für stündliche Statistik - 1 x pro Stunde
        Für tägliche Statistik - 1 x pro Tag
        
        Für wöchentliche Statistik - 1 x pro Woche
        
        Für monatliche Statistik - 1 x pro Monat 
        

        🙂

        Also nach meinen Informationen, kannst du zwar durch das Blinken verschiedene Werte abrufen, diese werden aber ausschließlich im Display angezeigt und nicht als Datenpaket gesendet.

        Jetzt mal zum meinem Skript. Ich erklär das am Beispiel des Tageswertes.

        Jeden Tag um 23:59 (Man könnte das auch auf die Spitze treiben und es um 23:59:59 starten) wird der aktueller Gesamtverbrauch in den Datenpunkt "javascript.0.Stromzähler.Hager.tmp.Total-d" gespeichert. Diesen Wert speichere ich persönlich noch in der DB. Muss aber nicht sein. Der Wert Gleichzeitig wird die Differenz zwischen den letzten und dem aktuellen Eintrag in diesem Datenpunkt berechnet. Gesamt(aktuell) - Gesamt(letztens) = Tagesverbrauch. Dieser Tagesverbrauch, als relativer Wert, wird in den Datenpunkt "javascript.0.Stromzähler.Hager.Day" gespeichert.

        Das ist Alles. Im ".Total-d" habe ich den absoluten Wert des Zählers am Ende jeden Tages. Was mir auch erlaubt nachträglich Berechnungen durchzuführen).

        Im ".Day" habe ich den relativen Verbrauchswert am Ende jeden Tages. Woraus ich eine Tagesverbrauchskurve erstellen kann.

        Das Gleich wird von meinem Skript stündlich, täglich, wöchentlich und monatlich gemacht. Die Datenmenge, die in der DB gespeichert werden ist dann entsprechend mehr oder weniger hoch, allerdings übersichtlich.

        • minütlich: 525600 pro Jahr
        stündlich: 8760 pro Jahr
        
        täglich: 365 pro Jahr
        
        wöchentlich: 52 pro Jahr
        
        monatlich 12 pro Jahr. 
        

        Da ich zusätzlich den Gesamtverbrauch (Wert aus smartmeter) minütlich speichere, bin ich in der Lage mittels SQL auch Andere Punkte zu berechnen. Was aber, wenn man auf die minütliche Auswertung verzichtet, nicht machen muss.

        Melde dich, falls du noch weitere Fragen an mich hast

        Aktuelle Version:

        ! ````
        // NEU - Zählerstand vom Anfang der akt. Stunde wird ermittelt
        //
        ! var cronH = "0 * * * *";
        var cronD = "59 23 * * *";
        var cronW = "0 0 * * 1";
        var cronM = "0 0 1 * ";
        ! var idHAGTotH = "javascript.0.Stromzähler.Hager.tmp.Total-h";
        var idHAGTotD = "javascript.0.Stromzähler.Hager.tmp.Total-d";
        var idHAGTotW = "javascript.0.Stromzähler.Hager.tmp.Total-w";
        var idHAGTotM = "javascript.0.Stromzähler.Hager.tmp.Total-m";
        var idHAGTotal = "smartmeter.0.1-0:1_8_0
        255.value"; /Stromverbrauch insgesammt/
        var idHAGZielH = "javascript.0.Stromzähler.Hager.Hour";
        var idHAGZielD = "javascript.0.Stromzähler.Hager.Day";
        var idHAGZielW = "javascript.0.Stromzähler.Hager.Week";
        var idHAGZielM = "javascript.0.Stromzähler.Hager.Month";
        var debug = false;
        ! var DPArray = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
        var DPUnit = "kWh";
        ! DPArray.forEach(function(wert, index, array) {
        var DPType = wert.split(".");
        var DPDescr = "Power consumption of " + (DPType[DPType.length - 1]);

        if(index > 3) DPUnit = "Wh";
        createState(wert, 0, {
            name: DPDescr,
            desc: DPDescr,
            type: 'number',
            unit: DPUnit,
            role: 'value'
        });
        

        });

        ! function haupt (VorId, ZielId) {
        var nVorwert = getState(VorId).val;
        var nAktuell = getState(idHAGTotal).val;
        var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
        setState(ZielId, nDiff, true);
        if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
        var shandler = on ({id: ZielId, change: 'any'}, function(data) {
        setState(VorId, (nAktuell*10)/10, true);
        unsubscribe(shandler);
        });
        }
        ! // regelmässige Wiederholungen
        // -----------------------------------------------------------------------------
        ! schedule(cronH, function () {
        haupt(idHAGTotH, idHAGZielH);
        });
        schedule(cronD, function () {
        haupt(idHAGTotD, idHAGZielD);
        });
        schedule(cronW, function () {
        haupt(idHAGTotW, idHAGZielW);
        });
        schedule(cronM, function () {
        haupt(idHAGTotM, idHAGZielM);
        });
        ! ````

        Viel Spaß,

        a200.

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

          Ok das hört sich gut an. Auf welche Zeit hast du im Adapter gestellt?

          Meinst du, du kannst mir erklären wo ich das Skript einfügen muss und wie ich es in Betrieb bekomme?

          Würde dann heute Abend versuchen wollen das Skript in Betrieb zu bekommen.

          Wäre dir wirklich sehr dankbar.

          Ach und einen zweiten Zählen für meine WP sollte kein Problem sein denke ich mal oder?

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

            @chemieka:

            Ach und einen zweiten Zählen für meine WP sollte kein Problem sein denke ich mal oder? `

            Ich habe auch 2 Zähler. Nur dann - wenn Du beides z.B. per USB dran hast - solltest Du den Devices zusätzlich eindeutigen namen geben z.B. anhandf der USB-Chip Seriennnummer oder so, weil es sonst bei einem Reboot vorkommen kann das sich die ttyUSBx-Namen "tauschen" und dann hast Du Zahlenchaos 🙂

            Wie das für deinen lesekopf und System geht must du rausfinden. Bei Udo's Kopf steht das auf der weiter oben verlinkten Seite für Linux

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

              Du musst den Javascript Adapter installieren.

              Dann hast du im iobroker.Admin einen neuen Reiter Namens Skripte.

              Dort legst du unter common ein neues Skript an und fügst den Code ein.

              In der Zeile 13 musst du noch deinen Datenpunkt (also wo der Zählwert her kommt) anpassen.

              (ggf. Zeilen 9 - 17 anpassen vom Namen her, muss spätestens beim 2. Skript gemacht werden weil ja dafür neue Datenpunkte gebraucht werden).

              Dann speichern und das Skript starten.

              Wenn im Log kein Fehler erscheint sollten die Objekte angelegt werden und nach 2 Stunden der erste Stundenwert zu sehen sein.

              Dran denken die Objekte dann zu speichern.

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

                @chemieka:

                Ok das hört sich gut an. Auf welche Zeit hast du im Adapter gestellt?

                Meinst du, du kannst mir erklären wo ich das Skript einfügen muss und wie ich es in Betrieb bekomme?

                Würde dann heute Abend versuchen wollen das Skript in Betrieb zu bekommen.

                Wäre dir wirklich sehr dankbar. `
                Kein Thema.

                1. (Falls noch nicht geschehen) javascript Adapter aktivieren

                2. (Falls noch nicht geschehen) In der oberen Leiste auf den Bleistift klicken und über Show Javascript-Tab aktivieren

                3. Neues Skript erstellen (oben links neues Blatt-Icon) und auf Typ (oben rechts) Javascript ändern.

                4. Per cut & paste mein Skript reinkopieren. Namen Vergeben, Speichern.

                5. In dem Tab "Objects" gehen und die Stelle finden wo dein smartmeter den Gesamtwert schreibt sollte in etwa so aussehen: "smartmeter.0.1-0:1_8_0*255.value"

                6. Falls der Wert bei dir von meinem abweicht, dann die Zeile:

                var idHAGTotal      = "smartmeter.0.1-0:1_8_0*255.value"; 
                

                anpassen.

                7. Im Tab "Javascript" auf den "play"-Button klicken - Damit wird das Skript aktiv.

                Das wars. Zur nächsten vollen Stunde sollten die Datenpunkte unter "javascript.0.Stromzähler.Hager" angelegt werden. Da ein Sinnvoller Wert erst ab den Zweiten Aufruf erzeugt werden kann, wird der korrekter Wert deines Stundenverbrauchs erst nach der nächsten vollen Stunde geschrieben.

                Falls du Fragen hast, dann weißt du, wo du mich erreichen kannst! ;D

                ! ````
                // Datenpunkte für die Auswertung des Stromverbrauchs

                var cronH = "0 * * * *";
                var cronD = "59 23 * * *";
                var cronW = "0 0 * * 1";
                var cronM = "0 0 1 * *";

                ! var idHAGTotH = "javascript.0.Stromzähler.Hager.tmp.Total-h";
                var idHAGTotD = "javascript.0.Stromzähler.Hager.tmp.Total-d";
                var idHAGTotW = "javascript.0.Stromzähler.Hager.tmp.Total-w";
                var idHAGTotM = "javascript.0.Stromzähler.Hager.tmp.Total-m";
                var idHAGTotal = "smartmeter.0.1-0:1_8_0*255.value"; /Stromverbrauch insgesammt/
                var idHAGZielH = "javascript.0.Stromzähler.Hager.Hour";
                var idHAGZielD = "javascript.0.Stromzähler.Hager.Day";
                var idHAGZielW = "javascript.0.Stromzähler.Hager.Week";
                var idHAGZielM = "javascript.0.Stromzähler.Hager.Month";
                var debug = false;
                ! var DPArray = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
                var DPUnit = "kWh";
                ! DPArray.forEach(function(wert, index, array) {
                var DPType = wert.split(".");
                var DPDescr = "Power consumption of " + (DPType[DPType.length - 1]);

                if(index > 3) DPUnit = "Wh";
                createState(wert, 0, {
                    name: DPDescr,
                    desc: DPDescr,
                    type: 'number',
                    unit: DPUnit,
                    role: 'value'
                });
                

                });

                ! function haupt (VorId, ZielId) {
                var nVorwert = getState(VorId).val;
                var nAktuell = getState(idHAGTotal).val;
                var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
                if(nVorwert > 0) setState(ZielId, nDiff, true); // keinen Wert berechnen, wenn der Vorwert 0 ist.
                if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
                var shandler = on ({id: ZielId, change: 'any'}, function(data) {
                setState(VorId, (nAktuell*10)/10, true);
                unsubscribe(shandler);
                });
                }
                ! // regelmässige Wiederholungen
                // -----------------------------------------------------------------------------
                ! schedule(cronH, function () {
                haupt(idHAGTotH, idHAGZielH);
                });
                schedule(cronD, function () {
                haupt(idHAGTotD, idHAGZielD);
                });
                schedule(cronW, function () {
                haupt(idHAGTotW, idHAGZielW);
                });
                schedule(cronM, function () {
                haupt(idHAGTotM, idHAGZielM);
                });

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

                  @ralalla:

                  Du musst den Javascript Adapter installieren.

                  Dann hast du im iobroker.Admin einen neuen Reiter Namens Skripte.

                  Dort legst du unter common ein neues Skript an und fügst den Code ein.

                  In der Zeile 13 musst du noch deinen Datenpunkt (also wo der Zählwert her kommt) anpassen.

                  (ggf. Zeilen 9 - 17 anpassen vom Namen her, muss spätestens beim 2. Skript gemacht werden weil ja dafür neue Datenpunkte gebraucht werden).

                  Dann speichern und das Skript starten.

                  Wenn im Log kein Fehler erscheint sollten die Objekte angelegt werden und nach 2 Stunden der erste Stundenwert zu sehen sein.

                  Dran denken die Objekte dann zu speichern. `

                  ganz genau. Läuft das Skript bei dir?

                  Ich habe oben noch was kleines geändert:````
                  if(nVorwert > 0) setState(ZielId, nDiff, true); // keinen Wert berechnen, wenn der Vorwert 0 ist.

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

                    Ansonsten zu den SIGSECV bzw SIGABRT … ich hab bei mir auch mal weiter getestet und scheinbar haut es beim Speichermanagement in node da irgendwas durcheinander. Ich tippe auf den Garbage-Collecter der beim Freigeben komische Dinge tut. Werde heute Abend mal mit node 7 testen ob es da auch kaputt geht.

                    Bei mir passiert es meistens mitten im Lesen von Daten.

                    Interessanterweise tritt es auf meinem Mac mit nem simulierten seriellen Port und getrenntem Senderprozess nicht auf, sondern nur im "Live-Umfeld" mit dem seriellen Lesekopf dran.

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

                      Danke das mit dem Skript bekomme ich bestimmt hin, Dank eurer Hilfe. Werde mich heute gleich dran machen.

                      Zum zweiten Lesekopf und dessen Einstellungen verstehe ich nun wieder nur Bahnhof :shock:

                      Also der Sinn ist mir klar aber wo und wie ich das nun wieder machen hmm :?:

                      @apollon77:

                      @chemieka:

                      Ach und einen zweiten Zählen für meine WP sollte kein Problem sein denke ich mal oder? `

                      Ich habe auch 2 Zähler. Nur dann - wenn Du beides z.B. per USB dran hast - solltest Du den Devices zusätzlich eindeutigen namen geben z.B. anhandf der USB-Chip Seriennnummer oder so, weil es sonst bei einem Reboot vorkommen kann das sich die ttyUSBx-Namen "tauschen" und dann hast Du Zahlenchaos 🙂

                      Wie das für deinen lesekopf und System geht must du rausfinden. Bei Udo's Kopf steht das auf der weiter oben verlinkten Seite für Linux `

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

                        @chemieka:

                        Danke das mit dem Skript bekomme ich bestimmt hin, Dank eurer Hilfe. Werde mich heute gleich dran machen.

                        Zum zweiten Lesekopf und dessen Einstellungen verstehe ich nun wieder nur Bahnhof :shock:

                        Also der Sinn ist mir klar aber wo und wie ich das nun wieder machen hmm :?: `

                        schau mal unter http://wiki.volkszaehler.org/hardware/c … sb-ausgang

                         Folgendes Kommando ausführen: (ttyUSB0 ist evtl. anzupassen…)
                        
                        /sbin/udevadm info --query=all --name=/dev/ttyUSB0
                        
                        In der Ausgabe findet sich eine Zeile “E: ID_SERIAL_SHORT=ABC1234”. ABC1234 ist die Seriennummer des USB-Chips.
                        
                        Nun kann man eine Datei “/etc/udev/rules.d/99-lesekopf.conf” mit folgendem Inhalt anlegen:
                        
                        SUBSYSTEM=="tty", ATTRS{product}=="CP2104 USB to UART Bridge Controller", ATTRS{serial}=="ABC1234", NAME="lesekopf0"
                        
                        Ergänzend ist zu erwähnen, dass je nach Linux Distribution die udev-“Rules”-Datei, also z.B. “/etc/udev/rules.d/99-lesekopf.conf” nicht mit “.conf”, sondern mit “.rules” enden muss, damit der udev-Dienst diese Datei auch berücksichtigt. Dies betrifft unter anderem Ubuntu und Debian. Siehe debian-wiki (en).
                        
                        Nach dem die Datei angelegt wurde noch kurz den udev-Dienst neu starten/laden (z.B. “/etc/init.d/udevd reload”) und man kann über /dev/lesekopf0 auf den Lesekopf zugreifen. Egal, welche anderen ttyUSB Geräte es noch gibt :-)
                        
                        Bei Ubuntu 12.10 folgendes:
                        
                        SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="ABC1234", SYMLINK+="lesekopf0"
                        
                        legt einen sym. Link “/dev/lesekopf0” auf das eigentliche Device an.
                        
                        den udev-Dienst dann mit
                        
                        sudo udevadm trigger
                        
                        die neue Regel anwenden lassen. 
                        

                        hier ist es gut beschrieben

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

                          Magst du mir mal deine Datei zur Verfügung stellen?

                          Dann müsste ich nur noch die Daten der Leseköpfe auslesen und einfügen und die Datei wieder an die richtige Stelle einfügen.

                          Ich muss nochmal sagen, dass das für mich nicht alles so einfach ist. Da geht's schon los wie bekomme ich die Datei auf die Raspberry und muss ich dann irgendwas Neu Starten. Ihr müsst da leider etwas mehr ausholen. Sorry das ich da so nachhaken muss.

                          1 Reply Last reply Reply Quote 0
                          • S
                            simpixo last edited by

                            @apollon77:

                            Ansonsten zu den SIGSECV bzw SIGABRT … ich hab bei mir auch mal weiter getestet und scheinbar haut es beim Speichermanagement in node da irgendwas durcheinander. Ich tippe auf den Garbage-Collecter der beim Freigeben komische Dinge tut. Werde heute Abend mal mit node 7 testen ob es da auch kaputt geht.

                            Bei mir passiert es meistens mitten im Lesen von Daten.

                            Interessanterweise tritt es auf meinem Mac mit nem simulierten seriellen Port und getrenntem Senderprozess nicht auf, sondern nur im "Live-Umfeld" mit dem seriellen Lesekopf dran. `

                            Super das du dran bleibst 😉 😄

                            1 Reply Last reply Reply Quote 0
                            • S
                              simpixo last edited by

                              @a200:

                              @chemieka:

                              Ok das hört sich gut an. Auf welche Zeit hast du im Adapter gestellt?

                              Meinst du, du kannst mir erklären wo ich das Skript einfügen muss und wie ich es in Betrieb bekomme?

                              Würde dann heute Abend versuchen wollen das Skript in Betrieb zu bekommen.

                              Wäre dir wirklich sehr dankbar. `
                              Kein Thema.

                              1. (Falls noch nicht geschehen) javascript Adapter aktivieren

                              2. (Falls noch nicht geschehen) In der oberen Leiste auf den Bleistift klicken und über Show Javascript-Tab aktivieren

                              3. Neues Skript erstellen (oben links neues Blatt-Icon) und auf Typ (oben rechts) Javascript ändern.

                              4. Per cut & paste mein Skript reinkopieren. Namen Vergeben, Speichern.

                              5. In dem Tab "Objects" gehen und die Stelle finden wo dein smartmeter den Gesamtwert schreibt sollte in etwa so aussehen: "smartmeter.0.1-0:1_8_0*255.value"

                              6. Falls der Wert bei dir von meinem abweicht, dann die Zeile:

                              var idHAGTotal      = "smartmeter.0.1-0:1_8_0*255.value"; 
                              

                              anpassen.

                              7. Im Tab "Javascript" auf den "play"-Button klicken - Damit wird das Skript aktiv.

                              Das wars. Zur nächsten vollen Stunde sollten die Datenpunkte unter "javascript.0.Stromzähler.Hager" angelegt werden. Da ein Sinnvoller Wert erst ab den Zweiten Aufruf erzeugt werden kann, wird der korrekter Wert deines Stundenverbrauchs erst nach der nächsten vollen Stunde geschrieben.

                              Falls du Fragen hast, dann weißt du, wo du mich erreichen kannst! ;D

                              ! ````
                              // Datenpunkte für die Auswertung des Stromverbrauchs

                              var cronH = "0 * * * *";
                              var cronD = "59 23 * * *";
                              var cronW = "0 0 * * 1";
                              var cronM = "0 0 1 * *";

                              ! var idHAGTotH = "javascript.0.Stromzähler.Hager.tmp.Total-h";
                              var idHAGTotD = "javascript.0.Stromzähler.Hager.tmp.Total-d";
                              var idHAGTotW = "javascript.0.Stromzähler.Hager.tmp.Total-w";
                              var idHAGTotM = "javascript.0.Stromzähler.Hager.tmp.Total-m";
                              var idHAGTotal = "smartmeter.0.1-0:1_8_0*255.value"; /Stromverbrauch insgesammt/
                              var idHAGZielH = "javascript.0.Stromzähler.Hager.Hour";
                              var idHAGZielD = "javascript.0.Stromzähler.Hager.Day";
                              var idHAGZielW = "javascript.0.Stromzähler.Hager.Week";
                              var idHAGZielM = "javascript.0.Stromzähler.Hager.Month";
                              var debug = false;
                              ! var DPArray = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
                              var DPUnit = "kWh";
                              ! DPArray.forEach(function(wert, index, array) {
                              var DPType = wert.split(".");
                              var DPDescr = "Power consumption of " + (DPType[DPType.length - 1]);

                              if(index > 3) DPUnit = "Wh";
                              createState(wert, 0, {
                                  name: DPDescr,
                                  desc: DPDescr,
                                  type: 'number',
                                  unit: DPUnit,
                                  role: 'value'
                              });
                              

                              });

                              ! function haupt (VorId, ZielId) {
                              var nVorwert = getState(VorId).val;
                              var nAktuell = getState(idHAGTotal).val;
                              var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
                              if(nVorwert > 0) setState(ZielId, nDiff, true); // keinen Wert berechnen, wenn der Vorwert 0 ist.
                              if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
                              var shandler = on ({id: ZielId, change: 'any'}, function(data) {
                              setState(VorId, (nAktuell*10)/10, true);
                              unsubscribe(shandler);
                              });
                              }
                              ! // regelmässige Wiederholungen
                              // -----------------------------------------------------------------------------
                              ! schedule(cronH, function () {
                              haupt(idHAGTotH, idHAGZielH);
                              });
                              schedule(cronD, function () {
                              haupt(idHAGTotD, idHAGZielD);
                              });
                              schedule(cronW, function () {
                              haupt(idHAGTotW, idHAGZielW);
                              });
                              schedule(cronM, function () {
                              haupt(idHAGTotM, idHAGZielM);
                              });
                              ```` `

                              Braucht man jetzt für alle Werte nur ein Script? es waren ja anfangs 4 Stück 😮 Hast du das schon so eingestampft? Tolle Leistung. Welches ist denn das aktuelle Script?

                              Gruß

                              Adrian

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

                                Für jeden Zähler ein Skript.

                                Das macht dann Stunde, Tag, Woche und Monatswerte.

                                Wenn man also einen Zähler benötigt man das Skript einmal.

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

                                  @simpixo:

                                  Braucht man jetzt für alle Werte nur ein Script? es waren ja anfangs 4 Stück 😮 Hast du das schon so eingestampft? Tolle Leistung. Welches ist denn das aktuelle Script?

                                  Gruß

                                  Adrian `
                                  Ja, da alle vier Skripte im Prinzip das gleiche tun, habe ich sie zusammengefasst. 🙂

                                  var cronH           = "0 * * * *";  // Stuendlich
                                  var cronD           = "59 23 * * *";  // Taeglich um 23:59
                                  var cronW           = "0 0 * * 1"; // Montags 00:00
                                  var cronM           = "0 0 1 * *";  // Am 1\. eines Monats um 00:00 
                                  ````Beschreibt wann welche Berechnung durchgeführt wird. Dann wird die Hauptfunktion aufgerufen nur abhängig von der Zeit mit unterschiedlichen IN und OUT Datenpunkten. Die neuste Version hast gequotet! :)
                                  
                                  @ralalla -Nein! DOCH! Missverständnis! Simpixo redet von 4 Skripten für Stunde/Tag/Woche/Monat, Du von zwei verschiedenen Zählern. Da hast du Recht! Mann sollte die Datenpunkte für die verschiedenen Zähler auch unterschiedlich benennen! ;)
                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    chemieka last edited by

                                    So das Skript ist nun drin und läuft wohl. Muss mal warten bis der erste Wert kommt. 😄

                                    Welche Abfragezeit habt ihr jetzt im smartmeter eingestellt? Ist da aller 300s nicht zu lange für das Skript?

                                    Habe mir jetzt einen zweiten Sensor gekauft, da brauche ich bestimmt nochmal Hilfe wegen dem USB einstellen.

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

                                      Hallo allerseits,

                                      ich habe keine Objekte !!??? Ich habe den Smartester in einer Multihost Umgebung installiert, ich hab meinen Haupt Host iobroker und einen mit garage.

                                      unter Instanzen sehe ich das er auf garage installiert wurde, unter Objekte hab ich aber keine Daten ??!! Im Reiter Zustände sehe ich das Daten kommen, aber wo gehen die hin :shock:

                                      Hat jemand eine Idee was ich falsch gemacht hab…..... ??
                                      1342_bildschirmfoto_2017-02-08_um_15.42.11.png
                                      1342_bildschirmfoto_2017-02-08_um_15.42.32.png
                                      1342_bildschirmfoto_2017-02-08_um_15.45.13.png
                                      1342_bildschirmfoto_2017-02-08_um_15.46.16.png
                                      1342_bildschirmfoto_2017-02-08_um_15.46.42.png

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

                                        @chemieka:

                                        So das Skript ist nun drin und läuft wohl. Muss mal warten bis der erste Wert kommt. 😄

                                        Welche Abfragezeit habt ihr jetzt im smartmeter eingestellt? Ist da aller 300s nicht zu lange für das Skript?

                                        Habe mir jetzt einen zweiten Sensor gekauft, da brauche ich bestimmt nochmal Hilfe wegen dem USB einstellen. `

                                        Gut zu hören. Die Datenpunkte wurden erzeugt?

                                        Ich frage und speichere den aktuellen und den gesammt Wert alle 60sec. Mehr würde, aus meiner Sicht, unnötig Ressourcen fressen. Seltener wäre auch nicht richtig, weil du dann u.U. 5min alte Daten auswertest.

                                        a200.

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

                                          @ein-bayer:

                                          Hallo allerseits,

                                          ich habe keine Objekte !!??? Ich habe den Smartester in einer Multihost Umgebung installiert, ich hab meinen Haupt Host iobroker und einen mit garage.

                                          unter Instanzen sehe ich das er auf garage installiert wurde, unter Objekte hab ich aber keine Daten ??!! Im Reiter Zustände sehe ich das Daten kommen, aber wo gehen die hin :shock:

                                          Hat jemand eine Idee was ich falsch gemacht hab…..... ?? `

                                          Wie oft liest dein smartmeter die werte? Zeig mal seine Konfiguration.

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

                                            Hallo a200

                                            hier noch meine konfgi, ich glaub nicht das es daran liegt , Daten kommen ja , oder?
                                            1342_bildschirmfoto_2017-02-08_um_16.10.48.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            925
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            281
                                            3634
                                            1683635
                                            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