Plugin-Daten | |
---|---|
Autor | Christian Fenzl |
Logo | |
Status | BETA |
Version | 0.1.6 |
Min. LB Version | 2.0 |
Release Download | https://github.com/christianTF/LoxBerry-Plugin-aWATTar/archive/refs/tags/0.1.6.zip |
Beschreibung | Ruft die stündlichen Strompreise von aWATTar Österreich/Deutschland ab und übermittelt diese, sowie im Plugin berechnete Werte/Kennzeichen an MQTT/Miniserver. |
Sprachen | DE |
Diskussion | https://www.loxforum.com/forum/projektforen/loxberry/plugins/228766-awattar-plugin |
As aWATTar is only present on the Austrian and German energy market, the plugin is only available in German.
Direkter Download-Link: Siehe Tabelle oben
Beta-Version bedeutet:
Nichts ist endgültig, alles kann sich noch ändern. Bitte Fehler berichten!
Dieses Plugin ist LoxBerry 3.0 kompatibel.
Das Plugin bezieht die stündlichen Strompreisdaten von aWATTar (wahlweise Österreich oder Deutschland). Es werden die Strompreisdaten erhoben, sowie zusätzliche Werte berechnet. Außerdem ist es möglich, für eigene Geräte Zeitpläne zu erstellen, um diese zum günstigsten Zeitpunkt zu starten.
Die Übermittlung der Daten erfolgt ausschließlich per MQTT-Protokoll an einen MQTT-Broker. Nutzt man als Broker das MQTT Gateway Plugin, werden diese Änderungen direkt an den Miniserver übertragen.
Eine schnelle Übersicht zum Blättern in den österreichischen HOURLY-Preisen gibt es hier: https://testing.awattar.com/awattar-web/product-price-transparency-charts/ (Achtung Netto-Preise!)
Die von aWATTar übermittelten Preise sind reine Energiepreise, exklusive Netzgebühren und Steuern. Mit der Preisanpassung können alle übermittelten Preise mit einer eigenen Formel angepasst werden, um näher an die Realität des tatsächlichen Strompreises zu kommen.
p
ist die Variable des Strompreises, wie er von aWATTar geliefert wird.
Beispiel: p*1.19
Weitere Beispiele unten.
Mit dem Adviser können beliebige Geräte mit einer bestimmten Laufzeit und definierbaren Ausnahmen angelegt werden.
Als Beispiel nehmen wir das Gerät aus dem Screenshot, einen Geschirrspüler:
Unser Geschirrspüler hat eine Laufzeit von über zwei Stunden, meist knapp unter drei Stunden. Ich möchte wissen, zu welcher Zeit es am günstigsten ist, das Gerät für drei Stunden laufen zu lassen.
Das Plugin berechnet den Durchschnittspreis für drei Stunden Laufzeit, und gibt die optimale Startstunde und weitere Datensätze dafür zurück.
Wir möchten jedoch nicht, dass unser Geschirrspüler in der Nacht bzw. in der Früh läuft - am Wochenende darf er erst später starten als unter der Woche.
Im Plugin können die Stunden angegeben werden, die ausgenommen werden sollen. Sprich: Ein Häkchen steht dafür, dass in dieser Stunde das Gerät nicht laufen soll. Die ausgenommenen Stunden inkludieren auch die Gerätelaufzeit. Das heißt, die Optimal-Startzeit wird im Beispiel niemals um 20 oder 21 Uhr (beide nicht ausgewählt, also erlaubt) sein, weil die Laufzeit bis über 22:00 Uhr wäre, was aber exkludiert ist.
Der Adviser gibt pro Gerät zurück:
Außer der günstigsten Zeit gibt der Adviser für das Gerät auch die teuerste Zeit mit den genannten Daten aus. Vielleicht kann das jemand brauchen, um ein Gerät explizit in dieser Zeit abzuschalten.
Auf der "Einstellungen"-Seite können Vorlagen für die unterschiedlichen Daten (date, price, prices, threshold) heruntergeladen werden. Siehe Datenmodell.
Auf der "Advisor"-Seite kann für jedes Gerät einzeln eine Vorlage heruntergeladen werden.
Die Vorlagen werden deswegen einzeln bereitgestellt, weil dies das Ersetzen gegen eine neue Vorlage vereinfacht, und weil nicht zwangsläufig alle Daten benötigt werden.
Einbinden der Vorlagen in die Loxone Config: Templates in Loxone Config einbinden
Sämtliche Daten werden in Sub-Topics des Basistopic (Standard: awattar) übertragen. Damit ist es möglich, entweder alle Daten (awattar/#) oder nur bestimmte Sub-Topics zu subscriben.
Alle Preisangaben sind cent/kWh.
Die Sub-Topics sind:
Topic | via MQTT-Gateway | Beschreibung |
---|---|---|
<Basistopic>/date/fetch | <Basistopic>_date_fetch | Zeit des letzten Online-Abrufs der Daten (yyyy-mm-dd hh:mm) |
<Basistopic>/date/fetch_epoch | <Basistopic>_date_fetch_epoch | Zeit des letzten Online-Abrufs der Daten (Unix Epoch) |
<Basistopic>/date/fetch_loxtime | <Basistopic>_date_loxtime | Zeit des letzten Online-Abrufs der Daten (Loxone Timestamp) |
<Basistopic>/date/now | <Basistopic>_date_now | Zeit der letzten Übermittlung an den MQTT Broker (yyyy-mm-dd hh:mm) |
<Basistopic>/date/now_epoch | <Basistopic>_date_now_epoch | Zeit der letzten Übermittlung an den MQTT Broker (Unix Epoch) |
<Basistopic>/date/now_loxtime | <Basistopic>_date_now_loxtime | Zeit der letzten Übermittlung an den MQTT Broker (Loxone Timestamp) |
<Basistopic>/date/weekday | <Basistopic>_date_weekday | Aktueller Wochentag (0…Sonntag, 1…Montag usw. bis 6) |
Topic | via MQTT-Gateway | Beschreibung |
---|---|---|
<Basistopic>/price/average | <Basistopic>_price_average | Arithmetischer Mittelwert der Preise des aktuellen Tages |
<Basistopic>/price/current | <Basistopic>_price_current | Aktueller Stundenpreis |
<Basistopic>/price/diff2average | <Basistopic>_price_diff2average | Die Differenz des aktuellen Preises zum Mittelwert-Preis (negativ: Es ist billiger als Mittelwert, positiv: Es ist teuerer als Mittelwert) |
<Basistopic>/price/diff2median | <Basistopic>_price_diff2median | Die Differenz des aktuellen Preises zum Median-Preis (negativ: Es ist billiger als Median, positiv: Es ist teuerer als Median) |
<Basistopic>/price/high | <Basistopic>_price_high | Höchster Preis des Tages |
<Basistopic>/price/hour | <Basistopic>_price_hour | Aktuelle Stunde des Tages |
<Basistopic>/price/low | <Basistopic>_price_low | Niedrigster Preis des Tages |
<Basistopic>/price/median | <Basistopic>_price_median | Median der Preise des aktuellen Tages |
<Basistopic>/price/ranking | <Basistopic>_price_ranking | Der Rang des aktuellen Preises im Tagesvergleich, z.B. 5 bedeutet fünftgünstigster Preis des Tages |
<Basistopic>/price/spread | <Basistopic>_price_spread | Das ist die Preis-Spreizung des Tages in ct/kWh (Differenz Höchst zu Niedrigst). Es gibt praktisch die maximal mögliche Ersparnis aus. |
Topic | via MQTT-Gateway | Beschreibung |
---|---|---|
<Basistopic>/prices/hour_00 | <Basistopic>_prices_hour_00 | Preis von 0:00 Uhr bis 1:00 Uhr |
<Basistopic>/prices/hour_01 | <Basistopic>_prices_hour_01 | Preis von 1:00 Uhr bis 2:00 Uhr |
… | … | … |
<Basistopic>/prices/hour_23 | <Basistopic>_prices_hour_23 | Preis von 23:00 Uhr bis 0:00 Uhr |
Die Schwellwerte sind aufsteigend sortiert (günstigst bis teuerst), d.h. threshold_00 liefert den günstigsten Preis, threshold_23 den teuersten Preis. Damit können in Loxone Vergleiche durchgeführt werden: Wenn in den günstigsten 5 Stunden eingeschaltet werden soll, dann mit einem KLEINER-ODER-GLEICH-Baustein: Wenn current ⇐ threshold_04. Nur wenn der aktuelle Preis den threshold_04 unterschreitet (oder gleich ist), geht der Vergleichsbaustein auf EIN.
Topic | via MQTT-Gateway | Beschreibung |
---|---|---|
<Basistopic>/threshold/00 | <Basistopic>_threshold_00 | Günstigster Preis |
<Basistopic>/threshold/01 | <Basistopic>_threshold_01 | Zweitgünstigster Preis |
… | … | … |
<Basistopic>/threshold/23 | <Basistopic>_threshold_23 | Teuerster Preis |
Diese Daten sind kompatibel mit den von der einfachen API übermittelten Schwellen, wer vom Direktabruf umsteigen will auf das Plugin.
Einfacher ist der Vergleich jedoch mit dem Topic Price/ranking (siehe weiter oben!).
Der "Adviser" (dt. Ratgeber) sendet für jedes Gerät die günstigste und teuerste Zeit.
In der Konfiguration wird die übliche Laufzeit dieses Geräts angegeben (z.B. Geschirrspüler 3 Stunden). Der Adviser sucht in den Tagespreisen die über die Laufzeit durchgehend günstigste Startzeit. Im Falle des Geschirrspülers wird die Startstunde gesucht, in der der Durchschnittspreis von drei aufeinanderfolgenden Stunden am günstigsten (und teuersten) ist.
Zusätzlich können für jeden Wochentag Stunden ausgenommen werden. Beispielsweise soll der Geschirrspüler Mo-Fr. nicht von 22:00 bis 06:00 Uhr laufen, und am Wochenende nicht von 0:00 bis 09:00 Uhr. Der Adviser gibt keine Stunden zurück, die in diesen Zeitfenstern liegen (der Geschirrspüler darf am Mo. auch nicht um 20:00 Uhr starten, da er nicht bis 22:00 Uhr fertig wäre).
Topic | via MQTT-Gateway | Beschreibung |
---|---|---|
<Basistopic>/advice/<Gerätename>/device | <Basistopic>_advice_<Gerätename>_device | Der Name des Geräts |
<Basistopic>/advice/<Gerätename>/deviceuid | <Basistopic>_advice_<Gerätename>_deviceuid | Interne, eindeutige Nummer (UID) des Geräts |
<Basistopic>/advice/<Gerätename>/duration | <Basistopic>_advice_<Gerätename>_duration | Die konfigurierte Laufzeit des Geräts in Stunden |
<Basistopic>/advice/<Gerätename>/high_hour | <Basistopic>_advice_<Gerätename>_high_hour | Die Start-Stunde mit dem höchsten Preis |
<Basistopic>/advice/<Gerätename>/high_in | <Basistopic>_advice_<Gerätename>_high_in | Die Zeit in Stunden, bis das teuerste Zeitfenster beginnt. Der Wert kann auch negativ sein, wenn das Zeitfenster in der Vergangenheit liegt. |
<Basistopic>/advice/<Gerätename>/high_price_active | <Basistopic>_advice_<Gerätename>_high_price_active | 0 oder 1. Das Hochpreis-Fenster ist gerade aktiv. Die 1 bleibt für die gesamte Zeitdauer der eingestellten Geräte-Laufzeit aktiv. (beim Geschirrspüler-Beispiel für 3 Stunden) |
<Basistopic>/advice/<Gerätename>/high_price_avg | <Basistopic>_advice_<Gerätename>_high_price_avg | Der höchste Durchschnittspreis über die Laufzeit |
<Basistopic>/advice/<Gerätename>/low_hour | <Basistopic>_advice_<Gerätename>_low_hour | Die Start-Stunde mit dem niedrigsten Preis |
<Basistopic>/advice/<Gerätename>/low_in | <Basistopic>_advice_<Gerätename>_low_in | Die Zeit in Stunden, bis das günstigste Zeitfenster beginnt. Der Wert kann auch negativ sein, wenn das Zeitfenster in der Vergangenheit liegt. |
<Basistopic>/advice/<Gerätename>/low_price_active | <Basistopic>_advice_<Gerätename>_low_price_active | 0 oder 1. Das Tiefpreis-Fenster ist gerade aktiv. Die 1 bleibt für die gesamte Zeitdauer der eingestellten Geräte-Laufzeit aktiv. (beim Geschirrspüler-Beispiel für 3 Stunden) |
<Basistopic>/advice/<Gerätename>/low_price_avg | <Basistopic>_advice_<Gerätename>_low_price_avg | Der günstigste Durchschnittspreis über die Laufzeit |
Tarife und Steuern lt. Preisblatt gültig ab 1.1.2019
Formel: (p+3.46+0.2+1.5+0.69+0.05)*1.2
Vereinfacht: (p+5.9)*1.2
Die Pauschalbeträge pro Jahr (Grundgebühr aWATTar, Leistungspauschale, Messentgelt, Kwk-Pauschale, Ökostrompauschale) sind in der Formel nicht enthalten!
Issues bei GitHub: https://github.com/christianTF/LoxBerry-Plugin-aWATTar/issues