Á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.

Tagged with: , , , , , , , , ,