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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter "smartmeter"

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

      @darkiop:

      Dachte ich mir, war mir nur unsicher da bei dem Ein-Richtungszähler der Wärmepumpe bei Bezug trotzdem einen postive Zahl ausgegeben wird.

      Bei dem Zwei-Richtungszähler wird auch nur der Bezugswert angezeigt, dieser entspricht auch der Anzeige auf dem Display des eHZ. Die aktuelle Abgabe-Leistung in W sehe ich da nicht - bin mir grad auch nicht sicher ob die direkt am Zähler ablesbar ist.

      Edit: Ok, aktuell seh ich positive Werte. Wenn ich das nun richtig interpretiere, dann war der negative Wert vorhin die Einspeisung (zu diesem Zeitpunkt hat die PV auch ca. 4000W gebracht) und aktuell liefert sie rund 450W und der Wert des Zählers ist bei +150W. `

      So sollte es sein.

      Bezug sollte wenn Zähler korrekt eingebaut "positiv" sein und Einspeisung "negativ".

      1 Reply Last reply Reply Quote 0
      • D
        darkiop Most Active last edited by

        Also passend aus Sicht des Stromversorgers 🙂 Etwas verwirrend, da der bei Bezug der Pfeil nach rechts und bei Einspeisung nach links zeigt.

        D.h.: Haustromzähler + (PV.DC1 + PV.DC2) = Stromverbrauch Haus

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

          @darkiop:

          Also passend aus Sicht des Stromversorgers 🙂 Etwas verwirrend, da der bei Bezug der Pfeil nach rechts und bei Einspeisung nach links zeigt.

          D.h.: Haustromzähler + (PV.DC1 + PV.DC2) = Stromverbrauch Haus `

          (PV.DC1 + PV.DC2)
          ````DC hört sich für mich so nach Gleichspannung an!?
          
          Das stimmt natürlich nicht wenn es das ist.
          1 Reply Last reply Reply Quote 0
          • D
            darkiop Most Active last edited by

            Das Stimmt, die berechne ich aktuell noch über den Umweg einer CCU SV:

            https://github.com/darkiop/bin/blob/mas … -to-ccu.sh

            Also müsste ich hier die AC Leistung nehmen? (Elektrik ist leider nicht meine Welt :))
            5671_2018-02-06_19_15_41-clipboard.png

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

              Du musst die Aktuelle AC Leistung nehmen.

              Vielleicht ist das für dich auch interessant:

              http://forum.iobroker.net/viewtopic.php … hilit=piko

              http://forum.iobroker.net/viewtopic.php … hilit=piko

              http://forum.iobroker.net/viewtopic.php … hilit=piko

              http://forum.iobroker.net/viewtopic.php … hilit=piko

              1 Reply Last reply Reply Quote 0
              • D
                darkiop Most Active last edited by

                Vielen Dank, schau ich mal rein 🙂

                1 Reply Last reply Reply Quote 0
                • D
                  darkiop Most Active last edited by

                  Berechne den Wert des aktuellen Verbrauches des Hauses nun mit folgenden Skript, vielleicht kann es ja noch jemand gebrauchen:

                  // Aktuelle Stromaufnahme des Hauses berechnen
                  //
                  // 08.02.2018 Thorsten Walk
                  //
                  // PV.AC.Aktuell + Zähler.Haustrom.Aktuell = aktuelle Leistungsaufnahme Haus
                  
                  var debug = false;
                  
                  // jede min
                  //var cron = '*/1 * * * *';
                  
                  // alle n s
                  var cron = '*/30 * * * * *';
                  
                  var instanz = 'javascript.' + instance;
                  var pfad = '.Strom.';
                  
                  // Ausgabe Objekt
                  var leistung_haus = instanz + pfad + 'Leistungsaufnahme_Haus';
                  
                  // Objekt anlegen
                  createState(leistung_haus, {
                      type: 'number',
                      name: 'Aktuelle Leistungsaufnahme Haus',
                      desc: 'Aktuelle Leistungsaufnahme Haus',
                      unit: "W",
                      role: 'value'
                  });
                  
                  function berechne() {
                  
                      //var leistung_haus = instanz + pfad + 'Leistungsaufnahme_Haus';
                  
                      // Aktuelle Leistung Zwei-Richtungs-Zähler
                      var ac_haus = "smartmeter.1.1-0:16_7_0*255.value";
                  
                      // Aktuelle Leistung von PV (AC-Aktuell)
                      var ac_pv ="javascript.0.Strom.Photovoltaik.Leistung_aktuell";
                  
                      // Daten in lokale var laden
                      var get_ac_haus = getState(ac_haus).val;
                      var get_ac_pv = getState(ac_pv).val;
                  
                      // Wert berechnen
                      var get_leistung_haus = (get_ac_haus + get_ac_pv);
                  
                      setState(leistung_haus, get_leistung_haus, true);
                  
                      if(debug) log("Berechnung: " + "AC_HAUS " + get_ac_haus +" - AC_PV "+ get_ac_pv + " = " + get_leistung_haus);
                  
                  }
                  
                  // Skript ausführen
                  schedule(cron, function () {
                      berechne();
                  });
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • coyote
                    coyote Most Active last edited by

                    Bekomme seit dem Update folgende Meldung im Log:

                    smartmeter.0	2018-02-07 09:47:24.128	warn	ERROR CLOSING SERIALPORT
                    smartmeter.0	2018-02-07 09:47:24.126	warn	No or too long answer from Serial Device after last request.
                    

                    Hier die Einstelungen:

                    536_smart.png

                    Habe einen Volkszähler dran, Adapter habe ich auch schon neu gestartet ohne Erfolg.

                    1 Reply Last reply Reply Quote 0
                    • D
                      darkiop Most Active last edited by

                      Bei mir ist der Sensor so konfiguriert:

                      5671_2018-02-07_10_14_30-clipboard.png

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

                        @coyote:

                        Bekomme seit dem Update folgende Meldung im Log:

                        smartmeter.0	2018-02-07 09:47:24.128	warn	ERROR CLOSING SERIALPORT
                        smartmeter.0	2018-02-07 09:47:24.126	warn	No or too long answer from Serial Device after last request.
                        

                        Hier die Einstelungen:

                        filename="smart.PNG" index="0">~~

                        Habe einen Volkszähler dran, Adapter habe ich auch schon neu gestartet ohne Erfolg. `

                        Bitte mal prüfen ob sich eventuell der USB Port geändert hat.

                        Das kommt schon mal vor.

                        Gesendet von iPhone mit Tapatalk Pro

                        1 Reply Last reply Reply Quote 0
                        • coyote
                          coyote Most Active last edited by

                          Hat sich erledigt, Cubie neu gestartet. Geht wieder

                          1 Reply Last reply Reply Quote 0
                          • D
                            darkiop Most Active last edited by

                            Habe das Skript von mir zur Berechnung der aktuellen Leistungsaufnahme des Haus oben im Post aktualisiert.

                            1 Reply Last reply Reply Quote 0
                            • D
                              darkiop Most Active last edited by

                              Ich berechne aktuell mit dem Skript von A200 die Tages,Wochen,Monats Werte. Allerdings habe ich da gerade festgestellt das die Berechnung des Tags nicht passt, siehe Screenshot:

                              5671_2018-02-08_17_53_31-clipboard.png

                              5671_2018-02-08_18_01_33-clipboard.png

                              Das Skript aktuell so aus:

                              ! ````
                              // NEU - Zählerstand vom Anfang der akt. Stunde wird ermittelt
                              //
                              // http://forum.iobroker.net/viewtopic.php?p=51017#p51017
                              //
                              // In History Optioen "nur bei Änderung" aktivieren
                              ! var debug = false;
                              ! var cronH = "0 * * * *";
                              var cronD = "59 23 * * *";
                              var cronW = "0 0 * * 1";
                              var cronM = "0 0 1 * ";
                              ! var instanz = 'javascript.' + instance;
                              var pfad = '.Strom.Statistik.Hausstrom-Bezug.';
                              ! var idHAGTotH = instanz + pfad + 'tmp.Total-h';
                              var idHAGTotD = instanz + pfad + 'tmp.Total-d';
                              var idHAGTotW = instanz + pfad + 'tmp.Total-w';
                              var idHAGTotM = instanz + pfad + 'tmp.Total-m';
                              ! var idHAGZielH = instanz + pfad + 'Stunde';
                              var idHAGZielD = instanz + pfad + 'Tag';
                              var idHAGZielW = instanz + pfad + 'Woche';
                              var idHAGZielM = instanz + pfad + 'Monat';
                              ! /
                              Berechnungsquelle /
                              var idHAGTotal = "smartmeter.1.1-0:1_8_0
                              255.value";
                              ! 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);
                              });
                              ! ````

                              Hat jemand eine Idee warum das so ist (Der Wert bei den Objekten von Tag & Tag TMP entspricht dem Zählerstand?)

                              @Apollon: Danke für den Adapter, ist echt super einfach an die Stromdaten zukommen - spart man sich den Volkszähler 🙂

                              Was hälst du davon die Berechnung solchen Statistik Werten (Verbrauch Tag, Woche, Monat) direkt mit in den Adapter aufzunehmen?

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

                                @darkiop:

                                @Apollon: Danke für den Adapter, ist echt super einfach an die Stromdaten zukommen - spart man sich den Volkszähler 🙂

                                Was hälst du davon die Berechnung solchen Statistik Werten (Verbrauch Tag, Woche, Monat) direkt mit in den Adapter aufzunehmen? `

                                Nicht viel :-)) Ich bin der Überzeugung das jeder Adapter seine Augabe haben sollte und je mehr man an Zusatzkram reinpackt desto unübersichtlicher wird es. Und am Ende ist diese Idee zu generisch um Sie an nur einen Adapter zu verschwenden.

                                Die Idee ist eher (steht auf meiner leider zu lange Ideenliste) ein generischer "Aggregator"-Adapter. Bei dem kann man Datenounkte wählen und sagen was man braucht, Min, max, Average, Differenzen, what ever und der legt dann die Ergebnisse in entsprechenden Datenpunkten ab.

                                1 Reply Last reply Reply Quote 0
                                • D
                                  darkiop Most Active last edited by

                                  Ok, der Ansatz klingt auch Sinnvoll! Bin gespannt 🙂

                                  Heute war der Tageswert in der DB wieder ok, muss das einfach mal weiter beobachten:

                                  5671_2018-02-09_13_44_23-clipboard.png

                                  Was mich ein bisschen "stört", ist die Tatsache das durch Neustart des SQL Adapters immer ein aktueller Wert eingetragen wird - so muss ich immer wieder (nachdem ich an den System gearbeitet habe) von Hand die Tabelle aufräumen um korrekte Tagesverbräuche angezeigt zu bekommen.

                                  Jemand eine Idee wie man das umgehen kann?

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    gemu last edited by

                                    Hallo allerseits,

                                    habe das Problem etwas anders gelöst. Habe SML und EBUS in Tasmota eingebaut und sende die Daten über MQTT an iobroker.sonoff.

                                    Da braucht man für SML nur ein Sonoff Basic und einen Phototransistor am REC pin mit 470 Ohm Pullup. (unter 10 Euro zusammen) Ein Gehäuse für den Transistor habe ich mit dem 3D Drucker gedruckt.

                                    Für den EBUS braucht man natürlich einen Pegel Anpasser.

                                    Habe allerdings nur meine Zähler EHZ (Zweirichtungszähler für Eigenverbrauchsanlage) und meinen Hager Einspeisezähler (nur Einspeisung), sowie den EBUS für Wolf Therme mit Solarkollektor angepasst, alles nur lesend.

                                    Andere Zähler müsste man in Tasmota hinzufügen.

                                    Wenn jemand Interesse hat kann ich gerne die Quellen posten.

                                    Gruß

                                    Gerhard

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dj.tifosi last edited by

                                      Helau und alaaf alle zusammen,

                                      vielen Dank für diesen tollen Adapter, er funktioniert mit meinem Zweirichtungszähler EasyMeter Q3D einwandfrei und ich kann alle Register sauber auslesen:

                                      • Zählwerk Einspeisung (kWh)

                                      • Zählwert Bezug (kWh)

                                      • Momentanleistung über alle Phasen (Watt)

                                      • Momentanleistung für L1 / L2 / L3 (Watt)

                                      Leider habe ich ein kleines Problem, vielleicht kann mir ja jemand von euch weiterhelfen:

                                      Und zwar versuche ich, die Momentanwerte per history-Adapter aufzuzeichnen und dann per flot-Adapter in einem Chart grafisch darzustellen, zusammen mit der Momentanleistung meiner Photovoltaikanlage, welche ich bereits per Modbus-Adapter aus meinem Wechselrichter (SMA Sunny Boy 3600TL-21) auslese.

                                      Mein Problem ist, dass die Werte aus dem History-Adapter bereits nach etwa 20 Minuten gelöscht werden. Klickt man auf das Zahnrädchen eines per history-Adapter aufgezeichneten Datenpunkts und dann auf den Reiter "Tabelle", dann sieht man dass sich die Tabelle nach einiger Zeit komplett leert und dann wieder von Neuem mit der Aufzeichnung begonnen wird.

                                      Das gleiche Vorgehen mit dem Datenpunkt der Momentanleistung meines Wechselrichters aus dem Modbus-Adapter funktioniert problemlos, hier werden die History-Werte nicht schon nach kurzer Zeit geleert. Anbei noch ein Screenshot von dem Chart mit den abgeschnittenen Werten sowie die Einstellungen der Historie.
                                      4205_flot-chart.png
                                      4205_historie-smartmeter.png

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        Die Einstellung deiner Konfiguration der History des Datenpunktes sorgt schon mal dafür, dass die Daten nach 1 Tag gelöscht werden.

                                        Außerdem loggst du nur Änderungen. Wenn also der Wert gleich bleibt gibt es keine neuen.

                                        Dass die Tabelle geleert wird liegt daran, dass dort nur ein Ausschnitt gezeigt wird (Im Admin v3 wirst du dieses konfigurieren können), in der Datenbank aber mehr Daten liegen sollten, sofern sie eben geänderte Werte sind, maximal aber nur 1 Tag.

                                        Gruß

                                        Rainer

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

                                          Hallo dj.tifosi

                                          Wie ist denn der Abfrageintervall im Smartmeter Adapter eingestellt?

                                          Der Easymeter liefert alle zwei Sekunden neue Daten, benötigst du das so häufig?

                                          Ich frage meinen alle 60 sec ab, dieser Intervall ist für mich ausreichend.

                                          Ich hatte damals den Volkszähler mit alle zwei Sekunden neue Daten am laufen, damit starb die SD-Karte innerhalb von 6-8 Wochen.

                                          Warum hast du im History-Adapter eine Entprellzeit von 10000 ms anstelle default 1000 ms eingestellt?

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

                                            @gemu:

                                            Kannst du das bitte beschreiben - vor allem an welcher Stelle in Tasmota hast du welchen Code eingefügt? Wie kannst du mit dem Sonoff Adapter darauf zugreifen? - verwendest du dazu bereits vorhandene Datenpunkte?

                                            Dieses Konzept könnte man ja auch für andere Sachen verwenden die Tasmota nicht unterstützt werden (z.B. Füllstadssensor mittels Ultraschall)

                                            LG Schubi

                                            @gemu:

                                            Hallo allerseits,

                                            habe das Problem etwas anders gelöst. Habe SML und EBUS in Tasmota eingebaut und sende die Daten über MQTT an iobroker.sonoff.

                                            Wenn jemand Interesse hat kann ich gerne die Quellen posten.

                                            Gruß

                                            Gerhard `

                                            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

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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