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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Adapter "smartmeter"

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                        • a200
                          a200 last edited by

                          @ein-bayer:

                          Hallo a200

                          hier noch meine konfgi, ich glaub nicht das es daran liegt , Daten kommen ja , oder? `

                          Werte kommen rein. Sieht man an den Zuständen.

                          Schau mal in "Objekte" nochmal rein. ggf. Aktualisieren.

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

                            😄 😄 😄 😄 😄

                            Habs gefunden…. ich hab mich selber überlistet, im Reiter adapter war der Host garage ausgewählt, im Host iobroker sind die Werte da... , ist mir beim aktualisieren aufgefallen

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

                              Hm will doch nicht so richtig.

                              Was mache ich falsch?

                              1867_strom.jpg
                              1867_strom1.jpg
                              1867_strom2.jpg

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

                                @chemieka:

                                Hm will doch nicht so richtig.

                                Was mache ich falsch? `

                                und? wie sieht es jetzt aus? In der ersten vollen Stunde sollte der Wert von deinem Smartmeter in tmp.Total-h geschrieben werden. In der zweiten sollte der Wert Hour sich geändert haben.

                                Ist das jetzt so bei dir?

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

                                  Schaut so aus.

                                  Nimmst du dem Aktuellen Verbrauchswert zur Berechnung oder den Gesamtwert?

                                  Weil die Zahlen stimmen nicht.
                                  1867_img_0433.png

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

                                    @chemieka:

                                    Schaut so aus.

                                    Nimmst du dem Aktuellen Verbrauchswert zur Berechnung oder den Gesamtwert?

                                    Weil die Zahlen stimmen nicht.

                                    IMG_0433.PNG `

                                    was meinst du mit stimmen nicht? Der erster Wert beim Auslesen ist immer Falsch. Erst beim zweiten Mal kann die Differenz zwischen dem aktuellen Verbrauch und tmp.Total-h berechnet und als Stundenverbrauch abspeichern.

                                    Das sieht nicht schlecht aus.

                                    Was steht jetzt drin?

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

                                      Aso dann wirds gehen sorry. Muss nochmal warten weil ich drin rumgespielt habe.

                                      Danke dann war es nur ein Denkfehler. :?

                                      Hab mir einen zweiten Sensor bestellt, hoffe ihr helft mir bei der Einrichtung.

                                      Könnte man noch einen Vortageswert machen? Also Verbrauch die vorletzten 24h.

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

                                        @chemieka:

                                        Aso dann wirds gehen sorry. Muss nochmal warten weil ich drin rumgespielt habe.

                                        Danke dann war es nur ein Denkfehler. :?

                                        Hab mir einen zweiten Sensor bestellt, hoffe ihr helft mir bei der Einrichtung.

                                        Könnte man noch einen Vortageswert machen? Also Verbrauch die vorletzten 24h. `
                                        mein script ermittelt auch die Tageswerte. wenn du dann in einem History adapter speicherst, dann kannst du den Verbrauch von von gestern, vorgstern und und und. allerdings erst ab dann, ab wann du deine werte speicherst.

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

                                          jetzt habe ich probleme:

                                          host.minime	2017-02-08 20:28:41.731	error	instance system.adapter.smartmeter.0 terminated with code 0 (OK)
                                          smartmeter.0	2017-02-08 20:28:41.698	info	terminating
                                          smartmeter.0	2017-02-08 20:28:41.191	warn	Exception: Error: Error while parsing SML message: Error: Wrong TL-Field 0x3b for Choice!: Message: 1b1b1b1b0101010176090109521b010900010162003b01012e620001234201770701003307007f01017e535844010000016
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at FSReqWrap.wrapper [as oncomplete] (fs.js:576:17)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at SerialPort. (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:306:7)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at SerialPort. (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:293:14)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at SerialPort._emitData (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:313:18)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at SerialPort.module.exports.raw (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/parsers.js:7:13)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at SerialPort.emit (events.js:169:7)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at emitOne (events.js:77:13)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at SerialPort. (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/transports/SerialResponseTransport.js:52:41)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	at SmlProtocol.handleMessage (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/protocols/SmlProtocol.js:48:15)
                                          smartmeter.0	2017-02-08 20:28:41.186	error	Error: Error while parsing SML message: Error: Wrong TL-Field 0x3b for Choice!: Message: 1b1b1b1b0101010176090109521b010900010162003b01012e620001234201770701003307007f01017e53584401000001622152620952
                                          smartmeter.0	2017-02-08 20:28:41.177	error	uncaught exception: Error while parsing SML message: Error: Wrong TL-Field 0x3b for Choice!: Message: 1b1b1b1b0101010176090109521b010900010162003b01012e620001234201770701003307007f01017e5358440100000
                                          smartmeter.0	2017-02-08 20:27:14.519	info	starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.smartmeter, node: v4.7.3
                                          

                                          Error while parsing SML message: Error: Wrong TL-Field 0x3b for Choice!:

                                          was ist das für ein Feld?

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

                                            Das sieht einerseits irgendwie nach unvollständigen Messages aus weil die viel zu kurz sind und auch das Ende nicht passt, andererseits ist genau die Stelle die er anmeckert immer gleich. Lass mal im Debug-Loglevel laufen dann schreibt er noch einiges mehr und poste das mal …

                                            Ging es vorher schonmal? Was für ein gerät? Oder hat das Problem mit der 0.2.5 angefangen?

                                            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

                                            776
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            279
                                            3620
                                            1703320
                                            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