diff --git a/console_settings.py b/console_settings.py index 3a36e40..c41c6a1 100644 --- a/console_settings.py +++ b/console_settings.py @@ -184,14 +184,17 @@ class ConsoleSettingsManager: if param_name.lower().startswith('rule'): rule_number = param_name.lower().replace('rule', '') if rule_number.isdigit(): - enable_command = f"Rule{rule_number}%201" - - self.logger.debug(f"{device_name}: Enabling rule{rule_number}") - + # Use Rule{N} 4 to enable without setting Once flag + # Rule 1 = Enable + Once ON (WRONG - causes single-fire issue) + # Rule 4 = Enable only (CORRECT - allows repeated firing) + enable_command = f"Rule{rule_number}%204" + + self.logger.debug(f"{device_name}: Enabling rule{rule_number} (Once=OFF)") + result, success = send_tasmota_command( device_ip, enable_command, timeout=5, logger=self.logger ) - + if not success: self.logger.warning(f"{device_name}: Failed to enable rule{rule_number}") diff --git a/network_configuration.json b/network_configuration.json index b9aef20..81e917b 100644 --- a/network_configuration.json +++ b/network_configuration.json @@ -84,7 +84,7 @@ "SetOption4 1", "SetOption13 0", "SetOption19 0", - "SetOption32 40", + "SetOption32 8", "SetOption40 40", "SetOption53 1", "SetOption73 1", @@ -101,7 +101,7 @@ "SetOption4 1", "SetOption13 0", "SetOption19 0", - "SetOption32 40", + "SetOption32 8", "SetOption40 40", "SetOption53 1", "SetOption73 1"