Skip to content

Commit c7a2eee

Browse files
committed
Drop orphaned heater_central
1 parent 6c44c35 commit c7a2eee

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

plugwise/helper.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -604,17 +604,16 @@ def _all_appliances(self) -> None:
604604
for appliance in self._appliances.findall("./appliance"):
605605
appl = Munch()
606606
appl.pwclass = appliance.find("type").text
607-
# Count amount of heater_central's
608-
if appl.pwclass == "heater_central":
609-
hc_count += 1
610-
# Mark heater_central and thermostat that don't have actuator_functionalities,
611-
# could be an orphaned device (Core #81712, #104433)
612-
appl.has_actuators = True
607+
appl.dev_id = appliance.attrib["id"]
608+
# Skip thermostats that have this key, should be an orphaned device (Core #81712)
613609
if (
614610
appl.pwclass in ["heater_central", "thermostat"]
615611
and appliance.find("actuator_functionalities/") is None
616612
):
617-
appl.has_actuators = False
613+
continue
614+
# Skip orphaned heater_central (Core Issue #104433)
615+
if appl.pwclass == "heater_central" and appl.dev_id != self._heater_id:
616+
continue
618617

619618
appl.location = None
620619
if (appl_loc := appliance.find("location")) is not None:
@@ -626,7 +625,6 @@ def _all_appliances(self) -> None:
626625
) or appl.pwclass not in THERMOSTAT_CLASSES:
627626
appl.location = self._home_location
628627

629-
appl.dev_id = appliance.attrib["id"]
630628
appl.name = appliance.find("name").text
631629
appl.model = appl.pwclass.replace("_", " ").title()
632630
appl.firmware = None

0 commit comments

Comments
 (0)