Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. Energy v. gewollt mal abwesendem Shelly Plug S erfassen

NEWS

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

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

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

Energy v. gewollt mal abwesendem Shelly Plug S erfassen

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
8 Beiträge 5 Kommentatoren 1.0k Aufrufe 3 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.
  • R Offline
    R Offline
    rallyecom
    schrieb am zuletzt editiert von
    #1

    Hallo in die Runde und wahrscheinlich das absolute Newbie-Problem...:

    Umfeld: iobroker mit vis auf Raspi4, Solaranlage auf dem Wohnmobil (mit eigenem Gridwechselrichter), AC-seitig mit Shelly Plug S, der eigentlich auch brav "Energy" aufsummiert. Das WLAN reicht bis auf den Stellplatz, Netzanschluss des Fahrzeugs über steckbare Leitung.

    Problem: Ab und an wird das Fahrzeug mal tagsüber benötigt. Wird jetzt der Plug S vom Stromnetz getrennt, dann verliert er den "Energy"-Wert und fängt nach dem Reboot diesen bei 0 wieder neu an aufzusummieren. Die Shelly-Cloud kriegt es hin, die Werte halbwegs korrekt auf den Tageszählwert zu rechnen - aber das nützt mir im iob erstmal nichts.

    Der iob bekommt bspw. als letzten Datenpunkt "223 Wh" vom Shelly-Adapter, dann geht der Shelly wegen Stromausfall (Stecker ziehen vor Abfahrt) ohne Warnung offline. Kommt das Fahrzeug jetzt zurück und der Stecker wird wieder eingesteckt, dann kommt als neuer Wert "0 Wh" vom Shelly, was die Berechnung des Tages-Solarertrages doch stark behindert.

    Meine Idee wäre jetzt, den Wert zyklisch (60s) in einen Datenpunkt zu schreiben, dann bei "online=false" den Wert einmalig in einen anderen Datenpunkt zu addieren (und an der Quelle zu nullen), der Mitternacht (nach Übernahme in "Energy_Bus_gestern") genullt wird und bei "online=true" (Rückkehr des Busses) aus diesem Additions-Hilfsdatenpunkt in den regulären "Energy_Bus_heute" zurückzuschreiben.

    Funktioniert das so? Hat schon mal jemand dieses Problem gehabt und gelöst?

    Grüße von Mirco, der zwar recht fit mit Shellys ist, aber im iob noch auf den ersten paar Metern ist...

    paul53P S 2 Antworten Letzte Antwort
    0
    • R rallyecom

      Hallo in die Runde und wahrscheinlich das absolute Newbie-Problem...:

      Umfeld: iobroker mit vis auf Raspi4, Solaranlage auf dem Wohnmobil (mit eigenem Gridwechselrichter), AC-seitig mit Shelly Plug S, der eigentlich auch brav "Energy" aufsummiert. Das WLAN reicht bis auf den Stellplatz, Netzanschluss des Fahrzeugs über steckbare Leitung.

      Problem: Ab und an wird das Fahrzeug mal tagsüber benötigt. Wird jetzt der Plug S vom Stromnetz getrennt, dann verliert er den "Energy"-Wert und fängt nach dem Reboot diesen bei 0 wieder neu an aufzusummieren. Die Shelly-Cloud kriegt es hin, die Werte halbwegs korrekt auf den Tageszählwert zu rechnen - aber das nützt mir im iob erstmal nichts.

      Der iob bekommt bspw. als letzten Datenpunkt "223 Wh" vom Shelly-Adapter, dann geht der Shelly wegen Stromausfall (Stecker ziehen vor Abfahrt) ohne Warnung offline. Kommt das Fahrzeug jetzt zurück und der Stecker wird wieder eingesteckt, dann kommt als neuer Wert "0 Wh" vom Shelly, was die Berechnung des Tages-Solarertrages doch stark behindert.

      Meine Idee wäre jetzt, den Wert zyklisch (60s) in einen Datenpunkt zu schreiben, dann bei "online=false" den Wert einmalig in einen anderen Datenpunkt zu addieren (und an der Quelle zu nullen), der Mitternacht (nach Übernahme in "Energy_Bus_gestern") genullt wird und bei "online=true" (Rückkehr des Busses) aus diesem Additions-Hilfsdatenpunkt in den regulären "Energy_Bus_heute" zurückzuschreiben.

      Funktioniert das so? Hat schon mal jemand dieses Problem gehabt und gelöst?

      Grüße von Mirco, der zwar recht fit mit Shellys ist, aber im iob noch auf den ersten paar Metern ist...

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

      @rallyecom sagte: dann kommt als neuer Wert "0 Wh" vom Shelly

      Das kann man prüfen und den aktuellen Zählerstand in einen Startwert schreiben, auf den der Shelly-Wert addiert wird.

      Bild_2022-07-09_155733713.png

      Wert und vorheriger Wert(unter "Trigger"):

      Blockly_DP_Props.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
      • R rallyecom

        Hallo in die Runde und wahrscheinlich das absolute Newbie-Problem...:

        Umfeld: iobroker mit vis auf Raspi4, Solaranlage auf dem Wohnmobil (mit eigenem Gridwechselrichter), AC-seitig mit Shelly Plug S, der eigentlich auch brav "Energy" aufsummiert. Das WLAN reicht bis auf den Stellplatz, Netzanschluss des Fahrzeugs über steckbare Leitung.

        Problem: Ab und an wird das Fahrzeug mal tagsüber benötigt. Wird jetzt der Plug S vom Stromnetz getrennt, dann verliert er den "Energy"-Wert und fängt nach dem Reboot diesen bei 0 wieder neu an aufzusummieren. Die Shelly-Cloud kriegt es hin, die Werte halbwegs korrekt auf den Tageszählwert zu rechnen - aber das nützt mir im iob erstmal nichts.

        Der iob bekommt bspw. als letzten Datenpunkt "223 Wh" vom Shelly-Adapter, dann geht der Shelly wegen Stromausfall (Stecker ziehen vor Abfahrt) ohne Warnung offline. Kommt das Fahrzeug jetzt zurück und der Stecker wird wieder eingesteckt, dann kommt als neuer Wert "0 Wh" vom Shelly, was die Berechnung des Tages-Solarertrages doch stark behindert.

        Meine Idee wäre jetzt, den Wert zyklisch (60s) in einen Datenpunkt zu schreiben, dann bei "online=false" den Wert einmalig in einen anderen Datenpunkt zu addieren (und an der Quelle zu nullen), der Mitternacht (nach Übernahme in "Energy_Bus_gestern") genullt wird und bei "online=true" (Rückkehr des Busses) aus diesem Additions-Hilfsdatenpunkt in den regulären "Energy_Bus_heute" zurückzuschreiben.

        Funktioniert das so? Hat schon mal jemand dieses Problem gehabt und gelöst?

        Grüße von Mirco, der zwar recht fit mit Shellys ist, aber im iob noch auf den ersten paar Metern ist...

        S Offline
        S Offline
        Stefi
        schrieb am zuletzt editiert von
        #3

        Gesetz dem Fall du bist ein wenig firm mit plain Javascript, kannst du auch den folgenden Code-Snippet verwenden

            var shellyEnergyId = "shelly.0.[...].Energy";
            var solarGesamtId = "0_userdata.0.solar.gesamt";
            var solarTempId = "0_userdata.0.solar.zwischenwert";
           
            createState(solarGesamtId,  0, {name: "PV-Erfassung Gesamt [Wh]", desc: "PV-Erfassung Gesamt [Wh]", type: "number", read: true, write: true, role: "value"});
            createState(solarTempId,  0, {name: "PV-Erfassung Zwischenwert [Wh]", desc: "PV-Erfassung Zwischenwert [Wh]", type: "number", read: true, write: true, role: "value"});  
        
            // Workaround für die Erfassung der PV Gesamtenergie
            on({id: shellyEnergyId, change: "any"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
        
                if (value < oldValue) {
                    // Letzten Gesamtwert zwischenspeichern
                    var totalValue = getState(solarGesamtId).val;
                    setState(solarTempId, totalValue);
                }
        
                // Neuen Gesamtwert berechnen
                var tempValue = getState(solarTempId).val;
                setState(solarGesamtId, tempValue + value);
            });
        

        Du kannst natürlich auch das Blockly-Skript von @paul53 verwenden, allerdings birgt das die Gefahr, dass das nicht immer 100% richtig reagiert. Ich hatte es anfangs auch sorum (der "sonst"-Zweig tritt nur ein, wenn Wert exakt 0 (oder negativ) ist) und habe leider ein paar Momente verpasst, weil der Shelly als nächsten Wert manchmal 0,0023 o.ä. als ersten Wert gemeldet hat. Für meine Graphen lasse ich dann die Variable "solarGesamtId" historisieren und einspeisen.

        Hoffe das hilft ein wenig weiter.

        paul53P 1 Antwort Letzte Antwort
        0
        • S Stefi

          Gesetz dem Fall du bist ein wenig firm mit plain Javascript, kannst du auch den folgenden Code-Snippet verwenden

              var shellyEnergyId = "shelly.0.[...].Energy";
              var solarGesamtId = "0_userdata.0.solar.gesamt";
              var solarTempId = "0_userdata.0.solar.zwischenwert";
             
              createState(solarGesamtId,  0, {name: "PV-Erfassung Gesamt [Wh]", desc: "PV-Erfassung Gesamt [Wh]", type: "number", read: true, write: true, role: "value"});
              createState(solarTempId,  0, {name: "PV-Erfassung Zwischenwert [Wh]", desc: "PV-Erfassung Zwischenwert [Wh]", type: "number", read: true, write: true, role: "value"});  
          
              // Workaround für die Erfassung der PV Gesamtenergie
              on({id: shellyEnergyId, change: "any"}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
          
                  if (value < oldValue) {
                      // Letzten Gesamtwert zwischenspeichern
                      var totalValue = getState(solarGesamtId).val;
                      setState(solarTempId, totalValue);
                  }
          
                  // Neuen Gesamtwert berechnen
                  var tempValue = getState(solarTempId).val;
                  setState(solarGesamtId, tempValue + value);
              });
          

          Du kannst natürlich auch das Blockly-Skript von @paul53 verwenden, allerdings birgt das die Gefahr, dass das nicht immer 100% richtig reagiert. Ich hatte es anfangs auch sorum (der "sonst"-Zweig tritt nur ein, wenn Wert exakt 0 (oder negativ) ist) und habe leider ein paar Momente verpasst, weil der Shelly als nächsten Wert manchmal 0,0023 o.ä. als ersten Wert gemeldet hat. Für meine Graphen lasse ich dann die Variable "solarGesamtId" historisieren und einspeisen.

          Hoffe das hilft ein wenig weiter.

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

          @stefi sagte: paar Momente verpasst, weil der Shelly als nächsten Wert manchmal 0,0023 o.ä. als ersten Wert gemeldet hat.

          Habe es oben berücksichtigt.

          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 R 2 Antworten Letzte Antwort
          0
          • paul53P paul53

            @stefi sagte: paar Momente verpasst, weil der Shelly als nächsten Wert manchmal 0,0023 o.ä. als ersten Wert gemeldet hat.

            Habe es oben berücksichtigt.

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

            @paul53 said in Energy v. gewollt mal abwesendem Shelly Plug S erfassen:

            @stefi sagte: paar Momente verpasst, weil der Shelly als nächsten Wert manchmal 0,0023 o.ä. als ersten Wert gemeldet hat.

            Habe es oben berücksichtigt.

            Sehr cool 🙂

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @stefi sagte: paar Momente verpasst, weil der Shelly als nächsten Wert manchmal 0,0023 o.ä. als ersten Wert gemeldet hat.

              Habe es oben berücksichtigt.

              R Offline
              R Offline
              rallyecom
              schrieb am zuletzt editiert von
              #6

              @paul53 das sieht schon recht lecker aus, werde ich morgen mal testen. In der Tat könnten Startwerte über null auftreten, nämlich dann, wenn der Wechselrichter nach "Stecker rein" schneller mit der Produktion beginnt wie das WLAN mit dem connect establishing fertig ist.

              Nice ist, dass dein Skript nicht nur den Fall "Strom und WLAN weg" erfasst, sondern auch einen Geräteneustart allgemein. Dein Skript lässt sich für jeden "Zähl-Shelly" verwenden, der bei Reboot Demez bekommt...

              Danke!

              1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                romestylez
                schrieb am zuletzt editiert von
                #7

                @paul53 vielen Dank erst mal auch für deine ganzen anderen Scripte. Sehe deinen Namen hier an jeder Ecke 🐶

                Ich habe es mal nachgebaut. Was mich wundert wieso vor "Wert" und "vorheriger Wert" ein weißer Pfeil ist. Eventuell gabs da mal nen Update ? Ich hoffe meins funktioniert trotzdem

                9641dfcf-2605-4170-b778-3901c13e3fbe-image.png

                HomoranH 1 Antwort Letzte Antwort
                0
                • R romestylez

                  @paul53 vielen Dank erst mal auch für deine ganzen anderen Scripte. Sehe deinen Namen hier an jeder Ecke 🐶

                  Ich habe es mal nachgebaut. Was mich wundert wieso vor "Wert" und "vorheriger Wert" ein weißer Pfeil ist. Eventuell gabs da mal nen Update ? Ich hoffe meins funktioniert trotzdem

                  9641dfcf-2605-4170-b778-3901c13e3fbe-image.png

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #8

                  @romestylez sagte in Energy v. gewollt mal abwesendem Shelly Plug S erfassen:

                  Eventuell gabs da mal nen Update

                  vor Jahren!
                  diese Bausteine wurden in Beispiel-Blocklies sonst für selbst erstellte Variablen gehalten.

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  768

                  Online

                  32.4k

                  Benutzer

                  81.4k

                  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
                  • Aktuell
                  • Tags
                  • Ungelesen 0
                  • Kategorien
                  • Unreplied
                  • Beliebt
                  • GitHub
                  • Docu
                  • Hilfe