Skip to content

Commit d678274

Browse files
committed
init: refactor sensors to avoid accessing client directly
1 parent 6eb597d commit d678274

2 files changed

Lines changed: 21 additions & 14 deletions

File tree

binary_sensor.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,15 @@ def __init__(self, device_data, config):
9090
self._name = config.friendly_name
9191
self._attr = config.field
9292
self._state = None
93-
if self.device_data.device_client.get_latest_measurement() is not None:
93+
94+
measurement = self.device_data.measurement()
95+
if measurement is not None:
9496
self._state = getattr(
95-
self.device_data.device_client.get_latest_measurement(),
97+
measurement,
9698
self._attr,
9799
None,
98100
)
101+
99102
self._icon = config.icon
100103
self._unit_of_measurement = config.unit_of_measurement
101104
self._attr_device_class = config.device_class
@@ -114,14 +117,14 @@ def name(self):
114117
def device_info(self):
115118
"""Return information to link this entity with the correct device."""
116119
return {
117-
"identifiers": {(DOMAIN, self.device_data.device_client.passcode)},
118-
"name": self.device_data.device_client.get_unique_name(),
120+
"identifiers": {(DOMAIN, self.device_data.passcode())},
121+
"name": self.device_data.unique_name(),
119122
}
120123

121124
@property
122125
def unique_id(self):
123126
"""Return the sensor unique id."""
124-
return self.device_data.device_client.passcode + self._attr
127+
return self.device_data.passcode() + self._attr
125128

126129
@property
127130
def is_on(self):
@@ -154,9 +157,10 @@ async def async_added_to_hass(self):
154157
@callback
155158
def async_update_callback(self):
156159
"""Update state."""
157-
if self.device_data.device_client.get_latest_measurement() is not None:
160+
measurmenet = self.device_data.measurement()
161+
if measurmenet is not None:
158162
self._state = getattr(
159-
self.device_data.device_client.get_latest_measurement(),
163+
measurmenet,
160164
self._attr,
161165
None,
162166
)

sensor.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,15 @@ def __init__(self, device_data, config):
8080
self._name = config.friendly_name
8181
self._attr = config.field
8282
self._state = None
83-
if self.device_data.device_client.get_latest_measurement() is not None:
83+
84+
measurement = self.device_data.measurement()
85+
if measurement is not None:
8486
self._state = getattr(
85-
self.device_data.device_client.get_latest_measurement(),
87+
measurement,
8688
self._attr,
8789
None,
8890
)
91+
8992
self._icon = config.icon
9093
self._unit_of_measurement = config.unit_of_measurement
9194
self._attr_device_class = config.device_class
@@ -104,14 +107,14 @@ def name(self):
104107
def device_info(self):
105108
"""Return information to link this entity with the correct device."""
106109
return {
107-
"identifiers": {(DOMAIN, self.device_data.device_client.passcode)},
108-
"name": self.device_data.device_client.get_unique_name(),
110+
"identifiers": {(DOMAIN, self.device_data.passcode())},
111+
"name": self.device_data.unique_name(),
109112
}
110113

111114
@property
112115
def unique_id(self):
113116
"""Return the sensor unique id."""
114-
return self.device_data.device_client.passcode + self._attr
117+
return self.device_data.passcode() + self._attr
115118

116119
@property
117120
def native_value(self):
@@ -144,9 +147,9 @@ async def async_added_to_hass(self):
144147
@callback
145148
def async_update_callback(self):
146149
"""Update state."""
147-
if self.device_data.device_client.get_latest_measurement() is not None:
150+
if self.device_data.measurement() is not None:
148151
self._state = getattr(
149-
self.device_data.device_client.get_latest_measurement(),
152+
self.device_data.measurement(),
150153
self._attr,
151154
None,
152155
)

0 commit comments

Comments
 (0)