Skip to content

Commit 36cc1ca

Browse files
committed
Change anna_p1 indication, collect smartmeter data when available
1 parent 3d64e5d commit 36cc1ca

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

plugwise/__init__.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def __init__(
7575
self._stretch_v2 = False
7676
self._target_smile: str = NONE
7777
self.smile: Munch = Munch()
78+
self.smile.anna_p1 = False
7879
self.smile.hostname = NONE
7980
self.smile.hw_version = None
8081
self.smile.legacy = False
@@ -191,20 +192,20 @@ async def _smile_detect(
191192
if (gateway := result.find("./gateway")) is not None:
192193
if (vendor_model := gateway.find("vendor_model")) is not None:
193194
model = vendor_model.text
195+
elec_measurement = gateway.find(
196+
"gateway_environment/electricity_consumption_tariff_structure"
197+
)
194198
if (
195-
elec_measurement := gateway.find(
196-
"gateway_environment/electricity_consumption_tariff_structure"
197-
)
198-
) and elec_measurement.text:
199-
parts = model.split("_")
200-
if len(parts) == 2: # looking for "smile_thermo"
201-
model = parts[0] + parts[1] + "_power"
199+
elec_measurement is not None
200+
and elec_measurement.text
201+
and model == "smile_thermo"
202+
):
203+
self.smile.anna_p1 = True
202204

203205
self.smile.version = parse(gateway.find("firmware_version").text)
204206
self.smile.hw_version = gateway.find("hardware_version").text
205207
self.smile.hostname = gateway.find("hostname").text
206208
self.smile.mac_address = gateway.find("mac_address").text
207-
208209
else:
209210
model = await self._smile_detect_legacy(result, dsmrmain, model)
210211

@@ -243,6 +244,8 @@ async def _smile_detect(
243244
self.smile.model_id = model
244245
self.smile.name = SMILES[self._target_smile].smile_name
245246
self.smile.type = SMILES[self._target_smile].smile_type
247+
if self.smile.name == "Smile Anna" and self.smile.anna_p1:
248+
self.smile.name == "Smile Anna P1"
246249

247250
if self.smile.type == "stretch":
248251
self._stretch_v2 = int(version_major) == 2

plugwise/constants.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@
221221
"smile_thermo_v1": SMILE(THERMOSTAT, ANNA),
222222
"smile_thermo_v3": SMILE(THERMOSTAT, ANNA),
223223
"smile_thermo_v4": SMILE(THERMOSTAT, ANNA),
224-
"smile_thermo_power_v4": SMILE("thermostat_power", ANNA_P1),
225224
"stretch_v2": SMILE(STRETCH, "Stretch"),
226225
"stretch_v3": SMILE(STRETCH, "Stretch"),
227226
}

plugwise/helper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ def _all_appliances(self) -> None:
150150

151151
self._create_gw_entities(appl)
152152

153-
if self.smile.type == "power":
153+
if self.smile.type == "power" or self.smile.anna_p1:
154154
self._get_p1_smartmeter_info()
155155

156156
# Sort the gw_entities

0 commit comments

Comments
 (0)