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. Praktische Anwendungen (Showcase)
  4. Shelly Pro 3EM saldierender Stromzähler in Blockly

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Shelly Pro 3EM saldierender Stromzähler in Blockly

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
30 Beiträge 9 Kommentatoren 6.1k Aufrufe 11 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.
  • S Schreedr

    @paul53 ja danke für die Funktion "letzte Änderung" bezüglich Zeitdifferenz . Wusste ich nicht dass es die so einfach gibt und dachte da muss ich selbst was bauen.
    Aber das Runden würde ich nicht machen, zumindest nicht auf 2 Stellen. Denke die Energie spielt sich innerhalb ca. 5 Sekunden in kWh in der 4-7 Nachkommstelle ab. Oder hab ich das Skript nicht verstand?
    Das mit dem Intervall ist vermutlich etwas ungenauer als ein Zeitplan oder? Aber danke für den Tipp, falls ich das wieder benötige mach ich das über Zeitplan. Zeitplan hab ich eigentlich auch bisher immer genutzt bei Lampen Pumpen usw...
    Alles in allem finde ich deine gepostete Lösung eleganter und werde die in meinen ersten Post etwas verändert einfügen für diejenigen die nach so einem Skript in Verbindung mit dem Shelly Pro 3EM suchen. Wäre das OK für dich?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #4

    @schreedr sagte: Aber das Runden würde ich nicht machen, zumindest nicht auf 2 Stellen

    Die Rundung auf 10 Wh macht durchaus Sinn, denn es entspricht einer monetären Auflösung von ca. 0,3 Cent. Öfter muss sich der Energiewert im Datenpunkt nicht ändern. Während der Berechnung wird nicht gerundet, denn die Datenpunkte werden nur einmal bei Skriptstart eingelesen.

    @schreedr sagte in Shelly Pro 3EM saldierender Stromzähler in Blockly:

    Wäre das OK für dich?

    Ja.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    S 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @schreedr sagte: Aber das Runden würde ich nicht machen, zumindest nicht auf 2 Stellen

      Die Rundung auf 10 Wh macht durchaus Sinn, denn es entspricht einer monetären Auflösung von ca. 0,3 Cent. Öfter muss sich der Energiewert im Datenpunkt nicht ändern. Während der Berechnung wird nicht gerundet, denn die Datenpunkte werden nur einmal bei Skriptstart eingelesen.

      @schreedr sagte in Shelly Pro 3EM saldierender Stromzähler in Blockly:

      Wäre das OK für dich?

      Ja.

      S Offline
      S Offline
      Schreedr
      schrieb am zuletzt editiert von
      #5

      @paul53 sagte:

      Die Rundung auf 10 Wh macht durchaus Sinn, denn es entspricht ein monetären Auflösung von ca. 0,3 Cent. Öfter muss sich der Energiewert im Datenpunkt nicht ändern. Während der Berechnung wird nicht gerundet, denn die Datenpunkte werden nur einmal bei Skriptstart eingelesen.

      Ah, hab das jetzt erst verstanden mit den Variablen und dann in den Datenpunkt schreiben mit den zwei Nachkommastellen, macht Sinn :+1:

      1 Antwort Letzte Antwort
      0
      • S Schreedr

        @paul53 ja danke für die Funktion "letzte Änderung" bezüglich Zeitdifferenz . Wusste ich nicht dass es die so einfach gibt und dachte da muss ich selbst was bauen.
        Aber das Runden würde ich nicht machen, zumindest nicht auf 2 Stellen. Denke die Energie spielt sich innerhalb ca. 5 Sekunden in kWh in der 4-7 Nachkommstelle ab. Oder hab ich das Skript nicht verstand?
        Das mit dem Intervall ist vermutlich etwas ungenauer als ein Zeitplan oder? Aber danke für den Tipp, falls ich das wieder benötige mach ich das über Zeitplan. Zeitplan hab ich eigentlich auch bisher immer genutzt bei Lampen Pumpen usw...
        Alles in allem finde ich deine gepostete Lösung eleganter und werde die in meinen ersten Post etwas verändert einfügen für diejenigen die nach so einem Skript in Verbindung mit dem Shelly Pro 3EM suchen. Wäre das OK für dich?

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #6

        @schreedr sagte: finde ich deine gepostete Lösung eleganter

        Noch eleganter mit nur einer Berechnung:

        Blockly_temp.JPG

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        Frederik BussF BertDerKleineB 2 Antworten Letzte Antwort
        0
        • S Schreedr

          Hallo IoBroker Community,
          nutze schon seit einigen Jahren IoBroker aber habe eben erst festgestellt, dass ich bisher nicht im Forum angemeldet war und nur mitgelesen hab...
          Nun zum Thema auf das ich nichts passendes gefunden habe oder die Suche falsch benutzt hab.
          Es geht darum in IoBroker einen saldierenden Strom- (ich mag das Wort nicht also ->) Energiezähler mit den Zählwerken 1.8.0 (Verbrauch) und 2.8.0 (Einspeisung) zu erstellen. Bekanntlich kann das der Pro 3EM (immer noch) nicht.
          Ich hab das in Blockly gemacht und das Skript war erstmal überraschend kurz aber habe dabei Ungenauigkeiten in kauf genommen.
          Vielen Dank an der Stelle an @paul53 der sich dem Skript angenommen hat und ein Skript erstellt hat, dass mit dem vom Shelly Pro 3EM gelieferten Daten die bestmögliche Genauigkeit als Energie zählt. Das ursprünglich von mir erstellte Skript hab ich durch seines ersetzt.

          Vorgehen:

          • Voraussetzung, MQTT ist im Pro 3EM aktiviert und eine Shelly Instanz läuft.

          • Erstellen von eigenen Datenpunkten. Achtung, keine Punkte im Namen verwenden.
            102208eb-f0e6-42b7-a450-7dfa59f8752c-image.png

          • Nun das Skript in blockly.
            Vorab werden Variablen benötigt. Hier im Skript "Bezugsenergie" "Einspeiseenergie" "delta_kWh"
            Im Skript wird die Zeitspanne zwischen der Aktualisierung des Datenpunktes TotalActivePower des Pro 3EM "gemessen" und der Energieanteil für das kleine Zeitfenster in kWh berechnet und anschließende ja nach Vorzeichen dem Zählwerk 1.8.0 für Verbrauch oder dem Zählwerk 2.8.0 für Einspeisung addiert. Die Datenpunkte der Zählwerke werden immer auf die zweite Nachkommastelle gerundet.
            Folgend das das Skript von @paul53 mit kleinen Anpassungen durch mich :
            6d885c0b-8827-4cd7-a851-e1df509f0747-image.png

          • Um noch den Zählerstand des Zählwerks im Zählerschrank als Startwert zu definieren, muss der Wert einfach vor dem Start des Skriptes in die oben erstellten Datenpunkte eingetragen werden.

          Das Skript läuft erst nun paar Tage aber stimmt soweit mit dem Stromzähler im Zählerschrank überein.
          Werde das natürlich weiter beobachten.

          Grüße,
          Schreedr

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #7

          @schreedr
          Wenn Javascript-Code, dann besser nicht den von Blockly generierten.

          const idBezug = '0_userdata.0.Energiezaehler.1:8:0_Verbrauch';
          const idEinspeisung = '0_userdata.0.Energiezaehler.2:8:0_Einspeisung';
          const idLeistung = 'shelly.1.shellypro3em#34987a4590cc#1.EM0.TotalActivePower'/*Total Power (active)*/;
          
          // Datenpunkt in Variable schreiben in kWh
          var Bezugsenergie = getState(idBezug).val;
          var Einspeiseenergie = getState(idEinspeisung).val;
          
          // Umrechnung TotalActivePower (W) in Energie
          on(idLeistung, function (dp) {
            // Berechnung der kWh für Zeit (ms) zwischen zwei Messwerten
            const delta_kWh = dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 3600000000;
            if (delta_kWh < 0) {
              Einspeiseenergie -= delta_kWh;
              setState(idEinspeisung, Math.round(Einspeiseenergie * 100) / 100, true);
            } else {
              Bezugsenergie += delta_kWh;
              setState(idBezug, Math.round(Bezugsenergie * 100) / 100, true);
            }
          });
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          S J F 3 Antworten Letzte Antwort
          0
          • S Schreedr

            Hallo IoBroker Community,
            nutze schon seit einigen Jahren IoBroker aber habe eben erst festgestellt, dass ich bisher nicht im Forum angemeldet war und nur mitgelesen hab...
            Nun zum Thema auf das ich nichts passendes gefunden habe oder die Suche falsch benutzt hab.
            Es geht darum in IoBroker einen saldierenden Strom- (ich mag das Wort nicht also ->) Energiezähler mit den Zählwerken 1.8.0 (Verbrauch) und 2.8.0 (Einspeisung) zu erstellen. Bekanntlich kann das der Pro 3EM (immer noch) nicht.
            Ich hab das in Blockly gemacht und das Skript war erstmal überraschend kurz aber habe dabei Ungenauigkeiten in kauf genommen.
            Vielen Dank an der Stelle an @paul53 der sich dem Skript angenommen hat und ein Skript erstellt hat, dass mit dem vom Shelly Pro 3EM gelieferten Daten die bestmögliche Genauigkeit als Energie zählt. Das ursprünglich von mir erstellte Skript hab ich durch seines ersetzt.

            Vorgehen:

            • Voraussetzung, MQTT ist im Pro 3EM aktiviert und eine Shelly Instanz läuft.

            • Erstellen von eigenen Datenpunkten. Achtung, keine Punkte im Namen verwenden.
              102208eb-f0e6-42b7-a450-7dfa59f8752c-image.png

            • Nun das Skript in blockly.
              Vorab werden Variablen benötigt. Hier im Skript "Bezugsenergie" "Einspeiseenergie" "delta_kWh"
              Im Skript wird die Zeitspanne zwischen der Aktualisierung des Datenpunktes TotalActivePower des Pro 3EM "gemessen" und der Energieanteil für das kleine Zeitfenster in kWh berechnet und anschließende ja nach Vorzeichen dem Zählwerk 1.8.0 für Verbrauch oder dem Zählwerk 2.8.0 für Einspeisung addiert. Die Datenpunkte der Zählwerke werden immer auf die zweite Nachkommastelle gerundet.
              Folgend das das Skript von @paul53 mit kleinen Anpassungen durch mich :
              6d885c0b-8827-4cd7-a851-e1df509f0747-image.png

            • Um noch den Zählerstand des Zählwerks im Zählerschrank als Startwert zu definieren, muss der Wert einfach vor dem Start des Skriptes in die oben erstellten Datenpunkte eingetragen werden.

            Das Skript läuft erst nun paar Tage aber stimmt soweit mit dem Stromzähler im Zählerschrank überein.
            Werde das natürlich weiter beobachten.

            Grüße,
            Schreedr

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #8

            @schreedr sagte: Strom- (ich mag das Wort nicht also ->) Energiezähler

            Ein Wärmemengenzähler ist auch ein Energiezähler.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @schreedr
              Wenn Javascript-Code, dann besser nicht den von Blockly generierten.

              const idBezug = '0_userdata.0.Energiezaehler.1:8:0_Verbrauch';
              const idEinspeisung = '0_userdata.0.Energiezaehler.2:8:0_Einspeisung';
              const idLeistung = 'shelly.1.shellypro3em#34987a4590cc#1.EM0.TotalActivePower'/*Total Power (active)*/;
              
              // Datenpunkt in Variable schreiben in kWh
              var Bezugsenergie = getState(idBezug).val;
              var Einspeiseenergie = getState(idEinspeisung).val;
              
              // Umrechnung TotalActivePower (W) in Energie
              on(idLeistung, function (dp) {
                // Berechnung der kWh für Zeit (ms) zwischen zwei Messwerten
                const delta_kWh = dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 3600000000;
                if (delta_kWh < 0) {
                  Einspeiseenergie -= delta_kWh;
                  setState(idEinspeisung, Math.round(Einspeiseenergie * 100) / 100, true);
                } else {
                  Bezugsenergie += delta_kWh;
                  setState(idBezug, Math.round(Bezugsenergie * 100) / 100, true);
                }
              });
              
              S Offline
              S Offline
              Schreedr
              schrieb am zuletzt editiert von Schreedr
              #9

              @paul53 said in Shelly Pro 3EM saldierender Stromzähler in Blockly:

              @schreedr
              Wenn Javascript-Code, dann besser nicht den von Blockly generierten.

              Dachte man kann den Code in Blockly kopieren, aber das geht doch nicht. Dann muss ein interessiert sich das eben doch abbauen :-)

              paul53P 1 Antwort Letzte Antwort
              0
              • S Schreedr

                @paul53 said in Shelly Pro 3EM saldierender Stromzähler in Blockly:

                @schreedr
                Wenn Javascript-Code, dann besser nicht den von Blockly generierten.

                Dachte man kann den Code in Blockly kopieren, aber das geht doch nicht. Dann muss ein interessiert sich das eben doch abbauen :-)

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #10

                @schreedr sagte: Dachte man kann den Code in Blockly kopieren

                Kann man per Export im XML-Format.

                Blockly_Export.JPG

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @schreedr
                  Wenn Javascript-Code, dann besser nicht den von Blockly generierten.

                  const idBezug = '0_userdata.0.Energiezaehler.1:8:0_Verbrauch';
                  const idEinspeisung = '0_userdata.0.Energiezaehler.2:8:0_Einspeisung';
                  const idLeistung = 'shelly.1.shellypro3em#34987a4590cc#1.EM0.TotalActivePower'/*Total Power (active)*/;
                  
                  // Datenpunkt in Variable schreiben in kWh
                  var Bezugsenergie = getState(idBezug).val;
                  var Einspeiseenergie = getState(idEinspeisung).val;
                  
                  // Umrechnung TotalActivePower (W) in Energie
                  on(idLeistung, function (dp) {
                    // Berechnung der kWh für Zeit (ms) zwischen zwei Messwerten
                    const delta_kWh = dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 3600000000;
                    if (delta_kWh < 0) {
                      Einspeiseenergie -= delta_kWh;
                      setState(idEinspeisung, Math.round(Einspeiseenergie * 100) / 100, true);
                    } else {
                      Bezugsenergie += delta_kWh;
                      setState(idBezug, Math.round(Bezugsenergie * 100) / 100, true);
                    }
                  });
                  
                  J Offline
                  J Offline
                  jordy
                  schrieb am zuletzt editiert von
                  #11

                  Möchte mal Danke sagen für das tolle Script , funktioniert sehr gut auch mit dem normalen Shelly 3EM!
                  Läuft jetzt seit ein paar Tagen bei mir ohne Probleme und die Werte passen.
                  Hätte ich so nicht hinbekommen und den Rest wie Tages-/Monatsverbrauch usw kann man sich damit schön zusammenbasteln.
                  :+1: :+1: :+1:

                  J 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @schreedr sagte: finde ich deine gepostete Lösung eleganter

                    Noch eleganter mit nur einer Berechnung:

                    Blockly_temp.JPG

                    Frederik BussF Online
                    Frederik BussF Online
                    Frederik Buss
                    schrieb am zuletzt editiert von
                    #12

                    @paul53 @Schreedr Danke Euch beiden für das Skript. Ich habe den Pro EM seit ein paar Tagen im Einsatz und das Thema Saldierend/Nicht saldierend ist echt super verwirrend. Man liest an verschiedenen Stellen, dass der Pro saldiert, Aber leider nicht, dass er das bei TotalActiveEnergy eben nicht macht (oder nicht ordentlich).

                    1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @schreedr
                      Wenn Javascript-Code, dann besser nicht den von Blockly generierten.

                      const idBezug = '0_userdata.0.Energiezaehler.1:8:0_Verbrauch';
                      const idEinspeisung = '0_userdata.0.Energiezaehler.2:8:0_Einspeisung';
                      const idLeistung = 'shelly.1.shellypro3em#34987a4590cc#1.EM0.TotalActivePower'/*Total Power (active)*/;
                      
                      // Datenpunkt in Variable schreiben in kWh
                      var Bezugsenergie = getState(idBezug).val;
                      var Einspeiseenergie = getState(idEinspeisung).val;
                      
                      // Umrechnung TotalActivePower (W) in Energie
                      on(idLeistung, function (dp) {
                        // Berechnung der kWh für Zeit (ms) zwischen zwei Messwerten
                        const delta_kWh = dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 3600000000;
                        if (delta_kWh < 0) {
                          Einspeiseenergie -= delta_kWh;
                          setState(idEinspeisung, Math.round(Einspeiseenergie * 100) / 100, true);
                        } else {
                          Bezugsenergie += delta_kWh;
                          setState(idBezug, Math.round(Bezugsenergie * 100) / 100, true);
                        }
                      });
                      
                      F Offline
                      F Offline
                      Fritz 0
                      schrieb am zuletzt editiert von Homoran
                      #13

                      @paul53
                      da ich ein eher Freund von javascript bin habe ich mir Dein Skript kopiert, leider kommt es zu zunehmenden Abweichungen zum echten Zählerstand.

                      Wenn ich das mit der Funktion on() richtig verstanden habe wird bei jeder Änderung des Wertes von idLeistung die Berechnung ausgeführt. Abhilfe wäre vermutlich die Ausführung in einem Zeitplan (was ich sowieso bevorzugen würde), das habe ich aber nicht hinbekommen:

                      das Skript:

                      const idBezug = '0_userdata.0.Energiezaehler.1:8:0_Bezug';
                      const idEinspeisung = '0_userdata.0.Energiezaehler.2:8:0_Einspeisung';
                      const idLeistung = 'shelly.0.shellypro3em#3ce90e6ff170#1.EM0.TotalActivePower'/*Total Power (active)*/;
                       
                      function berechne_leistung() {
                      // Datenpunkt in Variable schreiben in kWh
                      var Bezugsenergie = getState(idBezug).val;
                      var Einspeiseenergie = getState(idEinspeisung).val;
                      
                      log("Bezugsenergie = " + Bezugsenergie);
                      log("Einspeiseenergie = " + Einspeiseenergie);
                      
                      // Umrechnung TotalActivePower (W) in Energie
                        // Berechnung der kWh für Zeit (ms) zwischen zwei Messwerten
                        var oldState_val = getState(idEinspeisung).val;
                        var oldState_lc = getState(idEinspeisung).lc;     // erzeugt einen Fehler
                        log("oldState_val = " + oldState_val);
                        log("oldState_lc = " + oldState_lc);
                        
                        var State_lc = idLeistung.State.lc;  // an den Wert komme ich so nicht ran
                        log("State = " + State_lc);
                      
                        const delta_kWh = oldState_val * (state_lc - oldState_lc) / 3600000000;
                        log("delta_kWh = " + delta_kWh );
                        if (delta_kWh < 0) {
                          Einspeiseenergie -= delta_kWh;
                          setState(idEinspeisung, Math.round(Einspeiseenergie * 100) / 100, true);
                        } else {
                          Bezugsenergie += delta_kWh;
                          setState(idBezug, Math.round(Bezugsenergie * 100) / 100, true);
                        }
                      
                      };
                      // Leistung jede Minute berechnen
                      schedule('* * * * *', berechne_leistung);
                      

                      Das Log dazu:

                      19:21:23.923	info	javascript.0 (16628) Start javascript script.js.4-Test.SH8_forum
                      19:21:23.941	info	javascript.0 (16628) script.js.4-Test.SH8_forum: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                      19:22:00.008	info	javascript.0 (16628) script.js.4-Test.SH8_forum: Bezugsenergie = 5653.37
                      19:22:00.008	info	javascript.0 (16628) script.js.4-Test.SH8_forum: Einspeiseenergie = 13161.52
                      19:22:00.009	info	javascript.0 (16628) script.js.4-Test.SH8_forum: oldState_val = 13161.52
                      19:22:00.009	info	javascript.0 (16628) script.js.4-Test.SH8_forum: oldState_lc = 1721910679501
                      19:22:00.010	error	javascript.0 (16628) at Object.berechne_leistung (script.js.4-Test.SH8_forum:20:35)
                      

                      MOD-EDIT: Code in code-tags gesetzt!

                      Kannst Du mir einen Tip geben, wie ich das per Zeitplan ausführen kann? Evtl. geht das ja auch ohne meine Umbauten :-)
                      Ich würde es ja auch über das blockly-Skript versuchen, habe aber keinen Weg gefunden wo/wie ich es downloaden kann ...

                      Frederik BussF 1 Antwort Letzte Antwort
                      0
                      • F Fritz 0

                        @paul53
                        da ich ein eher Freund von javascript bin habe ich mir Dein Skript kopiert, leider kommt es zu zunehmenden Abweichungen zum echten Zählerstand.

                        Wenn ich das mit der Funktion on() richtig verstanden habe wird bei jeder Änderung des Wertes von idLeistung die Berechnung ausgeführt. Abhilfe wäre vermutlich die Ausführung in einem Zeitplan (was ich sowieso bevorzugen würde), das habe ich aber nicht hinbekommen:

                        das Skript:

                        const idBezug = '0_userdata.0.Energiezaehler.1:8:0_Bezug';
                        const idEinspeisung = '0_userdata.0.Energiezaehler.2:8:0_Einspeisung';
                        const idLeistung = 'shelly.0.shellypro3em#3ce90e6ff170#1.EM0.TotalActivePower'/*Total Power (active)*/;
                         
                        function berechne_leistung() {
                        // Datenpunkt in Variable schreiben in kWh
                        var Bezugsenergie = getState(idBezug).val;
                        var Einspeiseenergie = getState(idEinspeisung).val;
                        
                        log("Bezugsenergie = " + Bezugsenergie);
                        log("Einspeiseenergie = " + Einspeiseenergie);
                        
                        // Umrechnung TotalActivePower (W) in Energie
                          // Berechnung der kWh für Zeit (ms) zwischen zwei Messwerten
                          var oldState_val = getState(idEinspeisung).val;
                          var oldState_lc = getState(idEinspeisung).lc;     // erzeugt einen Fehler
                          log("oldState_val = " + oldState_val);
                          log("oldState_lc = " + oldState_lc);
                          
                          var State_lc = idLeistung.State.lc;  // an den Wert komme ich so nicht ran
                          log("State = " + State_lc);
                        
                          const delta_kWh = oldState_val * (state_lc - oldState_lc) / 3600000000;
                          log("delta_kWh = " + delta_kWh );
                          if (delta_kWh < 0) {
                            Einspeiseenergie -= delta_kWh;
                            setState(idEinspeisung, Math.round(Einspeiseenergie * 100) / 100, true);
                          } else {
                            Bezugsenergie += delta_kWh;
                            setState(idBezug, Math.round(Bezugsenergie * 100) / 100, true);
                          }
                        
                        };
                        // Leistung jede Minute berechnen
                        schedule('* * * * *', berechne_leistung);
                        

                        Das Log dazu:

                        19:21:23.923	info	javascript.0 (16628) Start javascript script.js.4-Test.SH8_forum
                        19:21:23.941	info	javascript.0 (16628) script.js.4-Test.SH8_forum: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                        19:22:00.008	info	javascript.0 (16628) script.js.4-Test.SH8_forum: Bezugsenergie = 5653.37
                        19:22:00.008	info	javascript.0 (16628) script.js.4-Test.SH8_forum: Einspeiseenergie = 13161.52
                        19:22:00.009	info	javascript.0 (16628) script.js.4-Test.SH8_forum: oldState_val = 13161.52
                        19:22:00.009	info	javascript.0 (16628) script.js.4-Test.SH8_forum: oldState_lc = 1721910679501
                        19:22:00.010	error	javascript.0 (16628) at Object.berechne_leistung (script.js.4-Test.SH8_forum:20:35)
                        

                        MOD-EDIT: Code in code-tags gesetzt!

                        Kannst Du mir einen Tip geben, wie ich das per Zeitplan ausführen kann? Evtl. geht das ja auch ohne meine Umbauten :-)
                        Ich würde es ja auch über das blockly-Skript versuchen, habe aber keinen Weg gefunden wo/wie ich es downloaden kann ...

                        Frederik BussF Online
                        Frederik BussF Online
                        Frederik Buss
                        schrieb am zuletzt editiert von
                        #14

                        @fritz-0 Berechnet wird ja der Verbrauch anhand der saldierten aktuellen Leistung, bezogen auf die Zeit, in der die Leistung exakt so hoch ist. Wenn man das so macht, muss ja zwingend bei jeder Leistungsänderung eine Berechnung durchgeführt werden. Bei einem Zeitplan wird ja die aktuelle Leistung zum Zeitpunkt der Ausführung herangezogen, Werte zwischen den Zeitpunkten werden ignoriert. Korrigiert mich bitte, sollte ich falsch liegen, aber eine Berechnung des Verbrauch auf Basis der Leistung kann mit einem Zeitplan nicht funktionieren, bzw. muss falsche Werte liefern.
                        Abweichungen zum echten Zählerstand werden sich mit dem Shelly schon allein aufgrund der Messtoleranzen nicht vermeiden lassen. Ich würde eher mit einem Faktor bei der Berechnung arbeiten und versuchen mich so dem "gezählten" Verbrauch anzunähern.

                        F 1 Antwort Letzte Antwort
                        1
                        • Frederik BussF Frederik Buss

                          @fritz-0 Berechnet wird ja der Verbrauch anhand der saldierten aktuellen Leistung, bezogen auf die Zeit, in der die Leistung exakt so hoch ist. Wenn man das so macht, muss ja zwingend bei jeder Leistungsänderung eine Berechnung durchgeführt werden. Bei einem Zeitplan wird ja die aktuelle Leistung zum Zeitpunkt der Ausführung herangezogen, Werte zwischen den Zeitpunkten werden ignoriert. Korrigiert mich bitte, sollte ich falsch liegen, aber eine Berechnung des Verbrauch auf Basis der Leistung kann mit einem Zeitplan nicht funktionieren, bzw. muss falsche Werte liefern.
                          Abweichungen zum echten Zählerstand werden sich mit dem Shelly schon allein aufgrund der Messtoleranzen nicht vermeiden lassen. Ich würde eher mit einem Faktor bei der Berechnung arbeiten und versuchen mich so dem "gezählten" Verbrauch anzunähern.

                          F Offline
                          F Offline
                          Fritz 0
                          schrieb am zuletzt editiert von
                          #15

                          @frederik-buss
                          Hallo Frederik,

                          ich habe das Skript jetzt mal einen Tag laufen lassen, das Ergebnis:

                          bei der Einspeisung gab es eine Abweichung von 0,53 kWh (und das wo ja nur einen Teil der Zeit eingespeist wurde)

                          der Zählerstand vom Verbrauch hat sich am Stromzähler nicht geändert, das Skipt hat aber einen Bezug von 0,48kWh berechnet.

                          Ich wüßte leider nicht, wie ein "Korrekturfaktor" da helfen könnte.

                          Zum Punkt Berechnung bei Leistungsänderung hatte ich diese Aussage von @paul53 vor Augen:

                          "Muss es nicht (siehe oben). Für zyklischen Ablauf im Hauptprogramm (also ständig) verwendet man kein Intervall, sondern einen Zeitplan."

                          deshalb kam ich auf die Idee mit dem scheduler.

                          Ich würde das Skript sonst auch gerne als blockly-Skript testen wollen, aber kenne den Weg nicht, wie ich es downloaden kann, ich habe nirgends einen Link dazu gesehen.

                          Das kannst Du mir sicher sagen?

                          Danke für Deine Unterstützung.

                          Frederik BussF 1 Antwort Letzte Antwort
                          0
                          • F Fritz 0

                            @frederik-buss
                            Hallo Frederik,

                            ich habe das Skript jetzt mal einen Tag laufen lassen, das Ergebnis:

                            bei der Einspeisung gab es eine Abweichung von 0,53 kWh (und das wo ja nur einen Teil der Zeit eingespeist wurde)

                            der Zählerstand vom Verbrauch hat sich am Stromzähler nicht geändert, das Skipt hat aber einen Bezug von 0,48kWh berechnet.

                            Ich wüßte leider nicht, wie ein "Korrekturfaktor" da helfen könnte.

                            Zum Punkt Berechnung bei Leistungsänderung hatte ich diese Aussage von @paul53 vor Augen:

                            "Muss es nicht (siehe oben). Für zyklischen Ablauf im Hauptprogramm (also ständig) verwendet man kein Intervall, sondern einen Zeitplan."

                            deshalb kam ich auf die Idee mit dem scheduler.

                            Ich würde das Skript sonst auch gerne als blockly-Skript testen wollen, aber kenne den Weg nicht, wie ich es downloaden kann, ich habe nirgends einen Link dazu gesehen.

                            Das kannst Du mir sicher sagen?

                            Danke für Deine Unterstützung.

                            Frederik BussF Online
                            Frederik BussF Online
                            Frederik Buss
                            schrieb am zuletzt editiert von
                            #16

                            @fritz-0 Hier würden etwas mehr Infos helfen. Z.B.: Zeigt Dein Zähler Nachkommastellen an? Meiner tut das nicht, daher muss ich Abweichungen über mehrere Tage bewerten. Auch ich habe Abweichungen, die sind aber innerhalb der Messtoleranz des Shelly und lassen sich imo auch nur per Korrekturfaktor halbwegs gerade ziehen. Ausserdem sind Infos zu erwartetem Gesamtverbrauch und Gesamtertrag hilfreich.
                            Angenommen, Dein Zähler zeigt auch die Nachkommastellen an, tippe ich eher auch ein anderes Problem, weil Abweichungen von einer halben kWh pro Tag scheint mir zu hoch: Bist Du sicher, dass alle Stromwandler richtig herum eingebaut wurden? Sprich, die Richtung auf dem Pfeil der Wandler zeigen alle in dieselbe Richtung - von Stromnetz zu Hausnetz?

                            F 1 Antwort Letzte Antwort
                            0
                            • Frederik BussF Frederik Buss

                              @fritz-0 Hier würden etwas mehr Infos helfen. Z.B.: Zeigt Dein Zähler Nachkommastellen an? Meiner tut das nicht, daher muss ich Abweichungen über mehrere Tage bewerten. Auch ich habe Abweichungen, die sind aber innerhalb der Messtoleranz des Shelly und lassen sich imo auch nur per Korrekturfaktor halbwegs gerade ziehen. Ausserdem sind Infos zu erwartetem Gesamtverbrauch und Gesamtertrag hilfreich.
                              Angenommen, Dein Zähler zeigt auch die Nachkommastellen an, tippe ich eher auch ein anderes Problem, weil Abweichungen von einer halben kWh pro Tag scheint mir zu hoch: Bist Du sicher, dass alle Stromwandler richtig herum eingebaut wurden? Sprich, die Richtung auf dem Pfeil der Wandler zeigen alle in dieselbe Richtung - von Stromnetz zu Hausnetz?

                              F Offline
                              F Offline
                              Fritz 0
                              schrieb am zuletzt editiert von
                              #17

                              @frederik-buss
                              ein paar Daten:

                              • der Stromzähler ist ein "einfacher" 2-Richtungszähler.
                              • der Zählerstand wird mit einer Nachkommastelle angezeigt.

                              Die jährliche Einspeisung beträgt ca. 1,500 kWh, der Bezug beträgt < 1.000 kWh.

                              Ob die Stromwandler korrekt eingebaut sind kann ich nicht prüfen, dazu müsste ich im Schaltschrank Abdeckungen öffnen, als Elektro-Laie ist mir das zu gefährlich. Daher kann ich Deine Vermutung nicht überprüfen. Ich gehe aber vom korrekten Einbau aus, mein Elektriker ist erfahren, dem traue ich das schon zu.
                              Wenn er das nächste Mal vor Ort sein sollte werde ich ihn dazu ansprechen, aber das kann dauern, aktuell habe ich keinen Auftrag für ihn.

                              Nachdem das Skript jetzt knapp 4 Tage läuft sind die Abweichungen schon deutlich:

                              • Bezug: Stromzähler keiner, Abweichung vom Skript 1,4 kWh
                              • Einspeisung: Abweichung vom Skript 1,55 kWh
                              Frederik BussF 1 Antwort Letzte Antwort
                              0
                              • F Fritz 0

                                @frederik-buss
                                ein paar Daten:

                                • der Stromzähler ist ein "einfacher" 2-Richtungszähler.
                                • der Zählerstand wird mit einer Nachkommastelle angezeigt.

                                Die jährliche Einspeisung beträgt ca. 1,500 kWh, der Bezug beträgt < 1.000 kWh.

                                Ob die Stromwandler korrekt eingebaut sind kann ich nicht prüfen, dazu müsste ich im Schaltschrank Abdeckungen öffnen, als Elektro-Laie ist mir das zu gefährlich. Daher kann ich Deine Vermutung nicht überprüfen. Ich gehe aber vom korrekten Einbau aus, mein Elektriker ist erfahren, dem traue ich das schon zu.
                                Wenn er das nächste Mal vor Ort sein sollte werde ich ihn dazu ansprechen, aber das kann dauern, aktuell habe ich keinen Auftrag für ihn.

                                Nachdem das Skript jetzt knapp 4 Tage läuft sind die Abweichungen schon deutlich:

                                • Bezug: Stromzähler keiner, Abweichung vom Skript 1,4 kWh
                                • Einspeisung: Abweichung vom Skript 1,55 kWh
                                Frederik BussF Online
                                Frederik BussF Online
                                Frederik Buss
                                schrieb am zuletzt editiert von
                                #18

                                @fritz-0 Bei den Werten gehe ich von aus, dass Du einen Stromspeicher verbaut hast. Falls Du das script 1:1 umgesetzt hast, bin ich mir sicher, dass der Fehler im Schaltschrank zu suchen ist. Abweichungen von 0,5kWh pro Tag sind zu hoch, zumal Auffällig ist, dass die Abweichungen von Bezug und Einspeisung in der selben Größenordnung sind. Zum Vergleich: Ich habe momentan wegen der Klimaanlage ca. 5.000-6.000 kWh Verbrauch pro Jahr hochgerechnet (Solar rausgerechnet) und seit 2 Wochen insgesamt < 0,2kWh Abweichungen. Es ist auch denkbar, dass der Shelly an der "falschen" Stelle sitzt - Messen sollte der direkt hinter dem Hausanschluss, vor allen Sicherungen/Verbrauchern/Akkus/Wechselrichtern etc.
                                Wie hoch ist der Stromverbrauch ohne Solar? Oder anders: wie hoch war der Verbrauch vor der Solaranlage?

                                F 1 Antwort Letzte Antwort
                                0
                                • Frederik BussF Frederik Buss

                                  @fritz-0 Bei den Werten gehe ich von aus, dass Du einen Stromspeicher verbaut hast. Falls Du das script 1:1 umgesetzt hast, bin ich mir sicher, dass der Fehler im Schaltschrank zu suchen ist. Abweichungen von 0,5kWh pro Tag sind zu hoch, zumal Auffällig ist, dass die Abweichungen von Bezug und Einspeisung in der selben Größenordnung sind. Zum Vergleich: Ich habe momentan wegen der Klimaanlage ca. 5.000-6.000 kWh Verbrauch pro Jahr hochgerechnet (Solar rausgerechnet) und seit 2 Wochen insgesamt < 0,2kWh Abweichungen. Es ist auch denkbar, dass der Shelly an der "falschen" Stelle sitzt - Messen sollte der direkt hinter dem Hausanschluss, vor allen Sicherungen/Verbrauchern/Akkus/Wechselrichtern etc.
                                  Wie hoch ist der Stromverbrauch ohne Solar? Oder anders: wie hoch war der Verbrauch vor der Solaranlage?

                                  F Offline
                                  F Offline
                                  Fritz 0
                                  schrieb am zuletzt editiert von
                                  #19

                                  @frederik-buss

                                  Wie hoch ist der Stromverbrauch ohne Solar? Oder anders: wie hoch war der Verbrauch vor der Solaranlage?

                                  der lag bei ca. 4.000 kWh

                                  Mit dem Speicher liegst Du richtig.

                                  Was den Einbau an der korrekten Stelle angeht muss ich warten bis ich den Elektriker mal wieder im Keller habe :-)
                                  Ich denke, das ich da vorher nicht weiterkomme.
                                  Erstmal vielen Dank für Deine Unterstützung.

                                  Wissen würde ich trotzdem, wie ich das Blockly-Skript runterladen kann. Das geht vermutlich ganz einfach, aber ich habe den Weg dazu noch nicht gefunden.

                                  Frederik BussF 1 Antwort Letzte Antwort
                                  0
                                  • F Fritz 0

                                    @frederik-buss

                                    Wie hoch ist der Stromverbrauch ohne Solar? Oder anders: wie hoch war der Verbrauch vor der Solaranlage?

                                    der lag bei ca. 4.000 kWh

                                    Mit dem Speicher liegst Du richtig.

                                    Was den Einbau an der korrekten Stelle angeht muss ich warten bis ich den Elektriker mal wieder im Keller habe :-)
                                    Ich denke, das ich da vorher nicht weiterkomme.
                                    Erstmal vielen Dank für Deine Unterstützung.

                                    Wissen würde ich trotzdem, wie ich das Blockly-Skript runterladen kann. Das geht vermutlich ganz einfach, aber ich habe den Weg dazu noch nicht gefunden.

                                    Frederik BussF Online
                                    Frederik BussF Online
                                    Frederik Buss
                                    schrieb am zuletzt editiert von
                                    #20

                                    @fritz-0 Ich denke hier gibt es ein Missverständnis: Importieren und Exportieren geht im Javascript Adapter, wie von Pau beschrieben (oben rechts: Blöcke importieren/exportieren). Mit runterladen meinst Du vermutlich dass Du den hier gezeigten Code bei Dir importieren möchtest. Dazu muss ihn aber vorher jemand exportiert und hier bereit gestellt haben, was ich nicht sehe ;)
                                    Ich bin auch eher ein Freund davon die Scripte selbst nachzubauen, schon allein um alle Variablen/Verknüpfungen auswählen zu müssen, was die typischen Fehlerquellen deutlich reduziert.

                                    F 1 Antwort Letzte Antwort
                                    0
                                    • Frederik BussF Frederik Buss

                                      @fritz-0 Ich denke hier gibt es ein Missverständnis: Importieren und Exportieren geht im Javascript Adapter, wie von Pau beschrieben (oben rechts: Blöcke importieren/exportieren). Mit runterladen meinst Du vermutlich dass Du den hier gezeigten Code bei Dir importieren möchtest. Dazu muss ihn aber vorher jemand exportiert und hier bereit gestellt haben, was ich nicht sehe ;)
                                      Ich bin auch eher ein Freund davon die Scripte selbst nachzubauen, schon allein um alle Variablen/Verknüpfungen auswählen zu müssen, was die typischen Fehlerquellen deutlich reduziert.

                                      F Offline
                                      F Offline
                                      Fritz 0
                                      schrieb am zuletzt editiert von
                                      #21

                                      @frederik-buss
                                      alles klar. Ich werde das Thema jetzt erstmal zurückstellen, bis klar ist ob die Anbringung der Stromzangen korrekt ist (sprich Richtung und Montageort).

                                      Vielleicht klärt es sich danach ja schon :-)

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • F Fritz 0

                                        @frederik-buss
                                        alles klar. Ich werde das Thema jetzt erstmal zurückstellen, bis klar ist ob die Anbringung der Stromzangen korrekt ist (sprich Richtung und Montageort).

                                        Vielleicht klärt es sich danach ja schon :-)

                                        K Offline
                                        K Offline
                                        Kippe
                                        schrieb am zuletzt editiert von Kippe
                                        #22

                                        @fritz-0

                                        Hallo
                                        Ich habe mir jetzt die 2 Datenpunkte wie im oberen Beitrag angelegt
                                        Energiezaehler 1:8:0 Verbrauch und Energiezaehler 2:8:0 Einspeisung

                                        Ich bekomme es mit dem Blockly nicht hin. Könnte mir jemand das Blockly zu Verfügung stellen, und mir mal genau sagen kann welche Datenpunkte ich beim Shelly Pro 3 em nehmen muss?

                                        Würde mich sehr freuen.

                                        Screenshot (633).png

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • K Kippe

                                          @fritz-0

                                          Hallo
                                          Ich habe mir jetzt die 2 Datenpunkte wie im oberen Beitrag angelegt
                                          Energiezaehler 1:8:0 Verbrauch und Energiezaehler 2:8:0 Einspeisung

                                          Ich bekomme es mit dem Blockly nicht hin. Könnte mir jemand das Blockly zu Verfügung stellen, und mir mal genau sagen kann welche Datenpunkte ich beim Shelly Pro 3 em nehmen muss?

                                          Würde mich sehr freuen.

                                          Screenshot (633).png

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #23

                                          @kippe sagte: Könnte mir jemand das Blockly zu Verfügung stellen

                                          Du musst allerdings deine Datenpunkte zuweisen.

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</variable>
                                             <variable id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</variable>
                                             <variable id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</variable>
                                           </variables>
                                           <block type="comment" id="Oo~f?,+KUpsHqmTcN[WZ" x="188" y="37">
                                             <field name="COMMENT">Energie (kWh)</field>
                                             <next>
                                               <block type="variables_set" id="[_???w4Erk+RQ}R~(7vB">
                                                 <field name="VAR" id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</field>
                                                 <value name="VALUE">
                                                   <block type="get_value" id="?j1{wfD2ewfvBo[@]aGI">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">0_userdata.0.Blockly.EVU-Bezug</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="mbhzmxw}Olt:RED`$HM?">
                                                     <field name="VAR" id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</field>
                                                     <value name="VALUE">
                                                       <block type="get_value" id="fv.Pyn+=XNj3mBR^O*y#">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">0_userdata.0.Blockly.EVU-Einspeisung</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="comment" id="zB]aZ2A+Q7t}Zj)v/Mp0">
                                                         <field name="COMMENT">TotalActivePower (W)</field>
                                                         <next>
                                                           <block type="on" id="UK.7BpQ#a@nx[dyE)3OQ">
                                                             <field name="OID">0_userdata.0.Blockly.Bezug-Einspeisung</field>
                                                             <field name="CONDITION">ne</field>
                                                             <field name="ACK_CONDITION"></field>
                                                             <statement name="STATEMENT">
                                                               <block type="variables_set" id="t+e]v;zvCc]pe`eHoiFR">
                                                                 <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                                                 <value name="VALUE">
                                                                   <block type="math_arithmetic" id="A$gG{a@9o/lcbx##`D%y" inline="false">
                                                                     <field name="OP">DIVIDE</field>
                                                                     <value name="A">
                                                                       <shadow type="math_number" id="q*0#7)IKIdS}sN%W7tfw">
                                                                         <field name="NUM">1</field>
                                                                       </shadow>
                                                                       <block type="math_arithmetic" id="#u68#/SI`@H(ukUUj`=9" inline="false">
                                                                         <field name="OP">MULTIPLY</field>
                                                                         <value name="A">
                                                                           <shadow type="math_number" id="J)-A5vC7c^f~YA_D,D,?">
                                                                             <field name="NUM">1</field>
                                                                           </shadow>
                                                                           <block type="on_source" id="Z%ejn^wwOOcA0z2qVjYo">
                                                                             <field name="ATTR">oldState.val</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <shadow type="math_number" id="l{SbNq,AT{hE]hFEqSB2">
                                                                             <field name="NUM">1</field>
                                                                           </shadow>
                                                                           <block type="math_arithmetic" id="E02lX:*gLrgj+mWOqQVI">
                                                                             <field name="OP">MINUS</field>
                                                                             <value name="A">
                                                                               <shadow type="math_number" id="%(VU0;/9G!^AX,q%]9cr">
                                                                                 <field name="NUM">1</field>
                                                                               </shadow>
                                                                               <block type="on_source" id="WncTZ;c4W4nn?s!)bwH?">
                                                                                 <field name="ATTR">state.lc</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <shadow type="math_number" id="j=obz_-g%yDMlIBeJ^aH">
                                                                                 <field name="NUM">1</field>
                                                                               </shadow>
                                                                               <block type="on_source" id="AY]p`Oodsk4kQH0A9$nr">
                                                                                 <field name="ATTR">oldState.lc</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <shadow type="math_number" id="m?toN!Hb2WoT68y_1m0s">
                                                                         <field name="NUM">3600000000</field>
                                                                       </shadow>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="controls_if" id="Ah1T+%Zg,Jwu12qd{clW">
                                                                     <mutation else="1"></mutation>
                                                                     <value name="IF0">
                                                                       <block type="logic_compare" id="!}L8R}/%Elp$%K5Sl(9|">
                                                                         <field name="OP">LT</field>
                                                                         <value name="A">
                                                                           <block type="variables_get" id="d!3EdW@%s:cZ_`Bpi;Pd">
                                                                             <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="math_number" id="[T?_,mrEXTI=ga^+u3N`">
                                                                             <field name="NUM">0</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="math_change" id="TA~#gMw.SJ~,/v*ECS?1">
                                                                         <field name="VAR" id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</field>
                                                                         <value name="DELTA">
                                                                           <shadow type="math_number" id="wXIN-|,F`7v*fx-hR{7R">
                                                                             <field name="NUM">1</field>
                                                                           </shadow>
                                                                           <block type="math_single" id="zP9:F/$yeRfL%o^orE/z">
                                                                             <field name="OP">NEG</field>
                                                                             <value name="NUM">
                                                                               <shadow type="math_number" id="F`a;S9wD61f?)xS$Ek99">
                                                                                 <field name="NUM">9</field>
                                                                               </shadow>
                                                                               <block type="variables_get" id="$kWK3DbhgC(l]%%=A4sD">
                                                                                 <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <next>
                                                                           <block type="update" id="p+(#|mvOG}YZ0iHd9]PX">
                                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                             <field name="OID">0_userdata.0.Blockly.EVU-Einspeisung</field>
                                                                             <field name="WITH_DELAY">FALSE</field>
                                                                             <value name="VALUE">
                                                                               <block type="math_rndfixed" id="t1[Qz#9@XJVau7lU_XgR">
                                                                                 <field name="n">2</field>
                                                                                 <value name="x">
                                                                                   <shadow type="math_number" id="Qnsd$8gBj5Ke$}=Iax5.">
                                                                                     <field name="NUM">3.1234</field>
                                                                                   </shadow>
                                                                                   <block type="variables_get" id="v6mCa0tEa)Q%VFC$ULdS">
                                                                                     <field name="VAR" id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </statement>
                                                                     <statement name="ELSE">
                                                                       <block type="math_change" id="_m0zaR1ZcuHEtMpGm3-g">
                                                                         <field name="VAR" id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</field>
                                                                         <value name="DELTA">
                                                                           <shadow type="math_number" id="Uk@[+;hZ(9z{7j!R!*)~">
                                                                             <field name="NUM">1</field>
                                                                           </shadow>
                                                                           <block type="variables_get" id="#f(*J,eIE7_,.1rW`kgW">
                                                                             <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                                                           </block>
                                                                         </value>
                                                                         <next>
                                                                           <block type="update" id="!LqtdCcih;y)3*_[2q,|">
                                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                             <field name="OID">0_userdata.0.Blockly.EVU-Bezug</field>
                                                                             <field name="WITH_DELAY">FALSE</field>
                                                                             <value name="VALUE">
                                                                               <block type="math_rndfixed" id="1$r`f.h946vRu$1c`}$d">
                                                                                 <field name="n">2</field>
                                                                                 <value name="x">
                                                                                   <shadow type="math_number" id="Qnsd$8gBj5Ke$}=Iax5.">
                                                                                     <field name="NUM">3.1234</field>
                                                                                   </shadow>
                                                                                   <block type="variables_get" id="`N=lK:Vp.lo+ro:$n#t3">
                                                                                     <field name="VAR" id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </statement>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                          </xml>
                                          

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          K 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

                                          812

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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