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. Skripten / Logik
  4. Shelly 3EM - negative Werte verhindern

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    996

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Shelly 3EM - negative Werte verhindern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 5 Kommentatoren 2.0k Aufrufe 4 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.
  • Chris0706C Offline
    Chris0706C Offline
    Chris0706
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich weiß nicht genau wo ich die Frage zuordnen soll.. denke aber das es womöglich nur durch ein Skript zu lösen ist.

    Ich habe zwei Shelly 3EM, einmal für den Hausstrom und einmal für die Wärmepumpe. Beide über das Shelly Plugin eingebunden.
    Der Hausstrom läuft ganz normal und spukt mir über das Shelly Verbrauchs-Historie Skript den täglichen Hausverbrauch etc. ohne Probleme aus.

    Bei der Shelly für die Wärmepumpe hingegen, gibt es massive Sprünge in den Werten, die ich auf Probleme bei den Shelly-Werten zurückführen kann.
    Und zwar genauer gesagt, kriege ich vom Plugin/Shelly bei den Verbräuchen Emeter0, Emeter1, Emeter2 sehr oft ein - 1 zurückgegeben anstatt des fortlaufendem Hochzählen:

    56438fa3-1522-41e5-a505-ad2a1c681d62-image.png

    Vom Shelly Support gibts dazu keine Hilfestellung leider.. ein Update auf die neuste Version hat auch nichts gebracht.

    • Gibt es eine Möglichkeit über eine Objekt-Definition zu verhindern, dass überhaupt negative Werte akzeptiert werden? Wäre mir am liebsten..
    • Könnte man ansonsten ein Skript schreiben, dass die negativen Werte sofort wieder aus der Historie rauslöscht? Das Verbrauchs-Historie Skript dürfte da in der Zwischenzeit aber nichts abrufen..

    Grüße
    Chris

    CodierknechtC MartinPM B 3 Antworten Letzte Antwort
    0
    • Chris0706C Chris0706

      Hallo zusammen,

      ich weiß nicht genau wo ich die Frage zuordnen soll.. denke aber das es womöglich nur durch ein Skript zu lösen ist.

      Ich habe zwei Shelly 3EM, einmal für den Hausstrom und einmal für die Wärmepumpe. Beide über das Shelly Plugin eingebunden.
      Der Hausstrom läuft ganz normal und spukt mir über das Shelly Verbrauchs-Historie Skript den täglichen Hausverbrauch etc. ohne Probleme aus.

      Bei der Shelly für die Wärmepumpe hingegen, gibt es massive Sprünge in den Werten, die ich auf Probleme bei den Shelly-Werten zurückführen kann.
      Und zwar genauer gesagt, kriege ich vom Plugin/Shelly bei den Verbräuchen Emeter0, Emeter1, Emeter2 sehr oft ein - 1 zurückgegeben anstatt des fortlaufendem Hochzählen:

      56438fa3-1522-41e5-a505-ad2a1c681d62-image.png

      Vom Shelly Support gibts dazu keine Hilfestellung leider.. ein Update auf die neuste Version hat auch nichts gebracht.

      • Gibt es eine Möglichkeit über eine Objekt-Definition zu verhindern, dass überhaupt negative Werte akzeptiert werden? Wäre mir am liebsten..
      • Könnte man ansonsten ein Skript schreiben, dass die negativen Werte sofort wieder aus der Historie rauslöscht? Das Verbrauchs-Historie Skript dürfte da in der Zwischenzeit aber nichts abrufen..

      Grüße
      Chris

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von Codierknecht
      #2

      @chris0706 sagte in Shelly 3EM - negative Werte verhindern:

      Gibt es eine Möglichkeit über eine Objekt-Definition zu verhindern, dass überhaupt negative Werte akzeptiert werden? Wäre mir am liebsten..

      Du könntest statt mit dem nativen DP des Shelly einen Alias darauf anlegen und mit diesem loggen.
      In der Konvertierungsfunktion für Lesen

      val >= 0 ? val : 0
      

      Beim SQL-Adapter geht sowas:
      27cefd2d-760f-4f3b-b8bc-4c73823abbf9-image.png
      Keine Ahnung, ob History das auch anbietet.

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      1 Antwort Letzte Antwort
      1
      • Chris0706C Chris0706

        Hallo zusammen,

        ich weiß nicht genau wo ich die Frage zuordnen soll.. denke aber das es womöglich nur durch ein Skript zu lösen ist.

        Ich habe zwei Shelly 3EM, einmal für den Hausstrom und einmal für die Wärmepumpe. Beide über das Shelly Plugin eingebunden.
        Der Hausstrom läuft ganz normal und spukt mir über das Shelly Verbrauchs-Historie Skript den täglichen Hausverbrauch etc. ohne Probleme aus.

        Bei der Shelly für die Wärmepumpe hingegen, gibt es massive Sprünge in den Werten, die ich auf Probleme bei den Shelly-Werten zurückführen kann.
        Und zwar genauer gesagt, kriege ich vom Plugin/Shelly bei den Verbräuchen Emeter0, Emeter1, Emeter2 sehr oft ein - 1 zurückgegeben anstatt des fortlaufendem Hochzählen:

        56438fa3-1522-41e5-a505-ad2a1c681d62-image.png

        Vom Shelly Support gibts dazu keine Hilfestellung leider.. ein Update auf die neuste Version hat auch nichts gebracht.

        • Gibt es eine Möglichkeit über eine Objekt-Definition zu verhindern, dass überhaupt negative Werte akzeptiert werden? Wäre mir am liebsten..
        • Könnte man ansonsten ein Skript schreiben, dass die negativen Werte sofort wieder aus der Historie rauslöscht? Das Verbrauchs-Historie Skript dürfte da in der Zwischenzeit aber nichts abrufen..

        Grüße
        Chris

        MartinPM Online
        MartinPM Online
        MartinP
        schrieb am zuletzt editiert von
        #3

        @chris0706 Hast Du schon einmal die beiden Shellys getauscht? Vielleicht hat der Wärmepumpen-Shelly einen Defekt....

        Wird der Wärmepumpenstrom auch am "richtigen" Zähler separat gemessen? Wenn ja - stimmen die Messergebnisse des Shelly überhaupt überein, wenn er in einem Update mal keine -1 liefert?

        Falls am Hauszähler beides summarisch gemessen wird, könnte man zumindest schauen, ob das einigermaßen passt:
        "Hauszähler-Verbrauch" - "Hausstrom-Shelly-Verbrauch" = "Wärmepumpen-Shelly-Verbrauch"

        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
        Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
        Linux pve 6.17.9-1-pve
        6 GByte RAM für den Container
        Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
        Remote-Access über Wireguard der Fritzbox

        1 Antwort Letzte Antwort
        0
        • Chris0706C Chris0706

          Hallo zusammen,

          ich weiß nicht genau wo ich die Frage zuordnen soll.. denke aber das es womöglich nur durch ein Skript zu lösen ist.

          Ich habe zwei Shelly 3EM, einmal für den Hausstrom und einmal für die Wärmepumpe. Beide über das Shelly Plugin eingebunden.
          Der Hausstrom läuft ganz normal und spukt mir über das Shelly Verbrauchs-Historie Skript den täglichen Hausverbrauch etc. ohne Probleme aus.

          Bei der Shelly für die Wärmepumpe hingegen, gibt es massive Sprünge in den Werten, die ich auf Probleme bei den Shelly-Werten zurückführen kann.
          Und zwar genauer gesagt, kriege ich vom Plugin/Shelly bei den Verbräuchen Emeter0, Emeter1, Emeter2 sehr oft ein - 1 zurückgegeben anstatt des fortlaufendem Hochzählen:

          56438fa3-1522-41e5-a505-ad2a1c681d62-image.png

          Vom Shelly Support gibts dazu keine Hilfestellung leider.. ein Update auf die neuste Version hat auch nichts gebracht.

          • Gibt es eine Möglichkeit über eine Objekt-Definition zu verhindern, dass überhaupt negative Werte akzeptiert werden? Wäre mir am liebsten..
          • Könnte man ansonsten ein Skript schreiben, dass die negativen Werte sofort wieder aus der Historie rauslöscht? Das Verbrauchs-Historie Skript dürfte da in der Zwischenzeit aber nichts abrufen..

          Grüße
          Chris

          B Offline
          B Offline
          badsnoopy667
          schrieb am zuletzt editiert von
          #4

          @chris0706 said in Shelly 3EM - negative Werte verhindern:

          Gibt es eine Möglichkeit über eine Objekt-Definition zu verhindern, dass überhaupt negative Werte akzeptiert werden? Wäre mir am liebsten..

          Ja, das geht:

          min_wert.png

          Aber das wird dir glaube ich nicht helfen. Weil 0 ist ja genauso falsch wie -1
          Ich würde einen neuen Datenpunkt anlegen und den per Skript füllen mit:
          Wenn Wert > alter Wert dann füllen, sonst nicht.

          MartinPM 1 Antwort Letzte Antwort
          0
          • B badsnoopy667

            @chris0706 said in Shelly 3EM - negative Werte verhindern:

            Gibt es eine Möglichkeit über eine Objekt-Definition zu verhindern, dass überhaupt negative Werte akzeptiert werden? Wäre mir am liebsten..

            Ja, das geht:

            min_wert.png

            Aber das wird dir glaube ich nicht helfen. Weil 0 ist ja genauso falsch wie -1
            Ich würde einen neuen Datenpunkt anlegen und den per Skript füllen mit:
            Wenn Wert > alter Wert dann füllen, sonst nicht.

            MartinPM Online
            MartinPM Online
            MartinP
            schrieb am zuletzt editiert von
            #5

            @badsnoopy667

            Wenn Wert > alter Wert dann füllen, sonst nicht.

            Geht das im Alias-Adapter?

            Gar nichts in den Alias übertragen.

            Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
            Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
            Linux pve 6.17.9-1-pve
            6 GByte RAM für den Container
            Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
            Remote-Access über Wireguard der Fritzbox

            B paul53P 2 Antworten Letzte Antwort
            0
            • MartinPM MartinP

              @badsnoopy667

              Wenn Wert > alter Wert dann füllen, sonst nicht.

              Geht das im Alias-Adapter?

              Gar nichts in den Alias übertragen.

              B Offline
              B Offline
              badsnoopy667
              schrieb am zuletzt editiert von
              #6

              @martinp
              Das weiß ich nicht, den nutze ich nicht.
              Ich hätte das mit einem Blockly Skript erledigt und den neuen Datenpunkt, sagen wir "Shelly3M_Verbrauch_korrigiert" von Hand angelegt.

              1 Antwort Letzte Antwort
              0
              • MartinPM MartinP

                @badsnoopy667

                Wenn Wert > alter Wert dann füllen, sonst nicht.

                Geht das im Alias-Adapter?

                Gar nichts in den Alias übertragen.

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

                @martinp sagte: Gar nichts in den Alias übertragen.

                Das ist nicht möglich.

                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
                • Chris0706C Offline
                  Chris0706C Offline
                  Chris0706
                  schrieb am zuletzt editiert von
                  #8

                  Danke für die Inputs.

                  Die Shellys zu tauschen ist leider ein etwas größerer Akt, deswegen würde ich das gerne vermeiden.
                  Den richtigen Stromverbrauch am Zähler mit dem Shelly zu vergleichen hab ich noch nicht gemacht. Will den Shelly auch garnicht als Zähler verwenden, sondern einfach erfassen an welchen Tagen ich mehr oder weniger verbraucht habe. Die Kalibierung ist mir zu aufwendig.
                  Hausstrom und Wärmepumpen-Strom haben komplett getrennte Zähler, deswegen kann ich es auch nicht gegen rechnen.

                  Das mit dem 'ignoriere Werte kleiner als' in der History hab ich schon probiert, das half nicht. Aber ich teste mal ob es vielleicht was bringt 'Min' im Objekt zu definieren. Was passiert denn wenn hier dann -1 reportet wird? Wir der Wert ignoriert oder wird er zu 0?

                  Den Alias-Adapter muss ich mir mal anschauen. Mein Problem mit einem extra Datenpunkt ist, dass ich dann auch das Shelly Verbrauchs-Historie Skript anpassen müsste, damit er für nur den einen Shelly einen anderen DP für die Auswertung benutzt. Da wollte ich mich eigentlich noch nicht reinfuchsen..

                  B CodierknechtC 2 Antworten Letzte Antwort
                  0
                  • Chris0706C Chris0706

                    Danke für die Inputs.

                    Die Shellys zu tauschen ist leider ein etwas größerer Akt, deswegen würde ich das gerne vermeiden.
                    Den richtigen Stromverbrauch am Zähler mit dem Shelly zu vergleichen hab ich noch nicht gemacht. Will den Shelly auch garnicht als Zähler verwenden, sondern einfach erfassen an welchen Tagen ich mehr oder weniger verbraucht habe. Die Kalibierung ist mir zu aufwendig.
                    Hausstrom und Wärmepumpen-Strom haben komplett getrennte Zähler, deswegen kann ich es auch nicht gegen rechnen.

                    Das mit dem 'ignoriere Werte kleiner als' in der History hab ich schon probiert, das half nicht. Aber ich teste mal ob es vielleicht was bringt 'Min' im Objekt zu definieren. Was passiert denn wenn hier dann -1 reportet wird? Wir der Wert ignoriert oder wird er zu 0?

                    Den Alias-Adapter muss ich mir mal anschauen. Mein Problem mit einem extra Datenpunkt ist, dass ich dann auch das Shelly Verbrauchs-Historie Skript anpassen müsste, damit er für nur den einen Shelly einen anderen DP für die Auswertung benutzt. Da wollte ich mich eigentlich noch nicht reinfuchsen..

                    B Offline
                    B Offline
                    badsnoopy667
                    schrieb am zuletzt editiert von
                    #9

                    @chris0706 said in Shelly 3EM - negative Werte verhindern:

                    Das mit dem 'ignoriere Werte kleiner als' in der History hab ich schon probiert, das half nicht. Aber ich teste mal ob es vielleicht was bringt 'Min' im Objekt zu definieren. Was passiert denn wenn hier dann -1 reportet wird? Wir der Wert ignoriert oder wird er zu 0?

                    Der Wert wird dann zu 0 gesetzt, daher glaube ich ja nicht, dass das hilf.

                    Den Vergleich sollst Du nicht in der History machen, das bringt nix. Du musst einen neuen Datenpunkt anlegen und den nur befüllen wenn Wert > vorheriger Wert

                    1 Antwort Letzte Antwort
                    0
                    • Chris0706C Chris0706

                      Danke für die Inputs.

                      Die Shellys zu tauschen ist leider ein etwas größerer Akt, deswegen würde ich das gerne vermeiden.
                      Den richtigen Stromverbrauch am Zähler mit dem Shelly zu vergleichen hab ich noch nicht gemacht. Will den Shelly auch garnicht als Zähler verwenden, sondern einfach erfassen an welchen Tagen ich mehr oder weniger verbraucht habe. Die Kalibierung ist mir zu aufwendig.
                      Hausstrom und Wärmepumpen-Strom haben komplett getrennte Zähler, deswegen kann ich es auch nicht gegen rechnen.

                      Das mit dem 'ignoriere Werte kleiner als' in der History hab ich schon probiert, das half nicht. Aber ich teste mal ob es vielleicht was bringt 'Min' im Objekt zu definieren. Was passiert denn wenn hier dann -1 reportet wird? Wir der Wert ignoriert oder wird er zu 0?

                      Den Alias-Adapter muss ich mir mal anschauen. Mein Problem mit einem extra Datenpunkt ist, dass ich dann auch das Shelly Verbrauchs-Historie Skript anpassen müsste, damit er für nur den einen Shelly einen anderen DP für die Auswertung benutzt. Da wollte ich mich eigentlich noch nicht reinfuchsen..

                      CodierknechtC Online
                      CodierknechtC Online
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von Codierknecht
                      #10

                      @chris0706 sagte in Shelly 3EM - negative Werte verhindern:

                      Den Alias-Adapter muss ich mir mal anschauen

                      Nicht den Adapter.
                      Aliase lege ich lediglich im Objektbaum unterhalb von alias.0 an.

                      Mein Problem mit einem extra Datenpunkt ist, dass ich dann auch das Shelly Verbrauchs-Historie Skript anpassen müsste, damit er für nur den einen Shelly einen anderen DP für die Auswertung benutzt. Da wollte ich mich eigentlich noch nicht reinfuchsen#

                      Im SQL-Adapter kann ich eine andere DP mitgeben, mit der geloggt wird. Das kann dann die "alte" ID des Shelly sein. So müsste man im Log nix ändern.

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      MartinPM 1 Antwort Letzte Antwort
                      0
                      • CodierknechtC Codierknecht

                        @chris0706 sagte in Shelly 3EM - negative Werte verhindern:

                        Den Alias-Adapter muss ich mir mal anschauen

                        Nicht den Adapter.
                        Aliase lege ich lediglich im Objektbaum unterhalb von alias.0 an.

                        Mein Problem mit einem extra Datenpunkt ist, dass ich dann auch das Shelly Verbrauchs-Historie Skript anpassen müsste, damit er für nur den einen Shelly einen anderen DP für die Auswertung benutzt. Da wollte ich mich eigentlich noch nicht reinfuchsen#

                        Im SQL-Adapter kann ich eine andere DP mitgeben, mit der geloggt wird. Das kann dann die "alte" ID des Shelly sein. So müsste man im Log nix ändern.

                        MartinPM Online
                        MartinPM Online
                        MartinP
                        schrieb am zuletzt editiert von
                        #11

                        Dass die eine Hardware zwischendurch "komische" Werte liefert, während ein baugleiches anderes Exemplar korrekt funktioniert sollte erstmal zu Denken geben ...

                        Von da her würde ich erstmal prüfen, ob die Werte, die der Wärmepumpen-Shelly liefert überhaupt stimmen.

                        Daneben sollte ggfs. auch noch einmal überprüft werden, ob die Installation des WP-Shelly korrekt erfolgt ist. (Stromwandler richtig herum installiert, keine Vertauschungen)

                        Falls das alles schon erfolgt ist, kann man dann als letzte Möglichkeit versuchen, die "faulen Eier" bei den Messwerten auszusortieren ...

                        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                        Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                        Linux pve 6.17.9-1-pve
                        6 GByte RAM für den Container
                        Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                        Remote-Access über Wireguard der Fritzbox

                        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

                        678

                        Online

                        32.6k

                        Benutzer

                        82.3k

                        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