Virtuelle Meßstelle - Fragen zur Funktionsweise

Hallo Dr.Niels,
bei der Suche nach einer Optimierung der Anzeigemöglichkeiten meiner Energieverbräuche bin ich auf das Modul „Virtuelle Meßstelle“ gestoßen. Ich habe dieses installiertund auch gleich eingebunden.
Leider funktioniert das Modul scheinbar anders, als ich dies nach dem ersten Durchlesen der Dokumentation gedacht habe :open_mouth:

Mein erster Anwendungsfall wäre folgender: Ich habe den Ertragswert (Momentanleistung) einer PVA auf einer Variablen A und den Gesamtverbrauch im Haus auf einer anderen Variablen B. Jetzt wollte ich zunächst gern die Einspeiseleistung ermitteln (A - B). Der „positive“ Gesamtwert wäre interessant - daher habe ich gedacht, das Modul passt. Aber - scheinbar werden nur positve Veränderungen des Ergebnisses der Variablen A und B verwendet - korrekt? Damit ist das Modul an dieser Stelle leider nicht passend.

Mein zweiter Anwednungsfall - über welchen ich überhaupt auf das Modul gestoßen bin, ist aber der eigentliche Ausgangspunkt. Ich habe eine PVA1 und eine PVA2. Aufgrund der neuen gesetzlichen Regelungen will ich aber nun gern einen „Virtuellen Summenzähler“ in IPS aufbauen, bevor ich mit diesem Ansinnen zum Netz- und Meßstellenbetreiber renne.

Für PVA1 und PVA2 habe ich jeweils Bezug und Einspeisung verfügbar (also B1/E1 und B2/E2).
Um eine virtuelle Messstelle korrekt zu bilanzieren, müsste ich jetzt m.E. zwei Kanäle/Variablen berechnen:
Kanal 1: Bezug gesamt = B1 + B2 - E1 - E2, wenn Gesamtwert > 0
Kanal 2: Einspeisung gesamt = E1 + E2 - B1 - B2, wenn Gesamtwert > 0

D.h., nur positive Gesamtwerte der einzelnen Kanäle wären zu addieren - aber dabei sind immer alle Momantanwerte aller beteiligten Variablen bei der Berechnung zu beachten.

Ich gehe mittlerweile davon aus, dass genau dieser Anwendungsfall abgebildet wird - korrekt?
Dann müsste ich quasi zwei Meßstellen mit den o.a. Berechnungsvorschriften erstellen.

ABER: für eine der Meßstellen liegen mir keine kumulierten Absolutwerte vor, sonden jeweils nur Tageszählerwerte. Kann das irgendwie berücksichtigt werden?
NACHTRAG: das ist für beide PVA’S so; die Variablen laufen als Zähler zu kumulierenden Tageswerten… Damit müsste der virtuelle Zähler auch je Tag neu gestartet werden?

Ein denkbarer dritter Anwendungsfall wäre, einfach den negativen Absolutwert einer Variable auf eine neue Variable abzbilden. Dann könnte ich z.B. den vorliegenden Wert für den Hausanschluss, der Überschuss und Bezug enthält (Bezug = negativ) auch einfach splitten und separat darstellen. Aber das widerspricht dem Gedanken eines Summenzählers…

Schon mal vielen Dank im Voraus für eine Rückantwort und Manöverkritik, vielleicht sind meine Überlegungen zum zweiten (und in meinen Augen wichtigsten) Anwendungsfall ja auch total falsch…

Macht es Sinn, ggf. über ein zusätzliches Modul zur Ableitung von Werten bei Änderung einer Hauptvariable nachzudenken?

Hallo @Dr.Niels ,
nachdem ich jetzt denke, die Basisdaten für die Erstellung einer virtuellen Messtelle alle korrekt zusammen zu haben und nachdem ich diese jetzt noch einmal neu eingerichtet habe, bekomme ich nach der Neugenerierung der Werte zunächst einmal sinnvolle Werte heraus:


Nachdem dann allerdings der erste durch die virtuelle Meßstelle selbst erzeugte Wert ermittelt und eingetragen wurde, sieht das ganze komplett anders aus und ermittelt mir (einmalig) einen unplausiblen Wert:

Im Archiv sieht das ganze folgendermassen aus:
grafik
Der Sprung ist rein mathematisch erklärbar, wenn alle Basisdaten der virtuellen Meßstelle zum dann aktuellen Zeitpunkt zusammengerechnet werden und der bis dahin ermittelte Zählerstand der Messstelle noch hinzugerechnet wird. Ich gehe aber davon aus, dass lediglich eine Differenzbetrachtung vorzunehmen wäre… Alternativ müsste ich den Summenzähler so einrichten, dass alle Vergangenheitswerte ab dem ersten geloggten Wert der Basisdaten berechnet werden müssten…? Das geht aber nicht, weil nicht alle Daten ab dem gleichen Zeitpunkt geloggt werden.
Schon mal vielen Dank vorab für jedwedes Feedback!

ich habe mir noch einmal Gedanken gemacht zum Thema. Eigentlich sollte es reichen, wenn das System bim ersten Wert, der für den Summenzähler angelegt wird, den „virtuellen Startwert“ ermittelt und in einer zusätzlichen Variable ablegt. Dieser Wert müsste dann „nur“ noch von jeder erneuten Berechnung abgezogen werden. Bei der Ermittlung der Vergangenheitswerte wird scheinbar dieser Wert nicht benötigt…
Diese Logik könnte dann ggf. auch bei Austausch eines Zählers verwendet werden, wenn einer der Zähler wieder „genullt“ werden müsste und ein alter Zählerstand zu dokumentieren ist.

Ich hänge jetzt nicht vollständig in dem Modul drin, aber ich vermute, dass das ganze mit der Zählerlogik von IP-Symcon zu tun hat. Allgemein gilt: Werden Variablen als Zähler geloggt, werden positive Deltas geloggt. Wenn du also beispielsweise innerhalb einer Stunde von 5 auf 10 ansteigst, dann auf 0 zurücksetzt und wieder bis 3 ansteigst, wären die positiven Sprünge 5 (von 5 auf 10) und 3 (von 0 auf 3), also würde für die Stunde ein Wert von 8 gelten.

So werden zumindest die aggregierten Werte wie im Graphen dargestellt. Rohdaten werden abgespeichert wie sie kommen. Das erklärt auch, warum in deinem Graphen der Wert bei ca. 6530 liegt (ungefähr 7165 - 654), was halt die Differenz darstellt. Was vielleicht leicht zu übersehen ist: Da ist ein Faktor 10 in dem Sprung. Bis 9:57 - 654,37 haben die Zahlen 3 Stellen, danach 4, was natürlich einen gewaltigen Sprung darstellt, wo auch immer der herkommt.

Wenn das alles nicht passt, dann poste gerne nochmal deine Rohdaten und hol aus, was du erwartet hättest. Für mich sieht das auf den ersten Blick aber so aus, als wenn das Modul korrekt funktioniert.

Hallo @Dr.Niels ,
erst mal danke für die Rückantwort. Anbei versuche ich die Basisdaten der beteiligten Variablen aus dem Dezember zu posten. Wie der Sprung entsteht, ist mir vollkommen klar - es werden eben die aktuellen Messwerte zu dem Zeitpunkt gegeneinander verrechnet. Die Werte bis 09:57 sind über die Funktion „Füge vergangene Werte hinzu“ - vom 01.12. bis zum „jetztigen Zeitpunkt“ entstanden. Um 10:00:42 wurde das erste mal die (Basis-) Variable der Messtelle geändert - und daher ergibt sich aus den dann aktuellen Werten die 7165,16. Der Sprung müsste aber m.E. nicht zum „ersten intern berechenten Wert“ der Messstelle entstehen, sondern ggf. zum allerersten vorhandenen Wert (also zum ersten berechnetet am 1.12. - oder eben gar nicht - weil es sich ja um eine Differenzbetrachtung der Basiswerte handelt. Ich hoffe, ich habe mich verständlich ausgedrückt :confused:
Meiner Meinung nach würde es Sinn machen, diesen „globalen Startzählerstand“ der virtuellen Schnittstelle noch auf einer weiteren internen Variable zu hinterlegen, weil dieser ja nicht wirklich in der Historienbetrachtung darzustellen ist.
Bei Rückfragen stehe ich gern zur Verfügung - ich würde euch auch Zugang zu meinem System gebem wenn das sinnvoll ist.
vms_daten.zip (35,5 KB)

Ach so - die Variablen werden wir folgt in der VMS verrechnet:

59534 (PVA1 Bezug total)
+ 17585 (PVA2 52 Bezug total)
- 53677 (PVA1 Einspeisung total)
- 14321 (PVA2 53 Einspeisung total)

Schon mal vielen Dank vorab!
Gruss - uku69

Hallo @Dr.Niels ,
ich muss mich leider noch einmal zum Thema der virtuellen Messstelle melden. Entweder habe ich einen Denkfehler im Hirn, oder das Modul regiert anders als erwartet.
Hier mal win Diagramm mit der Übersicht der Einzelwerte meiner PVA’s:


Die beiden hellgrünen Kurven stellen die Einspeisung ins Netz dar, die hellroten den Bezug je Anlage und die dunkelrote den Bezug gersamt. Eigentlich hätte ich jetzt erwartet, dass sich auf der virtuellen Messstelle „Einspeisung total“ über Mittag ein Einspeisewert ergibt - aber das ist nicht der Fall. Hier die Definition der VM:

Was mache ich falsch?
Hier das Diagramm der VM:

Gruss - uku69.

Dein Bezug scheint ja höher als deine Einspeisung zu sein, damit kommt halt kein posiviter Wert zustande und die virtuelle Messstelle bleibt bei 0. Das Modul „merkt“ sich auch die bisherige Differenz, damit bleibt es auch gegen 11, wenn die Einspeisung mal hoch geht, auf 0.

Hallo @Dr.Niels - zunächst mal danke für sie schnelle Antwort aber: …nun, das stimmt m.E. so nicht. Im Zeitraum von ca. 9:30 bis ca. 11:30 habe ich definitiv eine Einspeisung - der Bezug liegt hier bei 0 und wird vor der Einspeisung von Strom ins öffentliche Netz durch Eigenverbrauch gedeckt. Demzufolge erwarte ich von der virtuellen Messstelle für meine „Einspeisung“ in diesem Zeitraum auch, dass die entsprechende Einspeisung dort registriert und dargestellt wird. Es geht hier ja nicht um „totalen“ Bezug+Einspeisung je Tag oder noch längere Zeiträume, sondern um Bezug und Einspeisung je Zeiteinheit, wenn ich das richtig verstanden habe. Andernfalls würde die Bilanzierung der Verbräuche/Einspeisungen der virtuellen Meßstellen nicht für Auswertungen und Abrechnungszwecke verwendet werden können…? Und die Zeiteinheit wird - sofern ich das verstanden habe - ja von der Änderungen des „Leitmerkmals“ der primären Meßstelle abgeleitet. Je Änderung des Wertes an dieser Stelle sollten doch die abhängigen Änderungen verrechnet werden - oder sehe ich das falsch?

Vielleicht sind deine Variablenbenennungen für mich irreführend aber müsstest du nicht die Einspeisung minus des Verbrauch rechnen und nicht so wie bei dir minus totaler Netzbezug?

Gruß
Stephan

Hallo da8ter,
ja, das mit den Variablenbenennungen ist schwierig.
Hier noch mal die Aufstellung meiner Variablen und Einstellungen für die virtuellen Meßstellen:
PVA 1 - Bezug
PVA 1 - Einspeisung
PVA 2 - Bezug
PVA 2 - Einspeisung
Dabei gilt für alle: Es sind „totale“ Zähler, die fortlaufend geführt werden und bei denen kein „Rücksetzen“ je Tag erfolgt - das war die erste Herausforderung, da ich für die PVA1 eigentlich nur Tageswerte habe. Das habe ich aber über das Modul „Zählerspung“ mit einer eigenen Anpassung der Berechnungsvorschrift gut gelöst.
Dann benötige ich zwei virtuelle Meßstellen:
PVA Gesamt Bezug =
PVA 1 Bezug +
PVA 2 Bezug -
PVA 1 Einspeisung -
PVA 2 Einspeisung

PVA Gesamt Einspeisung =
PVA 2 Einspeisung +
PVA 1 Einspeisung -
PVA 2 Bezug -
PVA 1 Bezug

PVA 1 Bezug ist die Einzelkenngröße mit der größten Änderung im Bezug und damit die Primäre Messstelle für den Bezug - und gleiches gilt für die PVA2 Einspeisung als Primäre Meßstelle.

Den realen Verbrauch kann ich bei einer Abbildung der Werte als virtuelle Meßstelle gegenüber dem Netzbetreiber nicht verwenden, da in diesen ja auch der Eigenverbrauch des erzeugten Stromes eingeht. Da ich aber die Überschüsse der PVA2, die i.d.R. höher sind als bei PVA1, gern „selbst“ im Subnetz der PVA1 verbrauchen möchte (und umgekehrt), will ich zunächst einmal für mich bilanzieren, was bei der Nutzung virtueller Summenzähler als Endergebnis da steht, bevor ich hiermit an meinen Netzstellenbetreiber herantrete…

Ach so - noch zur Ergänzung. Im Stromnetz wird wohl alle 15 minuten bilanziert, meine Werte laufen derzeit alle 5 Minuten ein… aber da fällt mir gerade auf, dass es einen Unterschied im Zeitmanagement zwischen PVA1 und PVA2 geben könnte - das werde ich direkt noch mal prüfen…

Kann natürlich sein, dass ich eine falsche Vorstellung von der Bilanzierung habe oder dass meine Formeln falsch sind, aber ich lasse mich gern belehren, wenn es jemand besser weiß.
Das Ziel der ganzen Aufwendung sollte jedenfalls ersichtlich sein.

Danke vorab für jede Art Kommentar zum Thema!
Gruss - Uwe.

Dann hilft dir die Virtuelle Messstelle leider nicht für deinen Anwendungsfall, da diese sich die negative Differenz halt merkt bis diese aufgebraucht wird und nicht nach bestimmten Zeiten zurückgesetzt wird. Die Motivation ist hier, dass die Zähler ja möglicherweise nicht synchron laufen und beispielsweise zu verschiedenen Zeitpunkten aktualisiert werden.

Wenn deine Zähler synchron laufen, dann kannst du dir das vielleicht via Rechenmodul oder Ablaufplan zusammenbasteln. Da kannst du simpel und einfach A + B - C - D rechnen und bei Änderung einer Variablen aktualisieren.

Hallo @Dr.Niels ,
…dann erst mal danke für die Antwort. Das muss ich jetzt erst einmal ein wenig sacken lassen und dann prüfen, wie ich hiermit weitermache… Das ist zwar eigentlich nicht das, was ich unter einer „virtuellen Meßstelle“ verstehe, aber das ist zunächst einmal mein Problem…
Im Sinne von virtuellen Meßstellen für den Bezug von Elektroenergie müssten die Zähler alle 15 Minuten die dann jeweils aktuellen Werte verrechnen - unabhängig von einem Aktualisierungsintervall. Aber ich werde weiter berichten, wenn sich da etwas neues ergibt.
Jetzt aber erst mal ein schönes Weihnachtsfest und einen guten Start ins neue Jahr!

Es tut mir leid, dass das Modul da nicht deine Erwartungen erfüllt hat. Prinzipiell sind wir ja aber aktuell recht aktiv im Bereich von Energiemanagement. Ohne dass ich was von der Roadmap parat hätte, könnte ich mir trotzdem vorstellen, dass hier noch neue Werkzeuge kommen, die besser auf deinen Anwendungsfall passen.

Hallo @Dr.Niels , kein Problem - ich seh’s eher sportlich. Und deswegen sind wir ja hier auch eine Community. Ich find’s eh gut, was Ihr hier so auf die Beine stellt - grosses Lob dafür (sorry, hätte ich auch eher schn mal loswerden können)! Und wenn es hier was neues gibt, bin ich bestimmt dabei. Und Ihr habt meinen Anwendungsfall vielleicht im Kopf und gebt mir eine Info dazu - und ich stell mich gern als Testkarnickel zur Verfügung!
Also - gute Zeit - und bis zur nächsten Optimierung :slight_smile:
Gruss - Uwe.

Hallo,

habe über das Jahr meinen Gas Zähler über einen mdt BE-02001.02 KNX Eingang und passenden Sensor „smart“ gemacht. Der Zählimpuls kommt auch zuverlässig in Symcon an und wird in einer Integer Variable „A“ mit dem KNX Format DPT 12 gespeichert.
Kurz vor Mitternacht lasse ich den Zählerstand in eine andere Variable „B“ schreiben und alle Veränderungen werden im Archiv gespeichert.
Nun möchte ich gerne die täglich Verbrauchsdifferenz in eine andere Variable „C“ speichern und dies visualisieren. Ich dachte, dafür kann ich dieses PHP-Modul nutzen.
Doch leider ergibt das Sript immer Null als Ergebnis raus.

Wer kann helfen?

Und noch eine Frage dazu: Muss ich den Zeitpunkt der gewünschten Berechnung über ein zyklisches Ereignis selber definieren oder kann das im Modul eingestellt werden?

Alternativ: Was nutzt ihr, um den Gas Verbrauch vernünftig auszuwerten?

Gruß

Schau dir mal im Modul Store das Modul Energierechner von Kai an

Gruß
Stephan

Hallo Fietze,
so ein ähnliches Problem habe ich auch gehabt - beim Stromzähler, der jeden Tag nur die aktuellen Verbrauchswerte liefert. Die Fortschreibung in einen Summenzähler habe ich allerdings hier über eine angepasste Version des Module „Zählerüberlauf“ umgesetzt, vergleiche folgenden Artikel:

Hier ist auch beschrieben, welche Anpassungen dort nötig waren.
Leider ist das dort bisher (noch?) nicht eingearbeitet, d.h. du müsstest ggf. das Coding des Moduls selbst anpassen…

Vielen Dank für den Hinweis,

habe es eingerichtet, aber das Ergebnis ist auch über „0“.
Funktioniert also leider nicht.

Deine Verbrauchsvariable ist deine Variable A? Im Tarif die Impulse konfiguriert? Logging aktiviert?

Ja, beides. Der Wert des Zählers wird auch sauber hochgezählt und auch die Grafik bestätigt dies.

Habe auch im Gateway die Felder gefüllt. Nur beim Gas Wandelfaktor habe ich nichts gefunden.

grafik