Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Einspeisung / Bezug über Zählerstand Differenz erfassen?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Einspeisung / Bezug über Zählerstand Differenz erfassen?

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

      Hallo,
      bisher versuche ich den Verbrauch über die Momentan-Werte des smartMeter Adapters zu berechnen.
      Geht halbwegs gut, denn es gibt kein Vorzeichen dabei. 5KW können sowohl Bezug als auch Einspeisung sein.
      Das Vorzeichen muss ich über ein Vergleich mit den PV Erzeugungszähler "erahnen". Bekomme ich bei der Abfrage beide Werte synchron, passt das ganz gut. Habe ich durch große getaktete Verbraucher (z. B. Herd), oder schnelle Wolken einen wechselnden Ertrag, stimmen die Werte oft nicht. Das hat zur Folge dass es immer wieder kurze aber große Ausreißer gibt.

      Meine Überlegung wäre beide Zählerstände des Zweiwege-Zählers bei Änderung herzunehmen.
      Triggern, Berechnen, rbe-Node das ist kein Thema. Gedanklich hänge ich am Zyklischen Speichern des Zählerstandes:
      Ich versuche das mal am Beispiel Bezug zu skizzieren:
      (gspeicherter Stand - "Stand jetzt")/Zeitraum=Verbrauch gemittelt
      Damit das funktioniert muss man aber den "Zählerstand jetzt" zyklisch nach der Berechnung wegspeichern - Dieser wird dann zum Zählerstand gespeichert.
      Logisch zum Berechnen braucht man mind. 2 Werte....

      Kann man sowas, oder ähnlich mit den selben Ergebnis in Node-Red abbilden???

      Danke und VG Torsten

      Homoran mickym 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @schneidy76 last edited by

        @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

        denn es gibt kein Vorzeichen dabei. 5KW können sowohl Bezug als auch Einspeisung sein.

        zeigen!
        Was ist das für ein Smartmeter?

        Das entspräche nicht der Norm

        S 1 Reply Last reply Reply Quote 0
        • S
          schneidy76 @Homoran last edited by

          @homoran Der Hersteller ist EMH. Den genauen Typ muss ich heute Abend mal ablesen.
          Der Zähler ist von 2011, also etwas älter.
          Ich bin mir aber ganz sicher, dass da kein Vorzeichen kommt.
          Screenshot_20231129_113506_Chrome.jpg

          Vg Torsten

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

            @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

            Der Hersteller ist EMH. Den genauen Typ muss ich heute Abend mal ablesen.
            Der Zähler ist von 2011, also etwas älter.

            die OBIS Kennzahl macht mich etwas stutzig
            15.7.0 ist mir nicht geläufig.

            ist das ein Zweirichtungszähler, oder ein Einrichtungszähler mit Rücklaufsperre?

            edit:
            habe nach ein wenig Suchen bei ELV eine Liste gefunden.
            https://files2.elv.com/public/14/1421/142148/Internet/142148_zaehlerliste.pdf

            wenn ich das richtig sehe ist 15.7.0 nur bei Einrichtungszählern, entweder Bezugszähler oder Einspeisezähler, vorhanden und hat kein Vorzeichen

            Zweirichtungszähler haben 16.7.0 mit Vorzeichen

            S 1 Reply Last reply Reply Quote 0
            • S
              schneidy76 @Homoran last edited by

              @Homoran
              Man kann hier 2 Zählerstände sehen.
              1.8.0 = Bezug
              2.8.0 = Einspeisung
              Das ist dann ein 2 Richtungszähler.
              Ich habe noch eine Vergütung für Eigenverbrauch.

              Vg Torsten

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

                @schneidy76 siehe Edit
                bist du noch Volleinspeiser (2012 und früher?)

                S 1 Reply Last reply Reply Quote 0
                • S
                  schneidy76 @Homoran last edited by

                  @homoran ja, alles was ich nicht selber verbrauche, speise ich ein

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

                    @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                    @homoran ja, alles was ich nicht selber verbrauche, speise ich ein

                    das ist nicht Volleinspeisung.

                    bis 2012 musste man alles Einspeisen und den selbst benötigten Strom zurückkaufen.
                    damals gab es Einspeise- und Bezugszähler

                    S 2 Replies Last reply Reply Quote 0
                    • S
                      schneidy76 @Homoran last edited by

                      @homoran
                      Ich habe auch mal ein wenig gelesen und für 2011 eine Tabelle gefunden OBIS Kennzahlen V1.0
                      link text
                      Dort gibt es die Kennzahl 15.7.0 Wirkleistung Total,
                      aber keine Kennzahl 16.7.0 Wirkleitung total kennzeichenbehaftet.
                      In neueren Tabelle fehlte die 15.7.0, dafür gibt es die 16.7.0.

                      Ich vermute es gibt eine neuere OBIS Version - und ich habe die alte.
                      2 Richtungen zählt ja der Zähler - sonst gäbe es keine 2 Zählerstände:
                      Kennzahl 1.8.0 Wirk- Energie Total Bezug
                      Kennzahl 2.8.0 Wirk- Energie Total Lieferung

                      VG Torsten

                      1 Reply Last reply Reply Quote 0
                      • S
                        schneidy76 @Homoran last edited by

                        @homoran said in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                        @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                        @homoran ja, alles was ich nicht selber verbrauche, speise ich ein

                        das ist nicht Volleinspeisung.

                        bis 2012 musste man alles Einspeisen und den selbst benötigten Strom zurückkaufen.
                        damals gab es Einspeise- und Bezugszähler

                        ich habe 2 Zähler verbaut:
                        PV Erzeugung & Zweirichtungszähler
                        aus der Differenz wird der Eigenverbrauch berechnet
                        ungefähr so (ist nicht meiner!!! 🙂 )
                        caba6c49-117c-493f-938c-bc2a75a2d0f3-image.png

                        Homoran 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @schneidy76 last edited by

                          @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                          Damit das funktioniert muss man aber den "Zählerstand jetzt" zyklisch nach der Berechnung wegspeichern - Dieser wird dann zum Zählerstand gespeichert.
                          Logisch zum Berechnen braucht man mind. 2 Werte....

                          Na Du kannst es in einen Datenpunkt schreiben - oder falls nicht so wichtig nur im Speicher in einen Kontext.

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

                            @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                            ich habe 2 Zähler verbaut:

                            da kommen wir der Sache näher

                            @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                            PV Erzeugung & Zweirichtungszähler

                            Erzeugungszähler und Bezugszähler
                            so musste es bis September(??) 2012 verbaut werden.

                            @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                            Ich vermute es gibt eine neuere OBIS Version - und ich habe die alte.

                            die OBIS Kennzahlen sind allgemein gültig.
                            Du hast nur Zähler für die alte Bestimmung, daher 15 statt 16.
                            Dadurch bekommst du keine Einspeiseleistung angezeigt.

                            @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                            sonst gäbe es keine 2 Zählerstände:

                            Das ist nicht die Leistung, sondern die Gesamtenergie für x.8.0

                            damit könnte man allerdings über die Energiedifferenz zwischen zwei Messpunkten, die mittlere Leistung des Zeitraums berechnen

                            S 2 Replies Last reply Reply Quote 0
                            • S
                              schneidy76 @Homoran last edited by

                              @homoran said in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                              Das ist nicht die Leistung, sondern die Gesamtenergie für x.8.0
                              damit könnte man allerdings über die Energiedifferenz zwischen zwei Messpunkten, die mittlere Leistung des Zeitraums berechnen

                              Richtig: Energie =kWh; (Wirk-)Leistung=Watt

                              ...und ganz genau das war mein Plan. Muss halt immer 2 Messpunkte haben - und am besten ist der "neueste" Messpunkt im nächsten Intervall derjenige, der dann als vorherige Messpunkt genommen wird - und so weiter
                              2Pfade - einer für 1.8.0 und einer für 2.8.0 (so bekomme ich das richtige Vorzeichen)
                              also Trigger würde ich eine Änderung des Zählerstandes nehmen
                              dahinter eine rbe-node, dann wird der richtige Wert für die Verbrauchsberechnung hergenommen

                              ...so mein grober Plan

                              1 Reply Last reply Reply Quote 0
                              • S
                                schneidy76 @mickym last edited by

                                @mickym Ich als fast Ahnungsloser, würde denken in einen Kontext wäre die Wahl. Aber wie mache ich das zyklisch. Um es weiter zu verarbeiten zu können, muss der Name der zwei Werte ja immer gleich sein. Sonst kann ich damit nicht rechnen.

                                setze payload auf Wert1
                                

                                nach der Berechnung muss ich Wert 1 auf Wert 2 schieben, damit Wert 1 wieder frei wird....

                                mickym 1 Reply Last reply Reply Quote 0
                                • S
                                  schneidy76 @Homoran last edited by

                                  @homoran Mein Zähler: EMH eHZ-HW8E2A5L0EQ2P

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

                                    @schneidy76 sagte in Einspeisung / Bezug über Zählerstand Differenz erfassen?:

                                    @homoran Mein Zähler: EMH eHZ-HW8E2A5L0EQ2P

                                    über den HW finde ich nichts. Nahezu alle Buchstaben vor dem W, aber kein H

                                    1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @schneidy76 last edited by

                                      @schneidy76 Mir ist das alles zu theoretisch - hier mal mit dem Flow Kontext über function Nodes kannst Du auch den Node Kontext verwenden.

                                      Hier wird also immer die payload zu der vorherigen payload dazugezählt. Du kannst auch summe oder was weiß ich nehmen oder ein Array im Kontext speichern - alles möglich

                                      97a8536d-f5e4-4f9e-a2ef-daf6d4c56a20-image.png

                                      [
                                         {
                                             "id": "63f7fc476f4c3208",
                                             "type": "inject",
                                             "z": "517cd16e4d7e6ae4",
                                             "name": "Wert",
                                             "props": [
                                                 {
                                                     "p": "payload"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "payload": "20",
                                             "payloadType": "num",
                                             "x": 270,
                                             "y": 500,
                                             "wires": [
                                                 [
                                                     "766fcda4714f3314"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "766fcda4714f3314",
                                             "type": "change",
                                             "z": "517cd16e4d7e6ae4",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "vorigerWert",
                                                     "pt": "msg",
                                                     "to": "vorigerWert",
                                                     "tot": "flow"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "summe",
                                                     "pt": "msg",
                                                     "to": "payload + vorigerWert",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "vorigerWert",
                                                     "pt": "flow",
                                                     "to": "payload",
                                                     "tot": "msg"
                                                 },
                                                 {
                                                     "t": "move",
                                                     "p": "summe",
                                                     "pt": "msg",
                                                     "to": "payload",
                                                     "tot": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 470,
                                             "y": 500,
                                             "wires": [
                                                 [
                                                     "9c15197c912f442f"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "9c15197c912f442f",
                                             "type": "debug",
                                             "z": "517cd16e4d7e6ae4",
                                             "name": "Summe",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 680,
                                             "y": 500,
                                             "wires": []
                                         },
                                         {
                                             "id": "0a8fcf7bd43ae7d0",
                                             "type": "inject",
                                             "z": "517cd16e4d7e6ae4",
                                             "name": "voriger Wert",
                                             "props": [
                                                 {
                                                     "p": "init",
                                                     "v": "true",
                                                     "vt": "bool"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "x": 270,
                                             "y": 440,
                                             "wires": [
                                                 [
                                                     "442ec00bf718f6f1"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "442ec00bf718f6f1",
                                             "type": "change",
                                             "z": "517cd16e4d7e6ae4",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "vorigerWert",
                                                     "pt": "flow",
                                                     "to": "0",
                                                     "tot": "num"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 480,
                                             "y": 440,
                                             "wires": [
                                                 []
                                             ]
                                         }
                                      ]
                                      

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        schneidy76 @mickym last edited by

                                        @mickym
                                        Habe den ersten Schuss so gelöst:
                                        a15dc5a7-f04d-4ce9-9b19-c1da9c1639c5-image.png


                                        [
                                        {
                                        "id": "00519bd9e9975550",
                                        "type": "inject",
                                        "z": "79c2861ec6e321b9",
                                        "name": "alle 5min",
                                        "props": [
                                        {
                                        "p": "payload"
                                        }
                                        ],
                                        "repeat": "300",
                                        "crontab": "",
                                        "once": true,
                                        "onceDelay": 0.1,
                                        "topic": "",
                                        "payload": "true",
                                        "payloadType": "bool",
                                        "x": 150,
                                        "y": 820,
                                        "wires": [
                                        [
                                        "5bd17fe8b83ef863",
                                        "dea708d0212a15d6"
                                        ]
                                        ]
                                        },
                                        {
                                        "id": "5bd17fe8b83ef863",
                                        "type": "ioBroker get",
                                        "z": "79c2861ec6e321b9",
                                        "name": "1-0:1_8_0__255.value",
                                        "topic": "smartmeter.0.1-0:1_8_0__255.value",
                                        "attrname": "payload",
                                        "payloadType": "value",
                                        "x": 380,
                                        "y": 820,
                                        "wires": [
                                        [
                                        "613ebe1d09cf6cbd",
                                        "8a05b813586187ab"
                                        ]
                                        ]
                                        },
                                        {
                                        "id": "613ebe1d09cf6cbd",
                                        "type": "ioBroker out",
                                        "z": "79c2861ec6e321b9",
                                        "name": "aktVerbrauch",
                                        "topic": "0_userdata.0.Energiemanagement.aktVerbrauch",
                                        "ack": "true",
                                        "autoCreate": "false",
                                        "stateName": "",
                                        "role": "",
                                        "payloadType": "",
                                        "readonly": "",
                                        "stateUnit": "",
                                        "stateMin": "",
                                        "stateMax": "",
                                        "x": 590,
                                        "y": 880,
                                        "wires": []
                                        },
                                        {
                                        "id": "8a05b813586187ab",
                                        "type": "delay",
                                        "z": "79c2861ec6e321b9",
                                        "name": "",
                                        "pauseType": "delay",
                                        "timeout": "10",
                                        "timeoutUnits": "seconds",
                                        "rate": "1",
                                        "nbRateUnits": "1",
                                        "rateUnits": "second",
                                        "randomFirst": "1",
                                        "randomLast": "5",
                                        "randomUnits": "seconds",
                                        "drop": false,
                                        "allowrate": false,
                                        "outputs": 1,
                                        "x": 650,
                                        "y": 820,
                                        "wires": [
                                        [
                                        "c690c5bcb4bb6f3e"
                                        ]
                                        ]
                                        },
                                        {
                                        "id": "c690c5bcb4bb6f3e",
                                        "type": "ioBroker out",
                                        "z": "79c2861ec6e321b9",
                                        "name": "gespVerbrauch",
                                        "topic": "0_userdata.0.Energiemanagement.gespVerbrauch",
                                        "ack": "true",
                                        "autoCreate": "false",
                                        "stateName": "",
                                        "role": "",
                                        "payloadType": "",
                                        "readonly": "",
                                        "stateUnit": "",
                                        "stateMin": "",
                                        "stateMax": "",
                                        "x": 860,
                                        "y": 820,
                                        "wires": []
                                        },
                                        {
                                        "id": "d52ee9ff24d86ea7",
                                        "type": "ioBroker get",
                                        "z": "79c2861ec6e321b9",
                                        "name": "gespVerbrauch",
                                        "topic": "0_userdata.0.Energiemanagement.gespVerbrauch",
                                        "attrname": "payload",
                                        "payloadType": "value",
                                        "errOnInvalidState": "nothing",
                                        "x": 360,
                                        "y": 940,
                                        "wires": [
                                        [
                                        "d61a122c6bb43c72"
                                        ]
                                        ]
                                        },
                                        {
                                        "id": "d61a122c6bb43c72",
                                        "type": "change",
                                        "z": "79c2861ec6e321b9",
                                        "name": "",
                                        "rules": [
                                        {
                                        "t": "move",
                                        "p": "payload",
                                        "pt": "msg",
                                        "to": "gespeichert",
                                        "tot": "msg"
                                        }
                                        ],
                                        "action": "",
                                        "property": "",
                                        "from": "",
                                        "to": "",
                                        "reg": false,
                                        "x": 560,
                                        "y": 940,
                                        "wires": [
                                        [
                                        "28596c3ca84ac5d2"
                                        ]
                                        ]
                                        },
                                        {
                                        "id": "28596c3ca84ac5d2",
                                        "type": "ioBroker get",
                                        "z": "79c2861ec6e321b9",
                                        "name": "aktVerbrauch",
                                        "topic": "0_userdata.0.Energiemanagement.aktVerbrauch",
                                        "attrname": "aktuell",
                                        "payloadType": "value",
                                        "errOnInvalidState": "nothing",
                                        "x": 770,
                                        "y": 940,
                                        "wires": [
                                        [
                                        "997e11b298c357b9"
                                        ]
                                        ]
                                        },
                                        {
                                        "id": "997e11b298c357b9",
                                        "type": "change",
                                        "z": "79c2861ec6e321b9",
                                        "name": "berechne",
                                        "rules": [
                                        {
                                        "t": "set",
                                        "p": "payload",
                                        "pt": "msg",
                                        "to": "(aktuell - gespeichert) * 12000",
                                        "tot": "jsonata"
                                        }
                                        ],
                                        "action": "",
                                        "property": "",
                                        "from": "",
                                        "to": "",
                                        "reg": false,
                                        "x": 960,
                                        "y": 940,
                                        "wires": [
                                        [
                                        "c9e89e065e8115de"
                                        ]
                                        ]
                                        },
                                        {
                                        "id": "c9e89e065e8115de",
                                        "type": "ioBroker out",
                                        "z": "79c2861ec6e321b9",
                                        "name": "errechnBezug",
                                        "topic": "0_userdata.0.Energiemanagement.errechnVerbrauch",
                                        "ack": "true",
                                        "autoCreate": "false",
                                        "stateName": "",
                                        "role": "",
                                        "payloadType": "",
                                        "readonly": "",
                                        "stateUnit": "",
                                        "stateMin": "",
                                        "stateMax": "",
                                        "x": 1120,
                                        "y": 940,
                                        "wires": []
                                        },
                                        {
                                        "id": "dea708d0212a15d6",
                                        "type": "delay",
                                        "z": "79c2861ec6e321b9",
                                        "name": "",
                                        "pauseType": "delay",
                                        "timeout": "5",
                                        "timeoutUnits": "seconds",
                                        "rate": "1",
                                        "nbRateUnits": "1",
                                        "rateUnits": "second",
                                        "randomFirst": "1",
                                        "randomLast": "5",
                                        "randomUnits": "seconds",
                                        "drop": false,
                                        "allowrate": false,
                                        "outputs": 1,
                                        "x": 180,
                                        "y": 940,
                                        "wires": [
                                        [
                                        "d52ee9ff24d86ea7"
                                        ]
                                        ]
                                        }
                                        ]

                                        es sieht erstmal ganz gut aus

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        750
                                        Online

                                        31.7k
                                        Users

                                        79.7k
                                        Topics

                                        1.3m
                                        Posts

                                        node-red
                                        3
                                        18
                                        856
                                        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