SmartThings Washer Dryer Cycle State - Template sensor that reports a persistent cycle state of your Samsung SmartThings washer or dryer cycle
About
Create a template entity that reports the cycle status for a Samsung SmartThings washer and dryer. Optionally, add a door sensor! I use this to make sure I don’t leave wet clothes in the washer.
I wrote this blueprint because my model of Samsung washer and dryer will become unavailable when the machine turns off. This makes it difficult to alert on the state of the washer and dryer’s cycle. For example, I send an alert (using my alert blueprint, referenced below) to let me know if the cycle has been completed for 30 minutes but the door has not been opened, indicating that the clothes have not been moved over to the dryer. This would not be possible with the provided SmartThings entities.
As this is a template entity blueprint, it will require some YAML to setup. Check out the Home Assistant Documentation: Using Blueprints and the Setup section below for more information.
Enjoy, and feedback is always welcome!
Requirements
- Home Assistant Minimum Version: 2025.07
- SmartThings Integration
Supported Firmware
These are the firmware versions confirmed to work:
Washers:
- DA_WM_TP2_20_COMMON_30250414
Dryers:
- DA_WM_A51_20_COMMON_30230708
Features
- Stable Cycle State: Even when the unit is unavailable
- Optional Door Sensor: Add a door sensor to detect when clothes have been removed
- Dynamic Icons: Icon changes based on state
How it Works
- When the unit starts a cycle, the sensor reports ‘running’
- When the unit is paused, the sensor reports ‘paused’
- When the unit completes a cycle, the sensor reports ‘complete’
- When the door sensor is open and the unit is not paused, the sensor reports ‘ready’
- There is some additional logic used to handle edge cases, such as when the unit is powered off in the middle of a cycle.
Setup
After importing the blueprint, use the following examples to create the template entity in your configuration.yaml. Be sure to replace the job_state, machine_state, and door sensor entities with ones from your environment. Use [] if you do not want to use a door sensor. Additionally, job_state_finish_value depends on how your washer or dryer reports its job_state. You can find this value by looking at the attributes of your job_state entity in the state developer tools (they are different for my washer and dryer):
template:
- name: Washer Cycle State
unique_id: washer_cycle_state
use_blueprint:
path: MakingNate/smartthings_washer_dryer_cycle_state.yaml
input:
job_state: sensor.washer_job_state
job_state_finish_value: finish
machine_state: sensor.washer_machine_state
door_sensor: binary_sensor.washer_door
- name: Dryer Cycle State
unique_id: dryer_cycle_state
use_blueprint:
path: MakingNate/smartthings_washer_dryer_cycle_state.yaml
input:
job_state: sensor.dryer_job_state
job_state_finish_value: finished
machine_state: sensor.dryer_machine_state
door_sensor: []