ioBroker

iobroker Adapter – AWATTar

In diesem Artikel zeige ich Dir den AWATTar Adapter für ioBroker.

AWATTar ist ein deutsches Unternehmen, das sich auf den Vertrieb von Stromtarifen spezialisiert hat, die auf dem Prinzip der variablen Preise basieren. Bei AWATTar ändert sich der Strompreis stündlich, abhängig von Angebot und Nachfrage auf dem Strommarkt. Kunden haben die Möglichkeit, von günstigerem Strom zu profitieren, wenn die Nachfrage niedrig ist, und können ihren Energieverbrauch auf Zeiten mit niedrigeren Preisen ausrichten. Dies soll die Energieeffizienz fördern und den Verbrauchern ermöglichen, Kosten zu sparen, wenn sie ihren Stromverbrauch flexibel steuern. AWATTar hat das Ziel, die Nutzung erneuerbarer Energiequellen zu fördern und die Energieversorgung nachhaltiger zu gestalten.

Die Preise stehen um 14:00 Uhr für den Folgetag zur Verfügung. Um die Preise nun auch in ioBroker einsehen und evtl. im Scripting für das Schalten von Aktoren verwenden zu können (z.B. Poolpumpe oder Waschmaschine steuern) kann der aWATTar-Adapter verwendet werden. Im Artikel zeige ich Dir die Installation und Konfiguration des Adapters.

Für die Installation des Adapters wechseln wir zunächst in den Bereich Adapter. Über die Suchfunktion kannst Du den Adapter schnell über den Begriff „awatt“ suchen und über einen Klick auf die Plus-Schaltfläche installieren.

Nach der Installation des Adapters öffnet sich direkt die Konfiguration der Instanz. In den Einstellungen kann die URL zur API angepasst werden. Ich habe die URL so belassen. Mit den Feldern Start Threshold und End Threshold Loading kann ein Zeitfenster hinterlegt werden, in dem z.B. günstiger Strom für das Laden des E-Autos verwendet werden soll. Zudem kann im Feld VAT der aktuell gültige Mehrwertsteuersatz sowie im Feld Arbeitspreis der persönliche Arbeitspreis eingetragen werden.

Nach dem die Einstellungen gespeichert wurden läuft der Adapter soweit. Der Adapter ist standardmäßig so eingestellt, dass er jeden Tag um 15:00 Uhr die Preise für den Folgetag ermitteln soll. Ich habe den Zeitpunkt ein wenig vorverlegt. Wie das funktioniert siehst Du in den folgenden Screenshots. Zunächst klickst Du auf das Zeit-Symbol des Adapters.

Hier kannst Du nun über die Ansicht Minuten, Stunden, Tage, … den entsprechenden Zeitpunkt definieren. In meinem Beispiel habe ich die Stunde auf 14 sowie die Minute auf 10 gesetzt.

Nach dem Speichern der Konfiguration und nach dem automatischen Ermitteln der Preise werden diese nun im Datenpunkt awattar.0.prices dargestellt. Über die Datenpunkte start – end siehst Du den Zeitraum sowie den Preis als Netto-Preis, Brutto-Preis (mit MwSt.) sowie den kompletten Preis mit den Arbeitskosten inkludiert.

Ich hoffe Dir gefällt der Artikel. Ich freue mich über Kommentare, Anregungen oder Fragen.
Gerne auch Anregungen oder Wünsche für zukünftige Artikel.

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

4 Gedanken zu „iobroker Adapter – AWATTar

  • vowill

    Super, vielen Dank! Ich nutze Tibber als Stromlieferant; dort gibt es einen ziemlich ähnlichen Adapter.
    Jetzt wäre natürlich noch interessant, ob und wie sich die Preise mit dem echarts-Adapter darstellen lassen?

    Antwort
    • vowill

      … Hier eine schnelle Lösung (’selbst ist der Mann‘):
      Der Tibber-Adapter legt seine Daten im Objektbaum unter ‚tibberlink.0.Homes.xxx.PricesToday‘ und ‚tibberlink.0.Homes.xxx.PricesTomorrow‘ ab. Dort gibt es jeweils einen JSON-Datenpunkt, in dem die Werte für den ganzen Tag gespeichert sind.
      Der ECharts-Adapter kann optional einen JSON-Datenpunkt einlesen und darstellen, wenn die Daten im Format
      [{„ts“: 1675887847000, „val“: 45}, {„ts“: 1675887848000, „val“: 77}, {„ts“: 1675887849000, „val“: 180} ]
      vorliegen (siehe https://github.com/ioBroker/ioBroker.echarts#readme).
      Damit benötigt es ein Skript, das die beiden JSON-Datenpunkte aus Tibber in einen JSON-Datenpunkt für ECharts konvertiert.
      Hier eine schnelle Skript-Lösung (mit Ablage des Ergebnisses im String-Datenpunkt ‚0_userdata.0.Stromversorgung.Tibber-Preise‘; der Wert xxx ist durch die jeweilige Tibber-ID zu ersetzen):

      var JSON_aus_Tibber, JSON_fuer_ECharts, letzte_Laenge;
      on({ id: [].concat([‚tibberlink.0.Homes.xxx .PricesToday.json‘]).concat([‚tibberlink.0.Homes.xxx .PricesTomorrow.json‘]), change: ’ne‘ }, async (obj) => {
      // Daten für heute UND morgen holen:
      JSON_aus_Tibber = [getState(‚tibberlink.0.Homes.xxx .PricesToday.json‘).val.slice(0, getState(‚tibberlink.0.Homes.xxx .PricesToday.json‘).val.length – 1),‘,‘,getState(‚tibberlink.0.Homes.xxx .PricesTomorrow.json‘).val.slice(1, getState(‚tibberlink.0.Homes.xxx .PricesTomorrow.json‘).val.length)].join(“);
      // Datenformat umwandeln:
      JSON_fuer_ECharts = ‚[{„ts“: ‚;
      while (JSON_aus_Tibber.indexOf(’startsAt‘) + 1 > 0) {
      letzte_Laenge = JSON_aus_Tibber.length;
      JSON_fuer_ECharts = [JSON_fuer_ECharts,getDateObject(getAttr((function () { try { return JSON.parse(JSON_aus_Tibber); } catch (e) { return {}; }})(), ‚0.startsAt‘)).getTime(),‘, „val“: ‚].join(“);
      JSON_fuer_ECharts = [JSON_fuer_ECharts,getAttr((function () { try { return JSON.parse(JSON_aus_Tibber); } catch (e) { return {}; }})(), ‚0.total‘),‘}, {„ts“: ‚].join(“);
      if (JSON_aus_Tibber.indexOf(‚},‘) + 1 < 2) {
      break;
      }
      JSON_aus_Tibber = '[' + String(JSON_aus_Tibber.slice(((JSON_aus_Tibber.indexOf('},') + 1 + 2) – 1), JSON_aus_Tibber.length));
      // Zwangsabbruch, falls Endlosschleife droht:
      if (JSON_aus_Tibber.length == letzte_Laenge) {
      break;
      }
      }
      JSON_fuer_ECharts = String(JSON_fuer_ECharts.slice(0, JSON_fuer_ECharts.lastIndexOf('}, {"ts":') + 1)) + ']';
      setState('0_userdata.0.Stromversorgung.Tibber-Preise' /* Tibber-Preise */, JSON_fuer_ECharts, true);
      });

      Im EChart muss dann lediglich als Quelle 'JSON' und ID '0_userdata.0.Stromversorgung.Tibber-Preise' angegeben werden; als Diagramm-Typ sollte 'Schritte' gewählt werden.
      Viel Erfolg!

      Antwort
  • Arne

    Moin,
    der Adapter funktioniert gut. Ich habe nur etwas Schwierigkeiten, die Preise nachzuvollziehen.
    Bei mir in Norddeutschland ist folgender Preis auf der Awattar Webseite ausgewiesen:
    Gesamtpreis(Ct.) = 16,55 + (EPEX Spot DE + 3%)
    Ich sehe, dass die abgerufenen Preise „awattar.0.prices.0.bruttoPriceKwh“ dem auf der Awattar Seite angezeigten Brutto Börsenpreisen (Ct./kWh) entsprechen.

    Die 16,55 Ct./kWh habe ich im Adapter hinterlegt unter Arbeitspreis.
    Dazu die 19% VAT.

    Nun würde ich vermuten, dass der Gesamtpreis (16,55 Ct. + „awattar.0.prices.0.bruttoPriceKwh“*1,03) beträgt.
    Beispiel: 16,55+10,0674*1,03 = 28,53 Ct/kWh

    Der Adapter berechnet allerdings awattar.0.prices.0.totalPriceKwh=26,0674.

    Ich habe noch kein Awattar Tarif und möchte einfach mal simulieren, wie es mit dem Hourly wäre. Daher benötige ich die korrekten stündlichen Preise.

    Kann das jemand mit Awattar Tarif mal verifizieren?

    Vielen Dank, tolle Arbeit!

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.