Flexpool mining pool - get informations as sensors

Hi! I would like to share what i’ve done to get information from flexpool mining pool, using rest and template sensors:

rest:
  - scan_interval: 60
    resource: https://api.flexpool.io/v2/miner/stats?coin=eth&address=YOURADDRESSHERE
    sensor:
      - name: "flexpool stats"
        json_attributes_path: "$.result"
        value_template: "OK"
        json_attributes:
          - "averageEffectiveHashrate"
          - "currentEffectiveHashrate"
          - "reportedHashrate"
          
  - scan_interval: 60
    resource: https://api.flexpool.io/v2/miner/balance?coin=eth&address=YOURADDRESSHERE
    sensor:
      - name: "flexpool balance"
        json_attributes_path: "$.result"
        value_template: "OK"
        json_attributes:
          - "balanceCountervalue"
          - "balance"
          

sensor:

  - platform: template
    sensors:
      flexpool_avg_effective_hashrate:
        value_template: '{{ ((states.sensor.flexpool_stats.attributes.averageEffectiveHashrate / 1000000) | float |round(1)) | float }}'
        unit_of_measurement: "MHS"
  - platform: template
    sensors:
      flexpool_current_effective_hashrate:
        value_template: '{{ (states.sensor.flexpool_stats.attributes.currentEffectiveHashrate / 1000000) | float |round(2) }}'        
        unit_of_measurement: "MHS"
        ###'{{ states.sensor.flexpool_stats.attributes.averageEffectiveHashrate | int |round(0) }}'
  - platform: template
    sensors:
      flexpool_balance_usd:
        value_template: '{{ states.sensor.flexpool_balance.attributes.balanceCountervalue | float |round(2) | float }}'        
        unit_of_measurement: "USD"
  - platform: template
    sensors:
      flexpool_balance_ethereum:
        value_template: '{{ states.sensor.flexpool_balance.attributes.balance / 1000000000000000000 | float }}'        
        unit_of_measurement: "ETH"

6 Likes

excellent. Thank you forsharing.

I also thank you, works perfect! :slight_smile:
If anyone is interested in an additional Ethereum gas fee entity I also added another API sensor using following code:

rest:
  - scan_interval: 60
    resource: https://www.etherchain.org/api/gasPriceOracle
    sensor:
      - name: "ETH Gas Fee"
        value_template: "OK"
        json_attributes:
          - "safeLow"
          - "standard"
          - "fast"
          - "fastest"
          - "currentBaseFee"
          - "recommendedBaseFee"

sensor:
  - platform: template
    sensors:
      eth_gas_current:
        value_template: '{{ states.sensor.eth_gas_fee.attributes.currentBaseFee | float |round(1) | float }}'        
        unit_of_measurement: "Gwei"
2 Likes

Thank you for sharing this. I am a Flexpool user.

Add some extra commands that monitoring. I share them in case someone helps.
Total Shares
Stales Shares
Invalid Shares.

rest:

  • scan_interval: 60
    resource: https://api.flexpool.io/v2/miner/stats?coin=eth&address=youraddress
    sensor:

    • name: “flexpool stats”
      json_attributes_path: “$.result”
      value_template: “OK”
      json_attributes:
      • “averageEffectiveHashrate”
      • “currentEffectiveHashrate”
      • “reportedHashrate”
      • “validShares”
      • “staleShares”
      • “invalidShares”
  • platform: template
    sensors:
    flexpool_valid_shares:
    value_template: ‘{{ ((states.sensor.flexpool_stats.attributes.validShares ) | float |round(1)) | float }}’
    unit_of_measurement: “Sh”

  • platform: template
    sensors:
    flexpool_stale_shares:
    value_template: ‘{{ ((states.sensor.flexpool_stats.attributes.staleShares ) | float |round(1)) | float }}’
    unit_of_measurement: “Sh”

  • platform: template
    sensors:
    flexpool_invalid_shares:
    value_template: ‘{{ ((states.sensor.flexpool_stats.attributes.invalidShares ) | float |round(1)) | float }}’
    unit_of_measurement: “Sh”