Skip to content

Instantly share code, notes, and snippets.

@dsbaars
Created June 18, 2024 12:36
Show Gist options
  • Save dsbaars/536af70c43a2f3f96f36a9c3cdf623cd to your computer and use it in GitHub Desktop.
Save dsbaars/536af70c43a2f3f96f36a9c3cdf623cd to your computer and use it in GitHub Desktop.
New BitAxe HA integration
sensor:
- platform: rest
name: &device_name Device1
resource: http://<ipaddress1>/api/system/info
scan_interval: 60
value_template: "{{ value_json.power }}" # Example primary value
json_attributes:
- power
- voltage
- current
- fanSpeedRpm
- temp
- hashRate
- uptimeSeconds
- sharesAccepted
- sharesRejected
- coreVoltageActual
- bestDiff
- bestSessionDiff
- freeHeap
- coreVoltage
- frequency
- ssid
- hostname
- wifiStatus
- ASICModel
- stratumURL
- stratumPort
- stratumUser
- version
- boardVersion
- runningPartition
- flipscreen
- invertscreen
- invertfanpolarity
- autofanspeed
- fanspeed
template:
- sensor:
- name: *device_name " Power"
state: "{{ state_attr('sensor.device1', 'power') }}"
unit_of_measurement: 'W'
- name: *device_name " Voltage"
state: "{{ state_attr('sensor.device1', 'voltage') }}"
unit_of_measurement: 'mV'
- name: *device_name " Current"
state: "{{ state_attr('sensor.device1', 'current') }}"
unit_of_measurement: 'A'
- name: *device_name " Fan Speed RPM"
state: "{{ state_attr('sensor.device1', 'fanSpeedRpm') }}"
unit_of_measurement: 'RPM'
- name: *device_name " Temperature"
state: "{{ state_attr('sensor.device1', 'temp') }}"
unit_of_measurement: '°C'
- name: *device_name " Hash Rate"
state: "{{ state_attr('sensor.device1', 'hashRate') }}"
unit_of_measurement: 'H/s'
- name: *device_name " Uptime"
state: "{{ state_attr('sensor.device1', 'uptimeSeconds') | int | timestamp_custom('%H:%M:%S', false) }}"
- name: *device_name " Shares Accepted"
state: "{{ state_attr('sensor.device1', 'sharesAccepted') }}"
- name: *device_name " Shares Rejected"
state: "{{ state_attr('sensor.device1', 'sharesRejected') }}"
- name: *device_name " Core Voltage Actual"
state: "{{ state_attr('sensor.device1', 'coreVoltageActual') }}"
unit_of_measurement: 'mV'
- name: *device_name " Best Difficulty"
state: "{{ state_attr('sensor.device1', 'bestDiff') }}"
- name: *device_name " Best Session Difficulty"
state: "{{ state_attr('sensor.device1', 'bestSessionDiff') }}"
- name: *device_name " Free Heap"
state: "{{ state_attr('sensor.device1', 'freeHeap') }}"
unit_of_measurement: 'bytes'
- name: *device_name " Core Voltage"
state: "{{ state_attr('sensor.device1', 'coreVoltage') }}"
unit_of_measurement: 'mV'
- name: *device_name " Frequency"
state: "{{ state_attr('sensor.device1', 'frequency') }}"
unit_of_measurement: 'MHz'
- name: *device_name " SSID"
state: "{{ state_attr('sensor.device1', 'ssid') }}"
- name: *device_name " Hostname"
state: "{{ state_attr('sensor.device1', 'hostname') }}"
- name: *device_name " WiFi Status"
state: "{{ 'on' if state_attr('sensor.device1', 'wifiStatus') == 'Connected!' else 'off' }}"
- name: *device_name " ASIC Model"
state: "{{ state_attr('sensor.device1', 'ASICModel') }}"
- name: *device_name " Stratum URL"
state: "{{ state_attr('sensor.device1', 'stratumURL') }}"
- name: *device_name " Stratum Port"
state: "{{ state_attr('sensor.device1', 'stratumPort') }}"
- name: *device_name " Stratum User"
state: "{{ state_attr('sensor.device1', 'stratumUser') }}"
- name: *device_name " Version"
state: "{{ state_attr('sensor.device1', 'version') }}"
- name: *device_name " Board Version"
state: "{{ state_attr('sensor.device1', 'boardVersion') }}"
- name: *device_name " Running Partition"
state: "{{ state_attr('sensor.device1', 'runningPartition') }}"
- name: *device_name " Flip Screen"
state: "{{ 'on' if state_attr('sensor.device1', 'flipscreen') == 1 else 'off' }}"
- name: *device_name " Invert Screen"
state: "{{ 'on' if state_attr('sensor.device1', 'invertscreen') == 1 else 'off' }}"
- name: *device_name " Invert Fan Polarity"
state: "{{ 'on' if state_attr('sensor.device1', 'invertfanpolarity') == 1 else 'off' }}"
- name: *device_name " Auto Fan Speed"
state: "{{ 'on' if state_attr('sensor.device1', 'autofanspeed') == 1 else 'off' }}"
- name: *device_name " Fan Speed"
state: "{{ state_attr('sensor.device1', 'fanspeed') }}"
unit_of_measurement: '%'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment