If you've just updated from v0.x.x to v1.x.x please remove the cryptoinfo sensor from your configuration.yaml and follow Installation step 2
If you like my work, please buy me a coffee or donate some crypto currencies. This will keep me awake, asleep, or whatever 😉
If you need more advanced features than this project offers, see Cryptoinfo Advanced
There are 2 ways to install cryptoinfo:
- Download 'cryptoinfo' from the HACS store
- Copy the files in the /custom_components/cryptoinfo/ folder to: [homeassistant]/config/custom_components/cryptoinfo/
The next step is to add cryptoinfo sensors to your Home Assistant:
- Browse to your Home Assistant config page
- Press Settings --> Devices & Services
- Press 'Add Integration' and search for 'cryptoinfo' and select the 'cryptoinfo' integration
- Fill in the 'add new sensor' form
- Identifier Unique name for the sensor
- Cryptocurrency id's One or more of the 'id' values (seperated by a , character) that you can find on this <a href='https://api.coingecko.com/api/v3/coins/list' target='_blank'>page</a>
- Multipliers The number of coins/tokens (seperated by a , character). The number of Multipliers must match the number of Cryptocurrency id's
- Currency name One of the currency names that you can find on this <a href='https://api.coingecko.com/api/v3/simple/supported_vs_currencies' target='_blank'>page</a>
- Unit of measurement You can use a currency symbol or you can make it empty. You can find some symbols on this <a href='https://en.wikipedia.org/wiki/Currency_symbol#List_of_currency_symbols_currently_in_use' target='_blank'>page</a>
- Update frequency (minutes) How often should the value be refreshed? Beware of the <a href='https://support.coingecko.com/hc/en-us/articles/4538771776153-What-is-the-rate-limit-for-CoinGecko-API-public-plan' target='_blank'>CoinGecko rate limit</a> when using multiple sensors
- Minimum time between requests (minutes) The minimum time between the other sensors and this sensor to make a data request to the API. (This property is shared and the same for every sensor). You can set this value to 0 if you only use 1 sensor
The entities have some important attributes:
- last_update This will return the date and time of the last update
- cryptocurrency_id This will return the cryptocurrency id
- cryptocurrency_name This will return the cryptocurrency name
- cryptocurrency_symbol This will return the cryptocurrency symbol
- currency_name This will return the currency name
- base_price This will return the price of 1 coin / token in 'currency_name'(default = "usd") of the 'cryptocurrency_id'
- multiplier This will return the number of coins / tokens
- 24h_volume This will return the 24 hour volume in 'currency_name'(default = "usd") of the 'cryptocurrency_id'(default = "bitcoin")
- 1h_change This will return the 1 hour change in percentage of the 'cryptocurrency_id'(default = "bitcoin")
- 24h_change This will return the 24 hour change in percentage of the 'cryptocurrency_id'(default = "bitcoin")
- 7d_change This will return the 7 day change in percentage of the 'cryptocurrency_id'(default = "bitcoin")
- 30d_change This will return the 30 day change in percentage of the 'cryptocurrency_id'(default = "bitcoin")
- market_cap This will return the total market cap of the 'cryptocurrency_id'(default = "bitcoin") displayed in 'currency_name'(default = "usd")
- circulating_supply This will return the circulating supply of the 'cryptocurrency_id'(default = "bitcoin")
- total_supply This will return the total supply of the 'cryptocurrency_id'(default = "bitcoin")
Template example for usage of attributes. This example creates a new sensor with the attribute value '24h_volume' of the sensor 'sensor.cryptoinfo_main_wallet_ethereum_eur':
- platform: template
sensors:
cryptoinfo_main_wallet_ethereum_eur_24h_volume:
value_template: "{{ state_attr('sensor.cryptoinfo_main_wallet_ethereum_eur', '24h_volume') | float(0) | round(0) }}"
unit_of_measurement: "€"
If you want to know the total value of your cryptocurrencies, you could use this template as an example. This example combines the total value of all your sensors into this 1 template sensor:
- platform: template
sensors:
crypto_total:
value_template: >
{{ integration_entities('cryptoinfo')
| map('states')
| map('float', 0)
| sum | round(2) }}
unit_of_measurement: >
{{ expand(integration_entities('cryptoinfo'))
| map(attribute='attributes.unit_of_measurement')
| list | default(['$'], true)
| first }}
friendly_name: Total value of all my cryptocurrencies
CoinGecko’s Public API has a rate limit of 5 to 15 calls per minute, depending on usage conditions worldwide.
If there are any problems, please create an issue in https://github.com/heyajohnny/cryptoinfo/issues If you want new functionality added, please create an issue with a description of the new functionality that you want in: https://github.com/heyajohnny/cryptoinfo/issues