API: Externe Integrationen sollten ihre eigenen Energievertragstypen deklarieren können

Hallo zusammen!

Heute gibt es im Energietracking von Gladys drei Arten von Tarifen: Basis, Heures Creuses und Tempo. Sobald ein Tarif außerhalb dieser Kategorien liegt (Wochenendangebot, Feiertage, Saisontarif, Spotpreis…), kann er nicht verwendet werden.

Ich arbeite gerade daran, das grundlegend zu ändern :raising_hands:

Was kommt:

  • Ein echter « Vertrag » pro Zähler, erstellt in wenigen Klicks: Auswahl des Zählers, Auswahl des Modells, Einstellung der Parameter (Ihre Heures Creuses, Ihr Abonnement…), und eine Vorschau der Kosten für Ihre letzten 7 Tage vor dem Speichern.
  • Viel mehr mögliche Tarife: Heures Creuses, Wochenenden, Feiertage, Schulferien, Jahreszeiten, Verbrauchsstufen, tägliche Preisänderungen… und nicht nur in Frankreich.
  • Tarifkalender: Feiertage, Tempo-Farben, Schulferien… Gladys verwendet diese, um den richtigen Preis zum richtigen Zeitpunkt anzuwenden.
  • Ein Widget « aktueller Preis » auf dem Dashboard, das den aktuellen Preis und die nächste Änderung anzeigt.
  • Szenarien basierend auf dem Preis: Zum Beispiel, « wenn die Heures Creuses beginnen, den Boiler einschalten ».
  • Von der Community veröffentlichbare Verträge, ohne auf ein Gladys-Update zu warten: Entweder einfach zum Community-Katalog hinzugefügt oder als externe Integration für komplexere Fälle (Kalender, die aktualisiert werden müssen, spezifische Preisberechnung…).

Für die Screenshots unten habe ich eine kleine Testintegration erstellt, « France Week-end & Vacances », mit drei Verträgen: Heures Creuses + Wochenende + Feiertage, ein reduziertes Angebot während der Schulferien und ein Treueangebot, das von der Integration selbst berechnet wird.

Ihre aktuellen Verträge werden automatisch migriert, Sie müssen nichts neu machen.

Es wird noch überarbeitet, bevor es in einer kommenden Version erscheint :slight_smile:

Der PR: https://github.com/GladysAssistant/Gladys/pull/3130

Das Docker-Image, falls Sie testen möchten:

ghcr.io/gladysassistant/gladys-preview:claude-amazing-einstein-6f4ub7