Component supports: Argon ONE Raspberry Pi 4 Case, Argon ONE Raspberry Pi 3 Case, Argon Fan HAT.
- Enable I2C. This is the most important step. Disabled I2C prevents the integraion from running and shows an error in logs.
- Official way
- Using Add-on HassOS I2C Configurator (the easiest way)
- Using the tool of choice open the directory (folder) for your HA configuration (where you find
configuration.yaml
). - If you do not have a
custom_components
directory (folder) there, you need to create it. - In the
custom_components
directory (folder) create a new folder calledargon40
. - Download all the files from the
custom_components/argon40/
directory (folder) in this repository. - Place the files you downloaded in the new directory (folder) you created.
- Add
argon40:
to yourconfiguration.yaml
- Restart Home Assistant
Using your HA configuration directory (folder) as a starting point you should now also have this:
custom_components/argon40/__init__.py
custom_components/argon40/const.py
custom_components/argon40/manifest.json
custom_components/argon40/services.yaml
- Add CPU Temperature sensor:
sensor:
- platform: command_line
name: CPU Temp
command: "cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: "°C"
value_template: "{{ value | multiply(0.001) | round(1) }}"
- Add automation:
automation:
- id: Set-fan-speed-off
alias: Set-fan-speed-off
description: 'Turn off fan on start'
trigger:
- platform: homeassistant
event: start
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 0
mode: single
- id: Set-fan-speed-on-0
alias: CPU fan high speed 0
description: Turn up fan speed when CPU is under 35 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
below: '35'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 0
mode: single
- id: Set-fan-speed-on-10
alias: CPU fan high speed 10
description: Turn up fan speed when CPU is over 35 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
above: '35'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 10
mode: single
- id: Set-fan-speed-on-20
alias: CPU fan high speed 20
description: Turn up fan speed when CPU is over 45 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
above: '45'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 20
mode: single
- id: Set-fan-speed-on-30
alias: CPU fan high speed 30
description: Turn up fan speed when CPU is over 50 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
above: '50'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 30
mode: single
- id: Set-fan-speed-on-40
alias: CPU fan high speed 40
description: Turn up fan speed when CPU is over 55 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
above: '55'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 40
mode: single
- id: Set-fan-speed-on-50
alias: CPU fan high speed 50
description: Turn up fan speed when CPU is over 60 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
above: '60'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 50
mode: single
- id: Set-fan-speed-on-75
alias: CPU fan high speed 75
description: Turn up fan speed when CPU is over 65 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
above: '65'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 75
mode: single
- id: Set-fan-speed-on-100
alias: CPU fan high speed 100
description: Turn up fan speed to max when CPU is over 60 degrees
trigger:
- platform: numeric_state
entity_id: sensor.cpu_temp
above: '70'
condition: []
action:
- service: argon40.set_fan_speed
data:
speed: 100
mode: single
automation:
- alias: "Argon40 button double-tap"
trigger:
platform: event
event_type: argon40_event
event_data:
action: double-tap
action:
- service: persistent_notification.create
data:
title: "Argon 40"
message: "Button was double-tapped"
If you want to contribute to this please read the Contribution guidelines