NEWS
UNSOLVED Werte von Bitpanda abrufen
-
Das ist ein Befehl für die Kommandozentrale mit dem Befehl curl
Curl kann http requests ausführen.Wenn du den IoBroker verwendest, dann ist es besser das mittels JavaScript auszuführen
Das wäre die Übersetzung des Befehls unter Zuhilfenahme von axionsconst axios = require('axios'); axios.get('https://api.bitpanda.com/v1/trades', { headers: { 'X-Api-Key': 'string' } }) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); });
Das kannst du im Adapter JavaScript in ein neues JavaScript Skript kopieren und ausführen.
Allerdings gibt es dir einfach nur die Ergebnisse aus.
Du wirst die Werte aber noch weiterverarbeiten müssen, so das der ein oder andere Wert in einem datenpunkt landet.Ich habe den Befehl mit ChatGPT übersetzen lassen, für mich sieht er valide aus, es kann , wie bei ki möglich, das sich da Fehler einschleichen. Aber dazu muss man die api Dokumentation von bitpanda genau studieren. Irgendwie fehlt da noch ein Header, der sagt in welcher Form wir das Ergebnis haben wollen (json), aber muss auch nicht unbedingt sein. Hängt halt von de api ab.
-
@oliverio
danke erstmal.
so nun geht das los bei mir.
geht sowas auch über eine javascript funktion und danach blockly?LG
-
Bei Blocky bin ich raus
-
Wenn Du lieber grafisch arbeiten willst - dann solltest Du lieber mal NodeRed versuchen - als zu puzzeln.
-
@mickym
nodered bin ich total raus. das wüsste ich schon garnicht mehr weiter -
@dasbo1975 Na vielleicht solltest du dich damit mal beschäftigen - jedenfalls gibts da eine http request Node und viele weitere Nodes, die Dir schon fertig Aufgaben lösen.
Aber gut - dann musst halt die JS function in blockly einbinden. Soweit ich weiß kann man dem http request teil beim Puzzeln keine Header mitgeben.
Ich will Dich nicht vom Puzzeln abhalten. In dem Fall bindest Du halt die JS Funktion halt mit dem Puzzelteil einAber gibt sicher JS Profis, Dir das Skript entweder komplett erstellen oder Dir die Funktion so umbauen, dass Du dann leicht weiter puzzeln kannst.
Ich bin dann aber raus, weil mir die Puzzleteile zu wenig flexibel und mächtig sind.
-
@mickym
vielen dank erstmal.
So bekomme ich doch neue Lösungsansätze -
@mickym
ich hab jetzt nodered installiert. kannst du mir sagen wie es nach dem http request weiter geht -
@dasbo1975 Du nimmst eine Inject-Node zum Triggern und hängst hinten eine Debug Node dran. Da ein JSON zurückkommt, solltest Du das noch umstellen. Im Debug Fenster solltest Du dann so einen Response bekommen, wie in der Doku.
{ "data": [ { "type": "trade", "attributes": { "status": "finished", "type": "buy", "cryptocoin_id": "1", "fiat_id": "1", "amount_fiat": "100.00", "amount_cryptocoin": "0.03325352", "fiat_to_eur_rate": "1.00000000", "wallet_id": "b8448e50-21e4-11e8-923c-83856b384ff7", "fiat_wallet_id": "4019cdb0-1d62-11e8-b4b2-313f9b0a3bca", "payment_option_id": "12", "time": { "date_iso8601": "2019-02-05T11:41:04+01:00", "unix": "1549363264" }, "price": "3007.20", "is_swap": false }, "id": "88ea98a0-2932-11e9-91da-8bbc17ef282b" }, { "type": "trade", "attributes": { "status": "finished", "type": "buy", "cryptocoin_id": "1", "fiat_id": "1", "amount_fiat": "50.00", "amount_cryptocoin": "0.01662676", "fiat_to_eur_rate": "1.00000000", "wallet_id": "b8448e50-21e4-11e8-923c-83856b384ff7", "fiat_wallet_id": "4019cdb0-1d62-11e8-b4b2-313f9b0a3bca", "payment_option_id": "12", "time": { "date_iso8601": "2019-02-05T11:40:21+01:00", "unix": "1549363221" }, "price": "3007.20", "is_swap": false }, "id": "6f6ba3a0-2932-11e9-bdcb-efc7d8bd663c" } ], "meta": { "total_count": 114, "next_cursor": "6f6ba3a0-2932-11e9-bdcb-efc7d8bd663c", "page_size": 2 }, "links": { "next": "?cursor=6f6ba3a0-2932-11e9-bdcb-efc7d8bd663c&page_size=2", "self": "?cursor=&page_size=2" } }
da ich keinen key habe - kommt natürlich Access Error:
Hier mal der kleine Flow zum Importieren:
Einfach in die Zwischenablage kopieren und dann importieren.
Nach jeder Änderung musst Du mit dem Übernahme Button - den Flow mit allen Änderungen aktivieren.
-
@mickym Wenn Du Daten zurückbekommst, kannst Du ja sagen welche Daten Dich interessieren, ansonsten habe ich noch einen Flow, der Dir dann aus allen Daten alles Datenpunkte im iobroker erstellt.
-
@mickym
mega.
Ich danke dir. Das war ja einfacher als ich dachte.
Und wie hole ich mir jetzt die Einzelwerte daraus und schick die in die IoBroker Datenpunkte -
@dasbo1975 Ich sagte ja - NodeRed ist einfach genial. - Glaubt nur keiner. Also was willst Du haben?
Alles oder nur Teile von data?
-
@mickym
Ich brauche immer nur Teile. -
@dasbo1975 Ja was. Ich habe Dir ja das JSON was zurückkommt geschickt. Also Du brauchst wahrscheinlich nur aus "data", die Datensätze mit type "trade" und welche attribute?
-
@mickym
trades sind noch nicht gefüllt, aber https://api.bitpanda.com/v1/fiatwallets
der liefert mir gerade daten.. diese bräuchte ich davon
"fiat_id": "1",
"fiat_symbol": "EUR",
"balance": "9909.00000000",
"name": "EUR Wallet",
"pending_transactions_count": 0wenn ich das dann verstanden habe, sollte ich die trades morgen auch hinbekommen.
-
@dasbo1975 sagte in Werte von Bitpanda abrufen:
"fiat_symbol": "EUR",
Ja Du musst mir nur sagen, was Du aufrufst.
Du rufst also die fiat-flat wallets auf: https://developers.bitpanda.com/#list-fiat-wallets
-
@mickym
ich bräuchte von dort den ersten baum (die Daten aus Object 0)
{
"data": [
{
"type": "fiat_wallet",
"attributes": {
"fiat_id": "1",
"fiat_symbol": "EUR",
"balance": "9909.00000000",
"name": "EUR Wallet",
"pending_transactions_count": 0
},
"id": "4019cdb0-1d62-11e8-b4b2-313f9b0a3bca"von diesen attributen soll alles abgerufen werden.
später kommt auch noch das asses-wallet mit hinzu. da wäre glaube ich dein flow mit alles was da kommt rüber schicken gut. aber erstmal wäre ich froh wenn ich dieses ding hier zum laufen bekomme
-
-
@dasbo1975 sagte in Werte von Bitpanda abrufen:
ich bräuchte von dort den ersten baum (die Daten aus Object 0)
Du brauchst also nicht das ganze Array, sondern nur das 1. Element - also 0?
-
@mickym
genau.
kommt das dann als json oder kann man die einzelnen daten gleich in nodered auseinander ziehen und zu einzelnen dp im iobroker schicken?