Preise und Kosten
Werden berechnete Kosten neu berechnet, wenn ich den Preis ändere – und wie ändere ich ihn ab einem Datum?
Kurz: Nicht von selbst. Ein neuer Preis gilt ab dem Datum unter „Gültig ab", schon gebuchte Kosten bleiben, wie sie sind. Ab v0.7.0 kannst du sie mit der Aktion „Kosten ab Datum neu rechnen" nachträglich neu berechnen lassen.
SourceAnalytix bucht Kosten fortlaufend: Mit jedem neuen Wert der Quelle rechnet es den Verbrauch seit dem letzten Wert mal den Preis, der in dieser Zeit galt, und addiert das zu den Kosten von Tag, Woche, Monat, Quartal und Jahr. Jeden Preis merkt es sich mit seinem Startzeitpunkt im State sourceanalytix.0.priceHistory.<Kategorie>. Darum ändert ein neuer Preis nichts an Kosten, die schon gebucht sind.
Preis ab einem Datum ändern (ab v0.7.0)
- Öffne die Instanz-Einstellungen von SourceAnalytix und dort den Tab „Preisdefinitionen".
- Trage in der Zeile deines Tarifs bei „Preis pro Einheit" den neuen Preis ein und bei „Gültig ab" das Datum, ab dem er gilt. Das Datum darf in der Zukunft liegen.
- Speichere. Der Adapter startet dabei neu.
- Bis zum Datum rechnet SourceAnalytix mit dem alten Preis, ab 0:00 Uhr des Datums mit dem neuen. Beim Tageswechsel zeigt auch
sourceanalytix.0.priceDefinitions.<Kategorie>.currentPriceden neuen Preis, im Log steht dann „Unit price for … changed from … to … (valid from date reached)".
„Gültig ab" gilt für den „Preis pro Monat" genauso. Wechselst du den Anbieter, trägst du den neuen Preis in derselben Preisdefinition ein. So bleibt der Preisverlauf zusammen, und an den Quellen änderst du nichts.
WARNING
Trage bei jeder Preisänderung auch ein neues Datum bei „Gültig ab" ein. Lässt du das Datum der letzten Änderung stehen, ersetzt der neue Preis den alten im Preisverlauf ab diesem Datum. Ein Datum vor der letzten Preisänderung wirkt nur bis zu ihr, danach gilt wieder der spätere Preis. Ist „Gültig ab" leer, gilt der neue Preis ab dem Speichern.
Ab v0.7.0 färbt der Dialog „Preis pro Einheit", „Preis pro Monat" und „Gültig ab" rot und zeigt „Preis geändert, „Gültig ab" nicht …", sobald du einen Preis änderst, ohne das Datum anzupassen. Speichern geht trotzdem, falls du nur einen Tippfehler korrigierst. Nach dem Speichern steht zusätzlich eine Warnung im Log. Hast du den alten Preis versehentlich ersetzt: alten Preis wieder eintragen und speichern, danach den neuen Preis mit eigenem „Gültig ab" eintragen und speichern.
Schon gebuchte Kosten neu rechnen (ab v0.7.0)
Galt ein Preis schon früher, als du ihn eingetragen hast, setze bei „Gültig ab" das richtige Datum und speichere. Öffne danach im Tab „Übersicht" die Quelle und wähle die Aktion „Kosten ab Datum neu rechnen" mit demselben Datum. Die Aktion gibt es nur bei Quellen mit „Kosten", und du startest sie für jede Quelle einzeln. Was sie genau tut und wo ihre Grenzen liegen, steht unter Kosten reparieren.
Bis v0.6.x: Es gibt keine Neuberechnung. Gebuchte Kosten bleiben beim alten Preis, auch in der laufenden Periode.
Siehe auch: Wie ist eine Preisdefinition aufgebaut? · Wie werden Preise als States gelesen und geschrieben?
Wie rechne ich einen monatlichen Grundpreis ein?
Kurz: Trage den Grundpreis in der Preisdefinition bei „Preis pro Monat" ein und schalte bei der Quelle „Grundpreis einrechnen" ein. „Kosten" muss bei der Quelle ebenfalls an sein. Einen Jahresgrundpreis teilst du vorher durch 12.
SourceAnalytix bucht den Grundpreis als vollen Monatsbetrag am Ersten jedes Monats. Im ersten Monat bucht es ihn an dem Tag, ab dem der Preis gilt. Darum enthält der Monatswert den ganzen Grundpreis schon ab dem 1. Quartal und Jahr enthalten die Summe ihrer Monate. Tag und Woche enthalten ihn nur, wenn der Monatserste in ihnen liegt.
Ein Beispiel mit 12 € Grundpreis, gültig seit 1. Januar, am 15. März:
| Periode | Grundpreis darin |
|---|---|
| Tag, Woche | 0 € |
| Monat | 12 € |
| Quartal | 36 € |
| Jahr | 36 € |
Trägst du den Grundpreis zum ersten Mal ohne „Gültig ab" ein, gilt er ab dem 1. Januar des laufenden Jahres. Der Jahreswert enthält dann gleich alle Monate seit Januar.
So gehst du vor (ab v0.7.0)
- Trage in den Instanz-Einstellungen im Tab „Preisdefinitionen" bei deinem Tarif den „Preis pro Monat" ein und speichere. Der Adapter startet neu.
- Bei einer neuen Quelle setzt du im Assistenten im Schritt „Preis" den Haken „Grundpreis dieser Preisdefinition einrechnen".
- Bei einer bestehenden Quelle setzt du in ihrer Detailansicht unter „Einstellungen" den Haken „Grundpreis einrechnen" und klickst auf „⚡ Übernehmen".
- Prüfe den State
sourceanalytix.0.<Gerät>.currentYear.costs.03_currentMonth. Er enthält jetzt den Grundpreis.
Mehrere Quellen mit derselben Preisdefinition
Jede Quelle mit „Grundpreis einrechnen" bucht den vollen Grundpreis. Gehören mehrere Quellen zu einem Anschluss, zum Beispiel Hausstrom und ein Unterzähler, zählt er sonst mehrfach. Schalte ihn dann nur bei einer Quelle ein.
Ab v0.7.0 weist SourceAnalytix an mehreren Stellen darauf hin (#1268):
- Der Assistent lässt den Haken aus, wenn eine andere Quelle derselben Preisdefinition den Grundpreis schon bucht, und zeigt „… bucht den Grundpreis dieser Preisdefinition bereits. Ist er hier auch an, zählt er doppelt."
- Der Tab „Probleme" zeigt „Grundpreis wird doppelt gebucht" mit der Schaltfläche „Hier ausschalten".
- Beim Start steht im Log
The basic fee of price definition <Name> is included by <n> sources … and is counted once per source.
Hat jede Quelle wirklich einen eigenen Anschluss mit eigenem Grundpreis, lass den Haken bei allen an.
Änderst du den Grundpreis, gilt „Gültig ab" wie beim Preis pro Einheit, siehe Preis ab einem Datum ändern. Die Aktion „Kosten ab Datum neu rechnen" rechnet den Grundpreis mit.
Bis v0.6.x: Der Haken heißt „Inklusive Grundpreis" und steht in den SourceAnalytix-Einstellungen am Datenpunkt unter „Berechnungseinstellungen".
Siehe auch: Wie ist eine Preisdefinition aufgebaut? · Kosten bleiben 0
Wie berücksichtige ich einen dynamischen Strompreis (Tibber, Awattar)?
Kurz: Stelle in der Preisdefinition die „Preisquelle" auf „Datenpunkt" und wähle bei „Preis-Datenpunkt" den Datenpunkt mit dem aktuellen Preis. SourceAnalytix merkt sich jede Preisänderung mit ihrem Zeitpunkt und bewertet jeden Verbrauch mit dem Preis, der zu dieser Zeit galt.
So gehst du vor (ab v0.7.0)
- Öffne in den Instanz-Einstellungen den Tab „Preisdefinitionen" und lege eine Zeile an oder ändere deine bestehende.
- Wähle bei „Preisquelle" „Datenpunkt" und bei „Preis-Datenpunkt" den Datenpunkt deines Strompreis-Adapters.
- Speichere. Der Adapter startet neu und schreibt ins Log
Loaded unit price <Preis> for <Kategorie> from <Datenpunkt>. - Ordne die Preisdefinition deinen Quellen zu, siehe Wie ordne ich Preise zu?.
IMPORTANT
Der Datenpunkt muss den Preis in deiner Währung pro Einheit der Preisdefinition liefern, zum Beispiel 0.28 für 28 Cent pro kWh. SourceAnalytix multipliziert den Wert direkt mit dem Verbrauch. Liefert dein Adapter Cent, rechne ihn vorher um, etwa mit einem Alias.
Bei jeder Änderung des Datenpunkts steht im Log „Unit price for … changed from … to …". Hat er beim Start keinen gültigen Wert, warnt SourceAnalytix und rechnet bis zum ersten gültigen Preis mit dem zuletzt eingetragenen festen Preis, notfalls mit 0. Einen ungültigen neuen Wert ignoriert es und behält den bisherigen Preis.
Wie die Kosten aufgeteilt werden
Liegt zwischen zwei Werten der Quelle eine Preisänderung, teilt SourceAnalytix den Verbrauch nach der Zeit auf. Beispiel: Von 13:50 bis 14:10 Uhr wurde 1 kWh verbraucht, um 14:00 Uhr fällt der Preis von 0,30 € auf 0,20 €. Dann kostet die erste Hälfte 0,15 € und die zweite 0,10 €, zusammen 0,25 €. Je öfter deine Quelle sendet, desto genauer trifft das den echten Verbrauch.
Wo die Kosten gespeichert werden
- Die laufenden Kosten von Tag bis Jahr hält SourceAnalytix in
sourceanalytix.0.<Gerät>.dynamicCostMemory. Nach einem Neustart rechnet es dort weiter und bewertet den bisherigen Verbrauch nicht mit dem aktuellen Preis neu. - Alle Preise mit Zeitpunkt stehen in
sourceanalytix.0.priceHistory.<Kategorie>. - Den aktuellen Preis zeigt
sourceanalytix.0.priceDefinitions.<Kategorie>.currentPrice.
WARNING
„Kosten ab Datum neu rechnen" kennt nur den Verbrauch je Periode und verteilt ihn gleichmäßig über die Periode. Bei einem Preis, der sich stündlich ändert, ist das Ergebnis nur eine Näherung und meist ungenauer als die laufend gebuchten Kosten. Nimm die Aktion bei dynamischen Preisen nur, um einen Fehler zu beheben.
Siehe auch: Wie werden Preise als States gelesen und geschrieben? · Werte oder Kosten viel zu hoch
Wie rechne ich einen Tag-/Nachttarif (HT/NT) ab?
Kurz: Stelle in der Preisdefinition die „Preisquelle" auf „Tarifumschaltung". Ein Datenpunkt schaltet dann zwischen zwei Preisen um, und SourceAnalytix bewertet den Verbrauch deines einen Zählers mit dem Preis, der gerade gilt. Den Verbrauch selbst teilt es nicht in HT und NT auf.
So gehst du vor (ab v0.7.0)
- Sorge für einen Umschalt-Datenpunkt, der während des einen Tarifs zum Beispiel
trueund sonstfalseist. Die Uhrzeiten bringt SourceAnalytix nicht mit, den Datenpunkt setzt zum Beispiel ein Skript oder ein Zeitplan. - Wähle in den Instanz-Einstellungen im Tab „Preisdefinitionen" bei „Preisquelle" „Tarifumschaltung".
- Trage bei „Preis pro Einheit" den Preis ein, der gilt, wenn der Umschalt-Datenpunkt nicht aktiv ist, und bei „Aktiver Tarifpreis" den Preis für den aktiven Zustand.
- Wähle bei „Preis-Datenpunkt" den Umschalt-Datenpunkt.
- Speichere. Der Adapter startet neu.
Wann der Datenpunkt als aktiv gilt:
| „Aktiver Auswahlwert" | aktiv, wenn der Datenpunkt … |
|---|---|
| eingetragen | genau diesen Wert hat, zum Beispiel NT oder 2 |
| leer | true ist, eine Zahl ungleich 0 oder ein Text außer 0, false, off, no, closed und leer |
Jeder Wechsel kommt mit Zeitpunkt in den Preisverlauf, und im Log steht „Unit price for … changed from … to …". Liegt ein Wechsel zwischen zwei Werten der Quelle, teilt SourceAnalytix den Verbrauch nach der Zeit auf, wie unter dynamischer Strompreis beschrieben.
TIP
Liefert dein Zähler eigene Zählerstände für HT und NT, kannst du stattdessen beide als eigene Quellen anlegen, jede mit einer Preisdefinition mit festem Preis. Dann hast du auch den Verbrauch je Tarif.
Den Verbrauch je Tarif aus einem Zähler auszuweisen, ist geplant (#1273).
Siehe auch: Wie ist eine Preisdefinition aufgebaut?
Wie ordne ich Preise zu und lege eigene Tarife an (z. B. Wärmepumpe)?
Kurz: Einen Standardpreis gibt es nicht. Jede Quelle hat genau eine Preisdefinition. Für einen eigenen Tarif, etwa für die Wärmepumpe, legst du im Tab „Preisdefinitionen" eine weitere Zeile an und wählst sie bei der Quelle aus.
So gehst du vor (ab v0.7.0)
- Öffne in den Instanz-Einstellungen den Tab „Preisdefinitionen" und füge eine Zeile hinzu.
- Trage bei „Kategorie" einen eindeutigen Namen ein, zum Beispiel
Waermepumpe. Unter diesem Namen wählst du den Tarif später aus. - Wähle die „Kostenart" („Kosten" für Bezug, „Erträge" für Einspeisung), die „Einheit", in der gerechnet wird, die „Preisquelle" und den „Preis pro Einheit", bei Bedarf auch „Preis pro Monat".
- Speichere. Der Adapter startet neu.
- Bei einer neuen Quelle wählst du den Tarif im Assistenten im Schritt „Preis". Wählbar sind nur Preisdefinitionen, deren Einheit zur Quelle passt.
- Bei einer bestehenden Quelle wählst du ihn in der Detailansicht unter „Einstellungen" bei „Preisdefinition" und klickst auf „⚡ Übernehmen".
Mehrere Quellen dürfen dieselbe Preisdefinition nutzen. Bucht sie einen Grundpreis, lies dazu Mehrere Quellen mit derselben Preisdefinition. Alle Felder der Tabelle sind unter Wie ist eine Preisdefinition aufgebaut? erklärt.
Kosten pro Kilometer oder in einer eigenen Einheit
Der Preis gilt immer pro Einheit der Preisdefinition. Für Kosten pro Kilometer wählst du die Einheit km und eine Quelle, die einen Kilometerstand in km oder m liefert. Ab v0.7.0 gibt es die Einheit piece für einen Preis pro Stück. Welche Einheiten es gibt, steht unter Welche Einheiten werden unterstützt?.
WARNING
Benenne eine Kategorie nicht um, solange Quellen sie nutzen. Die Quellen finden ihre Preisdefinition dann nicht mehr und rechnen nicht weiter. Im Log steht Selected Type <Name> does not exist in Price Definitions, im Tab „Probleme" „Preisdefinition gibt es nicht mehr". Auch der Preisverlauf hängt am alten Namen. Wähle nach einer Umbenennung bei jeder Quelle die neue Preisdefinition.
Bis v0.6.x: Die Tabelle der Preisdefinitionen steht ebenfalls in den Instanz-Einstellungen. Zugeordnet wird am Datenpunkt unter „Preisdefinition auswählen", siehe Wo konfiguriere ich SourceAnalytix?.
Siehe auch: Welche Einheit stelle ich am Datenpunkt ein? · Wie erfasse ich PV-Ertrag, Einspeisung und Erlöse?