Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Shelly 3EM - negative Werte verhindern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Shelly 3EM - negative Werte verhindern

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Chris0706 last edited by Codierknecht

      @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.

      1 Reply Last reply Reply Quote 1
      • MartinP
        MartinP @Chris0706 last edited by

        @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"

        1 Reply Last reply Reply Quote 0
        • B
          badsnoopy667 @Chris0706 last edited by

          @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.

          MartinP 1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @badsnoopy667 last edited by

            @badsnoopy667

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

            Geht das im Alias-Adapter?

            Gar nichts in den Alias übertragen.

            B paul53 2 Replies Last reply Reply Quote 0
            • B
              badsnoopy667 @MartinP last edited by

              @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 Reply Last reply Reply Quote 0
              • paul53
                paul53 @MartinP last edited by

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

                Das ist nicht möglich.

                1 Reply Last reply Reply Quote 0
                • Chris0706
                  Chris0706 last edited by

                  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 Codierknecht 2 Replies Last reply Reply Quote 0
                  • B
                    badsnoopy667 @Chris0706 last edited by

                    @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 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @Chris0706 last edited by 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.

                      MartinP 1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @Codierknecht last edited by

                        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 ...

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.0k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        5
                        11
                        1517
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo