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.