Árfolyamok megjelenítése
Szeretném, ha a Home Assistant nem csak egy felület lenne amin keresztül vezérelhetem az okos otthonom, hanem egyfajta központ is. Legyenek rajta fontos és hasznos információk is, például időjárás előrejelzés, árfolyamok. Ebben a cikkben az árfolyamok megjelenítésére mutatok három módszert.
Bitcoin árfolyam lekérése
A népszerű Bitcoint támogatja a Home Assistant. Csak be kell kapcsolni a komponensét, ehhez a következő sorokat kell a configuration.yaml fájlba írni:
sensors: - platform: bitcoin display_options: - exchangerate
Amerikai dollár, euró, angol font
Találtam egy ingyenesen használható API-t ami JSON-ben megadja a kért árfolyamokat. Ez a Fixer. Például a https://api.fixer.io/latest?base=USD&symbols=HUF
címre a következő választ kaptam a cikk írásának pillanatában:
{ base: "USD", date: "2018-01-19", rates: { HUF: 252.31 } }
Ezt nagyon könnyen fel lehet dolgoztatni a Home Assistant REST sensor komponensével. A következőket kell beírni a configuration.yaml fájlba:
- platform: rest resource: https://api.fixer.io/latest?base=USD&symbols=HUF method: GET name: exchange_rate_usd value_template: "{{ value_json.rates.HUF }}" unit_of_measurement: HUF - platform: rest resource: https://api.fixer.io/latest?base=EUR&symbols=HUF method: GET name: exchange_rate_eur value_template: "{{ value_json.rates.HUF }}" unit_of_measurement: HUF - platform: rest resource: https://api.fixer.io/latest?base=GBP&symbols=HUF method: GET name: exchange_rate_gbp value_template: "{{ value_json.rates.HUF }}" unit_of_measurement: HUF
Más kriptovaluta árfolyamok
A Bitcoinon kívül még érdekel más kriptovaluta árfolyama is. A Coinmarketcap is rendelkezik ingyenesen használható API-val és rengeteg valuta árfolyamát kísérhetjük figyelemmel a segítségével. Ehhez viszont írtam egy Go programot. Már csak a gyakorlás miatt is. Ez a program indulás után lekéri az árfolyamokat, majd publikálja őket egy MQTT témába, végül kilép. Ezt a programot cron segítségével 15 percenként lefuttatom. A program konfigurációja így néz ki:
{ "mqtt": { "server": "192.168.XXX.XXX", "port": 1883, "topic": "exchange_rates", "clientID": "altcoin_exchange_rates" }, "url": "https://api.coinmarketcap.com/v1/ticker/", "request_timeout": 20, "coins": [ "ethereum", "monero", "ripple", "zcash", "bytecoin-bcn" ], "logfile": "altcoin_exchange_rates.log" }
Így, pedig a Home Assistanté:
- platform: mqtt state_topic: "exchange_rates" name: "Bytecoin" unit_of_measurement: "USD" value_template: "{{ value_json['bytecoin-bcn'].price_usd }}" - platform: mqtt state_topic: "exchange_rates" name: "Ethereum" unit_of_measurement: "USD" value_template: "{{ value_json.ethereum.price_usd }}" - platform: mqtt state_topic: "exchange_rates" name: "Monero" unit_of_measurement: "USD" value_template: "{{ value_json.monero.price_usd }}" - platform: mqtt state_topic: "exchange_rates" name: "Ripple" unit_of_measurement: "USD" value_template: "{{ value_json.ripple.price_usd }}" - platform: mqtt state_topic: "exchange_rates" name: "Zcash" unit_of_measurement: "USD" value_template: "{{ value_json.zcash.price_usd }}"
A program forráskódja megtalálható GitHubon.
Grafikonok, képek
A Home Assistant elmenti a kapott árfolyam adatokat és automatikusan grafikonokat rajzol belőlük. Mutatok képet arról, hogy nálam hogy jelennek meg az árfolyamok és a grafikonok.