How To: Ethereum Mining Dashboard. HiveOS, Ethermine pool, Crypto Prices and DB Historical data statistics

I did not use the original script as explained in the link.
I created a cron job that runs it every 60 sec as explained above.
It’s been working for weeks now.

Hi Paulo, I have the same problem, I have two gpus 0 and I cannot split the results, could you solve this concern?

statsminer

what I need is to create a template to be able to separate those results, do you think it is possible? I couldn’t do it.

THX

@gabriel600r

I split it like Harry. My code is:

# HiveOS Sensor
  - platform: mqtt
    name: hiveos_stats
    state_topic: "hiveos"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hiveos"
    json_attributes_template: "{{ value_json.params.miner_stats | to_json }}"
  - platform: mqtt
    name: hiveos_params
    state_topic: "hiveos"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hiveos"
    json_attributes_template: "{{ value_json.params | to_json }}"

# Sensor - Template
  - platform: template
    sensors:

# GPU 0
      gpu_0_index:
        value_template: '0'
        friendly_name_template: "{{states.sensor.gpu_0_name.state}} Index"
      gpu_0_name:
        value_template: "RTX 3080 X Trio"
      gpu_0_hash:
        value_template: "{{ ((states.sensor.hiveos_stats.attributes['hs'][states.sensor.gpu_0_index.state|int])/1000000)|round(1) }}"
        friendly_name_template: "{{states.sensor.gpu_0_name.state}} Hashrate"
        unit_of_measurement: "MH/s"
      gpu_0_core:
        value_template: "{{ (states.sensor.hiveos_params.attributes['temp'][states.sensor.gpu_0_index.state|int]) }}"
        friendly_name_template: "{{states.sensor.gpu_0_name.state}} Temperatura"
        unit_of_measurement: "°C"
      gpu_0_fan:
        value_template: "{{ (states.sensor.hiveos_params.attributes['fan'][states.sensor.gpu_0_index.state|int]) }}"
        friendly_name_template: "{{states.sensor.gpu_0_name.state}} Velocidade"
        unit_of_measurement: "%"
      gpu_0_pwr:
        value_template: "{{ (states.sensor.hiveos_params.attributes['power'][states.sensor.gpu_0_index.state|int]) }}"
        friendly_name_template: "{{states.sensor.gpu_0_name.state}} Consumo"
        unit_of_measurement: "W"
      gpu_0_ef:
        friendly_name_template: "{{states.sensor.gpu_0_name.state}} Eficiência"
        value_template: '{{ ((states.sensor.gpu_0_hash.state|float)/(states.sensor.gpu_0_pwr.state|float))|round(3) }}'
        unit_of_measurement: "MHs/W"



# GPU 1
      gpu_1_index:
        value_template: '1'
        friendly_name_template: "{{states.sensor.gpu_1_name.state}} Index"
      gpu_1_name:
        value_template: "RTX 3080 Suprim X"
      gpu_1_hash:
        value_template: "{{ ((states.sensor.hiveos_stats.attributes['hs'][states.sensor.gpu_1_index.state|int])/1000000)|round(1) }}"
        friendly_name_template: "{{states.sensor.gpu_1_name.state}} Hashrate"
        unit_of_measurement: "MH/s"
      gpu_1_core:
        value_template: "{{ (states.sensor.hiveos_params.attributes['temp'][states.sensor.gpu_1_index.state|int]) }}"
        friendly_name_template: "{{states.sensor.gpu_1_name.state}} Temperatura"
        unit_of_measurement: "°C"
      gpu_1_fan:
        value_template: "{{ (states.sensor.hiveos_params.attributes['fan'][states.sensor.gpu_1_index.state|int]) }}"
        friendly_name_template: "{{states.sensor.gpu_1_name.state}} Velocidade"
        unit_of_measurement: "%"
      gpu_1_pwr:
        value_template: "{{ (states.sensor.hiveos_params.attributes['power'][states.sensor.gpu_1_index.state|int]) }}"
        friendly_name_template: "{{states.sensor.gpu_1_name.state}} Consumo"
        unit_of_measurement: "W"
      gpu_1_ef:
        friendly_name_template: "{{states.sensor.gpu_1_name.state}} Eficiência"
        value_template: '{{ ((states.sensor.gpu_1_hash.state|float)/(states.sensor.gpu_1_pwr.state|float))|round(3) }}'
        unit_of_measurement: "MHs/W"

1 Like

Thanks Paulo for your answer, my problem is that I have two GPUS_0. one Nvdia and another ATI. and the TEMP result gives me two values. What I don’t know is how to separate that result.

Hiveos reports 2X gpu0?
Are u sure?

Hello good morning, when you have ATI and NVIDIA takes them as GPU0.
Here I attach a screenshot of the HiveOS.

two gpus 0

I was also able to solve my problem by creating some templates, I leave them in case someone else happens.
These templates are created thanks to the information provided in this post.

{% set t = (states.sensor.hiveos_params.attributes['miner_stats2']['temp'][0]) | float %}
{% set u = (states.sensor.hiveos_params.attributes['miner_stats']['temp'][0]) | float %}
{{ ((t + u)) }}

{% set t = (states.sensor.hiveos_params.attributes['total_khs']) | float %}
{% set u = (states.sensor.hiveos_params.attributes['total_khs2']) | float %}
{{ ((t + u) / 1000) }}

{% set t = (states.sensor.hiveos_params.attributes['miner_stats2']['fan'][0]) | float %}
{% set u = (states.sensor.hiveos_params.attributes['miner_stats']['fan'][0]) | float %}
{{ ((t + u)) }}

Basically what I do I take the values and add them to have a unique reference value.
sorry for my bad english.

Strange, I too have duplicate numbers in the hiveos ui but they are numbered uniquely when reading the logs in HA.

Hey Harry,

I’ve been trying to run monitoring on my rig using your (nice!) guide, but I ran into some issues:

  1. I’ve installed the linux script with modifications, add it to cron, and in mosquitto broker I got:
1628416263: New connection from 192.168.XXX.XXX on port 1883.
1628416263: New client connected from 192.168.XXX.XXX as mosqpub|6916-GTX1060 (p1, c1, k60, u'rig').
1628416263: Client mosqpub|6916-GTX1060 disconnected.

in HA I’ve created sensor.yaml included it in configuration.yaml and fill with the code you posted, but when I check in Developer Tools → States I see there is no data in there

and trying to create a template with your example I got:
UndefinedError: ‘mappingproxy object’ has no attribute ‘uptime’

It seems that no data is gathered? Any clues?

Hey,
It feels like there’s some issue in the config, either in the Linux topic, or in the HA’s mqtt sensor configuration.
I would check the code again and if nothing comes up, try connecting to the broker with an mqtt browser (create a new account and with the mqtt client subscribe to # (everything) to see what the Linux machine is broadcasting)
Those two should help you figure out where the data is going.

I followed the instructions and everything works great!!! Awesome! The problem i have is once i add multiple rigs, i cannot get the gpus to display their proper attributes as they all seem to share the same index #s. Ie: Gpu_0 is the same on all three rigs…
How can i fix this?

Hey, to be honest I never thought about it, as I have 1 rig.
Let me think about it a little :slight_smile:

edit:
(ignore my previous answer)
Try appending rig number on the name of the sensors and topics.
You will also need to set a different topic in the hive OS script of each rig hive_mqtt_1, hive_mqtt_2
And probably different MQTT client user names, in case they try to connect simultaneously and get blocked.

example:
Rig 1:

  - platform: mqtt
    name: hiveos_stats_rig1
    state_topic: "hive_mqtt_1"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_1"
    json_attributes_template: "{{ value_json.params.miner_stats | to_json }}"

  - platform: mqtt
    name: hiveos_params_rig1
    state_topic: "hive_mqtt_1"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_1"
    json_attributes_template: "{{ value_json.params | to_json }}"

Rig2:

  - platform: mqtt
    name: hiveos_stats_rig2
    state_topic: "hive_mqtt_2"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_2"
    json_attributes_template: "{{ value_json.params.miner_stats | to_json }}"

  - platform: mqtt
    name: hiveos_params_rig2
    state_topic: "hive_mqtt_2"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_2"
    json_attributes_template: "{{ value_json.params | to_json }}"

Then you will need to name your GPUs something like rig1_gpu0, rig2_gpu0 and get their data like this:

### rig_1gpu0
      rig_1gpu_0_index:
        value_template: '0'
        friendly_name_template: "{{states.sensor.rig_1gpu_0_name.state}} Index"
     rig_1 gpu_0_name:
        value_template: "1660S-ASUS1"
     rig_1 gpu_0_hash:
        value_template: "{{ (states.sensor.hiveos_stats_rig1.attributes['hs'][states.sensor.rig_1gpu_0_index.state|int])/1000 }}"
        friendly_name_template: "{{states.sensor.rig_1gpu_0_name.state}} Hash"
        unit_of_measurement: "MH/s"

It needs some careful editing, as there’s a lot of code, but i think this is the way.
At least A way, there’s probably a more proper way to get all these stuff but i’m not that experienced :slight_smile:

Hmm, ive been playing around with the way you described… it still wont work… i get a whole slew of errors

Do it step by step, first just create 6 mqtt sensors, two for each machine.
something like this:
example:
Rig 1:

  - platform: mqtt
    name: hiveos_stats_rig1
    state_topic: "hive_mqtt_1"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_1"
    json_attributes_template: "{{ value_json.params.miner_stats | to_json }}"

  - platform: mqtt
    name: hiveos_params_rig1
    state_topic: "hive_mqtt_1"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_1"
    json_attributes_template: "{{ value_json.params | to_json }}"

Rig2:

  - platform: mqtt
    name: hiveos_stats_rig2
    state_topic: "hive_mqtt_2"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_2"
    json_attributes_template: "{{ value_json.params.miner_stats | to_json }}"

  - platform: mqtt
    name: hiveos_params_rig2
    state_topic: "hive_mqtt_2"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_2"
    json_attributes_template: "{{ value_json.params | to_json }}"

Rig3:

  - platform: mqtt
    name: hiveos_stats_rig3
    state_topic: "hive_mqtt_3"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_3"
    json_attributes_template: "{{ value_json.params.miner_stats | to_json }}"

  - platform: mqtt
    name: hiveos_params_rig3
    state_topic: "hive_mqtt_3"
    value_template: "{{ value_json.params.miner_stats.uptime }}"
    json_attributes_topic: "hive_mqtt_3"
    json_attributes_template: "{{ value_json.params | to_json }}"

Do not create any template sensors yet.
Do these work?
What error are you getting?

Hello,

I’m stuck at the very beginning.
Installed version 1.0.1 of EthermineInfo on latest releases (up to date as of today)

And looks like the ethermine sensor doesn’t retrieve anything.

I followed your steps but nothing, I’ll try uninstalling reinstalling so I can check if everything is good.

I let you know, but if in the meantime you remember something (port to open, security, …) tell me :slight_smile:

active_workers: null
current_hashrate: null
invalid_shares: null
last_update: null
reported_hashrate: null
stale_shares: null
unpaid: null
valid_shares: null
start_block: null
end_block: null
amount: null
txhash: null
paid_on: null
average_hashrate_24h: null
unconfirmed: null
single_coin_in_local_currency: null
unpaid_in_local_currency: null
coins_per_minute: null
unit_of_measurement: ​
friendly_name: EthermineInfo ETH
icon: mdi:ethereum

Nico

Regarding ethermineInfo, I think you could get better help by asking the author directly, through the forums (I have his name mentioned in the beginning of the post) , or through github (link there too)

I assume you used the !secrets way he used. Check if you put the wallet adress in “” in the secrets file
should look like
my_wallet_address: “0x123456…234567890”

Hi is it possible that you share the Dashboard Yaml / Raw code would make it easyer to build it simularly

It’s a mess, so I doubt it’ll help, but here it is:


views:
  - icon: mdi:ethereum
    title: Eth
    path: eth
    visible:
      - user: xxx
      - user: xxx
      - user: xxx
    badges: []
    cards:
      - type: entities
        entities:
          - entity: sensor.hours_since_start_mining
          - entity: sensor.formated_time_since_start_mining
            name: Total Time Mining
          - entity: sensor.eth_mined_total
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_per_hour
          - entity: sensor.eth_per_day
          - entity: sensor.eth_per_30d
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.estimated_time_until_next_payment
            name: Next Payment
          - entity: sensor.estimated_time_to_target_eth
            name: Est Time to next ETH target
          - entity: sensor.estimated_total_time_to_target_eth
            name: Est Total Time to next ETH target
        title: Ethereum - Since Start
      - type: entities
        entities:
          - entity: sensor.bitfetch_etheur
            name: ETH EUR Price
            type: custom:secondaryinfo-entity-row
            secondary_info: '[[ sensor.etheur_time_since_last_update ]] Minutes Ago'
          - entity: sensor.eur_mined_total
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eur_per_hour
          - entity: sensor.eur_per_day
          - entity: sensor.eur_per_30d
        title: Ethereum EUR - Since Start
      - type: entities
        entities:
          - entity: sensor.bitfetch_ethusd
            name: ETH USD Price
            type: custom:secondaryinfo-entity-row
            secondary_info: '[[ sensor.ethusd_time_since_last_update ]] Minutes Ago'
          - entity: sensor.usd_mined_total
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.usd_per_hour
          - entity: sensor.usd_per_day
          - entity: sensor.usd_per_30d
        title: Ethereum USD - Since Start
      - type: entities
        entities:
          - entity: sensor.dn_lr_xiaomi_sensor_zb_temperature
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.hiveos_cpu_temp
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.gpu_0_core
          - entity: sensor.gpu_1_core
          - entity: sensor.gpu_8_core
          - entity: sensor.gpu_2_core
          - entity: sensor.gpu_3_core
          - entity: sensor.gpu_4_core
          - entity: sensor.gpu_5_core
          - entity: sensor.gpu_6_core
          - entity: sensor.gpu_7_core
        title: Current Temps
      - type: entities
        entities:
          - entity: sensor.room_temp_average_1_day
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.hiveos_gpu_avg_temp
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.hiveos_temp_avg24h_gpu0_3080
          - entity: sensor.hiveos_temp_avg24h_gpu8_3070
          - entity: sensor.hiveos_temp_avg24h_gpu1_1660s1
          - entity: sensor.hiveos_temp_avg24h_gpu2_rx5600xt_msi
          - entity: sensor.hiveos_temp_avg24h_gpu3_rx5600xt_sap1
          - entity: sensor.hiveos_temp_avg24h_gpu4_1660s2
          - entity: sensor.hiveos_temp_avg24h_gpu5_1660ti
          - entity: sensor.hiveos_temp_avg24h_gpu6_1660
          - entity: sensor.hiveos_temp_avg24h_gpu7_rx5600xt_sap2
        title: Average Temps
      - type: entities
        entities:
          - entity: sensor.eth_current
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.hiveos_total_mhs
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.gpu_0_hash
          - entity: sensor.gpu_1_hash
          - entity: sensor.gpu_8_hash
          - entity: sensor.gpu_2_hash
          - entity: sensor.gpu_3_hash
          - entity: sensor.gpu_4_hash
          - entity: sensor.gpu_5_hash
          - entity: sensor.gpu_6_hash
          - entity: sensor.gpu_7_hash
        title: Hashrates
      - type: entities
        entities:
          - entity: sensor.dn_bm_main_room_xiaomi_plug_consumption
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.hiveos_total_pwr
          - entity: sensor.rig_base_power
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.gpu_0_pwr
          - entity: sensor.gpu_8_pwr
          - entity: sensor.gpu_1_pwr
          - entity: sensor.gpu_2_pwr
          - entity: sensor.gpu_3_pwr
          - entity: sensor.gpu_4_pwr
          - entity: sensor.gpu_5_pwr
          - entity: sensor.gpu_6_pwr
          - entity: sensor.gpu_7_pwr
        title: Consumption
      - type: entities
        entities:
          - entity: sensor.ethermineinfo_e0...
            name: Ethermine API Info | Workers
            type: custom:secondaryinfo-entity-row
            secondary_info: '[[ sensor.ethermine_time_since_last_update ]] Minutes Ago'
          - entity: sensor.eth_reported
          - entity: sensor.hiveos_total_mhs
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_current
          - entity: sensor.eth_average
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.mh_s_average_6_hours
          - entity: sensor.mh_s_average_1_day
          - entity: sensor.mh_s_average_7_days
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.hiveos_uptime
        title: Mining MH/s
      - type: entities
        entities:
          - entity: sensor.eth_available_total
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_unpaid
          - entity: sensor.eth_mined_total
          - entity: sensor.eth_balance
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_success_ratio
          - entity: sensor.mining_success_7_days
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_valid
          - entity: sensor.eth_stale
          - entity: sensor.eth_invalid
        title: Ethereum Production
      - type: entities
        entities:
          - entity: sensor.dn_lr_xiaomi_sensor_zb_temperature
          - entity: sensor.room_temp_average_1_day
          - entity: sensor.room_temp_average_7_days
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.dn_lr_xiaomi_sensor_zb_humidity
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.efergy_745989
            name: House Consumption
        title: Room Conditions
      - card:
          entities:
            - entity: switch.dn_bm_main_room_xiaomi_plug
          type: entities
        show_header_toggle: false
        type: custom:restriction-card
        title: peos
      - type: entities
        entities:
          - entity: sensor.eth_available_total
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_unpaid
          - entity: sensor.eth_balance
        title: Ethereum Production
      - type: entities
        entities:
          - entity: sensor.eth_per_hour_1h_sample
          - entity: sensor.eth_per_day_1h_sample
          - entity: sensor.eth_per_30d_1h_sample
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_per_hour_6h_sample
          - entity: sensor.eth_per_day_6h_sample
          - entity: sensor.eth_per_30d_6h_sample
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_per_hour_12h_sample
          - entity: sensor.eth_per_day_12h_sample
          - entity: sensor.eth_per_30d_12h_sample
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_per_hour_24h_sample
          - entity: sensor.eth_per_day_24h_sample
          - entity: sensor.eth_per_30d_24h_sample
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_per_hour_3d_sample
          - entity: sensor.eth_per_day_3d_sample
          - entity: sensor.eth_per_30d_3d_sample
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.eth_per_hour_7d_sample
          - entity: sensor.eth_per_day_7d_sample
          - entity: sensor.eth_per_30d_7d_sample
        title: Eth Gains per sample
      - entities:
          - entity: sensor.eth_per_30d
            index: 0
          - entity: sensor.eth_per_30d_1h_sample
            index: 1
          - entity: sensor.eth_per_30d_6h_sample
            index: 2
          - entity: sensor.eth_per_30d_12h_sample
            index: 3
          - entity: sensor.eth_per_30d_24h_sample
            index: 4
        decimals: 10
        hours_to_show: 24
        icon: mdi:ethereum
        name: Eth 30 Days
        points_per_hour: 2
        line_width: 2
        font_size: 70
        type: custom:mini-graph-card
        show:
          labels: hover
          extrema: true
      - card:
          show_header_toggle: false
          title: Card Temps
          type: entities
        filter:
          include:
            - entity_id: sensor.*mtemp*
        sort:
          method: state
          reverse: true
        type: custom:auto-entities
      - card:
          show_header_toggle: false
          title: Card PWR eff
          type: entities
        filter:
          include:
            - entity_id: sensor.*pwr_eff*
        sort:
          method: state
          numeric: true
          reverse: true
        type: custom:auto-entities
      - card:
          show_header_toggle: false
          title: Card Cost / month
          type: entities
        filter:
          include:
            - entity_id: sensor.*cost_*
        sort:
          method: state
          reverse: true
          numeric: true
        type: custom:auto-entities
      - type: entities
        entities:
          - entity: sensor.bitfetch_etheur
          - entity: sensor.eth_per_30d
          - entity: sensor.eur_per_30d
          - entity: sensor.net_eur_per_month
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.rig_total_cost
          - entity: sensor.eur_mined_total
          - entity: sensor.eur_to_break_even
          - type: divider
            style:
              height: 1px
              width: 80%
              margin-left: auto
              margin-right: auto
              background: '#62717b'
          - entity: sensor.months_to_break_even
      - card:
          show_header_toggle: false
          title: Card Temps
          type: entities
        filter:
          include:
            - entity_id: sensor.*jtemp*
        sort:
          method: state
          reverse: true
        type: custom:auto-entities
      - card:
          show_header_toggle: false
          title: eth per Hour Predict
          type: entities
        filter:
          include:
            - entity_id: sensor.eth_per_hour_*
        type: custom:auto-entities
      - card:
          show_header_toggle: false
          title: eth per 30d Predict
          type: entities
        filter:
          include:
            - entity_id: sensor.eth_per_30d_*
        type: custom:auto-entities
      - type: custom:flex-table-card
        title: GPU INFO
        entities:
          include: sensor.unified_gpu_*
        sorty_by: index
        strict: true
        clickable: true
        columns:
          - data: state
            name: Name
          - data: index
            name: Index
          - data: hash
            name: Hashrate Mh/s
          - data: core
            name: Core Temp
          - data: fan
            name: Fan %
          - data: pwr
            name: PWR W
          - data: pwr_eff
            name: EFF Mh/W
          - data: euro_per_month
            name: €/mo
          - data: cost_per_month
            name: Cost/mo €
          - data: net_euro_per_month
            name: Net €/mo
      - card:
          show_header_toggle: false
          title: eth per Day Predict
          type: entities
        filter:
          include:
            - entity_id: sensor.eth_per_day_*
        type: custom:auto-entities
      - card:
          show_header_toggle: false
          title: DN BM UPS
          type: entities
        filter:
          include:
            - entity_id: sensor.*dn_bm_ups*
        sort:
          method: state
          reverse: true
          numeric: true
        type: custom:auto-entities
      - card:
          show_header_toggle: false
          title: Feth per Day Predict
          type: entities
        filter:
          include:
            - entity_id: sensor.feth_per_day_*
        type: custom:auto-entities

I have changed some stuff since the original post, so let me know if there’s something undocumented.

For example, Feth sensors at the end was an attempt on filter sensors, in order to get rid of some values that were off the charts and messed my data.

Thanks A lot for the Fast Reply Will work my way through its part of the Game and also the fun

And by the way wery well explained every step is super deisribed only thing that threw me off was the MQTT topic in the config with HiveOS it is the defalut “hive_os_mqtt_topic” and you continue with “hive_mqtt_1” that was a little confusing but the rest easy as cake

Some Stuff has changed I guess the Way you got Managed the GPU´s is now changed in the report i guess its now combined per miner ( in my case Trex and teamred ) and there it is a combined value
for eg

miner_stats":
{“hs”:[46570,28550],
“algo”:“ethash”,
“temp”:[54,54],
“fan”:[40,60],
“uptime”:3315,
“ar”:[64,0,0,“0;0”],
“bus_numbers”:[11,13],
“ver”:“0.8.4”}

dont know if i´m in the mood right now to untangle it xD

Hi,

When I put this config in my configuration.yaml :

sensor:

  • platform: ethermineinfo
    miner_address: “0cCBLABLABLALA…”
    currency_name: EUR
    name_override: hivedeit
  • platform: template
    sensors:
    eth_unpaid:
    friendly_name: “Unpaid Eth Ethermine”
    value_template: “{{(states.sensor.ethermineinfo_eXXXX.attributes[‘unpaid’] /1000000000000000000 )}}”
    unit_of_measurement: “ETH”
    eth_current:
    friendly_name: “Current Hashrate Ethermine”
    value_template: “{{ (states.sensor.ethermineinfo_eXXXX.attributes[‘current_hashrate’] /1000000 )|round(2)}}”
    unit_of_measurement: “MH/s”
    etc.
    The Ethermine sensor works but the others, defined in the template do not:

    What am I doing wrong?