NEWS
Shelly Pro EM: WANTED Power_Today und Power_Total
-
Moin,
ich habe im Sicherungskasten der Wohnung diesen Shelly-Stromzähler eingebaut: Shelly Pro EMDie Shely-Instanz im iobroker ist mit dem Shelly Pro EM über MQTT verbunden. Das funktioniert auch. Ich erhalte Daten, u.a. die aktuelle Power in Watt. So kann ich jederzeit im iobroker auslesen, wieviel Watt Leistung ich aktuell aus dem öffentlichen Netz beziehe bzw. wieviel Watt ich in das öffentliche Netz einspeise. So weit so gut.
Leider fehlen ein paar nützliche Daten. So würde ich im ioBroker gerne auch die beiden folgenden Daten nutzen können:
Power_Today -> akkumulierte Leistung des aktuellen Tages
Power_Total -> akkumulierte Leistung über den gesamten Zeitraum, den das Gerät läuft.Diese beiden Variablen sind im iobroker unter "Objekte" in den Ordnern des verknüpften Shelly Pro EM leider nicht verfügbar.
Hat jemand vielleicht eine Idee, ob es für diese Frage eine Lösung gibt?
Was kann ich tun, um diese Daten vom Shelly Pro EM abzurufen.Hintergrund: Angeblich sammelt der Pro EM diese Daten. So zumindest verstehe ich das, was in der folgenden Anleitung von Shelly steht:
https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen2/ShellyProEMVielen Dank im voraus. Und mit besten Grüßen,
Rüdiger -
@ru
WENN der Shelly selbst diese Daten bereithält, kann man (tm) das sicher in den Adapter einbauen.In dem Fall bitte Issue beim Shelly Adapter aufmachen und am besten gleich verlinken wo du gesehen hast dass das Device diese Daten ermittelt bzw. wieso du glaubst dass das Device diese Daten lokal ermittelt. Betonung liegt auf Device - falls die Cloud von Shelly was für die App berechnet ist das nicht im Adapter auswertbar.
Und nein - der Adapter sollte (und wird m.E.) keine eigenständigen Berechnunge durchführen.
-
@mcm1957 Hi, danke erstmal für Deine Antwort.
Also im Shelly Gerät "Pro EM" sehe ich die Angabe von Power_Today oder Power_Total nicht. Nun, ich hatte diese Anleitung von Shelly zu dem Gerät Pro EM verlinkt (siehe Link im ersten Post), weil ich dort irgendwo einen Hinweis entdeckt hatte zum Abruf von Daten. Nun habe ich noch einmal nach irgend einer Datenvariable gefortscht, die so etwas wie die kumulierte Tagesleistung bzw. die kumulierte Leistung über den Gesamtzeitraum enthält. Aber nichts gefunden. Vielleicht habe ich von meinem Wunsch in Verbindung mit der Tatsache in die Irre führen lassen, dass man diese Werte sehr wohl erhält, wenn man das Gerät "Pro EM" mit der Shelly App verknüpft. Wieso kann man dort den Tagesverbrauch sehen, wenn das Gerät diesen nicht liefert?
Im iobroker berechne ich den Tagesverbrauch nun behelfsmäßig selbst. Aber wirklich zufrieden macht einen das nicht. Lieber wäre es mir, wenn ich diese Daten im iobroker direkt vom Shelly erhalten könnte, so wie das bei Tasmota-Steckdosen und bei den Hoymiles-Mikrowechselrichtern über die Data Transfer Unit (DTU) ohne Probleme möglich ist.
Kurzum: Ich suche immer noch eine Lösung auf die Fragen, ob und ggf. wie ich dem Shelly Pro EM beibiegen kann, mir über MQTT pro Tag einen Tages-Verbrauchswert und einen kumulierten Verbrauchtswert für die bisherige gesamte Laufzeit zu liefern.
So berechne ich die Variable "Tagesverbrauch" im iobroker:
Definitionen:
Variable L = jüngster Wert des laufenden Verbrauchs in Watt zum Zeitpunkt t
Variable K = kumulierter Verbrauch in Watt zum Zeitpunkt t
5 s = 5 Sekunden entsprechen dem Intervall, in dem ich einen neuen Messwert der Leistung in Watt erhalte
W = Watt
W/s = Watt pro SekundeFunktion:
K(t) W/s = K(t-1) W * 5 s + L(t) W/sAnmerkung: Leider kann man hier keine Indizes formatieren. Deshalb nutze ich im Folgenden eine Schreibweise mit Klammen: z.B. K(t-1), das ist zu lesen als "Der Wert der Variablen K zum Zeitpunkt (t - 1)". Dabei ist t - 1 der letzte Zeitpunkt vor dem aktuellen Zeitpunkt (t)
Nun, das Problem ist, dass ich annehme, dass ein Leistungs-Messwert in Watt immer genau 5 Sekunden anliegt. Das ist natürlich nicht wirklich exakt. Doch das Ergebnis sollte zumindest eine gute Annäherung an den tatsächlichen Leistungs-Verbrauchs-Wert sein.
-
@ru
Sieht so aus als wäre das Problem mit diesem Issue erfasst:
https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/1070 -
@ru sagte: annehme, dass ein Leistungs-Messwert in Watt immer genau 5 Sekunden anliegt. Das ist natürlich nicht wirklich exakt.
So kann man es unabhängig von der Aktualisierungszeit berechnen:
const idPower = '...'; // in W const idEnergy = '0_userdata.0.Elektro.Gesamt.Energie'; // Zählerstand in kWh var energy = getState(idEnergy).val; on(idPower, function(dp) { energy += dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 3600000000; setState(idEnergy, Math.round(energy * 100) / 100, true); });
-
@paul53
Moin paul53, vielen Dank für die Tipps für die Berechnung eines energy_today-Werts. Das werde ich mal ausprobieren.
Ru -
@mcm1957
Moin mcm1957, ich habe mir diese Sachen auf github angeschaut. Ja, es sieht so aus, als ob jemand die Funktion für seinen Shelly Pro50EM umgebaut hat.Das Backend meines Shelly Pro EM kann ich via WLAN öffnen. Dort kann man auch irgendwelche Adons, Skripte oder Komponenten definieren. Ich hatte gehofft, dass man an diesen Stellen dem Shelly Pro EM vielleicht beibringen kann, solche Daten wie energy_today oder energy_total beizubringen. Ob man über das Backend des Shelly Pro EM z.B. an die Funktion rankommt, die in dem github-post erwähnt ist, den Du gefunden und verlinkt hast, kann ich nicht einschätzen. Vermutlich ist mein Wunsch ein paar Nummern zu groß für meine limitiertes Verständnis für Programmierung etc.
Beste Grüße, Rüdiger
-
@ru sagte: Berechnung eines energy_today-Werts.
Das ist die Berechnung des kumulierten Energiewertes. Für die Ermittlung von Periodenwerten kann der Sourceanalytix-Adapter verwendet werden.
-
@paul53 sagte in Shelly Pro EM: WANTED Power_Today und Power_Total:
Sourceanalytix-Adapter
Vielen Dank für den Tipp. So einen Adapter bietet mir iobroker (v7.4.10) leider gar nicht an.
-
@ru sagte: So einen Adapter bietet mir iobroker (v7.4.10) leider gar nicht an.
Der Adapter ist noch nicht im Stable-Repository. Stelle mal auf Beta um und nach Installation wieder zurück auf Stable.
-
@paul53 ok ich habe den Adapter gefunden und installiert. Dafür muss man allerdings erst diese Schritte eröedigne:
- In den Systemeinstellungen unter dem Reiter "Repositories" auf "Beta" umstellen
- In den Adaptern nach "Sourceanalytix" sucnen und den Adapter installieren
- In den Systemeinstellungen unter dem Reiter "Repositories" am besten wieder auf "Stable" zurückstellen. Die installierte Instanz "Sourceanalytix" lässt sich trotzdem nutzen.
-
@paul53 Vielen Dank. Ich habe gerade erst Deinen Hinweis auf "Beta" gesehen. Nun gut, ich probiere die sourceanalytix Instanz aus.