Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Smartmeter mit Landis+Gyr E650

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Smartmeter mit Landis+Gyr E650

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
56 Beiträge 8 Kommentatoren 9.5k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Homoran

    @michael-uray sagte in Smartmeter mit Landis+Gyr E650:

    "Protocol mode D (data transmission at 2 400 Bd)"
    Eventuell ist das hier der Auslöser?

    Wo hast du die Info über mode D gefunden?

    in deinem Log stand:
    @michael-uray sagte in Smartmeter mit Landis+Gyr E650:

    D0 Protocol E (2) not fully supported! Let us try it :-) Please contact the developer if you have problems

    apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #35

    @homoran sagte in Smartmeter mit Landis+Gyr E650:

    D0 Protocol E (2) not fully supported! Let us try it Please contact the developer if you have problems

    Ja Protokoll E heisst quasi "die Daten könnten anders aussehen als normalerweise) ... hat aber an sich mit dem Baudrates und so nichts zu tun

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Antwort Letzte Antwort
    0
    • Michael UrayM Offline
      Michael UrayM Offline
      Michael Uray
      schrieb am zuletzt editiert von Michael Uray
      #36

      Ich hatte damals auch noch ein Script für mich geschrieben, welches diverse Werte ausrechnet die in den ausgelesenen Daten nicht vorhanden sind. Bzw. bildet es auch die Werte in leichter verständlichen Objektnamen ab, denn die OBIS Codes sind ja nicht besonders gut zu merken.

      Vielleicht kann es ja jemand brauchen.

      Edit 1:
      DrwPower wird aktuell noch nicht berechnet und DlvPower müsste nur bei negativen Werten übernommen werden.

      const CtFactor = 200    // factor for current transformers
      const VtFactor = 1      // factor for voltage transformers
      const path = '0_userdata.0.EMTR1'
      
      
      // create required objects on startup
      createState(path + '.info.MeterOwnerNumber')
      createState(path + '.info.Firmware')
      createState(path + '.info.Error')
      
      createState(path + '.Voltage', {type: "number", unit: 'V'})
      createState(path + '.VoltageL1', {type: "number", unit: 'V'})
      createState(path + '.VoltageL2', {type: "number", unit: 'V'})
      createState(path + '.VoltageL3', {type: "number", unit: 'V'})
      
      createState(path + '.Current', {type: "number", unit: 'A'})
      createState(path + '.CurrentL1', {type: "number", unit: 'A'})
      createState(path + '.CurrentL2', {type: "number", unit: 'A'})
      createState(path + '.CurrentL3', {type: "number", unit: 'A'})
      
      createState(path + '.Frequency', {type: "number", unit: 'Hz'})
      createState(path + '.cosPhi', {type: "number"})
      createState(path + '.sinPhi', {type: "number"})
      
      // DLV = delivery to grid
      createState(path + '.DLV1.Power', {type: "number", unit: 'kW'})
      createState(path + '.DLV1.Energy', {type: "number", unit: 'kWh'})
      createState(path + '.DLV1.ReactiveEnergy', {type: "number", unit: 'kVarh'})
      createState(path + '.DLV1.ReactivePower', {type: "number", unit: 'kVar'})
      
      // DRW = draw from grid
      createState(path + '.DRW1.Power', {type: "number", unit: 'kW'})
      createState(path + '.DRW1.Energy', {type: "number", unit: 'kWh'})
      createState(path + '.DRW1.ReactiveEnergy', {type: "number", unit: 'kVarh'})
      createState(path + '.DRW1.ReactivePower', {type: "number", unit: 'kVar'})
      
      var MeterOwnerNumber
      var Firmware
      var Error 
      
      var CurrentTime
      var CurrentDate
      var Frequency
      
      var CurrentL1 // = 3.43 A
      var CurrentL2 // = 3.35 A
      var CurrentL3 // = 3.36 A
      var CurrentN  // = 0.04 A
      var Current // = calulated
      
      var VoltageL1 // = 241.1 V
      var VoltageL2 // = 241.1 V
      var VoltageL3 // = 241.1 V
      var Voltage // = calulated
      
      var Angle_U_L1_to_U_L1 // = 0*Deg
      var Angle_U_L2_to_U_L1 // = 120*Deg
      var Angle_U_L3_to_U_L1 // = 240*Deg
      var Angle_I_L1_to_U_L1 // = 200*Deg
      var Angle_I_L2_to_U_L1 // = 321*Deg
      var Angle_I_L2_to_U_L2 // = calulated
      var Angle_I_L3_to_U_L1 // = 80*Deg
      var Angle_I_L3_to_U_L3 // = calulated
      var Angle
      var CosPhi // = calulated
      var SinPhi // = calulated
      
      var DlvEnergy = 0.0
      var DlvReactiveEnergy = 0.0
      var DlvPower = 0.0
      var DlvReactivePower = 0.0
      
      var DrwEnergy = 0.0
      var DrwReactiveEnergy = 0.0
      var DrwPower = 0.0
      var DrwReactivePower = 0.0
      
      on({ id: 'smartmeter.0.1-0:2_8_0.value', change: 'any' }, function (data) {
          // wait 1000 ms when this datapoint changed to make sure all datapoints got updated
          setTimeout(() => {
      
              MeterOwnerNumber = getState('smartmeter.0.1-0:0_0_0.value').val;
              Firmware = getState('smartmeter.0.1-0:0_2_0.value').val;
              Error = getState('smartmeter.0.1-0:97_97.value').val;
      
              DrwEnergy = getState('smartmeter.0.1-0:1_8_0.value').val;
              DrwReactiveEnergy = getState('smartmeter.0.1-0:3_8_0.value').val;
      
              DlvEnergy = getState('smartmeter.0.1-0:2_8_0.value').val;
              DlvReactiveEnergy = getState('smartmeter.0.1-0:4_8_0.value').val;
      
              CurrentL1 = getState('smartmeter.0.1-0:31_7.value').val * CtFactor;
              CurrentL2 = getState('smartmeter.0.1-0:51_7.value').val * CtFactor;
              CurrentL3 = getState('smartmeter.0.1-0:71_7.value').val * CtFactor;
              CurrentN = getState('smartmeter.0.1-0:91_7.value').val * CtFactor;
      
              VoltageL1 = getState('smartmeter.0.1-0:32_7.value').val * VtFactor;
              VoltageL2 = getState('smartmeter.0.1-0:52_7.value').val * VtFactor;
              VoltageL3 = getState('smartmeter.0.1-0:72_7.value').val * VtFactor;
      
              Frequency = getState('smartmeter.0.1-0:14_7.value').val * VtFactor;
      
              Angle_U_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_0.value').val;
              Angle_U_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_1.value').val;
              Angle_U_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_2.value').val;
              Angle_I_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_4.value').val;
              Angle_I_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_5.value').val;
              Angle_I_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_6.value').val;
      
              Current = (CurrentL1 + CurrentL2 + CurrentL3) / 3;
              Voltage = ((VoltageL1 + VoltageL2 + VoltageL3) / 3) * Math.sqrt(3);
      
              Angle_I_L2_to_U_L2 = Angle_I_L2_to_U_L1 - 120;
              Angle_I_L3_to_U_L3 = Angle_I_L3_to_U_L1 + 120;
              Angle = (((Angle_I_L1_to_U_L1 + Angle_I_L2_to_U_L2 + Angle_I_L3_to_U_L3) / 3) - 180);
      
              CosPhi = Math.cos(Angle * (Math.PI / 180));
              SinPhi = Math.sin(Angle * (Math.PI / 180));
      
              DlvPower = Voltage * Current * CosPhi * Math.sqrt(3) / 1000;
              DlvReactivePower = Voltage * Current * SinPhi * Math.sqrt(3) / 1000;
      
              setState(path + '.info.MeterOwnerNumber', MeterOwnerNumber)
              setState(path + '.info.Firmware', Firmware)
              setState(path + '.info.Error', Error)
      
              setState(path + '.Current', Math.round(Current*10)/10);
              setState(path + '.CurrentL1', CurrentL1);
              setState(path + '.CurrentL2', CurrentL2);
              setState(path + '.CurrentL3', CurrentL3);
      
              setState(path + '.Voltage', Math.round(Voltage*100)/100);
              setState(path + '.VoltageL1', VoltageL1);
              setState(path + '.VoltageL2', VoltageL2);
              setState(path + '.VoltageL3', VoltageL3);
      
              setState(path + '.Frequency', Frequency);
              setState(path + '.cosPhi', CosPhi);
              setState(path + '.sinPhi', SinPhi);
      
              setState(path + '.DRW1.Energy', DrwEnergy);
              setState(path + '.DRW1.Power', Math.round(DrwPower*10)/10);
              setState(path + '.DRW1.ReactiveEnergy', DrwReactiveEnergy);
              setState(path + '.DRW1.ReactivePower', Math.round(DrwReactivePower*10)/10);
      
              setState(path + '.DLV1.Energy', DlvEnergy);
              setState(path + '.DLV1.Power', Math.round (DlvPower * 10)/10);
              setState(path + '.DLV1.ReactiveEnergy', DlvReactiveEnergy);
              setState(path + '.DLV1.ReactivePower', Math.round(DlvReactivePower*10)/10);
      
          }, 1000);
      });
      

      Das sieht dann im Ergebnis so aus:
      2022-12-11_11-27-40_objects_-stocking–_Mozilla_Firefox.png

      Das hier waren meine finalen Einstellungen mit welchen es dann schlussendlich funktioniert hat.
      2022-12-11_11-45-37_instances_-stocking–_Mozilla_Firefox.png

      robert.keR 1 Antwort Letzte Antwort
      2
      • Michael UrayM Michael Uray

        Ich hatte damals auch noch ein Script für mich geschrieben, welches diverse Werte ausrechnet die in den ausgelesenen Daten nicht vorhanden sind. Bzw. bildet es auch die Werte in leichter verständlichen Objektnamen ab, denn die OBIS Codes sind ja nicht besonders gut zu merken.

        Vielleicht kann es ja jemand brauchen.

        Edit 1:
        DrwPower wird aktuell noch nicht berechnet und DlvPower müsste nur bei negativen Werten übernommen werden.

        const CtFactor = 200    // factor for current transformers
        const VtFactor = 1      // factor for voltage transformers
        const path = '0_userdata.0.EMTR1'
        
        
        // create required objects on startup
        createState(path + '.info.MeterOwnerNumber')
        createState(path + '.info.Firmware')
        createState(path + '.info.Error')
        
        createState(path + '.Voltage', {type: "number", unit: 'V'})
        createState(path + '.VoltageL1', {type: "number", unit: 'V'})
        createState(path + '.VoltageL2', {type: "number", unit: 'V'})
        createState(path + '.VoltageL3', {type: "number", unit: 'V'})
        
        createState(path + '.Current', {type: "number", unit: 'A'})
        createState(path + '.CurrentL1', {type: "number", unit: 'A'})
        createState(path + '.CurrentL2', {type: "number", unit: 'A'})
        createState(path + '.CurrentL3', {type: "number", unit: 'A'})
        
        createState(path + '.Frequency', {type: "number", unit: 'Hz'})
        createState(path + '.cosPhi', {type: "number"})
        createState(path + '.sinPhi', {type: "number"})
        
        // DLV = delivery to grid
        createState(path + '.DLV1.Power', {type: "number", unit: 'kW'})
        createState(path + '.DLV1.Energy', {type: "number", unit: 'kWh'})
        createState(path + '.DLV1.ReactiveEnergy', {type: "number", unit: 'kVarh'})
        createState(path + '.DLV1.ReactivePower', {type: "number", unit: 'kVar'})
        
        // DRW = draw from grid
        createState(path + '.DRW1.Power', {type: "number", unit: 'kW'})
        createState(path + '.DRW1.Energy', {type: "number", unit: 'kWh'})
        createState(path + '.DRW1.ReactiveEnergy', {type: "number", unit: 'kVarh'})
        createState(path + '.DRW1.ReactivePower', {type: "number", unit: 'kVar'})
        
        var MeterOwnerNumber
        var Firmware
        var Error 
        
        var CurrentTime
        var CurrentDate
        var Frequency
        
        var CurrentL1 // = 3.43 A
        var CurrentL2 // = 3.35 A
        var CurrentL3 // = 3.36 A
        var CurrentN  // = 0.04 A
        var Current // = calulated
        
        var VoltageL1 // = 241.1 V
        var VoltageL2 // = 241.1 V
        var VoltageL3 // = 241.1 V
        var Voltage // = calulated
        
        var Angle_U_L1_to_U_L1 // = 0*Deg
        var Angle_U_L2_to_U_L1 // = 120*Deg
        var Angle_U_L3_to_U_L1 // = 240*Deg
        var Angle_I_L1_to_U_L1 // = 200*Deg
        var Angle_I_L2_to_U_L1 // = 321*Deg
        var Angle_I_L2_to_U_L2 // = calulated
        var Angle_I_L3_to_U_L1 // = 80*Deg
        var Angle_I_L3_to_U_L3 // = calulated
        var Angle
        var CosPhi // = calulated
        var SinPhi // = calulated
        
        var DlvEnergy = 0.0
        var DlvReactiveEnergy = 0.0
        var DlvPower = 0.0
        var DlvReactivePower = 0.0
        
        var DrwEnergy = 0.0
        var DrwReactiveEnergy = 0.0
        var DrwPower = 0.0
        var DrwReactivePower = 0.0
        
        on({ id: 'smartmeter.0.1-0:2_8_0.value', change: 'any' }, function (data) {
            // wait 1000 ms when this datapoint changed to make sure all datapoints got updated
            setTimeout(() => {
        
                MeterOwnerNumber = getState('smartmeter.0.1-0:0_0_0.value').val;
                Firmware = getState('smartmeter.0.1-0:0_2_0.value').val;
                Error = getState('smartmeter.0.1-0:97_97.value').val;
        
                DrwEnergy = getState('smartmeter.0.1-0:1_8_0.value').val;
                DrwReactiveEnergy = getState('smartmeter.0.1-0:3_8_0.value').val;
        
                DlvEnergy = getState('smartmeter.0.1-0:2_8_0.value').val;
                DlvReactiveEnergy = getState('smartmeter.0.1-0:4_8_0.value').val;
        
                CurrentL1 = getState('smartmeter.0.1-0:31_7.value').val * CtFactor;
                CurrentL2 = getState('smartmeter.0.1-0:51_7.value').val * CtFactor;
                CurrentL3 = getState('smartmeter.0.1-0:71_7.value').val * CtFactor;
                CurrentN = getState('smartmeter.0.1-0:91_7.value').val * CtFactor;
        
                VoltageL1 = getState('smartmeter.0.1-0:32_7.value').val * VtFactor;
                VoltageL2 = getState('smartmeter.0.1-0:52_7.value').val * VtFactor;
                VoltageL3 = getState('smartmeter.0.1-0:72_7.value').val * VtFactor;
        
                Frequency = getState('smartmeter.0.1-0:14_7.value').val * VtFactor;
        
                Angle_U_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_0.value').val;
                Angle_U_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_1.value').val;
                Angle_U_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_2.value').val;
                Angle_I_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_4.value').val;
                Angle_I_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_5.value').val;
                Angle_I_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_6.value').val;
        
                Current = (CurrentL1 + CurrentL2 + CurrentL3) / 3;
                Voltage = ((VoltageL1 + VoltageL2 + VoltageL3) / 3) * Math.sqrt(3);
        
                Angle_I_L2_to_U_L2 = Angle_I_L2_to_U_L1 - 120;
                Angle_I_L3_to_U_L3 = Angle_I_L3_to_U_L1 + 120;
                Angle = (((Angle_I_L1_to_U_L1 + Angle_I_L2_to_U_L2 + Angle_I_L3_to_U_L3) / 3) - 180);
        
                CosPhi = Math.cos(Angle * (Math.PI / 180));
                SinPhi = Math.sin(Angle * (Math.PI / 180));
        
                DlvPower = Voltage * Current * CosPhi * Math.sqrt(3) / 1000;
                DlvReactivePower = Voltage * Current * SinPhi * Math.sqrt(3) / 1000;
        
                setState(path + '.info.MeterOwnerNumber', MeterOwnerNumber)
                setState(path + '.info.Firmware', Firmware)
                setState(path + '.info.Error', Error)
        
                setState(path + '.Current', Math.round(Current*10)/10);
                setState(path + '.CurrentL1', CurrentL1);
                setState(path + '.CurrentL2', CurrentL2);
                setState(path + '.CurrentL3', CurrentL3);
        
                setState(path + '.Voltage', Math.round(Voltage*100)/100);
                setState(path + '.VoltageL1', VoltageL1);
                setState(path + '.VoltageL2', VoltageL2);
                setState(path + '.VoltageL3', VoltageL3);
        
                setState(path + '.Frequency', Frequency);
                setState(path + '.cosPhi', CosPhi);
                setState(path + '.sinPhi', SinPhi);
        
                setState(path + '.DRW1.Energy', DrwEnergy);
                setState(path + '.DRW1.Power', Math.round(DrwPower*10)/10);
                setState(path + '.DRW1.ReactiveEnergy', DrwReactiveEnergy);
                setState(path + '.DRW1.ReactivePower', Math.round(DrwReactivePower*10)/10);
        
                setState(path + '.DLV1.Energy', DlvEnergy);
                setState(path + '.DLV1.Power', Math.round (DlvPower * 10)/10);
                setState(path + '.DLV1.ReactiveEnergy', DlvReactiveEnergy);
                setState(path + '.DLV1.ReactivePower', Math.round(DlvReactivePower*10)/10);
        
            }, 1000);
        });
        

        Das sieht dann im Ergebnis so aus:
        2022-12-11_11-27-40_objects_-stocking–_Mozilla_Firefox.png

        Das hier waren meine finalen Einstellungen mit welchen es dann schlussendlich funktioniert hat.
        2022-12-11_11-45-37_instances_-stocking–_Mozilla_Firefox.png

        robert.keR Offline
        robert.keR Offline
        robert.ke
        schrieb am zuletzt editiert von robert.ke
        #37

        Hallo zusammen,

        ich habe auch einen Landis+Gyr E650 Zähler und habe auch den Adapter mit den Settings von euch auf "grün". Seitdem erhalte ich eine ganze Menge an Objekten:

        Objekte.png
        ... die Liste ist noch länger.

        Adapter bleibt grün - leider fehlt oder finde ich die relevanten Objekte bzgl. der Momentanleistung in Watt/kWh nicht.
        Auch das Script von @Michael-Uray hat keine wirkliche Hilfe gebracht:

        Objekte_Script.png

        ein paar Werte sind also da, aber auch hier die relevanten nicht.

        Hat jemand eine Idee, was ich beim Zähler-Auslesen übersehen habe?

        Michael UrayM 1 Antwort Letzte Antwort
        0
        • robert.keR robert.ke

          Hallo zusammen,

          ich habe auch einen Landis+Gyr E650 Zähler und habe auch den Adapter mit den Settings von euch auf "grün". Seitdem erhalte ich eine ganze Menge an Objekten:

          Objekte.png
          ... die Liste ist noch länger.

          Adapter bleibt grün - leider fehlt oder finde ich die relevanten Objekte bzgl. der Momentanleistung in Watt/kWh nicht.
          Auch das Script von @Michael-Uray hat keine wirkliche Hilfe gebracht:

          Objekte_Script.png

          ein paar Werte sind also da, aber auch hier die relevanten nicht.

          Hat jemand eine Idee, was ich beim Zähler-Auslesen übersehen habe?

          Michael UrayM Offline
          Michael UrayM Offline
          Michael Uray
          schrieb am zuletzt editiert von Michael Uray
          #38

          @robert-ke

          Ich sehe gerade, dass es hier in dem Script noch einen Fehler gibt, denn DlvPower wird zwar berechnet, DrwPower aber nicht. Dennoch müsste in DlvPower ein Wert stehen, welchen ich bei dir aber nicht sehe.

          Die Leistung selbst wird vom Zähler nicht geliefert, deswegen hatte ich sie damals aus Spannung, Strom und Leistungsfaktor berechnet.

          Was liefert dir denn der Zähler bei folgenden Werten?

              CurrentL1 = getState('smartmeter.0.1-0:31_7.value').val * CtFactor;
              CurrentL2 = getState('smartmeter.0.1-0:51_7.value').val * CtFactor;
              CurrentL3 = getState('smartmeter.0.1-0:71_7.value').val * CtFactor;
          
              VoltageL1 = getState('smartmeter.0.1-0:32_7.value').val * VtFactor;
              VoltageL2 = getState('smartmeter.0.1-0:52_7.value').val * VtFactor;
              VoltageL3 = getState('smartmeter.0.1-0:72_7.value').val * VtFactor;
          
              Angle_I_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_4.value').val;
              Angle_I_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_5.value').val;
              Angle_I_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_6.value').val;
          

          CtFactor und VtFactor ist bei dir auf 1 zu setzen, falls du keine Strom- oder Spannungswandler haben solltest, was nur bei sehr großen Leistungen üblich ist.

          robert.keR 1 Antwort Letzte Antwort
          0
          • Michael UrayM Michael Uray

            @robert-ke

            Ich sehe gerade, dass es hier in dem Script noch einen Fehler gibt, denn DlvPower wird zwar berechnet, DrwPower aber nicht. Dennoch müsste in DlvPower ein Wert stehen, welchen ich bei dir aber nicht sehe.

            Die Leistung selbst wird vom Zähler nicht geliefert, deswegen hatte ich sie damals aus Spannung, Strom und Leistungsfaktor berechnet.

            Was liefert dir denn der Zähler bei folgenden Werten?

                CurrentL1 = getState('smartmeter.0.1-0:31_7.value').val * CtFactor;
                CurrentL2 = getState('smartmeter.0.1-0:51_7.value').val * CtFactor;
                CurrentL3 = getState('smartmeter.0.1-0:71_7.value').val * CtFactor;
            
                VoltageL1 = getState('smartmeter.0.1-0:32_7.value').val * VtFactor;
                VoltageL2 = getState('smartmeter.0.1-0:52_7.value').val * VtFactor;
                VoltageL3 = getState('smartmeter.0.1-0:72_7.value').val * VtFactor;
            
                Angle_I_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_4.value').val;
                Angle_I_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_5.value').val;
                Angle_I_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_6.value').val;
            

            CtFactor und VtFactor ist bei dir auf 1 zu setzen, falls du keine Strom- oder Spannungswandler haben solltest, was nur bei sehr großen Leistungen üblich ist.

            robert.keR Offline
            robert.keR Offline
            robert.ke
            schrieb am zuletzt editiert von
            #39

            @michael-uray

            das ist wohl mein Problem: Alle von dir genannten 9 Objekte sind nicht vorhanden, sagt auch die Objekt-Suche:
            bbd8190c-111c-4fd8-a987-f4c35c52b9b1-image.png

            Deswegen kann die Berechnung deines Skripts auch nicht stattfinden.

            Ich vermute, da passt beim auslesen des Zählers was nicht.
            Den Faktor für die Stromwandler brauche ich, wir haben Wandler mit Verhältnis 50 im Einsatz ;-)

            1 Antwort Letzte Antwort
            0
            • Michael UrayM Offline
              Michael UrayM Offline
              Michael Uray
              schrieb am zuletzt editiert von
              #40

              @robert-ke

              Was bringt denn eine Suche nach "_7" für Objekte?

              Kannst du vielleicht andere Objekte ausmachen, welche Strom, Spannung und Phasenwinkel vom Zähler beinhalten?

              robert.keR Michael UrayM 2 Antworten Letzte Antwort
              0
              • Michael UrayM Michael Uray

                @robert-ke

                Was bringt denn eine Suche nach "_7" für Objekte?

                Kannst du vielleicht andere Objekte ausmachen, welche Strom, Spannung und Phasenwinkel vom Zähler beinhalten?

                robert.keR Offline
                robert.keR Offline
                robert.ke
                schrieb am zuletzt editiert von
                #41

                @michael-uray

                genau ein Objekt:
                77091eec-9cb2-4f41-8357-d0e175b15bb3-image.png

                Hier eine komplette Übersicht der Objekte:
                6d4098cc-d830-495d-848d-88318091c058-image.png
                9b599b9e-62aa-4864-9974-b46189998951-image.png
                02f27d3e-28ca-47a8-9cf3-a10bc8ec49da-image.png
                b04d9e0d-6efc-4c00-8cc7-1c7e2bf58312-image.png
                b3b8b559-ea0e-4ada-a965-519bdd374cc2-image.png
                ac2da9a2-531e-47d1-84e3-e7441f562000-image.png
                0964e761-c4bf-49a6-87c1-4dca49e0a7a4-image.png

                Ganz viel Zählerstände, Maximus aber irgendwie nichts brauchbares. Vielen Dank für die Mithilfe!

                1 Antwort Letzte Antwort
                0
                • Michael UrayM Michael Uray

                  @robert-ke

                  Was bringt denn eine Suche nach "_7" für Objekte?

                  Kannst du vielleicht andere Objekte ausmachen, welche Strom, Spannung und Phasenwinkel vom Zähler beinhalten?

                  Michael UrayM Offline
                  Michael UrayM Offline
                  Michael Uray
                  schrieb am zuletzt editiert von
                  #42

                  @robert-ke
                  Was liefert dein Zähler denn eigentlich an Daten zurück, wenn du dich mit einem seriellen Terminal (Baudrate 300, 7 Daten-Bits, 1 Stop-Bit, Parität: gerade/even) auf ihn verbindest und "/?!" an ihn schickst?

                  robert.keR 1 Antwort Letzte Antwort
                  0
                  • Michael UrayM Michael Uray

                    @robert-ke
                    Was liefert dein Zähler denn eigentlich an Daten zurück, wenn du dich mit einem seriellen Terminal (Baudrate 300, 7 Daten-Bits, 1 Stop-Bit, Parität: gerade/even) auf ihn verbindest und "/?!" an ihn schickst?

                    robert.keR Offline
                    robert.keR Offline
                    robert.ke
                    schrieb am zuletzt editiert von
                    #43

                    @michael-uray

                    Da bin ich jetzt nicht so fit - aber ich habs auf die schnelle probiert:
                    bf6a02fd-c84f-4b8a-9e0f-590e4605e5ab-image.png
                    ca6991ae-2aba-46b1-aae8-3fc816ab0f0d-image.png

                    Der Lesekopf steckt aktuell noch an einem Raspberry PI dran - um zu prüfen ob wir mit dem Zähler überhaupt zum Ziel kommen.

                    Die Verbindung müsste schon stimmen, aber er zeigt nach dem Connected nichts weiter an und eingaben sind auch keine Möglich.

                    Michael UrayM 2 Antworten Letzte Antwort
                    0
                    • robert.keR robert.ke

                      @michael-uray

                      Da bin ich jetzt nicht so fit - aber ich habs auf die schnelle probiert:
                      bf6a02fd-c84f-4b8a-9e0f-590e4605e5ab-image.png
                      ca6991ae-2aba-46b1-aae8-3fc816ab0f0d-image.png

                      Der Lesekopf steckt aktuell noch an einem Raspberry PI dran - um zu prüfen ob wir mit dem Zähler überhaupt zum Ziel kommen.

                      Die Verbindung müsste schon stimmen, aber er zeigt nach dem Connected nichts weiter an und eingaben sind auch keine Möglich.

                      Michael UrayM Offline
                      Michael UrayM Offline
                      Michael Uray
                      schrieb am zuletzt editiert von Michael Uray
                      #44

                      @robert-ke

                      Gib dann einmal "/?!" (ohne ") ein und drücke die Eingabetaste. Es wird dir nicht angezeigt was du eingibst, das ist normal, aber es sollte danach eine Antwort vom Zähler kommen.

                      (der SmartMeter Adapter muss gestoppt sein, da sonst die serielle Schnittstelle blockiert wird)

                      1 Antwort Letzte Antwort
                      0
                      • robert.keR robert.ke

                        @michael-uray

                        Da bin ich jetzt nicht so fit - aber ich habs auf die schnelle probiert:
                        bf6a02fd-c84f-4b8a-9e0f-590e4605e5ab-image.png
                        ca6991ae-2aba-46b1-aae8-3fc816ab0f0d-image.png

                        Der Lesekopf steckt aktuell noch an einem Raspberry PI dran - um zu prüfen ob wir mit dem Zähler überhaupt zum Ziel kommen.

                        Die Verbindung müsste schon stimmen, aber er zeigt nach dem Connected nichts weiter an und eingaben sind auch keine Möglich.

                        Michael UrayM Offline
                        Michael UrayM Offline
                        Michael Uray
                        schrieb am zuletzt editiert von Michael Uray
                        #45

                        @robert-ke sagte in Smartmeter mit Landis+Gyr E650:

                        um zu prüfen ob wir mit dem Zähler überhaupt zum Ziel kommen

                        Was ist denn eigentlich das Ziel? Was willst du denn mit dem aktuellen Leistungswert machen?
                        Benötigst du diesen nur für eine Aufzeichnung und kann er auch langsamer übermittelt werden, oder benötigst du ihn für eine Netzleistungsregelung und er muss recht schnell aktualisiert werden?

                        robert.keR 1 Antwort Letzte Antwort
                        0
                        • Michael UrayM Michael Uray

                          @robert-ke sagte in Smartmeter mit Landis+Gyr E650:

                          um zu prüfen ob wir mit dem Zähler überhaupt zum Ziel kommen

                          Was ist denn eigentlich das Ziel? Was willst du denn mit dem aktuellen Leistungswert machen?
                          Benötigst du diesen nur für eine Aufzeichnung und kann er auch langsamer übermittelt werden, oder benötigst du ihn für eine Netzleistungsregelung und er muss recht schnell aktualisiert werden?

                          robert.keR Offline
                          robert.keR Offline
                          robert.ke
                          schrieb am zuletzt editiert von
                          #46

                          @michael-uray

                          Die Eingaben hab ich schon versucht - kommt leider nichts. Der Smartmeter Adapter ist natürlich aus, sonst krieg ich keinen Connect. Alternativ kann ich den Adapter laufen lassen und via Screen zuschauen - aber das ist auch nicht zielführend.

                          Das Ziel: Ja, Netzleistungsregelung. Somit wäre schon gut, wenn die Daten halbwegs rasch ankommen würden - wobei ich mit 1-3 Minuten leben kann. Wir schalten Final BHKW's ein oder aus und div. Verbraucher (E-Heizstäbe und div. andere Verbraucher)

                          Die S0 Ausgänge würde der Energieversorger per Optokoppler rauslegen. Einen für Bezug und einen für Einspeisung. Aber Impulse zählen ist irgendwie oldschool.... daher der bis dato vergebliche Versuch direkt vom Zähler Werte zu bekommen mit denen man arbeiten kann.

                          Michael UrayM 1 Antwort Letzte Antwort
                          0
                          • robert.keR robert.ke

                            @michael-uray

                            Die Eingaben hab ich schon versucht - kommt leider nichts. Der Smartmeter Adapter ist natürlich aus, sonst krieg ich keinen Connect. Alternativ kann ich den Adapter laufen lassen und via Screen zuschauen - aber das ist auch nicht zielführend.

                            Das Ziel: Ja, Netzleistungsregelung. Somit wäre schon gut, wenn die Daten halbwegs rasch ankommen würden - wobei ich mit 1-3 Minuten leben kann. Wir schalten Final BHKW's ein oder aus und div. Verbraucher (E-Heizstäbe und div. andere Verbraucher)

                            Die S0 Ausgänge würde der Energieversorger per Optokoppler rauslegen. Einen für Bezug und einen für Einspeisung. Aber Impulse zählen ist irgendwie oldschool.... daher der bis dato vergebliche Versuch direkt vom Zähler Werte zu bekommen mit denen man arbeiten kann.

                            Michael UrayM Offline
                            Michael UrayM Offline
                            Michael Uray
                            schrieb am zuletzt editiert von
                            #47

                            @robert-ke

                            Ist dein Keyboard im Terminal eventuell auf EN eingestellt?
                            Kannst du /?! ohne Probleme im Terminal auf der Kommandozeile eingeben, oder kommen da andere Zeichen?

                            robert.keR 1 Antwort Letzte Antwort
                            0
                            • Michael UrayM Michael Uray

                              @robert-ke

                              Ist dein Keyboard im Terminal eventuell auf EN eingestellt?
                              Kannst du /?! ohne Probleme im Terminal auf der Kommandozeile eingeben, oder kommen da andere Zeichen?

                              robert.keR Offline
                              robert.keR Offline
                              robert.ke
                              schrieb am zuletzt editiert von
                              #48

                              @michael-uray

                              ja klar, alles ganz normal auf Deutsch:

                              9c83914c-ed6e-4cf1-8a79-34e629d7dac7-image.png

                              Michael UrayM 1 Antwort Letzte Antwort
                              0
                              • robert.keR robert.ke

                                @michael-uray

                                ja klar, alles ganz normal auf Deutsch:

                                9c83914c-ed6e-4cf1-8a79-34e629d7dac7-image.png

                                Michael UrayM Offline
                                Michael UrayM Offline
                                Michael Uray
                                schrieb am zuletzt editiert von
                                #49

                                @robert-ke
                                Hier fehlen jetzt aber die tio Angaben zu Daten- und Stopbits sowie zur Parität.

                                robert.keR 1 Antwort Letzte Antwort
                                0
                                • Michael UrayM Michael Uray

                                  @robert-ke
                                  Hier fehlen jetzt aber die tio Angaben zu Daten- und Stopbits sowie zur Parität.

                                  robert.keR Offline
                                  robert.keR Offline
                                  robert.ke
                                  schrieb am zuletzt editiert von
                                  #50

                                  @michael-uray

                                  ja klar, ich habe nur schon alles Mögliche durchprobiert - jetzt wieder mit den Angaben, ist aber immer das gleiche:

                                  faa1be02-9be1-4d83-ad96-5cdf64944c48-image.png

                                  Ich kann hinschicken was ich will, es tut sich nichts! - Wobei die Schnittstelle sicher passt, lasse ich den Smartmeter Adapter laufen kommt:

                                  a017918b-fcbc-4e14-8c97-b72953226e00-image.png

                                  Michael UrayM 1 Antwort Letzte Antwort
                                  0
                                  • robert.keR robert.ke

                                    @michael-uray

                                    ja klar, ich habe nur schon alles Mögliche durchprobiert - jetzt wieder mit den Angaben, ist aber immer das gleiche:

                                    faa1be02-9be1-4d83-ad96-5cdf64944c48-image.png

                                    Ich kann hinschicken was ich will, es tut sich nichts! - Wobei die Schnittstelle sicher passt, lasse ich den Smartmeter Adapter laufen kommt:

                                    a017918b-fcbc-4e14-8c97-b72953226e00-image.png

                                    Michael UrayM Offline
                                    Michael UrayM Offline
                                    Michael Uray
                                    schrieb am zuletzt editiert von
                                    #51

                                    @robert-ke
                                    Seltsam, was sagt denn der Log welche Schnittstellen-Daten verwendet werden, wenn man den Adapter im Debug Mode betreibt?

                                    Michael UrayM 1 Antwort Letzte Antwort
                                    0
                                    • Michael UrayM Michael Uray

                                      @robert-ke
                                      Seltsam, was sagt denn der Log welche Schnittstellen-Daten verwendet werden, wenn man den Adapter im Debug Mode betreibt?

                                      Michael UrayM Offline
                                      Michael UrayM Offline
                                      Michael Uray
                                      schrieb am zuletzt editiert von
                                      #52

                                      Das Ziel: Ja, Netzleistungsregelung. Somit wäre schon gut, wenn die Daten halbwegs rasch ankommen würden - wobei ich mit 1-3 Minuten leben kann. Wir schalten Final BHKW's ein oder aus und div. Verbraucher (E-Heizstäbe und div. andere Verbraucher)

                                      Regelst du die Leistung dann eigentlich direkt mit dem ioBroker, oder wird der Wert an eine andere Steuerung weitergereicht welche die Regelung macht?

                                      robert.keR 1 Antwort Letzte Antwort
                                      0
                                      • Michael UrayM Michael Uray

                                        Das Ziel: Ja, Netzleistungsregelung. Somit wäre schon gut, wenn die Daten halbwegs rasch ankommen würden - wobei ich mit 1-3 Minuten leben kann. Wir schalten Final BHKW's ein oder aus und div. Verbraucher (E-Heizstäbe und div. andere Verbraucher)

                                        Regelst du die Leistung dann eigentlich direkt mit dem ioBroker, oder wird der Wert an eine andere Steuerung weitergereicht welche die Regelung macht?

                                        robert.keR Offline
                                        robert.keR Offline
                                        robert.ke
                                        schrieb am zuletzt editiert von
                                        #53

                                        @michael-uray

                                        sieht schon so aus wie es sollte:

                                        588c625d-f62d-4022-a908-e9548d589732-image.png

                                        und nach etwas Zeit füllen sich die ganzen Werte:
                                        78072b66-fe89-439e-bea8-586bcd50a248-image.png

                                        Die Regelung übernimmt dann eine SPS - das ganze ist etwas komplexer mit mehreren Hallen/Gebäuden - zig PV Anlagen - im letzten Jahr wurde dann alles vom Energieversorger auf einen neuen Zählerschrank verlegt - gebaggert, wie auch immer - und jetzt haben wir einen Hauptmesspunkt - der natürlich notwendig ist, um zu entscheiden wie es weitergeht im Prozess! Ich habe gute Lust und lasse einen anderen Zähler nachträglich einbauen - weil mich der Landis+Gyr so ärgert :-(

                                        Michael UrayM 1 Antwort Letzte Antwort
                                        0
                                        • robert.keR robert.ke

                                          @michael-uray

                                          sieht schon so aus wie es sollte:

                                          588c625d-f62d-4022-a908-e9548d589732-image.png

                                          und nach etwas Zeit füllen sich die ganzen Werte:
                                          78072b66-fe89-439e-bea8-586bcd50a248-image.png

                                          Die Regelung übernimmt dann eine SPS - das ganze ist etwas komplexer mit mehreren Hallen/Gebäuden - zig PV Anlagen - im letzten Jahr wurde dann alles vom Energieversorger auf einen neuen Zählerschrank verlegt - gebaggert, wie auch immer - und jetzt haben wir einen Hauptmesspunkt - der natürlich notwendig ist, um zu entscheiden wie es weitergeht im Prozess! Ich habe gute Lust und lasse einen anderen Zähler nachträglich einbauen - weil mich der Landis+Gyr so ärgert :-(

                                          Michael UrayM Offline
                                          Michael UrayM Offline
                                          Michael Uray
                                          schrieb am zuletzt editiert von Michael Uray
                                          #54

                                          @robert-ke

                                          Warum der Zähler über deine Eingaben am Terminal nicht antwortet verstehe ich eigentlich nicht, hier könntest du evtl. noch ein anderes Terminal ausprobieren, es sieht für mich aber auch in Log Daten so aus, als ob die Werte für Strom und Spannung usw. vom Zähler einfach nicht übertragen werden.
                                          Solche Logs hier am besten als Text und nicht als Screenshot posten, dann wird nichts abgeschnitten und man kann auch im Text suchen bzw. diesen ggf. weiterverarbeiten.

                                          Ein anderer Ansatz wäre es auch noch, wenn man aus zwei Auslesungen der kWh Werte eine Differenz bildet und über die Zeitmessung zwischen den Auslesungen dann auf die Leistung zurück rechnet. Wenn dir 2-3 Minuten Aktualisierungen reichen, dann solltest du damit auf brauchbare Werte kommen.

                                          Ich hatte das damals auch gemacht und habe hier noch ein Code-Schnipsel dafür gefunden mit welchem ich getestet hatte.

                                          on({ id: 'smartmeter.0.1-0:1_8_0.value', change: 'any' }, function (data) {
                                              DrwPower = (((data.state.val - data.oldState.val) * (3600000 / ((data.state.ts - data.oldState.ts)))) * 50);
                                              console.log(((data.state.val - data.oldState.val) * (3600000 / ((data.state.ts - data.oldState.ts)))) * 50 + '  Zeit: ' + ((data.state.ts - data.oldState.ts) / 1000));
                                          }
                                          

                                          Hier gilt es noch zu beachten, dass der Zähler eventuell die kWh Register nicht so oft aktualisiert und auch, dass bei der Übertragung Verzögerungen/Unregelmäßigkeiten für die Zeitmessung entstehen. Je unregelmäßiger die Daten daherkommen, desto ungenauer wird dann der berechnete kWh Wert, man kann dem aber entgegenwirken, indem die Berechnung über etwas längere Zeiträume durchgeführt wird (z.B. nur jede 4. Auslesung, also Differenzbildung zwischen erster und vierter Auslesung).
                                          Man müsste auch noch etwas implementieren, dass der Leistungswert auf 0 gesetzt wird, wenn sich der kWh Wert für eine gewisse Zeit (z.B. 1 Minute) nicht mehr ändert, oder der gegengesetze kWh (Bezug/Lieferung) Wert sich ändert.

                                          @robert-ke sagte in Smartmeter mit Landis+Gyr E650:

                                          Die S0 Ausgänge würde der Energieversorger per Optokoppler rauslegen. Einen für Bezug und einen für Einspeisung. Aber Impulse zählen ist irgendwie oldschool.... daher der bis dato vergebliche Versuch direkt vom Zähler Werte zu bekommen mit denen man arbeiten kann.

                                          Bei der S0 Messung müsstest du auch über eine Zeitmessung zwischen zwei (oder mehr) Impulsen die aktuelle Leistung berechnen, das wäre eigentlich nichts anderes.
                                          Damit bekommt man übrigens auch sehr genaue und je nach Impulsverhältnis auch schnelle Werte übermittelt, vorausgesetzt die Eingänge bzw. der Task in der SPS sind schnell genug um eine ensprechende Zeitmessung durchzuführen. Mit solchen S0 Werten habe ich auch schon öfter Netzleistungsregelungen über eine SPS gemacht und auch die 15 Minuten Impulse dazu ausgewertet, damit landet man dann auch ganz genau bei den Werten welche das EVU bei der Abrechnung ausgibt.
                                          Eine direkt Daten-Auslesung des Zählers wäre aber wirklich schöner, da man damit nicht das Problem hat ausgelassene Impulse (SPS Neustart / andere Unterbechungen) nicht zu zählen.

                                          robert.keR 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          519

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe