From 055c8776cc07b89f80430280544bb8f7e6dc1a3c Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Tue, 19 Apr 2022 17:19:52 -0400 Subject: [PATCH] settings: keep trying settings that have worked --- lib/logitech_receiver/settings_templates.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/logitech_receiver/settings_templates.py b/lib/logitech_receiver/settings_templates.py index 240be731..2109bca5 100644 --- a/lib/logitech_receiver/settings_templates.py +++ b/lib/logitech_receiver/settings_templates.py @@ -1219,15 +1219,15 @@ def check_feature_settings(device, already_known): newAbsent = [] for sclass in SETTINGS: if sclass.feature: - if sclass.name not in absent and not any(s.name == sclass.name for s in already_known): + known_present = device.persister and sclass.name in device.persister + if not any(s.name == sclass.name for s in already_known) and (known_present or sclass.name not in absent): setting = check_feature(device, sclass) if setting: already_known.append(setting) if sclass.name in newAbsent: newAbsent.remove(sclass.name) - else: - if not any(s.name == sclass.name for s in already_known) and sclass.name not in newAbsent: - newAbsent.append(sclass.name) + elif sclass.name not in newAbsent and sclass.name not in absent and sclass.name not in device.persister: + newAbsent.append(sclass.name) if device.persister and newAbsent: absent.extend(newAbsent) device.persister['_absent'] = absent