Skip to content

Commit ead6f78

Browse files
committed
Fixes-updates
1 parent 5e36d7a commit ead6f78

File tree

15 files changed

+91
-115
lines changed

15 files changed

+91
-115
lines changed

fixtures/adam_plus_anna_new/all_data.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@
230230
"cooling_present": false,
231231
"gateway_id": "da224107914542988a88561b4452b0f6",
232232
"heater_id": "056ee145a816487eaa69243c3280f8bf",
233-
"item_count": 152,
233+
"item_count": 173,
234234
"notifications": {},
235235
"reboot": true,
236236
"smile_name": "Adam"

fixtures/anna_v4/all_data.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@
3333
"setpoint": 0.0,
3434
"upper_bound": 2.0
3535
},
36+
"thermostat": {
37+
"lower_bound": 4.0,
38+
"resolution": 0.1,
39+
"setpoint": 20.5,
40+
"upper_bound": 30.0
41+
},
3642
"vendor": "Plugwise"
3743
},
3844
"0466eae8520144c78afb29628384edeb": {
@@ -93,7 +99,7 @@
9399
"cooling_present": false,
94100
"gateway_id": "0466eae8520144c78afb29628384edeb",
95101
"heater_id": "cd0e6156b1f04d5f952349ffbe397481",
96-
"item_count": 50,
102+
"item_count": 58,
97103
"notifications": {},
98104
"reboot": true,
99105
"smile_name": "Smile Anna"

fixtures/legacy_anna/all_data.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,6 @@
7070
"heater_id": "04e4cbfe7f4340f090f85ec3b9e6a950",
7171
"item_count": 41,
7272
"smile_name": "Smile Anna"
73-
}
73+
},
74+
"zones": {}
7475
}

fixtures/p1v4_442_single/all_data.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,6 @@
4747
"notifications": {},
4848
"reboot": true,
4949
"smile_name": "Smile P1"
50-
}
50+
},
51+
"zones": {}
5152
}

fixtures/smile_p1_v2/all_data.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,6 @@
3737
"gateway_id": "aaaa0000aaaa0000aaaa0000aaaa00aa",
3838
"item_count": 26,
3939
"smile_name": "Smile P1"
40-
}
40+
},
41+
"zones": {}
4142
}

fixtures/stretch_v31/all_data.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,6 @@
137137
"gateway_id": "0000aaaa0000aaaa0000aaaa0000aa00",
138138
"item_count": 83,
139139
"smile_name": "Stretch"
140-
}
140+
},
141+
"zones": {}
141142
}

plugwise/data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ def _update_for_cooling(self, device: DeviceData) -> None:
148148
sensors.pop("setpoint")
149149
sensors["setpoint_low"] = temp_dict["setpoint_low"]
150150
sensors["setpoint_high"] = temp_dict["setpoint_high"]
151-
self._count += 2
151+
self._count += 2 # add 4, remove 2
152152

153153

154154
def _get_location_data(self, loc_id: str) -> DeviceData:

plugwise/helper.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -639,13 +639,13 @@ def _appliance_measurements(
639639
)
640640

641641
if data.get("binary_sensors"):
642-
self._count += len(data["binary_sensors"]) - 1
642+
self._count += len(data["binary_sensors"])
643643
if data.get("sensors"):
644-
self._count += len(data["sensors"]) -1
644+
self._count += len(data["sensors"])
645645
if data.get("switches"):
646-
self._count += len(data["switches"]) -1
646+
self._count += len(data["switches"])
647647
# Don't count the above top-level dicts, only the remaining single items
648-
#self._count += len(data) - 3
648+
self._count += len(data) - 3
649649

650650
def _get_toggle_state(
651651
self, xml: etree, toggle: str, name: ToggleNameType, data: DeviceData
@@ -684,7 +684,9 @@ def _get_actuator_functionalities(
684684
# Skip max_dhw_temperature, not initially valid,
685685
# skip thermostat for all but zones with thermostats
686686
if item == "max_dhw_temperature" or (
687-
item == "thermostat" and device["dev_class"] != "climate"
687+
item == "thermostat" and (
688+
device["dev_class"] != "climate" if self.smile(ADAM) else device["dev_class"] != "thermostat"
689+
)
688690
):
689691
continue
690692

@@ -844,6 +846,7 @@ def _scan_thermostats(self) -> None:
844846
}
845847
}
846848
)
849+
self._count += 3
847850

848851
def _match_locations(self) -> dict[str, ThermoLoc]:
849852
"""Helper-function for _scan_thermostats().

plugwise/legacy/helper.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
GatewayData,
3434
SensorType,
3535
ThermoLoc,
36+
ZoneData,
3637
)
3738
from plugwise.util import (
3839
common_match_cases,
@@ -89,6 +90,7 @@ def __init__(self) -> None:
8990
self.smile_name: str
9091
self.smile_type: str
9192
self.smile_zigbee_mac_address: str | None
93+
self.zone_data: ZoneData = {}
9294
SmileCommon.__init__(self)
9395

9496
def _all_appliances(self) -> None:

plugwise/legacy/smile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ async def async_update(self) -> PlugwiseData:
121121
)
122122
self.gw_data: GatewayData = {}
123123
self.gw_devices: dict[str, DeviceData] = {}
124-
self.zones: dict[str, ZoneData] = {}
124+
self.zone_data: dict[str, ZoneData] = {}
125125
await self.full_update_device()
126126
self.get_all_devices()
127127
# Otherwise perform an incremental update

0 commit comments

Comments
 (0)