NEWS
Shelly Verbrauchs-Historie für Tag, Woche, Monat, Jahr
-
@spacerx Danke vielmals. Läuft bisher scheinbar soweit gut.
Welche Werte protokolliert ihr mit Influx/History/SQL oder was auch immer? Aus meiner Sicht den "heute"-Wert. Korrekt?
-
@iobaer schau mal paar Beiträge höher. Ich favorisiere den Gesamtverbrauch. Damit lässt sich in meinem Fall hinterher flexibler weiter berechnen.
-
Hallöchen, erstmal Herzlichen Dank für das Bereitstellen dieses Skript's.
Ich habe dies bei mir implementiert. Datensätze unter 0.Userdata wurden angelegt und mit den Werten gepflegt.Was aber nicht geht ist das die Werte nach 23:59 zurückgesetzt werden. Woran kann das liegen?
-
@ingranu Ich wills noch mal bekunden: das Skript ist nicht von mir, ich hab darin nur rumgebastelt um die Datenpunkte unter 0_userdata.0. anzulegen.
Ich weiß jetzt nicht was du mit dem dem zurücksetzen meinst.
Für mich sieht dein Screenshoot so OK aus. Völlig plausibel.
Die Werte für heute müssen zurück gesetzt werden, weil Heute um 23:59 ja zu Gestern wird.
Wenn deine Lampen dann Heute noch nicht eingeschalten waren, bleibt der Wert auch bei 0.
Vielleicht verstehe ich deinen Einwand auch nicht richtig. -
@spacerx
Sorry hatte mich überschaut Es klappt alles bestens danke!Es wäre super wenn es eine Zeile geben würde der alle tägliche Verbräuche addieren würde und in eine Zeile schreiben würde.
Tägliche Verbrauch alles Shellys zusammen -
@ingranu Na das macht doch ein simples Blockly auch und das ist Schnell zusammen gestrickt.
Bedenke, wenn du 5 Messungen zusammen zählst, wirst du alle Messabweichungen auch zusammen zählen.
Besser wäre es natürlich gleich eine Messstelle wie zum Beispiel einen Shelly 3EM in die Hausverteilung einzubauen.
Der Shelly 3EM hat bei mir über 8 Monate etwa 16kW Messabweichung bei einer Gesamtzählung von 2500kW verursacht. -
Funktioniert das Skript auch mit anderen DPs (z.b. eigene DPs), die zudem keine kwh Werte haben.
Ich denke, da an Selbstverbrauchs-Angaben in %. Das würde ich gerne kumuliert jeweils für jeden Tag, Monat und Jahr tracken.
Mit Sourceanalytics geht das m.W. nämlich nicht. Wäre daher super, wenn es mit diesem Skript ggf mit kleinen Anpassungen gehen würde. -
Hallo zusammen
Ich benutze seit einiger Zeit das Script und bin sehr zufrieden.
Nun habe ich bei mir Shelly Plus1 PM verbaut, da diese mit MQTT laufen habe ich eine zweite Instanz mit dem Adapter Shelly.1 am laufen.Wie kann ich das Script nun anpassen damit auch diese Werte aufgenommen werden? Kann ich das so machen:
// Datenpunkt der Shelly (Standard: shelly.0) var shelly_dp = "shelly.0"; var shelly_dp = "shelly.1";
-
@ingranu
Nein, pro Instanz 1 Skript -
@ticaki ok danke
-
@ticaki Kann ich einfach nochmals das Script kopieren und dann:
// Datenpunkt der Shelly (Standard: shelly.0) var shelly_dp = "shelly.1";
So einstellen? Oder gibt das Probleme mit den bestehden Ordner 0_userdata ?
-
@ingranu
Ich kann mir das Script in 2h ansehen, es wird wahrscheinlich zu durcheinander führen wenn die beide den gleichen Ordner nutzen, denke mit geringfügigen Anpassungen sollte das gehen. Schaue ich mir an. -
@ingranu Wenn du auf die Instanz 1 per MQTT nur die empfängst, die du bei Instanz 0 nicht hast, kannst du dies so machen.
-
@skb Ja genau, also auf Instanz1 habe ich nur die MQTT device und auf Instanz 0 den rest.
Wie kann ich das nun machen?Für beide jeweils einen Script nehmen, oder nur einen Script und den wie folgt anpassen:
// Datenpunkt der Shelly (Standard: shelly.0) var shelly_dp = "shelly.0"; var shelly_dp = "shelly.1";
-
@ingranu für jede Instanz ein Script. Einmal shelly.0 und einmal shelly.1 in dem Script eintragen.
Vorausgesetzt das kein Shelly mit beiden Instanzen verbunden ist sollte es unter ShellyVerbrauch auch keine Konflikte geben.
Wenn du sicher gehen willst kannst du auch Instanz 0 unter dem Zweig Shelly Verbrauch_0 und für die zweite Instanz 1 unter ShellyVerbrauch_1 abspeichern. -
@ingranu Für jede Instanz ein Skript und jeweils shelly.0 und Shelly.1
-
Ok habe ich so gemacht, die Werte werden auch geschrieben.
Jedoch habe ich im Protokoll folgende Meldung:172 Log-Größe: 129.4 KB Zeit Nachricht javascript.0 2023-08-02 16:00:00.155 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56) javascript.0 2023-08-02 16:00:00.155 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1255:38) javascript.0 2023-08-02 16:00:00.155 warn getState "0_userdata.0.ShellyVerbrauch.SHPLG-S#7C87CEBA3D58#1.Relay0.heute" not found (3) javascript.0 2023-08-02 16:00:00.154 warn at processImmediate (node:internal/timers:476:21)
Das Gerät mit der ID: 7C87CEBA3D58 Gibt es aber garnicht.
-
@ingranu unter beiden Instanzen nicht?
Vielleicht eine Leiche von vorherigen Tests?
Skript stoppen, Datenpunkt löschen, Skript starten.
-
@skb Nein nur unter einer Instanz. Habe auch alles gelöscht und das Skript neugestartet ohne Erfolg.
Kann ich über das Terminal direkt was löschen ? -
@ingranu Ich denke, es ist besser, sogar in Zeile 26 im Skript, den Speicherort
// Hauptdatenpunkt unterhalb javascript var datenpunkt = "ShellyVerbrauch."; // Abschließender Punkt !!! WICHTIG !!!
für die jeweilige Instanz anzupassen, da sich die Skripte sonst ggf. auch in die Quere kommen können.
Also in einem Skript:
var datenpunkt = "ShellyVerbrauch."; // Abschließender Punkt !!! WICHTIG !!!
und
var datenpunkt = "ShellyVerbrauchIrgendwas."; // Abschließender Punkt !!! WICHTIG !!!
im anderen Skript.