Just thought I’d share a screenshot of my bitcoin/crypto dashboard in case anyone is interested, happy to share templates, card config etc if anyone wants it.
This is mostly all powered by my own revamp of the cryptoinfo
integration here
Which supports fetching data from a bunch more sources
5 Likes
mfrafael
(Rafael Andrade)
April 25, 2023, 2:07am
2
Please, do share! It looks very complete!!! Even though I might not use everything in there, this looks awesome
Which bits would you like sir?
This is my Bitcoin sensor config for the above cryptoinfo
integration:
# BTC Price USD
- platform: cryptoinfo_advanced
id: "BTC Price"
cryptocurrency_name: "bitcoin"
currency_name: "usd"
unit_of_measurement: "$"
update_frequency: 0.5
extra_sensors:
- property: "all_time_high"
unit_of_measurement: "$"
- property: "all_time_high_distance"
unit_of_measurement: "$"
# BTC Price GBP
- platform: cryptoinfo_advanced
id: "BTC Price GBP"
cryptocurrency_name: "bitcoin"
currency_name: "gbp"
unit_of_measurement: "£"
update_frequency: 0.5
# BTC Dom
- platform: cryptoinfo_advanced
id: "BTC Dominance"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 0.5
api_mode: "dominance"
# ETH Dom
- platform: cryptoinfo_advanced
id: "ETH Dominance"
cryptocurrency_name: "eth"
unit_of_measurement: "%"
update_frequency: 0.5
api_mode: "dominance"
# BTC Chain Summary
- platform: cryptoinfo_advanced
id: "BTC Height"
cryptocurrency_name: "btc"
unit_of_measurement: "Blks"
update_frequency: 2
api_mode: "chain_summary"
extra_sensors:
- property: hashrate_calc
id: "BTC Hashrate EH"
unit_of_measurement: EH
- property: difficulty_block_progress
id: "BTC Difficulty Block Progress"
unit_of_measurement: "Blks"
state_class: total_increasing
- property: difficulty_retarget_height
id: "BTC Difficulty Retarget Height"
unit_of_measurement: "Blks"
- property: block_time_in_seconds
id: "BTC Block Time In Seconds"
unit_of_measurement: "seconds"
- property: difficulty_retarget_seconds
id: "BTC Difficulty Retarget Seconds"
unit_of_measurement: "seconds"
- property: difficulty_retarget_percent_change
id: "BTC Difficulty Retarget Percent Change"
unit_of_measurement: "%"
- property: difficulty_retarget_estimated_diff
id: "BTC Difficulty Retarget Estimated Diff"
unit_of_measurement: ""
- property: halving_block_progress
id: "BTC Halving Block Progress"
unit_of_measurement: "Blks"
- property: next_halving_height
id: "BTC Next Halving Height"
unit_of_measurement: "Blks"
- property: total_halvings_to_date
id: "BTC Total Halvings To Date"
unit_of_measurement: "Halvings"
# BTC Hash Control
- platform: cryptoinfo_advanced
id: "BTC Foundry USA Hash Control 100 Blocks"
unique_id: "btc_cco_bc1qxh"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "FoundryUSA"
- "bc1qxh"
- platform: cryptoinfo_advanced
id: "BTC F2Pool Hash Control 100 Blocks"
unique_id: "btc_cco_1KFHE7"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "F2Pool"
- "1KFHE7"
- platform: cryptoinfo_advanced
id: "BTC Binance Hash Control 100 Blocks"
unique_id: "btc_cco_1Q8QR5"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "Binance"
- "1Q8QR5"
- "3L8Ck6"
- platform: cryptoinfo_advanced
id: "BTC AntPool Hash Control 100 Blocks"
unique_id: "btc_cco_AntPool38XnPv"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "AntPool"
- "38XnPv"
- platform: cryptoinfo_advanced
id: "BTC ViaBTC Hash Control 100 Blocks"
unique_id: "btc_cco_ViaBTC"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "ViaBTC"
- "18cBEM"
- platform: cryptoinfo_advanced
id: "BTC BTC.Com Hash Control 100 Blocks"
unique_id: "btc_cco_36cWgj"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "BTC.Com"
- "36cWgj"
- platform: cryptoinfo_advanced
id: "BTC MaraPool Hash Control 100 Blocks"
unique_id: "btc_cco_15MdAH"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "MaraPool"
- "15MdAH"
- platform: cryptoinfo_advanced
id: "BTC Poolin Hash Control 100 Blocks"
unique_id: "btc_cco_poolin"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "Poolin"
- "33TbzA"
- platform: cryptoinfo_advanced
id: "BTC Pegapool Hash Control 100 Blocks"
unique_id: "btc_cco_pegapool"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "3GRKUV"
- platform: cryptoinfo_advanced
id: "BTC Luxor Hash Control 100 Blocks"
unique_id: "btc_cco_luxor"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "39bitU"
- platform: cryptoinfo_advanced
id: "BTC EMCD.io Hash Control 100 Blocks"
unique_id: "btc_cco_emcdio"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "3LwoXD"
- platform: cryptoinfo_advanced
id: "BTC Slushpool Hash Control 100 Blocks"
unique_id: "btc_cco_slush"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "1CK6KH"
- platform: cryptoinfo_advanced
id: "BTC CarbonNegative Hash Control 100 Blocks"
unique_id: "btc_cco_carbonnegative"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "3KZDwm"
- platform: cryptoinfo_advanced
id: "BTC SBICrypto Hash Control 100 Blocks"
unique_id: "btc_cco_sbicrypto"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "bc1qte"
- platform: cryptoinfo_advanced
id: "BTC Ultimus Hash Control 100 Blocks"
unique_id: "btc_cco_ultimus"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "3C9sAK"
- platform: cryptoinfo_advanced
id: "BTC Terrapool Hash Control 100 Blocks"
unique_id: "btc_cco_terrapool"
cryptocurrency_name: "btc"
unit_of_measurement: "%"
update_frequency: 1
api_mode: "chain_control"
pool_prefix:
- "bc1q39"
# BTC Last Diff
- platform: cryptoinfo_advanced
id: "BTC Last Diff Timestamp"
cryptocurrency_name: "btc"
unit_of_measurement: "s"
update_frequency: 1
api_mode: "chain_block_time"
# BTC Orphans
- platform: cryptoinfo_advanced
id: "BTC Orphans Today"
cryptocurrency_name: "btc"
unit_of_measurement: "Blks"
update_frequency: 1
api_mode: "chain_orphans"
# BTC Mempool
- platform: cryptoinfo_advanced
id: "BTC Mempool Size"
cryptocurrency_name: "btc"
unit_of_measurement: "vB"
update_frequency: 1
api_mode: "mempool_stats"
extra_sensors:
- property: mempool_tx_count
id: "BTC Mempool TX Count"
unit_of_measurement: "tx"
- property: mempool_total_fee
id: "BTC Mempool Total Fees"
unit_of_measurement: "satoshis"
- property: mempool_size_calc
id: "BTC Mempool Size MB"
unit_of_measurement: "MB"
The cards I’m still tweaking but if there’s particular bits you’re interested in I’ll post the code
1 Like
mfrafael
(Rafael Andrade)
April 27, 2023, 3:30am
4
Thank you so much for sharing!!!
Would you mind also sharing the code from your lovelace dashboard that you use it?
I have already installed Cryptoinfo_advanced, there is soooo much stuff in there to use, thanks!
This is the left bitcoin card with the main stats. It does use a couple of input_number
entities for the price targets so either remove those or also make those up if you want to use that
type: custom:layout-card
layout_type: custom:horizontal-layout
cards:
- type: custom:mushroom-title-card
title: BTC
- type: custom:layout-card
layout_type: custom:horizontal-layout
cards:
- hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_price_bitcoin_usd
detail: 2
name: BTC USD
- hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_price_bitcoin_gbp
detail: 2
name: BTC GBP
layout:
width: 190
max_cols: 2
margin: 0px 0px 0px 0px
card_margin: 0px 0px 0px 0px
view_layout:
column: 1
- type: custom:layout-card
layout_type: custom:horizontal-layout
cards:
- hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_mempool_size_mb
detail: 2
name: Mempool Size
- hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_mempool_tx_count
detail: 2
name: Mempool TXs
layout:
width: 190
max_cols: 2
margin: 0px 0px 0px 0px
card_margin: 0px 0px 0px 0px
view_layout:
column: 1
- type: custom:layout-card
layout_type: custom:horizontal-layout
cards:
- type: conditional
conditions:
- entity: input_boolean.ui_always_on
state: 'on'
card:
hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_mempool_average_fee_per_tx
detail: 2
name: Mempool Avg Fee/TX
unit: sats
- type: conditional
conditions:
- entity: input_boolean.ui_crypto_toggle_btc_mempool_fee_unit
state: 'on'
card:
hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_mempool_total_fees
detail: 2
name: Mempool Total Fees
unit: sats
- type: conditional
conditions:
- entity: input_boolean.ui_always_on
state: 'off'
card:
hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_mempool_average_fee_per_tx
detail: 2
name: Mempool Avg Fee/TX
unit: sats
- type: conditional
conditions:
- entity: input_boolean.ui_crypto_toggle_btc_mempool_fee_unit
state: 'off'
card:
hours_to_show: 24
graph: line
type: sensor
entity: sensor.cryptoinfo_btc_mempool_total_fees_btc
detail: 2
name: Mempool Total Fees
unit: BTC
icon: mdi:bitcoin
layout:
width: 190
max_cols: 2
margin: 0px 0px 0px 0px
card_margin: 0px 0px 0px 0px
view_layout:
column: 1
- type: custom:layout-card
layout_type: custom:horizontal-layout
cards:
- type: gauge
entity: sensor.cryptoinfo_btc_dominance
unit: '%'
name: Dominance
needle: false
severity:
green: 45
yellow: 30
red: 0
- type: gauge
entity: sensor.cryptoinfo_btc_difficulty_block_progress
max: 2016
needle: false
severity:
green: 0
yellow: 1616
red: 1916
min: 0
unit: Blks
name: Diff Progress
- type: gauge
entity: sensor.cryptoinfo_btc_halving_block_progress
max: 210000
needle: false
severity:
green: 0
yellow: 195000
red: 205000
name: Halving Progress
layout:
width: 130
max_cols: 3
margin: 0px 0px 0px 0px
card_margin: 0px 0px 0px 0px
view_layout:
column: 1
- type: custom:layout-card
layout_type: custom:horizontal-layout
cards:
- type: custom:mushroom-template-card
primary: >-
{{
"${0:,.0f}".format(states("sensor.cryptoinfo_bitcoin_all_time_high")|float)
}}
secondary: All Time High
icon: mdi:bitcoin
entity: input_boolean.ui_always_on
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: call-service
service: input_boolean.toggle
target:
entity_id: input_boolean.ui_crypto_toggle_btc_mempool_fee_unit
data: {}
icon_color: >-
{% if (states('sensor.cryptoinfo_btc_price_bitcoin_usd') | float(0))
>= (states('sensor.cryptoinfo_bitcoin_all_time_high') | float(0)) %}
orange
{% else %}
white
{% endif%}
- type: custom:mushroom-template-card
primary: >-
{% set dist =
(states("sensor.cryptoinfo_bitcoin_all_time_high_distance")|float) %}
{{"-" if dist > 0 else "+" }}{{ "${0:,.0f}".format(dist) }}
secondary: All Time High Distance
icon: mdi:bitcoin
entity: input_boolean.ui_always_on
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: none
icon_color: >-
{% if (states('sensor.cryptoinfo_btc_price_bitcoin_usd') | float(0))
>= (states('sensor.cryptoinfo_bitcoin_all_time_high') | float(0)) %}
orange
{% else %}
white
{% endif%}
- type: custom:mushroom-template-card
primary: >-
{%- set low_dist = ((states('sensor.cryptoinfo_btc_price_bitcoin_usd')
| float(0)) - (states('input_number.crypto_btc_price_trigger_under') |
float(0))) -%} {{("+" if low_dist > 0 else "") + "$" + (low_dist |
string) }}
secondary: Low Target
icon: mdi:bitcoin
entity: sensor.cryptoinfo_bitcoin_all_time_high
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: none
icon_color: >-
{% if (states('sensor.cryptoinfo_btc_price_bitcoin_usd') | float(0)) <
(states('input_number.crypto_btc_price_trigger_under') | float(0)) %}
orange
{% else %}
white
{% endif%}
- type: custom:mushroom-template-card
primary: >-
{%- set high_dist =
-((states('input_number.crypto_btc_price_trigger_above') | float(0)) -
(states('sensor.cryptoinfo_btc_price_bitcoin_usd') | float(0))) %}
{{("+" if high_dist > 0 else "") + "$" + (high_dist | string) }}
secondary: High Target
icon: mdi:bitcoin
entity: sensor.cryptoinfo_bitcoin_all_time_high
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: none
icon_color: >-
{% if (states('sensor.cryptoinfo_btc_price_bitcoin_usd') | float(0)) >
(states('input_number.crypto_btc_price_trigger_above') | float(0)) %}
orange
{% else %}
white
{% endif%}
- type: custom:mushroom-template-card
primary: >-
{{ (states('sensor.cryptoinfo_btc_hashrate_eh')|float(0))|round(2) }}
{{ state_attr('sensor.cryptoinfo_btc_hashrate_eh',
'unit_of_measurement') }}
secondary: Hashrate
icon: mdi:bitcoin
entity: sensor.cryptoinfo_btc_hashrate_eh
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: more-info
icon_color: white
- type: custom:mushroom-template-card
primary: >-
{{ (state_attr('sensor.cryptoinfo_btc_height',
'difficulty')|float(0)/1e12)|round(2) }} T
secondary: Difficulty
icon: mdi:bitcoin
entity: sensor.cryptoinfo_btc_height
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: more-info
icon_color: white
- type: custom:mushroom-template-card
primary: >-
{{ "{0:,.0f}".format(states('sensor.cryptoinfo_btc_height')|int(0)) }}
Blks
secondary: Height
icon: mdi:bitcoin
entity: sensor.cryptoinfo_btc_height
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: more-info
icon_color: white
- type: custom:mushroom-template-card
primary: >-
{{ "₿{0:,.2f} Mil".format(state_attr('sensor.cryptoinfo_btc_height',
'circulating_supply')|float(0)/1000000) }}
secondary: Total BTC
icon: mdi:bitcoin
entity: sensor.cryptoinfo_btc_height
badge_icon: ''
multiline_secondary: true
fill_container: true
tap_action:
action: none
icon_color: white
layout:
width: 190
max_cols: 2
margin: 0px 0px 0px 0px
card_margin: 0px 0px 0px 0px
view_layout:
column: 1
layout:
max_cols: 1
margin: 4px 0px 4px 0px
padding: 0
card_margin: 0px 0px 0px 0px
view_layout:
column: 1
This is the block extraction pie chart using apexcharts thanks to @RomRider , which at the moment relies on a code change I’ve made to apexcharts-card to hide the empty values
type: custom:layout-card
layout_type: custom:horizontal-layout
cards:
- type: custom:apexcharts-card
chart_type: donut
header:
show: true
title: BTC 100 Blocks Extraction
show_states: true
colorize_states: true
apex_config:
dataLabels:
style:
fontSize: 24px
legend:
show: false
series:
- entity: sensor.cryptoinfo_btc_foundry_usa_hash_control_100_blocks
name: Foundry
- entity: sensor.cryptoinfo_btc_antpool_hash_control_100_blocks
name: AntPool
- entity: sensor.cryptoinfo_btc_f2pool_hash_control_100_blocks
name: F2Pool
- entity: sensor.cryptoinfo_btc_binance_hash_control_100_blocks
name: Binance
- entity: sensor.cryptoinfo_btc_viabtc_hash_control_100_blocks
name: ViaBTC
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_36cwgj_hash_control_100_blocks
name: BTC.com
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_15mdah_hash_control_100_blocks
name: MaraPool
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_poolin_hash_control_100_blocks
name: Poolin
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_luxor_hash_control_100_blocks
name: LuxorTech
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_emcd_io_hash_control_100_blocks
name: EMCD.io
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_pegapool_hash_control_100_blocks
name: Pegapool
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_slushpool_hash_control_100_blocks
name: Slushpool
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_carbonnegative_hash_control_100_blocks
name: CarbonNeg
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_ultimus_hash_control_100_blocks
name: Ultimus
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_sbicrypto_hash_control_100_blocks
name: SBICrypto
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.cryptoinfo_btc_terrapool_hash_control_100_blocks
name: Terrapool
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
- entity: sensor.btc_total_unknown_hash_control_100_blocks
name: Unknown
transform: 'return x == 0 ? null : x;'
show:
in_header: hide_null
layout:
max_cols: 1
margin: 0px 0px 0px 0px
padding: 0
card_margin: 0px 0px 0px 0px
view_layout:
column: 2
PR for apexcharts-card which will hopefully get merged in:
RomRider:master
← TheHolyRoger:feat/hide_null_in_header
opened 04:01PM - 24 Apr 23 UTC
As mentioned in https://github.com/RomRider/apexcharts-card/issues/543 I did it … myself :)
Hey there, thanks for sharing your crypto dashboard! That looks really cool. I’m definitely interested in checking out the templates and card config. Also, thanks for mentioning the GitHub integration. I’m new to the whole cryptocurrency thing and I’m still learning the ropes. I’ve made a few trading mistakes already, so I’m trying to educate myself as much as possible. Anyway, thanks again for sharing and let me know if you have any other tips or tricks for a newbie like me.
No worries let me know if you need help. I’ve started working on the README
docs for the integration in the first post but they still aren’t complete for all the sensors/options yet so check the example config which should have almost the full range I think
Sharing the screenshot and offering templates and config details is a fantastic gesture. It’s a reminder of how collaborative and supportive communities can be. Your revamp of the cryptoinfo integration is noteworthy, especially considering the expanded data-fetching capabilities from various sources.
Speaking of the ever-evolving crypto landscape, have you ever delved into the realm of dogecoin casinos ? They’ve been making waves in the digital world.
Your contributions to the community are commendable, and your dashboard project is a testament to your dedication.
That’s awesome. That dashboard looks very impressive!
That looks like a fantastic crypto dashboard! Thanks for sharing it with the community. It’s great to see how you’ve integrated data from various sources, including the cryptoinfo integration on GitHub.
If you’re into cryptocurrencies and want to stay updated on upcoming projects and ICOs, you might find presale.world quite useful. They provide valuable insights into ICOs and pre-sales, helping you discover new opportunities in the crypto space.
Keep up the great work with your dashboard, and your willingness to share templates and configurations is much appreciated by the crypto enthusiasts here!
I just set this up yesterday and it was working fine until I updated HA from 2023.9.x to 2023.10.0 and now the bitcoin price sensor is ‘unavailable’. Is anyone else having this issue or do I need to start digging deeper? So far I haven’t found anything relating to this in the error log.
EDIT: It turns out the sensor got updated with a _2 on the end, giving me two entities, one being the original and unavailable. Not sure why that happened.
Sorry been away with health issues, have you got this sorted now?
I will update my HA instance this week and check out any bugs
Yeah, all good. I have no idea why but for some strange reason the entity got a _2 put on the end so my automations and dashboard stopped working. I edited the entity_id back to normal and it has been fine since.
1 Like
Qenq
(QenQ)
November 25, 2023, 5:37am
16
Hi, first of all, thanks for this, using it already.
i can not find the possibility to insert the mempool average tx fee,
sensor cryptoinfo btc mempool average fee per tx
how to integrate that exactly?
Olie
November 25, 2023, 4:43pm
17
I wanted some mempool-related sensors which weren’t in the addon, so I added them separately using the rest platform:
rest:
- resource: https://mempool.space/api/v1/fees/recommended
scan_interval: 60
sensor:
- name: "mempool_lowpriority"
value_template: '{{ value_json.hourFee }}'
device_class: monetary
state_class: measurement
unit_of_measurement: "sat/vB"
- name: "mempool_mediumpriority"
value_template: '{{ value_json.halfHourFee }}'
device_class: monetary
state_class: measurement
unit_of_measurement: "sat/vB"
- name: "mempool_highpriority"
value_template: '{{ value_json.fastestFee }}'
device_class: monetary
state_class: measurement
unit_of_measurement: "sat/vB"
1 Like
Qenq
(QenQ)
November 30, 2023, 5:04am
18
Thanks @Olie exactly what i was looking for. Now i have to figure out to send me a message when the sat/vB is lower than 20 so i can consolidate utxo’s
1 Like
Hey @Olie thanks for this, I’ll add it in my next update and let you know
1 Like
chrs
December 22, 2023, 12:29pm
20
really nice one!!
Except mempool-stats I always wanted Clark Moodys dashboard in my home assistant.
I pulled some more info from the rest api.
# mempool restapi
rest:
#Recommended Fees
- resource: https://mempool.space/api/v1/fees/recommended
scan_interval: 60
sensor:
- name: "mempool_minimumpriority"
value_template: >-
{% if value_json.minimumFee == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ value_json.minimumFee }}
{% endif %}
device_class: monetary
unit_of_measurement: "sat/vB"
- name: "mempool_economypriority"
value_template: >-
{% if value_json.economyFee == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ value_json.economyFee }}
{% endif %}
device_class: monetary
unit_of_measurement: "sat/vB"
- name: "mempool_lowpriority"
value_template: >-
{% if value_json.hourFee == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ value_json.hourFee }}
{% endif %}
device_class: monetary
unit_of_measurement: "sat/vB"
- name: "mempool_mediumpriority"
value_template: >-
{% if value_json.halfHourFee == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ value_json.halfHourFee }}
{% endif %}
device_class: monetary
unit_of_measurement: "sat/vB"
- name: "mempool_highpriority"
value_template: >-
{% if value_json.fastestFee == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ value_json.fastestFee }}
{% endif %}
device_class: monetary
unit_of_measurement: "sat/vB"
# TickTock Next Block
- resource: https://mempool.space/api/v1/fees/mempool-blocks
scan_interval: 60
sensor:
- name: "mempool_blockSize"
value_template: >-
{% if value_json[0].blockSize == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ '{:.2f} MB'.format(value_json[0].blockSize / 1e6) }}
{% endif %}
- name: "mempool_transaction"
value_template: >-
{% if value_json[0].nTx == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ value_json[0].nTx }}
{% endif %}
- name: "mempool_totalFees"
value_template: >-
{% if value_json[0].totalFees == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ '₿ {:.2f}'.format(value_json[0].totalFees / 1e8) }}
{% endif %}
- name: "mempool_medianFee"
value_template: >-
{% if value_json[0].medianFee == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ '{:.0f} sat/vB'.format(value_json[0].medianFee) }}
{% endif %}
- name: "mempool_feerange"
value_template: >-
{% if value_json[0].feeRange == '' %}
0 # or any default numeric value you want to set
{% else %}
{{ '{:.0f} - {:.2f} sat/vB'.format(value_json[0].feeRange[0], value_json[0].feeRange[-1]) }}
{% endif %}
device_class: enum
1 Like