
Building a Personalized Smart Home Gym with Home Assistant
A home gym is usually just a room with some equipment, a TV, and maybe a speaker. But what if the room could adapt automatically to the person using it?
Different people have different workout preferences. One person might want bright, energetic lighting and loud music. Another might prefer softer lighting, a different playlist, and a calmer atmosphere. Instead of manually adjusting everything before every workout, Home Assistant can turn the training room into a personalized environment with a single button press.
This article shows how to create a smart training room where each family member gets their own workout mode using a smart wall switch, Home Assistant scripts, lighting scenes, Music Assistant, notifications, and automatic ventilation.
The goal is simple: press one button, and the room prepares itself.
The idea: A training room that knows who is exercising
The foundation of this setup is a smart wall switch located outside the training room. In this example, an 8-button Namron K8 switch is used.
Each button represents a person and a specific action:
- Button 1 ON: Start workout for Person 1
- Button 1 OFF: Finish workout
- Button 2 ON: Start workout for Person 2
- Button 2 OFF: Finish workout
- Button 3 ON: Start workout for Person 3
- Button 3 OFF: Finish workout
- Button 4 ON: Start workout for Person 4
- Button 4 OFF: Finish workout
Instead of having one generic “gym mode”, each person gets a dedicated Home Assistant script.
This creates a more natural smart home experience. Nobody needs to open an app, find the right dashboard, or search for a scene. The correct workout environment is available immediately from a physical button.
The components behind the setup
Smart wall switch
The physical interface is a crucial part of this automation.
A smart home should not depend only on smartphones or voice assistants. A wall-mounted button is always available and easy for everyone in the household to understand.
The Namron K8 provides multiple buttons that can be assigned to different Home Assistant automations. Each button press becomes a trigger that starts a specific script.
This approach also makes it easy to expand later. Additional buttons could be used for:
- Cleaning mode
- Movie mode
- Gaming setup
- Guest mode
- Maintenance mode
Home Assistant scripts
The heart of the system is a collection of scripts.
Instead of creating one huge automation with many conditions, each person has their own script.
Example:
Person 1 workout script
- Set preferred lighting
- Turn on ventilation
- Turn on TV
- Start audio system
- Play workout playlist
- Notify the household
Person 2 workout script
- Select different lighting colors
- Start another playlist
- Use different volume settings
- Activate personal dashboard information
The advantage of scripts is flexibility. If someone changes their workout habits, only their script needs updating.
Creating personalized workout environments
Lighting is one of the easiest ways to create different atmospheres.
For example:
Person 1 may prefer:
- Strong red lighting
- High brightness
- Energetic music
Person 2 may prefer:
- Blue lighting
- Lower brightness
- More relaxed music
Home Assistant can control this using smart bulbs, LED strips, or complete lighting scenes.
The room is physically the same, but the experience changes depending on who starts the workout.
Integrating Music Assistant
Music is often a major part of exercise.
With Music Assistant in Home Assistant, the workout room can automatically start the correct playlist.
The automation does not need to know what song should play. It only needs to select the correct playlist for the person.
Examples:
- Strength training playlist
- Cycling playlist
- Running playlist
- Personal favorites
The workflow becomes:
Button press
|
v
Home Assistant script
|
v
Music Assistant
|
v
Personal workout playlist
This removes another manual step before training starts.
Notifications for the rest of the family
A smart training room should also communicate.
When someone starts a workout, Home Assistant can send a notification to other household members:
“🏋️ Training room is now occupied”
This is a small detail, but it prevents interruptions and makes the room easier to share.
The notification could be sent to:
- Smartphones
- Smart displays
- Wall dashboards
It is also possible to include who is training and when the workout started.
Automatically handling the end of a workout
The “finish workout” automation is shared between all users.
When someone presses the OFF button, Home Assistant starts the shutdown sequence.
The process:
- Notify the household that the room is available
- Turn off the TV
- Stop the music
- Reset lighting to the normal room setting
- Keep the ventilation running
- Turn off the fan after 30 minutes
The ventilation delay is an important part of the design.
After exercise, the room often has increased humidity and temperature. Keeping the fan running for a while helps remove warm and humid air before returning the room to standby mode.
A temperature sensor measuring °C and optionally a humidity sensor could make this even smarter by allowing Home Assistant to decide exactly when ventilation is no longer needed.
Example Home Assistant automation
The following example shows how a button press can start a personalized workout script.
alias: Start workout - Person 1
description: Prepare training room for Person 1
trigger:
- platform: state
entity_id: event.namron_k8_button_1
to: "pressed"
action:
- service: script.turn_on
target:
entity_id: script.training_room_person_1
- service: notify.mobile_app_family
data:
message: "🏋️ Training room is now occupied by Person 1"
mode: single
The script can then control the different devices:
alias: Training room - Person 1
sequence:
- service: light.turn_on
target:
entity_id: light.training_room
data:
brightness_pct: 80
rgb_color:
- 255
- 0
- 0
- service: fan.turn_on
target:
entity_id: fan.training_room
- service: media_player.turn_on
target:
entity_id: media_player.training_tv
- service: script.play_person_1_playlist
The exact entity names will depend on the devices installed, but the concept remains the same.
Possible improvements
Once the foundation is built, many additional features can be added.
Garmin integration
Home Assistant can display training information from Garmin:
- Current training plan
- Recent workouts
- Recovery information
- Daily activity
Zwift mode
For indoor cycling:
- Change lighting automatically
- Start the cycling dashboard
- Adjust fan settings
- Display cycling statistics
Smart ventilation
Instead of a fixed 30-minute timer:
- Increase fan speed when temperature rises
- Use humidity sensors
- Use CO₂ measurements
- Stop automatically when air quality improves
Energy monitoring
Adding power monitoring makes it possible to see how much energy the training room uses.
A smart plug or energy meter can track:
- TV consumption
- Audio system usage
- Fan energy use
- Lighting consumption
The result can be displayed in kWh on a Home Assistant dashboard.
Final thoughts
The most interesting smart home automations are not always the most complicated ones. They are the ones that remove small frustrations from everyday life.
A personalized training room is a perfect example.
A simple button press can transform a normal room into a personal workout environment. The lights change, the music starts, the ventilation runs, and everyone knows the room is occupied.
Home Assistant is not just about controlling devices. It is about creating spaces that understand how people live.
Some of the links in this article are "affiliate links", a link with a special tracking code. This means if you click on an affiliate link and purchase the item, we will receive an affiliate commission. The price of the item is the same whether it is an affiliate link or not. Regardless, we only recommend products or services we believe will add value to our readers. By using the affiliate links, you are helping support our Website, and we genuinely appreciate your support.