Da ich Monero mit einem Raspberry Pi selber mine, bin ich natürlich auch im Besitz anderer Altcoins (also letztlich Kryptowährungen, abseits von Bitcoin [Wikipedia]). Grundsätzlich bin ich eher vom Typ HODLER, halte meine Altcoins also eher länger und spekuliere nicht auf kurzfristige Gewinne.
Dennoch habe ich nach einer Möglichkeit gesucht, mir die relevanten aktuellen Kurse meiner Kryptowährungen in Home Assistant anzeigen zu lassen.
Für Bitcoin gibt es eine eigene Integration (BTC-Integration), jedoch besitze ich gerade Bitcoins nicht! Also musste eine andere Lösung her!
Fündig bin ich bei Kiril Peyanski geworden, der auf seinem Blog bereits beschreibt, wie man sich mittels API von der Webseite Coinmarketcap.com die aktuellen Kurse „holen“ kann – und das auch noch kostenlos. Wie das konkret geht, beschreibe ich hier nun auch!
Aktuellen ETH/Altcoin Kurs in Home Assistant anzeigen
Als erstes benötigst du einen kostenlosen Account bei Coinmarketcap.com um Zugriff auf deren API zu erhalten.
Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:
Follow Home Assistant
Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!
Im Basic-Plan erhält man 333 kostenlose API-Anfragen. Konkret bedeutet dies, dass du circa alle 259 Sekunden einen solchen API-Call machen kannst und somit innerhalb der kostenlose zur Verfügung gestellten Menge bleibst (also in etwa alle 5 Minuten).
Sofern es für dich in Ordnung ist, wenn der Altcoin-Kurs bis zu 5 Minuten alt sein kann, lies weiter. Anderenfalls wirst du bei Coinmarketcap.com einen kostenpflichtigen Account brauchen und kannst auch weiterlesen! 😉
Direkt nach der Anmeldung wird dir im Dashboard von Coinmarketcap die Möglichkeit geboten, deinen API-Key zu kopieren (etc.). Das machen wir als nächstes!
Dann wechseln wir zu deiner Home Assistant Instanz und dort in den Editor. Wir fügen dort als Sensor folgenden Code ein:
- platform: command_line
name: coinmarketcap_curl
command: 'curl -X GET -H "X-CMC_PRO_API_KEY: 4711-0815-6969" -H "Accept: application/json" -d "symbol=ETH,ZRX&convert=EUR" -G "https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest"'
value_template: '{{ value_json.value }}'
scan_interval: 1800
json_attributes:
- data
- platform: template
sensors:
eth_price:
friendly_name: 'Ethereum Price'
unit_of_measurement: 'EUR'
value_template: '{{ ((states.sensor.coinmarketcap_curl.attributes.data.ETH.quote.EUR.price) | float) | round(2) }}'
zrx_price:
friendly_name: 'ZRX Price'
unit_of_measurement: 'EUR'
value_template: '{{ ((states.sensor.coinmarketcap_curl.attributes.data.ZRX.quote.EUR.price) | float) | round(2) }}'
In meinem Fall steht dort am Anfang kein „sensor:“, weil ich für jeden so hinzugefügten Sensor eine eigene YAML-Datei habe. Sofern du noch kein „sensor:“ in deinen Konfigurations-Dateien hast, wirst du dies natürlich ergänzen/vorwegstellen müssen!
Natürlich musst du anstelle von 4711-0815-6969 deinen eigenen API-Key von Coinmarketcap.com eintragen!
Ich aktualisiere die Altcoin-Kurse nur alle 1800 Sekunden (also alle 30 Minuten), weil ich HODLER bin und nicht kurzfristig verkaufen werde 😉
Darüber hinaus habe ich in diesem Code-Beispiel auch nur Ethereum und 0x als beispielhafte Altcoins angegeben. Du kannst dies um deine Coins beliebig ergänzen. Beachte dabei nur, dass du für jeden in dem Command-Line-Code angegebenen Altcoin auch dadrunter unter Templat eine Ausprägung benötigst.
Nach einem Neustart stehen dir nun sensor.eth_price und sensor.zrx_price zur Verfügung (oder halt alle Sensoren, die du erstellt hast!).
Ich lasse mir die Werte in Euro angeben, im Original von Kiril Peyanski ist dies in USD.
Produktempfehlungen