NEWS
Shelly 3EM - negative Werte verhindern
-
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: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 -
@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 Lesenval >= 0 ? val : 0
Beim SQL-Adapter geht sowas:
Keine Ahnung, ob History das auch anbietet. -
@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" -
@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:
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. -
Wenn Wert > alter Wert dann füllen, sonst nicht.
Geht das im Alias-Adapter?
Gar nichts in den Alias übertragen.
-
@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. -
@martinp sagte: Gar nichts in den Alias übertragen.
Das ist nicht möglich.
-
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..
-
@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
-
@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 vonalias.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.
-
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 ...