Last active
August 20, 2021 02:29
-
-
Save atomicpapa/69003aeb8d547e7c54800ebe9e44f059 to your computer and use it in GitHub Desktop.
Dwain's Dashboard Crypto More-page
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Created by Glenn Morrison | |
## More-page add-on: Crypto | |
## Version: 1.0.0 | |
## This addon requires setting up the crypto tracker detailed here: | |
## https://community.home-assistant.io/t/how-to-track-crypto-in-home-assistant/316051?u=atomicpapa | |
## Additionally, the following Lovelace cards must be installed: | |
## Lovelace Card Mod | |
## Template Entity Row | |
## Vertical Card in Stack | |
## Mini-Graph-Card | |
## add the following to your more-page.yaml | |
## addons: | |
## - name: Crypto | |
## icon: mdi:bitcoin | |
## path: "dwains-dashboard/addons/more_page/crypto/page.yaml" | |
- type: custom:dwains-flexbox-card | |
items_classes: "col-xs-12 col-sm-6 col-sm-6 col-md-3" | |
cards: | |
### BTC | |
- type: custom:vertical-stack-in-card | |
cards: | |
- type: entities | |
entities: | |
- type: custom:template-entity-row | |
entity: sensor.crypto_btc | |
name: "{{ state_attr(config.entity, 'name') }}" | |
secondary: "{{ state_attr(config.entity, 'symbol') }}" | |
image: "{{ state_attr(config.entity, 'logo_url') }}" | |
state: ${{ state_attr(config.entity, 'price') | round(2) }} | |
- type: custom:template-entity-row | |
entity: sensor.crypto_btc | |
name: High | |
icon: mdi:currency-usd | |
state: ${{ state_attr(config.entity, 'high') | round (2)}} | |
secondary: >- | |
{{ as_timestamp(state_attr(config.entity, 'high_timestamp')) | | |
timestamp_custom('%d-%m-%Y %H:%M ') }} | |
- type: custom:template-entity-row | |
entity: sensor.crypto_btc | |
name: Crypto Rank | |
icon: mdi:chart-line | |
state: "{{ state_attr(config.entity, 'rank') }}" | |
secondary: ${{"{:,}".format(state_attr(config.entity, 'market_cap')|int)}} | |
- type: custom:mini-graph-card | |
hours_to_show: 3 | |
points_per_hour: 60 | |
show: | |
icon: false | |
name: false | |
entities: | |
- entity: sensor.crypto_btc | |
- type: entities | |
entities: | |
- entity: sensor.crypto_btc_1_hr | |
name: 1 Hour | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_btc_1_d | |
name: 1 Day | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_btc_7_d | |
name: 7 Days | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_btc_30_d | |
name: 30 Days | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
#### ETH | |
- type: custom:vertical-stack-in-card | |
cards: | |
- type: entities | |
entities: | |
- type: custom:template-entity-row | |
entity: sensor.crypto_eth | |
name: "{{ state_attr(config.entity, 'name') }}" | |
secondary: "{{ state_attr(config.entity, 'symbol') }}" | |
image: "{{ state_attr(config.entity, 'logo_url') }}" | |
state: ${{ state_attr(config.entity, 'price') | round(2) }} | |
- type: custom:template-entity-row | |
entity: sensor.crypto_eth | |
name: High | |
icon: mdi:currency-usd | |
state: ${{ state_attr(config.entity, 'high') | round (2)}} | |
secondary: >- | |
{{ as_timestamp(state_attr(config.entity, 'high_timestamp')) | | |
timestamp_custom('%d-%m-%Y %H:%M ') }} | |
- type: custom:template-entity-row | |
entity: sensor.crypto_eth | |
name: Crypto Rank | |
icon: mdi:chart-line | |
state: "{{ state_attr(config.entity, 'rank') }}" | |
secondary: ${{"{:,}".format(state_attr(config.entity, 'market_cap')|int)}} | |
- type: custom:mini-graph-card | |
hours_to_show: 3 | |
points_per_hour: 60 | |
show: | |
icon: false | |
name: false | |
entities: | |
- entity: sensor.crypto_eth | |
- type: entities | |
entities: | |
- entity: sensor.crypto_eth_1_hr | |
name: 1 Hour | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_eth_1_d | |
name: 1 Day | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_eth_7_d | |
name: 7 Days | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_eth_30_d | |
name: 30 Days | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
### LTC | |
- type: custom:vertical-stack-in-card | |
cards: | |
- type: entities | |
entities: | |
- type: custom:template-entity-row | |
entity: sensor.crypto_ltc | |
name: "{{ state_attr(config.entity, 'name') }}" | |
secondary: "{{ state_attr(config.entity, 'symbol') }}" | |
image: "{{ state_attr(config.entity, 'logo_url') }}" | |
state: ${{ state_attr(config.entity, 'price') | round(2) }} | |
- type: custom:template-entity-row | |
entity: sensor.crypto_ltc | |
name: High | |
icon: mdi:currency-usd | |
state: ${{ state_attr(config.entity, 'high') | round (2)}} | |
secondary: >- | |
{{ as_timestamp(state_attr(config.entity, 'high_timestamp')) | | |
timestamp_custom('%d-%m-%Y %H:%M ') }} | |
- type: custom:template-entity-row | |
entity: sensor.crypto_ltc | |
name: Crypto Rank | |
icon: mdi:chart-line | |
state: "{{ state_attr(config.entity, 'rank') }}" | |
secondary: ${{"{:,}".format(state_attr(config.entity, 'market_cap')|int)}} | |
- type: custom:mini-graph-card | |
hours_to_show: 3 | |
points_per_hour: 60 | |
show: | |
icon: false | |
name: false | |
entities: | |
- entity: sensor.crypto_ltc | |
- type: entities | |
entities: | |
- entity: sensor.crypto_ltc_1_hr | |
name: 1 Hour | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_ltc_1_d | |
name: 1 Day | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_ltc_7_d | |
name: 7 Days | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} | |
- entity: sensor.crypto_ltc_30_d | |
name: 30 Days | |
type: custom:template-entity-row | |
state: ${{ states(config.entity) | round(2) }} | |
secondary: >- | |
{{ state_attr(config.entity, 'price_change_pct') | multiply(100) | | |
round(4) }}% | |
icon: | | |
{% if states(config.entity) | float > 0 %} | |
mdi:arrow-up-bold | |
{% elif states(config.entity) | float < 0 %} | |
mdi:arrow-down-bold | |
{% else %} | |
mdi:arrow-right-bold | |
{% endif %} | |
card_mod: | |
style: | | |
{% if states(config.entity) | float > 0 %} | |
:host { | |
--paper-item-icon-color: green; | |
color: green | |
} | |
{% elif states(config.entity) | float < 0 %} | |
:host { | |
--paper-item-icon-color: red; | |
color: red | |
} | |
{% else %} | |
:host { | |
--paper-item-icon-color: black; | |
color: black | |
} | |
{% endif %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment