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 goes Matter ... Matter Adapter in Stable

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

      Ok, dann bereite ich das als offizielles Update vor

      1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active last edited by

        Hallo an alle,

        das Projekt "Strom ablesen" ist abgeschlossen.

        Klappt wunderbar.

        Für alle die dies noch vor sich haben; anbei mal eine kleine Todo.

        Danke an apollon und alle die mir Antwort gegeben haben.

        1. Kauf Stromzähler

        Wie oben geschrieben habe ich nun auch diesen bestellt:

        https://www.amazon.de/gp/product/B01B8N … UTF8&psc=1

        Gekauft habe ich über Ebay (und das 2 x; für normaler Zähler und Photovoltaik).

        Nils von der Seite "volkszähler" hat nun nach 3 Wochen auch auf meine Mail geantwortet. Er will 25,- Euro/Stück + Versand.

        Er ist billiger, kam aber leider zu spät (ich hatte die Dinger ja nun jetzt schon).

        2. Raspi 3 gekauft.

        image von der iobroker Seite drauf.

        Raspi als slave eingerichtet.

        Smartmeter installiert; Device zugewiesen, fertig.

        3. Ein paar Variablen angelegt. Im einzelnen folgende:

        // Stromzähler -------------------------------------------------------------------------------------------------------------
        createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Stunde.Bezogen_Zähler_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Stunde.Eingespeist_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Stunde.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Stunde.Produziert_in_Wh', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Stunde.Produziert_Zähler_alt', 0, {type: 'number',name: 'Stunde',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Tag.Bezogen_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Tag.Bezogen_Zähler_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Tag.Eingespeist_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Tag.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Tag.Produziert_in_Wh', 0, {type: 'number',name: 'Tag',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Tag.Produziert_Zähler_alt', 0, {type: 'number',name: 'Tag',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Monat.Bezogen_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Monat.Bezogen_Zähler_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Monat.Eingespeist_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Monat.Eingespeist_Zähler_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Monat.Produziert_in_Wh', 0, {type: 'number',name: 'Monat',min: 0,unit: 'Wh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Monat.Produziert_Zähler_alt', 0, {type: 'number',name: 'Monat',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Aktuell.Bezogen_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Aktuell.Eingespeist_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Aktuell.Produziert_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'W',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        createState('javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung', 0, {type: 'number',name: 'Aktuell',min: 0,unit: 'kWh',read: true,write: true,role: 'per Script'});
        
        

        Sieht dann bei den Objekten so aus:
        1540_bild1.jpg

        Dann noch ein kleines Script geschrieben:

        // Werte aus smartmeter auslesen und in Variablen schreiben
        
        var java = 'javascript.0.Status.Stromzähler';
        var Stand_bezogen = "smartmeter.1.1-0:1_8_0*255.value";             // Zähler links 180
        var Stand_eingespeist = "smartmeter.1.1-0:2_8_0*255.value";         // Zähler links 280
        var Stand_produziert = "smartmeter.0.1-0:2_8_0*255.value";          // Zähler rechts 280
        var Gesamtwirkleistung = "smartmeter.1.1-0:16_7_0*255.value";       // Zähler links Wirkleistung aktuell
        var Tag = "hm-rega.0.29681";
        var Monat = "hm-rega.0.29682";
        
        schedule("59 * * * *", function () {                        // jede Stunde Werte schreiben
            var akt_bezogen = parseInt(getState(Stand_bezogen).val * 1000);    // dann in Wh
            var alt_bezogen = parseInt(getState(java + '.Stunde.Bezogen_Zähler_alt').val * 1000);
            setState(java + '.Stunde.Bezogen_in_Wh', akt_bezogen - alt_bezogen);
            setState(java + '.Stunde.Bezogen_Zähler_alt', akt_bezogen / 1000);
            var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
            var alt_eingespeist = parseInt(getState(java + '.Stunde.Eingespeist_Zähler_alt').val * 1000);
            setState(java + '.Stunde.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
            setState(java + '.Stunde.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
            var akt_prod = parseInt(getState(Stand_produziert).val * 1000);
            var alt_prod = parseInt(getState(java + '.Stunde.Produziert_Zähler_alt').val * 1000);
            setState(java + '.Stunde.Produziert_in_Wh', akt_prod - alt_prod);
            setState(java + '.Stunde.Produziert_Zähler_alt', akt_prod / 1000);
        });
        
        schedule("59 23 * * *", function () {                        // jeden Tag Werte schreiben
            var akt_bezogen = parseInt(getState(Stand_bezogen).val * 1000);
            var alt_bezogen = parseInt(getState(java + '.Tag.Bezogen_Zähler_alt').val * 1000);
            setState(java + '.Tag.Bezogen_in_Wh', akt_bezogen - alt_bezogen);
            setState(java + '.Tag.Bezogen_Zähler_alt', akt_bezogen / 1000);
            var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
            var alt_eingespeist = parseInt(getState(java + '.Tag.Eingespeist_Zähler_alt').val * 1000);
            setState(java + '.Tag.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
            setState(java + '.Tag.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
            var akt_prod = parseInt(getState(Stand_produziert).val * 1000);
            var alt_prod = parseInt(getState(java + '.Tag.Produziert_Zähler_alt').val * 1000);
            setState(java + '.Tag.Produziert_in_Wh', akt_prod - alt_prod);
            setState(java + '.Tag.Produziert_Zähler_alt', akt_prod / 1000);
        });
        
        schedule("0 0 1 * *", function () {                        // jeden Monat Werte schreiben
            var akt_bezogen = parseInt(getState(Stand_bezogen).val* 1000);
            var alt_bezogen = parseInt(getState(java + '.Monat.Bezogen_Zähler_alt').val * 1000);
            setState(java + '.Monat.Bezogen_in_Wh', akt_bezogen - alt_bezogen);
            setState(java + '.Monat.Bezogen_Zähler_alt', akt_bezogen / 1000);
            var akt_eingespeist = parseInt(getState(Stand_eingespeist).val * 1000);
            var alt_eingespeist = parseInt(getState(java + '.Monat.Eingespeist_Zähler_alt').val * 1000);
            setState(java + '.Monat.Eingespeist_in_Wh', akt_eingespeist - alt_eingespeist);
            setState(java + '.Monat.Eingespeist_Zähler_alt', akt_eingespeist / 1000);
            var akt_prod = parseInt(getState(Stand_produziert).val * 1000);
            var alt_prod = parseInt(getState(java + '.Monat.Produziert_Zähler_alt').val * 1000);
            setState(java + '.Monat.Produziert_in_Wh', akt_prod - alt_prod);
            setState(java + '.Monat.Produziert_Zähler_alt', akt_prod / 1000);
        });
        
        // aktuelle Werte -----------------------------------------------------------------------------------------------------------------------------------------------
        on({id: Stand_bezogen, change: "ne"}, function(obj) {           // Wert hat sich geändert.
            setState('javascript.0.Status.Stromzähler.Aktuell.Bezogen_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
            setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang').val * 1000));
        }); 
        on({id: Stand_eingespeist, change: "ne"}, function(obj) {       // Wert hat sich geändert.
            setState('javascript.0.Status.Stromzähler.Aktuell.Eingespeist_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
            setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang').val * 1000));
        }); 
        on({id: Stand_produziert, change: "ne"}, function(obj) {        // Wert hat sich geändert.
            setState('javascript.0.Status.Stromzähler.Aktuell.Produziert_in_W', parseInt(obj.newState.val * 1000) - parseInt(obj.oldState.val * 1000));
            setState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W', parseInt(obj.newState.val * 1000) - parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang').val * 1000));
        }); 
        
        // Hochrechnung auf Jahr -----------------------------------------------------------------------------------------------------------------------------------------
        schedule("*/5 * * * *", function () { 
            var Tage = getState(Tag).val + (getState(Monat).val-1) * 30;
                setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Bezogen_in_W').val / Tage * 365 / 100) / 10);
                setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_in_W').val / Tage * 365 / 100) / 10);
                setState('javascript.0.Status.Stromzähler.Jahr.Produziert_Hochrechnung', parseInt(getState('javascript.0.Status.Stromzähler.Jahr.Produziert_in_W').val / Tage * 365 / 100) / 10);    
        });
        
        // am 31.12\. um 23:59 jeden Jahres Werte setzen -----------------------------------------------------------------------------------------------------------------------------------------
        schedule("59 23 31 12 *", function () {                        // jeden Monat Werte schreiben
            setState('javascript.0.Status.Stromzähler.Jahr.Bezogen_Stand_Jahresanfang', parseInt(getState(Stand_bezogen).val));
            setState('javascript.0.Status.Stromzähler.Jahr.Eingespeist_Stand_Jahresanfang', parseInt(getState(Stand_eingespeist).val));
            setState('javascript.0.Status.Stromzähler.Jahr.Produziert_Stand_Jahresanfang', parseInt(getState(Stand_produziert).val));
        });
        
        

        Und eine VIS zusammengebastelt:
        1540_bild2.jpg

        Nochmals Danke für die Hilfe; insbesondere apollon für den Adapter.

        mfg

        Dieter

        -> nächstes Projekt - Wasserzähler

        Mal schauen.

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

          Hallo Dieter,

          warum wertest du denn bei der Spülmaschine und Waschmaschine mA aus und nicht auch Watt, dann wäre das Ganze doch mehr konsistent.

          bei mir sieht das so aus:
          144_strom_20180311.png
          Mistwetter hier 😞

          Gruß

          Rainer

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

            @Homoran:

            Mistwetter hier 😞 `

            Bei uns wars heute schöner! 😄

            2216_pv.jpg

            Aber richtig perfekt waren die letzten Tage mit -10°C und ohne Wolken!

            Enrico

            1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active last edited by

              @homoran

              weiß ich auch nicht so genau.

              Habe schon immer bei Spülmaschine und Waschmaschine mA; muss mal überlegen vielleicht ändere ich das noch.

              Kannst du mal deine view zur Verfügung stellen; deine widgets sehen super aus.

              Kann man bestimmt davon was brauchen.

              mfg

              Dieter

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

                @RappiRN:

                Aber richtig perfekt waren die letzten Tage mit -10°C und ohne Wolken! `
                korrekt! etwa so:
                144_strom_20180223.png

                Aber ausgerechnet am kältesten Tag musste der Solarteur mit dem Dachdecker ran, weil die Kabel abgesoffen waren 😞

                und hier der View:

                ! ````
                Hier ist nix - der war zu groß
                kommt gleich als Anhang

                
                Gruß
                
                Rainer
                1 Reply Last reply Reply Quote 0
                • R
                  RappiRN Most Active last edited by

                  Bei uns waren die Nächte ja auch schön kalt, so bis zu -15°C, dass kann man an der Grafik erkennen, da geht die elektrische Fußbodenheizung (ca.1000W) immer wieder an. Dank Smartmeter-Adapter kann man alles schön auslesen!

                  2216_pv1.jpg

                  Die Sollkurve des Sonnenstandes ist nicht so genau abgeglichen.

                  Enrico

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

                    @bahnuhr:

                    -> nächstes Projekt - Wasserzähler

                    Mal schauen. `

                    Schau mal in ein paar Stunden ins "Tester-Forum" … da wären wir dann beim M-Bus Adapter der denke nachher noch neu kommt 🙂

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

                      Hallo zusammen,

                      ich habe meinen Smartmeter Adapter nun zum laufen bekommen. Leider bekomme ich aus meinem Zähler nur den aktuellen Zählerstand. Kann mir jemand behilflich sein, wie ich wenn ich alle 60s den Zählerstand abfrage mir daraus den Aktuellen Stromverbrauch errechnen kann? Ich habe leider mit Skripten keine Erfahrung oder Kenntnisse.

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

                        Berechnungen gibt es bereits einige hier im Forum.

                        Darf man fragen welchen Zähler du hast? Ich kann gar nicht glauben das nur der Zählerstand übermittelt wird.

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

                          Da die Suche bei mir aktuell nicht funktioniert und ich wie gesagt keine Ahnung habe wie Scripte aussehen müssen hatte ich hier gefragt. Die Sripte Sammlung für Verbrauch für Stunde, Tag, Woche läuft bei mir erfolgreich.

                          Ich habe einen Logarex Zähler. Die genaue Bezeichnung müsste ich zu Hause nochmal gucken. Aber laut Google Recherchen gibt er nur 1.8.0 aus.
                          1861_c50790a2-1248-4697-a27a-bd4021c87a09.png

                          1 Reply Last reply Reply Quote 0
                          • oldi-2000
                            oldi-2000 last edited by

                            Hallo

                            Hätte da eine kurze Frage:

                            Ich bin mit meinem iobroker von meinem raspi auf einen Intel Nuc mit Windows 10 umgezogen, hat soweit alles prima geklappt. Beim smartmeter adapter hab ich aber ein kleines Problem bei dem ich gerade nicht weiter komme.

                            Udos IR Lesekopf hängt per USB am Nuc und läuft dort unter COM 3, wie wähle ich diesen im Adapter aus? Was gebe ich bei Name Serielles Gerät ein??

                            Hat jemand den Adapter in Windows laufen??

                            Bin für jede Hilfe Dankbar

                            Grüsse

                            Daniel

                            Gesendet von meinem LG-H870 mit Tapatalk

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

                              COM3 geht nicht?

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

                                Hi Ingo,

                                ich weiß das ich es schon mal gefragt hatte, kann aber den Beitrag nicht mehr finden :oops:

                                Im Admin 3.3.9 wird mir wenn ich hinter deinem Adapter das "?" Drücke folgendes angezeigt:

                                999_smartmeter_info.jpg

                                999__nderungsprotokoll.jpg

                                Da stimmt ja etwas nicht.

                                GitHub Issue bei dir oder im Admin machen?

                                Gruß

                                Mirko

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

                                  Kommt bei den anderen adaptern die richtige Seite? Wenn nein dann admin, sonst bei mir 🙂

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

                                    Ist mir bisher nur bei dem Smartmeter Adapter aufgefallen.

                                    Ich öffne es mal bei dir 😉

                                    EDIT: ISSUE geöffnet: https://github.com/Apollon77/ioBroker.smartmeter/issues/11

                                    wendy2702 created this issue in Apollon77/ioBroker.smartmeter

                                    closed No or wrong information displayed after click at "?" #11

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

                                      @apollon77:

                                      Kommt bei den anderen adaptern die richtige Seite? Wenn nein dann admin, sonst bei mir 🙂 `

                                      @wendy2702:

                                      Ist mir bisher nur bei dem Smartmeter Adapter aufgefallen.

                                      Ich öffne es mal bei dir 😉

                                      EDIT: ISSUE geöffnet: https://github.com/Apollon77/ioBroker.smartmeter/issues/11 `

                                      ist bei einigen Adaptern so aber nicht allen, der RWE z.b. hat das gleiche problem

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

                                        Habe jetzt nur die Adapter probiert die ich auch nutze

                                        Dabei ist mir nur der Smartmeter aufgefallen…. bisher.

                                        1 Reply Last reply Reply Quote 0
                                        • V
                                          VonDerTanne last edited by

                                          Hallo zusammen,

                                          das Forum hat mir schon viel geholfen aber nun bin auch ich an einem Punkt wo ich speziell bei diesem Adapter Hilfe gebrauchen könnte. Ich habe schon alles versucht und gesucht, habe aber so recht einen Weg erkennen können. Da ich noch neu hier bin, bitte nicht gleich zuschlagen…

                                          Es geht bei mir um einen Smartmeter-Zähler COM-1 EEG der Firma Co.met. Das Teil ist ein Ethernet-Gateway an dem 2 Optoköpfe (einmal Haustrom einmal Wärmepumpe) angeschlossen sind. Das ganze lässt sich mit der mitgelieferten Software auf IP:5001 (TCP) abfragen. Ein manueller Connect mittels Putty (RAW, 192.168.x.y, Port 5001) bringt erstmal kein Ergebnis -> der Output bleibt leer. Ein Wireshark Trace bringt zu Tage, dass das Gateway dazu genötigt werden muss, den richtigen Port auszuspucken. Das geschieht per Senden eines Strings %send_id_x_y, wobei x und y vermutlich für den Kanal (als Optokopf 1 oder 2) bzw. den Bezugszähler stehen (HT/NT).

                                          Das ganze sieht dann per Putty ungefähr so aus:

                                          %send_id_1_0
                                          <f ts="1523615119"><d id="0" proto="sml"><z n="0" zpb="000000000000000000000000000000000"><t enc="hex">1B1B1B1B010101017607000D180CE455620062007263010176010107000D0CE122C10B06454D4801027153E27A010163924C007607000D180CE456620062007263070177010B06454D4801027153E27A01726201650CE1630B7777078181C78203FF0101010104454D480177070100000009FF010101010B06454D4801027153E27A0177070100010800FF63018001621E52FF5600126247080177070100010801FF0101621E52FF5600087B93840177070100010802FF0101621E52FF560009E6B38401770701000F0700FF0101621B52FF550000028B0177078181C78205FF010101018302885508CD66A44B6EC44262B95A26DE03993E538132AD0895E03E604F01B376FE7600E8ADF29F1659955BDEDD4F72EF7C01010163FD1C007607000D180CE45762006200726302017101633FE600001B1B1B1B1A010CD8</z></d></f>
                                          %send_id_2_1
                                          <f ts="1523615136"><d id="1" proto="sml"><z n="0" zpb="000000000000000000000000000000000"><t enc="hex">1B1B1B1B010101017607000D1C5AF269620062007263010176010107000D0CC8A6230B06454D4801027153E27E010163F600007607000D1C5AF26A620062007263070177010B06454D4801027153E27E01726201650CC829AF7777078181C78203FF0101010104454D480177070100000009FF010101010B06454D4801027153E27E0177070100010800FF63018201621E52FF5600095652890177070100010801FF0101621E52FF5600095652890177070100010802FF0101621E52FF56000000000001770701000F0700FF0101621B52FF550000050F0177078181C78205FF010101018302006A71837433A2E04E77EFC5E2DB14AAAED7DA4B13A5BEEBD97E7CACBF8222507ED101A5C9E070ABD5717BEDA47B2465010101635227007607000D1C5AF26D6200620072630201710163BBA700001B1B1B1B1A014B69</z></d></f>
                                          %send_id_2_2
                                          <f ts="1523615243"><d id="1" proto="sml"><z n="0" zpb="000000000000000000000000000000000"><t enc="hex">1B1B1B1B010101017607000D1C5AF34D620062007263010176010107000D0CC8A66F0B06454D4801027153E27E0101631756007607000D1C5AF34E620062007263070177010B06454D4801027153E27E01726201650CC82A187777078181C78203FF0101010104454D480177070100000009FF010101010B06454D4801027153E27E0177070100010800FF63018201621E52FF5600095652AF0177070100010801FF0101621E52FF5600095652AF0177070100010802FF0101621E52FF56000000000001770701000F0700FF0101621B52FF55000005180177078181C78205FF010101018302006A71837433A2E04E77EFC5E2DB14AAAED7DA4B13A5BEEBD97E7CACBF8222507ED101A5C9E070ABD5717BEDA47B24650101016308D9007607000D1C5AF3516200620072630201710163DE5300001B1B1B1B1A012747</z></d></f>
                                          %send_id_1_1
                                          <f ts="1523615274"><d id="0" proto="sml"><z n="0" zpb="000000000000000000000000000000000"><t enc="hex">1B1B1B1B010101017607000D180CE52D620062007263010176010107000D0CE123090B06454D4801027153E27A0101639E2E007607000D180CE52E620062007263070177010B06454D4801027153E27A01726201650CE163A47777078181C78203FF0101010104454D480177070100000009FF010101010B06454D4801027153E27A0177070100010800FF63018001621E52FF56001262471B0177070100010801FF0101621E52FF5600087B93970177070100010802FF0101621E52FF560009E6B38401770701000F0700FF0101621B52FF55000001990177078181C78205FF010101018302885508CD66A44B6EC44262B95A26DE03993E538132AD0895E03E604F01B376FE7600E8ADF29F1659955BDEDD4F72EF7C010101634BEA007607000D180CE52F62006200726302017101630A8100001B1B1B1B1A01A81A</z></d></f>
                                          

                                          Dazu kommt "erschwerend" hinzu, dass er selbst in dem Fall die SML-Daten nicht nativ ausspuckt sondern noch mit herstellerspezifischem Overhead.

                                          Seht ihr eine Chance das mit dem smartmeter-Adapter irgendwie zum fliegen zu bekommen?

                                          Gruß,

                                          VonDerTanne

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

                                            Zwei Optionen. Wenn du ein paar mehr Infos zu diesem Protokoll und so findest kann man überlegen das als Protokoll einzubauen. Aber da würde ich gern verstehen was da genau so neben dem reinen Smog zurückkommt und was man genau sendet und was es bedeutet.

                                            Zweite Option ist das du ein Skript baust was das abfragt und lokal als Datei ablegt. Der Adapter hat jetzt schon das file Protokoll wo das file dann regelmäßig gelesen werden könnte.

                                            Noch weiter wäre es möglich das der Adapter eine Message unterstützt wo er von einem JavaScript einen sml String bekommt und den dann direkt verarbeitet. Dann müsstest du es vorher wieder in einem Skript lesen und auseinander nehmen.

                                            Was darf es sein 😉

                                            Ingo

                                            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

                                            417
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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