Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Ostrom #16354

Merged
merged 39 commits into from
Nov 22, 2024
Merged

Add Ostrom #16354

merged 39 commits into from
Nov 22, 2024

Conversation

kscholty
Copy link
Contributor

@kscholty kscholty commented Sep 26, 2024

In discussion #15512 and closed issue #11148 people are asking for Ostrom support.
Since they have a public API and I had some spare time I implemented a tariff for EVCC.

The implementation supports both the SIMPLY_FAIR (fixed price for at least a month) and the SIMPLY_DYNAMIC (hourly rates) tariff, which would make it worth having a native implementation.
The prices for both tariffs are queried on a regular basis.

Client credentials can be created under https://developer.ostrom-api.io/

Looking forward to your comments

@andig andig marked this pull request as draft September 27, 2024 16:19
@kscholty
Copy link
Contributor Author

@andig Warum draft? Nach meiner Ansicht ist das fertig so, oder hast du Änderungsvorschläge?

@softcat
Copy link
Contributor

softcat commented Sep 28, 2024

Bezüglich des Preises für den SIMPLY_FAIR Tarif:

Ich nutze aktuell schlicht einen Query für die generische tariff Integration (ohne Authentifizierung)

https://api.ostrom.de/v1/tariffs/city-id?cityId=11111&usage=1000

Allerdings muss man sich dafür die cityId über die Homepage händisch raussuchen. Funktioniert dann aber gut.

Gibt die API ggf. bzgl. der cityId etwas her? Ich kann es leider aktuell nicht testen.

Ich wechsle in ein paar Wochen in den SIMPLE_DYNAMIC Tarif, dann ist deine Integration perfekt.

@kscholty
Copy link
Contributor Author

Guter Hinweis. In der dokumentierten API gibt es nichts, um die CityId zu erfragen. Aber etwas suchen im Quelltext der Webseite ergab:
https://api.ostrom.de/v1/addresses/cities?zip=${zip}
Damit bekommt man die CityId zu einer Postleitzahl.
Ich habe den Code jetzt so angepasst, dass er das automatisch alles aus dem Contract ermittelt und abfragt.
Sollte sich der Simply Fair Preis also ändern, merkt evcc das spätestens an dem Tag, an dem es passiert. In die Zukunft abfragen geht leider nicht (bzw. weiß ich nicht genau, ab wann die API den neuen Preis liefert)

@kscholty kscholty marked this pull request as ready for review September 28, 2024 11:52
@github-actions github-actions bot added stale Outdated and ready to close and removed stale Outdated and ready to close labels Oct 6, 2024
@kscholty
Copy link
Contributor Author

kscholty commented Oct 8, 2024

Fehlt hier noch was?

Aus meiner Sicht ist das so fertig. Hab's in der Sandbox mit beiden Varianten getestet und es funktioniert.

@github-actions github-actions bot added the stale Outdated and ready to close label Oct 15, 2024
@github-actions github-actions bot closed this Oct 20, 2024
@GrimmiMeloni
Copy link
Collaborator

Der Bot schließt nach 14 Tagen Inaktivität automatisch.

@GrimmiMeloni GrimmiMeloni reopened this Oct 21, 2024
@github-actions github-actions bot removed the stale Outdated and ready to close label Oct 21, 2024
@userwithoutpassword
Copy link

Fehlt hier noch was?

Aus meiner Sicht ist das so fertig. Hab's in der Sandbox mit beiden Varianten getestet und es funktioniert.

Kannst du nochmal drüber schauen woran es hakt?

@kscholty
Copy link
Contributor Author

Da gibt's einen Test, der versucht einen Ostrom Tarif anzulegen und scheitert mit "unauthorized", was ich für korrekt halte. Keine Ahnung, wo der Test her kommt. Als ich das zuletzt eingecheckt habe, war alles grün.
Kann mich frühestens nächste Woche darum kümmern, bin im Urlaub.

@andig andig added the tariffs Specific tariff support label Oct 23, 2024
tariff/ostrom.go Outdated Show resolved Hide resolved
@NoWiseMan
Copy link

Kann man bei diesem PR irgendwo unterstützen? Ich bekomme diese Tage meinen Ostrom Tarif, da wäre das Feature schon schick.

@fischer-duelmen

This comment was marked as off-topic.

@GrimmiMeloni
Copy link
Collaborator

Macht euch mal locker, @kscholty und @andig sind doch offensichtlich im Review.

@kscholty
Copy link
Contributor Author

Ich hoffe, @andig gibt so sein OK, ich würde das
so lassen.

@NoWiseMan
Copy link

@GrimmiMeloni sorry wenn mein Post einen negativen Eindruck erzeugt hat, das war so nicht gemeint.

@andig
Copy link
Member

andig commented Nov 19, 2024

Die Review Comments müssten noch bearbeitet werden.

@kscholty
Copy link
Contributor Author

Jetzt sollte alles erledigt sein, @andig. Ich hoffe, so it's ok.

tariff/ostrom.go Outdated Show resolved Hide resolved
tariff/ostrom.go Outdated Show resolved Hide resolved
tariff/ostrom.go Outdated Show resolved Hide resolved
@andig andig merged commit 160d6f4 into evcc-io:master Nov 22, 2024
6 checks passed
@andig
Copy link
Member

andig commented Nov 22, 2024

Danke für Deine Geduld, sieht super aus!

@kscholty kscholty deleted the tariff/ostrom branch November 24, 2024 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tariffs Specific tariff support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants