Skip to content

Home Assistant Integration

Once your fan controller is adopted in Home Assistant, its entities are available for dashboards and automations.

After adoption, the following entities appear in Home Assistant:

EntityHA DomainDescription
Fan 1—4fanPWM speed control (0—100%)
TemperaturesensorAmbient temperature from HDC1080 sensor
HumiditysensorAmbient humidity from HDC1080 sensor
Fan 1—4 RPMsensorTachometer readings (RPM)
Button USR1—3binary_sensorPhysical buttons on the board

Add a fan entity to your dashboard for direct speed control:

type: entities
title: Fan Controller
entities:
- entity: fan.fan_controller_fan_1
- entity: fan.fan_controller_fan_2
- entity: fan.fan_controller_fan_3
- entity: fan.fan_controller_fan_4

Use a sensor card or glance card to monitor the onboard HDC1080:

type: glance
title: Environment
entities:
- entity: sensor.fan_controller_temperature
- entity: sensor.fan_controller_humidity

Track fan speeds over time with a history graph card:

type: history-graph
title: Fan RPM
hours_to_show: 24
entities:
- entity: sensor.fan_controller_fan_1_speed
- entity: sensor.fan_controller_fan_2_speed
- entity: sensor.fan_controller_fan_3_speed
- entity: sensor.fan_controller_fan_4_speed

Increase fan speed when temperature rises above 30 C, reduce it when the temperature drops below 25 C:

automation:
- alias: "Increase fan speed when hot"
trigger:
- platform: numeric_state
entity_id: sensor.fan_controller_temperature
above: 30
action:
- service: fan.set_percentage
target:
entity_id: fan.fan_controller_fan_1
data:
percentage: 75
- alias: "Reduce fan speed when cool"
trigger:
- platform: numeric_state
entity_id: sensor.fan_controller_temperature
below: 25
action:
- service: fan.set_percentage
target:
entity_id: fan.fan_controller_fan_1
data:
percentage: 30

Lower fan speeds during nighttime hours to reduce noise:

automation:
- alias: "Night mode - quiet fans"
trigger:
- platform: time
at: "22:00:00"
action:
- service: fan.set_percentage
target:
entity_id:
- fan.fan_controller_fan_1
- fan.fan_controller_fan_2
data:
percentage: 20
- alias: "Day mode - normal fans"
trigger:
- platform: time
at: "07:00:00"
action:
- service: fan.set_percentage
target:
entity_id:
- fan.fan_controller_fan_1
- fan.fan_controller_fan_2
data:
percentage: 50

Get notified if a fan’s RPM drops to zero while it should be running, which may indicate a failed or disconnected fan:

automation:
- alias: "Fan failure alert"
trigger:
- platform: numeric_state
entity_id: sensor.fan_controller_fan_1_speed
below: 1
for:
minutes: 2
condition:
- condition: state
entity_id: fan.fan_controller_fan_1
state: "on"
action:
- service: notify.persistent_notification
data:
title: "Fan Controller Alert"
message: "Fan 1 RPM has dropped to zero. Check the fan connection."