Skip to content

Commit 9ebf31a

Browse files
committed
Correct syntax, improve directives-locator
1 parent 03f0367 commit 9ebf31a

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

plugwise/legacy/helper.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -456,9 +456,11 @@ def _schedules(self) -> tuple[list[str], str]:
456456
selected = NONE
457457
name: str | None = None
458458

459+
rule_id = NONE
459460
search = self._domain_objects
460-
if search.find("./rule[name='Thermostat schedule']") is not None:
461+
if (result := search.find("./rule[name='Thermostat schedule']")) is not None:
461462
name = "Thermostat schedule"
463+
rule_id = result.attrib["id"]
462464

463465
log_type = "schedule_state"
464466
locator = f"./appliance[type='thermostat']/logs/point_log[type='{log_type}']/period/measurement"
@@ -467,7 +469,8 @@ def _schedules(self) -> tuple[list[str], str]:
467469
active = result.text == "on"
468470

469471
# Show an empty schedule as no schedule found
470-
if search.find('f./rule[name="{name}"]/directives') is not None and name is not None:
472+
directives = search.find(f'./rule[@id="{rule_id}"]/directives/when/then') is not None
473+
if directives and name is not None:
471474
available = [name, OFF]
472475
selected = name if active else OFF
473476

0 commit comments

Comments
 (0)