Skip to content
MisiuPublic

About

Home Assistant support for Argon ONE Pi 3 & 4 cases and Argon Fan HAT

Topics

Resources

Contributing

Stars

127 stars

Watchers

12 watching

Forks

Repository files navigation

Argon ONE Pi 3 & 4 Cases and Fan HAT support for Home Assistant

GitHub Release GitHub Activity License

GitHub CRON Workflow Status GitHub PUSH Workflow Status

hacs Project Maintenance BuyMeCoffee

Component supports: Argon ONE Raspberry Pi 4 Case, Argon ONE Raspberry Pi 3 Case, Argon Fan HAT.

example

Requirements and installation

Requires Home Assistant 2026.7.0 or newer and direct access to the Raspberry Pi's GPIO and I2C hardware. Enable I2C before installing the integration; see the community guide for the HassOS I2C Configurator add-on.

Add Misiu/argon40 as a custom repository in HACS (category: Integration), then install Argon40. Alternatively, copy the entire custom_components/argon40 directory from this repository into your Home Assistant configuration directory. Include all files and the brand directory. The resulting layout should include:

custom_components/argon40/__init__.py
custom_components/argon40/const.py
custom_components/argon40/manifest.json
custom_components/argon40/services.yaml
custom_components/argon40/brand/

Add this entry to configuration.yaml, then restart Home Assistant:

argon40:

Configuration uses YAML; there is no setup flow in the UI. If setup fails, check Home Assistant's logs for the I2C error and verify that the hardware is accessible from your Home Assistant installation.

Fan control

The integration sets the initial fan speed to 10% and exposes two actions:

Action Required data Effect
argon40.set_fan_speed speed: integer from 0 to 100 Send a fan speed command; 0 stops the fan.
argon40.set_mode always_on: boolean Select always-on mode (true) or the default mode (false).

For example, use Developer Tools > Actions:

action: argon40.set_fan_speed
data:
  speed: 40
action: argon40.set_mode
data:
  always_on: true

Temperature control requires your own automation. You can get a temperature sensor from the System monitor integration, or configure a command-line sensor:

command_line:
  - sensor:
      name: CPU Temp
      unique_id: cpu_temp
      command: "cat /sys/class/thermal/thermal_zone0/temp"
      unit_of_measurement: "°C"
      value_template: "{{ value | multiply(0.001) | round(1) }}"

This example sets the fan to 40% after the temperature stays above 50°C for one minute. Add your own cooling and startup rules as needed; this example does not turn the fan down again or restore a speed after restarting Home Assistant.

automation:
  - alias: "Set fan speed"
    triggers:
      - trigger: numeric_state
        entity_id: sensor.cpu_temp
        above: 50
        for:
          minutes: 1
    actions:
      - action: argon40.set_fan_speed
        data:
          speed: 40

After a successful command, the integration fires argon40_event with either speed or always_on in its event data. These events describe the command sent; they do not report measured fan speed. Button double-tap detection is not implemented.

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines


About

Home Assistant support for Argon ONE Pi 3 & 4 cases and Argon Fan HAT

Topics

Resources

Contributing

Stars

127 stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages