Advertisement
Guest User

homeASsistant Package for bitaxe control

a guest
Jun 6th, 2025
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 10.43 KB | Help | 0 0
  1. Replace {bitaxe_alias} and {bitaxe_ip} with your alias and bitaxe IP
  2. input_number:
  3.   {bitaxe_alias}_asic_frequency:
  4.     name: '{bitaxe_alias} Frequenza ASIC'
  5.     min: 400
  6.     max: 1130
  7.     step: 1
  8.     mode: slider
  9.     unit_of_measurement: 'MHz'
  10.  
  11.   {bitaxe_alias}_asic_voltage:
  12.     name: '{bitaxe_alias} Voltage ASIC'
  13.     min: 1000
  14.     max: 1450
  15.     step: 1
  16.     mode: slider
  17.     unit_of_measurement: 'V'
  18.  
  19. input_text:
  20.   {bitaxe_alias}_stratum_url:
  21.     name: {bitaxe_alias} Stratum URL
  22.  
  23.   {bitaxe_alias}_fallback_stratum_url:
  24.     name: {bitaxe_alias} Fallback Stratum URL
  25.  
  26.   {bitaxe_alias}_stratum_user:
  27.     name: {bitaxe_alias} Stratum User
  28.  
  29.   {bitaxe_alias}_stratum_port:
  30.     name: {bitaxe_alias} Stratum Port
  31.  
  32.   {bitaxe_alias}_fallback_stratum_user:
  33.     name: {bitaxe_alias} Fallback Stratum User
  34.  
  35.   {bitaxe_alias}_fallback_stratum_port:
  36.     name: {bitaxe_alias} Fallback Stratum Port
  37.  
  38. automation:
  39.   - alias: Update freq. {bitaxe_alias} ASIC
  40.     trigger:
  41.       - platform: state
  42.         entity_id:
  43.          - input_number.{bitaxe_alias}_asic_frequency
  44.     action:
  45.       - service: rest_command.set_{bitaxe_alias}_asic_frequency
  46.         data:
  47.           freq: "{{ trigger.to_state.state | int }}"
  48.  
  49.   - alias: "Setting Freq. ASIC {bitaxe_alias} on Start"
  50.     trigger:
  51.       - platform: homeassistant
  52.         event: start
  53.     action:
  54.       - service: input_number.set_value
  55.         target:
  56.           entity_id: input_number.{bitaxe_alias}_asic_frequency
  57.         data:
  58.           value: "{{ states('sensor.{bitaxe_alias}_asic_current_frequency') | float }}"
  59.  
  60.   - alias: "Synch {bitaxe_alias} Freq. ASIC"
  61.     trigger:
  62.       - platform: state
  63.         entity_id: sensor.{bitaxe_alias}_asic_current_frequency
  64.     action:
  65.       - service: input_number.set_value
  66.         target:
  67.           entity_id: input_number.{bitaxe_alias}_asic_frequency
  68.         data:
  69.           value: "{{ trigger.to_state.state | float }}"
  70.  
  71.   - alias: Update Voltage {bitaxe_alias} ASIC
  72.     trigger:
  73.       - platform: state
  74.         entity_id:
  75.          - input_number.{bitaxe_alias}_asic_voltage
  76.     action:
  77.       - service: rest_command.set_{bitaxe_alias}_asic_voltage
  78.         data:
  79.           volt: "{{ trigger.to_state.state | int }}"
  80.  
  81.  
  82.   - alias: "Set Voltage ASIC {bitaxe_alias} on start"
  83.     trigger:
  84.       - platform: homeassistant
  85.         event: start
  86.     action:
  87.       - service: input_number.set_value
  88.         target:
  89.           entity_id: input_number.{bitaxe_alias}_asic_voltage
  90.         data:
  91.           value: "{{ states('sensor.{bitaxe_alias}_asic_current_voltage') | float }}"
  92.  
  93.   - alias: "Synch {bitaxe_alias} Voltage ASIC"
  94.     trigger:
  95.       - platform: state
  96.         entity_id: sensor.{bitaxe_alias}_asic_current_voltage
  97.     action:
  98.       - service: input_number.set_value
  99.         target:
  100.           entity_id: input_number.{bitaxe_alias}_asic_voltage
  101.         data:
  102.           value: "{{ trigger.to_state.state | float }}"
  103.  
  104.   - alias: "Configuration Stratum {bitaxe_alias}"
  105.     trigger:
  106.       - platform: state
  107.         entity_id:
  108.          - input_text.{bitaxe_alias}_stratum_url
  109.           - input_text.{bitaxe_alias}_fallback_stratum_url
  110.           - input_text.{bitaxe_alias}_stratum_user
  111.           - input_text.{bitaxe_alias}_fallback_stratum_user
  112.           - input_text.{bitaxe_alias}_stratum_port
  113.           - input_text.{bitaxe_alias}_fallback_stratum_port
  114.     action:
  115.       - service: system_log.write
  116.         data:
  117.           level: info
  118.           message: >
  119.             Stratum Remo config:
  120.            {
  121.               "stratumURL": "{{ states('input_text.{bitaxe_alias}_stratum_url') }}",
  122.               "fallbackStratumURL": "{{ states('input_text.{bitaxe_alias}_fallback_stratum_url') }}",
  123.               "stratumUser": "{{ states('input_text.{bitaxe_alias}_stratum_user') }}",
  124.               "fallbackStratumUser": "{{ states('input_text.{bitaxe_alias}_fallback_stratum_user') }}",
  125.               "stratumPort": {{ states('input_text.{bitaxe_alias}_stratum_port') }},
  126.               "fallbackStratumPort": {{ states('input_text.{bitaxe_alias}_fallback_stratum_port') }}
  127.             }
  128.       - service: rest_command.set_stratum_config_{bitaxe_alias}
  129.  
  130.   - alias: "Set Stratum on start"
  131.     trigger:
  132.       - platform: homeassistant
  133.         event: start
  134.     action:
  135.      # Impostazioni Remo
  136.       - service: input_text.set_value
  137.         target:
  138.           entity_id: input_text.{bitaxe_alias}_stratum_url
  139.         data:
  140.           value: "{{ states('sensor.{bitaxe_alias}_stratum_url') }}" # Sostituisci con il tuo sensore URL
  141.       - service: input_text.set_value
  142.         target:
  143.           entity_id: input_text.{bitaxe_alias}_fallback_stratum_url
  144.         data:
  145.           value: "{{ states('sensor.{bitaxe_alias}_fallback_stratum_url') }}" # Sostituisci con il tuo sensore URL fallback
  146.       - service: input_text.set_value
  147.         target:
  148.           entity_id: input_text.{bitaxe_alias}_stratum_user
  149.         data:
  150.           value: "{{ states('sensor.{bitaxe_alias}_stratum_user') }}" # Sostituisci con il tuo sensore utente
  151.       - service: input_text.set_value
  152.         target:
  153.           entity_id: input_text.{bitaxe_alias}_fallback_stratum_user
  154.         data:
  155.           value: "{{ states('sensor.{bitaxe_alias}_fallback_stratum_user') }}" # Sostituisci con il tuo sensore utente fallback
  156.       - service: input_text.set_value
  157.         target:
  158.           entity_id: input_text.{bitaxe_alias}_stratum_port
  159.         data:
  160.           value: "{{ states('sensor.{bitaxe_alias}_stratum_port') | int }}" # Sostituisci con il tuo sensore porta
  161.       - service: input_text.set_value
  162.         target:
  163.           entity_id: input_text.{bitaxe_alias}_fallback_stratum_port
  164.         data:
  165.           value: "{{ states('sensor.{bitaxe_alias}_fallback_stratum_port') | int }}" # Sostituisci con il tuo sensore porta fallback
  166.  
  167.   - alias: "Synch Stratum {bitaxe_alias} dai Sensori"
  168.     trigger:
  169.       - platform: state
  170.         entity_id:
  171.          - sensor.{bitaxe_alias}_stratum_url
  172.           - sensor.{bitaxe_alias}_fallback_stratum_url
  173.           - sensor.{bitaxe_alias}_stratum_user
  174.           - sensor.{bitaxe_alias}_fallback_stratum_user
  175.           - sensor.{bitaxe_alias}_stratum_port
  176.           - sensor.{bitaxe_alias}_fallback_stratum_port
  177.     action:
  178.       - service: input_text.set_value
  179.         target:
  180.           entity_id: input_text.{bitaxe_alias}_stratum_url
  181.         data:
  182.           value: "{{ states('sensor.{bitaxe_alias}_stratum_url') }}"
  183.       - service: input_text.set_value
  184.         target:
  185.           entity_id: input_text.{bitaxe_alias}_fallback_stratum_url
  186.         data:
  187.           value: "{{ states('sensor.{bitaxe_alias}_fallback_stratum_url') }}"
  188.       - service: input_text.set_value
  189.         target:
  190.           entity_id: input_text.{bitaxe_alias}_stratum_user
  191.         data:
  192.           value: "{{ states('sensor.{bitaxe_alias}_stratum_user') }}"
  193.       - service: input_text.set_value
  194.         target:
  195.           entity_id: input_text.{bitaxe_alias}_fallback_stratum_user
  196.         data:
  197.           value: "{{ states('sensor.{bitaxe_alias}_fallback_stratum_user') }}"
  198.       - service: input_text.set_value
  199.         target:
  200.           entity_id: input_text.{bitaxe_alias}_stratum_port
  201.         data:
  202.           value: "{{ states('sensor.{bitaxe_alias}_stratum_port') }}"
  203.       - service: input_text.set_value
  204.         target:
  205.           entity_id: input_text.{bitaxe_alias}_fallback_stratum_port
  206.         data:
  207.           value: "{{ states('sensor.{bitaxe_alias}_fallback_stratum_port') }}"
  208.  
  209. rest:
  210.   - resource: http://{bitaxe_ip}/api/system/info
  211.     scan_interval: 5
  212.     sensor:
  213.       - name: {bitaxe_alias} Stratum URL
  214.         value_template: "{{ value_json.stratumURL }}"
  215.       - name: {bitaxe_alias} Fallback Stratum URL
  216.         value_template: "{{ value_json.fallbackStratumURL }}"
  217.       - name: {bitaxe_alias} Stratum User
  218.         value_template: "{{ value_json.stratumUser }}"
  219.       - name: {bitaxe_alias} Fallback Stratum User
  220.         value_template: "{{ value_json.fallbackStratumUser }}"
  221.       - name: {bitaxe_alias} Stratum Port
  222.         value_template: "{{ value_json.stratumPort }}"
  223.         unit_of_measurement: "Port"
  224.       - name: {bitaxe_alias} Fallback Stratum Port
  225.         value_template: "{{ value_json.fallbackStratumPort }}"
  226.         unit_of_measurement: "Port"
  227.       - name: {bitaxe_alias} ASIC Current Frequency
  228.         value_template: "{{ value_json.frequency }}"
  229.         unit_of_measurement: "MHz"
  230.       - name: {bitaxe_alias} ASIC Current Voltage
  231.         value_template: "{{ value_json.coreVoltage }}"
  232.         unit_of_measurement: "V"
  233.       - name: {bitaxe_alias} Input voltage
  234.         value_template: "{{ (value_json.voltage | float / 1000 ) | round(2) }}"
  235.         unit_of_measurement: "V"
  236.       - name: {bitaxe_alias} Best Diff
  237.         value_template: "{{ value_json.bestDiff }}"
  238.       - name: {bitaxe_alias} Best Session Diff
  239.         value_template: "{{ value_json.bestSessionDiff }}"
  240.       - name: {bitaxe_alias} Shares
  241.         value_template: "{{ value_json.sharesAccepted }}"
  242.       - name: {bitaxe_alias} Shares Rejected
  243.         value_template: "{{ value_json.sharesRejected }}"
  244.    
  245. rest_command:
  246.   restart_{bitaxe_alias}:
  247.     url: "http://{bitaxe_ip}/api/system/restart"
  248.     method: post
  249. +
  250.   set_{bitaxe_alias}_asic_frequency:
  251.     url: "http://{bitaxe_ip}/api/system"
  252.     method: patch
  253.     content_type: "application/json"
  254.     # Se vuoi abilitare overclock:
  255.     payload: >
  256.      {
  257.         "frequency": {{ freq | int }},
  258.         "overclockEnabled": 1
  259.       }
  260.  
  261.   set_{bitaxe_alias}_asic_voltage:
  262.     url: "http://{bitaxe_ip}/api/system"
  263.     method: patch
  264.     content_type: "application/json"
  265.     payload: >
  266.      {
  267.         "coreVoltage": {{ volt | int }},
  268.         "overclockEnabled": 1
  269.       }
  270.  
  271.   set_stratum_config_{bitaxe_alias}:
  272.     url: "http://{bitaxe_ip}/api/system"
  273.     method: PATCH
  274.     content_type: "application/json"
  275.     payload: >
  276.      {
  277.         "stratumURL": "{{ states('input_text.{bitaxe_alias}_stratum_url') }}",
  278.         "fallbackStratumURL": "{{ states('input_text.{bitaxe_alias}_fallback_stratum_url') }}",
  279.         "stratumUser": "{{ states('input_text.{bitaxe_alias}_stratum_user') }}",
  280.         "fallbackStratumUser": "{{ states('input_text.{bitaxe_alias}_fallback_stratum_user') }}",
  281.         "stratumPort": {{ states('input_text.{bitaxe_alias}_stratum_port') | int }},
  282.         "fallbackStratumPort": {{ states('input_text.{bitaxe_alias}_fallback_stratum_port') | int }}
  283.       }
  284.  
  285.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement