Bitpanda - Preis Ticker einbinden (API)

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
curius
Beiträge: 78
Registriert: 1. Aug 2019 10:10
Answers: 0

Bitpanda - Preis Ticker einbinden (API)

Beitrag von curius »

Hallo!

Ich würde wieder mal eure Unterstützung benötigen...
Es gibt eine API bzw. URL, in welcher die aktuellen Kurse von Kryptowährungen verfügbar sind.
Ich würde ein paar Werte daraus gerne in openHAB einbinden.

Die API bzw. URL wird von Bitpanda zur Verfügung gestellt...

https://api.bitpanda.com/v1/ticker

Webseite dazu:
https://support.bitpanda.com/hc/de/arti ... Ticker-API

Kann mir von euch jemand sagen, in welche Richtung ich mich diesbezüglich weiter schlau machen muss?
Bin leider auf dem Gebiet kein Experte.
Es sieht für mich wie ein JSON-Ausdruck aus, den man womöglich mit dem HTTP Binding auswerten kann?

Besten Dank schon mal an euch...

Schöne Grüße
Christian

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Bitpanda - Preis Ticker einbinden (API)

Beitrag von udo1toni »

Genauso ist es, es handelt sich offensichtlich um JSON. Für Bitcoin wäre der Euro-Kurs z.B. mittels $.BTC.EUR abzurufen.

Es bietet sich an, das über einen http Cache zu erledigen.
Du installierst das http Binding und den jsonpath Transformation service.

Anschließend trägst Du in services/http.cfg zwei Zeilen ein:

Code: Alles auswählen

krypto.url=https://api.bitpanda.com/v1/ticker
krypto.updateInterval=3600000
Nun kannst Du mehrere Items anlegen, welche auf diesen Cache zugreifen:

Code: Alles auswählen

Number kryptoBTC "Bitcoin  [%.2f EUR]" { http="<[krypto:60000:JSONPATH($.BTC.EUR)]" }
Number kryptoETH "Ethereum [%.2f EUR]" { http="<[krypto:60000:JSONPATH($.ETH.EUR)]" }
Das Updateinterval ist im Beispiel oben auf eine Stunde gesetzt, openHAB fragt also einmal pro Stunde unter der angegebenen url die Daten ab. Die Items holen sich ihre Information dann aus dem Cache, was also die Zugriffe über die API minimiert.
Vermutlich ist die url aber nur als Beispiel gedacht und die realen Kurse kommen nur, wenn man einen API-Key verwendet. Der muss dann halt in der url mit angegeben werden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

curius
Beiträge: 78
Registriert: 1. Aug 2019 10:10
Answers: 0

Re: Bitpanda - Preis Ticker einbinden (API)

Beitrag von curius »

Hallo,

vielen Dank für die rasche Antwort!
Ich bin mir leider nicht sicher, ob ein eigener API-Key für die Abfrage wirklich notwendig ist...
Die Kurse werden auf jeden Fall regelmäßig unter dieser URL korrekt aktualisiert.

Bekomme aber dennoch eine Fehlermeldung:

Code: Alles auswählen

2020-04-28 22:42:13.888 [WARN ] [ab.binding.http.internal.HttpBinding] - Transformation 'JSONPATH($.BTC.EUR)' threw an exception. [response=error code: 1010]
org.openhab.core.transform.TransformationException: Invalid path '$.BTC.EUR' in 'error code: 1010'
	at org.openhab.core.transform.TransformationHelper$TransformationServiceDelegate.transform(TransformationHelper.java:71) ~[bundleFile:?]
	at org.openhab.binding.http.internal.HttpBinding.execute(HttpBinding.java:218) [bundleFile:?]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:146) [bundleFile:?]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:169) [bundleFile:?]
Irgendwie findet er den Pfad nicht... Wenn ich aber online in einem JSONPath Evaluator "$.BTC.EUR" eingebe, wird der Wert sauber ausgelesen => mit den Beispieldaten aus dem Link.

Hast du sonst noch eine Idee woran das liegen könnte?
Ansonsten lege ich mal einen API-Key an und versuch es dann noch mal...

Besten Dank!

Grüße
Christian

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Bitpanda - Preis Ticker einbinden (API)

Beitrag von PeterA »

Hi,
ist der Jsonpath Transformservice Installiert?



Bild
- OpenHab 2.4
#PWRUP

curius
Beiträge: 78
Registriert: 1. Aug 2019 10:10
Answers: 0

Re: Bitpanda - Preis Ticker einbinden (API)

Beitrag von curius »

Guten Morgen!

Ja, sowohl JSONPath Transformation als auch das HTTP Binding sind installiert...
Sehr seltsam... die Werte im Link werden ständig aktualisiert. Kann mir somit nicht vorstellen, dass man da extra noch einen API-Key dafür benötigt.

Grüße
Christian

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Bitpanda - Preis Ticker einbinden (API)

Beitrag von udo1toni »

Also, nur, weil der Zugriff im Browser funktioniert, heißt das noch lange nicht, dass der Zugriff von openHAB aus auch funktioniert. Das kannst Du nur feststellen, indem Du ein zusätzliches Item anlegt, in welchem Du den kompletten Cache anzeigen lässt. So:

Code: Alles auswählen

String kryptoCache "%s" { http="<[krypto:60000:REGEX((.*))]" }
Achtung, hierzu muss noch die RegEx Transformation installiert sein.

Anschließend sollte bei jedem Update (also einmal pro Minute) im events.log der komplette Inhalt des Caches ausgegeben werden. Nur dort kannst Du prüfen, ob die Daten auch in openHAB ankommen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

curius
Beiträge: 78
Registriert: 1. Aug 2019 10:10
Answers: 0

Re: Bitpanda - Preis Ticker einbinden (API)

Beitrag von curius »

Hmmm...
... da kommt scheinbar nix an:

Code: Alles auswählen

2020-04-29 18:41:53.785 [vent.ItemStateChangedEvent] - kryptoCache changed from NULL to error code: 1010
Kann es vielleicht mit https zu tun haben?
Unterstützt das HTTP Binding überhaupt https?

Danke trotzdem für eure Hilfe - ich suche mal weiter :-)

Grüße
Christian

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Bitpanda - Preis Ticker einbinden (API)

Beitrag von udo1toni »

curius hat geschrieben: 29. Apr 2020 18:48 Unterstützt das HTTP Binding überhaupt https?
Ja, das sollte kein Problem sein.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten