I’ve got a rule in my house: if I buy something new, I at least think about how I can make it “smart” and connect it to Home Assistant. Sometimes that means picking products with built-in integrations. Other times, it’s about getting creative and finding indirect ways to sense and automate.
My latest challenge? An infrared sauna. They’re not exactly known for smart features, but that wasn’t going to stop me. Instead of rewiring or hacking it apart, I found a safe, simple way to detect when it’s on and use that to trigger automations around the house.
The Goal
I didn’t want to modify the sauna’s internal electronics: no automatic start or stop, no automatic music. Aside from the safety concerns, those things didn’t add much value for me. What I did want was to know when the sauna is on or off, and use that to trigger other smart home actions like adjusting lights or room settings.
First Ideas (and Why I Rejected Them)
1. Smart plug with energy monitoring
This could have worked: measure the sauna’s power draw and trigger automations. But because saunas consume a lot of power, I wasn’t comfortable putting one on a smart plug, even if technically it could handle it.
2. Inside temperature sensor
Another idea was to put a Zigbee temperature sensor inside the sauna. The problem was twofold: I wasn’t sure it would survive the heat, and high temperatures drain batteries very quickly.
The Solution
While inspecting the sauna, I noticed a ventilation shaft at the top: the perfect spot for a sensor. I placed an Aqara temperature sensor just outside the vent. This way I could detect heat escaping without exposing the sensor to extreme temperatures, and the reading responded quickly in both directions: rising when the sauna turned on, dropping just as fast when it turned off.
This is what Aqara says about their update frequency:
If the temperature, humidity and atmospheric pressure vary only a bit, data will be reported once an hour.
If the temperature variation exceeds 0.5℃ (1℉), the humidity variation exceeds 6% and the atmospheric pressure is no less than 25hPa, data will be reported instantly.
When the sauna is heating, I get frequent updates, which is exactly what you need for reliable state detection.
Step 1: Trend Sensors
To detect whether the sauna was heating up or cooling down, I used Home Assistant’s Trend sensor platform. The values below came from analyzing my temperature graphs. ChatGPT actually helped me pick the gradients after I showed it my sauna’s heating curve.
- platform: trend
sensors:
sauna_heating_up:
entity_id: sensor.sauna_temperature
min_gradient: 0.008
sample_duration: 300
max_samples: 20
sauna_cooling_down:
entity_id: sensor.sauna_temperature
min_gradient: -0.005
sample_duration: 300
max_samples: 20 Step 2: Sauna Mode (input_boolean)
I created an input_boolean called sauna_mode to act as a clean on/off state for the sauna, which I can also toggle manually if needed. The automations below flip it based on the trend sensors: on when the heating sensor fires, off when the cooling sensor fires.
- id: sauna_heating_up
alias: "Sauna: Heating up"
trigger:
- platform: state
entity_id: binary_sensor.sauna_heating_up
to: "on"
condition:
condition: state
entity_id: input_boolean.sauna_mode
state: 'off'
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.sauna_mode
- id: sauna_cooling_down
alias: "Sauna: Cooling down"
trigger:
- platform: state
entity_id: binary_sensor.sauna_cooling_down
to: "on"
condition:
condition: state
entity_id: input_boolean.sauna_mode
state: 'on'
action:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.sauna_modeStep 3: Sauna Mode Automations
Once sauna_mode is toggling automatically, it can trigger anything else in the house. In my case:
- Turn on a light when the sauna is on.
- Turn off the light when the sauna is off.
- Auto-disable sauna mode if it has been on for more than an hour, as a safety fallback.
- id: sauna_mode_on
alias: "Sauna: Mode on"
initial_state: 'on'
trigger:
platform: state
entity_id: input_boolean.sauna_mode
to: 'on'
action:
- service: light.turn_on
data:
entity_id: light.attic
brightness: 78
- id: sauna_mode_off
alias: "Sauna: Mode off"
initial_state: 'on'
trigger:
- platform: state
entity_id: input_boolean.sauna_mode
to: 'on'
for:
hours: 1
- platform: state
entity_id: input_boolean.sauna_mode
to: 'off'
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.sauna_mode
- service: light.turn_off
data:
entity_id: light.atticFinal Thoughts
This project shows that you don’t always need to hack into a device to make it smart. By using indirect signals like heat escaping from a vent, you can detect states and trigger useful automations without voiding warranties or risking safety. The Trend integration does the heavy lifting, and the input_boolean gives you a clean toggle you can also control manually from the dashboard.
Now, every time the sauna turns on, the attic light sets the mood and Home Assistant quietly tracks it all. And since the sauna has a built-in Bluetooth radio, I’m already thinking about the next step: automatically playing music when it starts heating up. But that’s a project for another day.
Related guides:
Monitoring Temperature Trends with Home Assistant: the same Trend integration applied to room temperatures throughout the house.