Merge pull request #255 from moKorean/autoclean-cycle-state

Report whether the auto-clean cycle is running, and how far through
This commit is contained in:
Marc Billow
2026-08-02 09:05:34 -05:00
committed by GitHub
22 changed files with 100 additions and 27 deletions
@@ -742,6 +742,25 @@ AUTO_CLEAN = Capability(
write_fn=lambda p, rep, href=None: (
['option', 'autoclean', 'vs', '0'],
{'x.com.samsung.da.settingStatus': 'On' if p == 'On' else 'Off'})),
# The cycle, as opposed to the switch above -- `settingStatus` says the
# feature is enabled, which it is whether or not the unit is drying right
# now. `status` is the run state, and the resource advertises exactly
# Start/Stop in `supportedStatus`. Observed on a TP1X_DA-AC-CAC-01001:
# 'Start' with progress 98 while a cycle ran, then 'Stop' with progress 0
# the moment it finished.
BinarySensorDesc(key='auto_clean_running',
field='x.com.samsung.da.status',
icon='mdi:spray-bottle',
entity_category='diagnostic',
value_fn=lambda v: v == 'Start'),
# Percent through that cycle, matching the figure the appliance shows on
# its own display (checked against 55% mid-run).
SensorDesc(key='auto_clean_progress',
field='x.com.samsung.da.progress',
icon='mdi:progress-clock',
unit='%', state_class='measurement',
entity_category='diagnostic',
value_fn=common.int_or_none),
),
)
@@ -1,6 +1,9 @@
{
"entity": {
"binary_sensor": {
"auto_clean_running": {
"name": "Automatické čištění probíhá"
},
"after_run_active": {
"name": "Dosoušení aktivní"
},
@@ -615,6 +618,9 @@
}
},
"sensor": {
"auto_clean_progress": {
"name": "Průběh automatického čištění"
},
"after_run_progress": {
"name": "Průběh dosoušení"
},
@@ -1,6 +1,9 @@
{
"entity": {
"binary_sensor": {
"auto_clean_running": {
"name": "Auto clean running"
},
"after_run_active": {
"name": "After run active"
},
@@ -615,6 +618,9 @@
}
},
"sensor": {
"auto_clean_progress": {
"name": "Auto clean progress"
},
"after_run_progress": {
"name": "After run progress"
},
@@ -1,6 +1,9 @@
{
"entity": {
"binary_sensor": {
"auto_clean_running": {
"name": "Auto clean actief"
},
"after_run_active": {
"name": "Nadraaien actief"
},
@@ -615,6 +618,9 @@
}
},
"sensor": {
"auto_clean_progress": {
"name": "Auto clean voortgang"
},
"after_run_progress": {
"name": "Voortgang nadraaien"
},
+2
View File
@@ -6,6 +6,8 @@
"air_purify",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"clean_level",
"climate",
@@ -5,6 +5,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
+3 -1
View File
@@ -8,6 +8,8 @@
"air_purify",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"clean_level",
"climate",
"current_temperature_c",
@@ -29,4 +31,4 @@
"super_fine_dust",
"tropical_night_mode"
]
}
}
+2
View File
@@ -5,6 +5,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
+2
View File
@@ -6,6 +6,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
@@ -6,6 +6,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
@@ -6,6 +6,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
@@ -7,6 +7,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
@@ -7,6 +7,8 @@
"air_purify",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"clean_level",
"climate",
"current_temperature_c",
+2
View File
@@ -7,6 +7,8 @@
"air_purify",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_limit_enabled",
@@ -5,6 +5,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
@@ -5,6 +5,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
@@ -1,26 +1,28 @@
{
"state_keys": [
"air_filter_status",
"air_filter_threshold",
"air_filter_usage",
"air_filter_usage_hours",
"air_purify",
"alarm_code",
"auto_clean",
"beep",
"climate",
"current_limit_enabled",
"current_limit_level",
"current_temperature_c",
"display_light",
"firmware_update",
"humidity",
"mute_once",
"odor_controller_active",
"odor_controller_progress",
"selfcheck_error",
"selfcheck_result",
"selfcheck_status",
"tropical_night_mode"
]
}
{
"state_keys": [
"air_filter_status",
"air_filter_threshold",
"air_filter_usage",
"air_filter_usage_hours",
"air_purify",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_limit_enabled",
"current_limit_level",
"current_temperature_c",
"display_light",
"firmware_update",
"humidity",
"mute_once",
"odor_controller_active",
"odor_controller_progress",
"selfcheck_error",
"selfcheck_result",
"selfcheck_status",
"tropical_night_mode"
]
}
@@ -5,6 +5,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
+2
View File
@@ -6,6 +6,8 @@
"air_purify",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"clean_level",
"climate",
@@ -6,6 +6,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
+2
View File
@@ -5,6 +5,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"beep",
"climate",
"current_temperature_c",
+2
View File
@@ -6,6 +6,8 @@
"air_filter_usage_hours",
"alarm_code",
"auto_clean",
"auto_clean_progress",
"auto_clean_running",
"energy_kwh",
"energy_saved_kwh",
"firmware_update",