mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Use entity class attributes for Bloomsky (#53030)
Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
This commit is contained in:
parent
00741d4273
commit
35cab74be6
@ -44,32 +44,14 @@ class BloomSkySensor(BinarySensorEntity):
|
||||
self._bloomsky = bs
|
||||
self._device_id = device["DeviceID"]
|
||||
self._sensor_name = sensor_name
|
||||
self._name = f"{device['DeviceName']} {sensor_name}"
|
||||
self._state = None
|
||||
self._unique_id = f"{self._device_id}-{self._sensor_name}"
|
||||
|
||||
@property
|
||||
def unique_id(self):
|
||||
"""Return a unique ID."""
|
||||
return self._unique_id
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""Return the name of the BloomSky device and this sensor."""
|
||||
return self._name
|
||||
|
||||
@property
|
||||
def device_class(self):
|
||||
"""Return the class of this sensor, from DEVICE_CLASSES."""
|
||||
return SENSOR_TYPES.get(self._sensor_name)
|
||||
|
||||
@property
|
||||
def is_on(self):
|
||||
"""Return true if binary sensor is on."""
|
||||
return self._state
|
||||
self._attr_name = f"{device['DeviceName']} {sensor_name}"
|
||||
self._attr_unique_id = f"{self._device_id}-{sensor_name}"
|
||||
self._attr_device_class = SENSOR_TYPES.get(sensor_name)
|
||||
|
||||
def update(self):
|
||||
"""Request an update from the BloomSky API."""
|
||||
self._bloomsky.refresh_devices()
|
||||
|
||||
self._state = self._bloomsky.devices[self._device_id]["Data"][self._sensor_name]
|
||||
self._attr_is_on = self._bloomsky.devices[self._device_id]["Data"][
|
||||
self._sensor_name
|
||||
]
|
||||
|
@ -25,7 +25,7 @@ class BloomSkyCamera(Camera):
|
||||
def __init__(self, bs, device):
|
||||
"""Initialize access to the BloomSky camera images."""
|
||||
super().__init__()
|
||||
self._name = device["DeviceName"]
|
||||
self._attr_name = device["DeviceName"]
|
||||
self._id = device["DeviceID"]
|
||||
self._bloomsky = bs
|
||||
self._url = ""
|
||||
@ -35,6 +35,7 @@ class BloomSkyCamera(Camera):
|
||||
# to download the same image over and over.
|
||||
self._last_image = ""
|
||||
self._logger = logging.getLogger(__name__)
|
||||
self._attr_unique_id = self._id
|
||||
|
||||
def camera_image(self):
|
||||
"""Update the camera's image if it has changed."""
|
||||
@ -51,13 +52,3 @@ class BloomSkyCamera(Camera):
|
||||
return None
|
||||
|
||||
return self._last_image
|
||||
|
||||
@property
|
||||
def unique_id(self):
|
||||
"""Return a unique ID."""
|
||||
return self._id
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""Return the name of this BloomSky device."""
|
||||
return self._name
|
||||
|
@ -83,31 +83,11 @@ class BloomSkySensor(SensorEntity):
|
||||
self._bloomsky = bs
|
||||
self._device_id = device["DeviceID"]
|
||||
self._sensor_name = sensor_name
|
||||
self._name = f"{device['DeviceName']} {sensor_name}"
|
||||
self._state = None
|
||||
self._unique_id = f"{self._device_id}-{self._sensor_name}"
|
||||
|
||||
@property
|
||||
def unique_id(self):
|
||||
"""Return a unique ID."""
|
||||
return self._unique_id
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""Return the name of the BloomSky device and this sensor."""
|
||||
return self._name
|
||||
|
||||
@property
|
||||
def state(self):
|
||||
"""Return the current state, eg. value, of this sensor."""
|
||||
return self._state
|
||||
|
||||
@property
|
||||
def unit_of_measurement(self):
|
||||
"""Return the sensor units."""
|
||||
self._attr_name = f"{device['DeviceName']} {sensor_name}"
|
||||
self._attr_unique_id = f"{self._device_id}-{sensor_name}"
|
||||
self._attr_unit_of_measurement = SENSOR_UNITS_IMPERIAL.get(sensor_name, None)
|
||||
if self._bloomsky.is_metric:
|
||||
return SENSOR_UNITS_METRIC.get(self._sensor_name, None)
|
||||
return SENSOR_UNITS_IMPERIAL.get(self._sensor_name, None)
|
||||
self._attr_unit_of_measurement = SENSOR_UNITS_METRIC.get(sensor_name, None)
|
||||
|
||||
@property
|
||||
def device_class(self):
|
||||
@ -117,10 +97,7 @@ class BloomSkySensor(SensorEntity):
|
||||
def update(self):
|
||||
"""Request an update from the BloomSky API."""
|
||||
self._bloomsky.refresh_devices()
|
||||
|
||||
state = self._bloomsky.devices[self._device_id]["Data"][self._sensor_name]
|
||||
|
||||
if self._sensor_name in FORMAT_NUMBERS:
|
||||
self._state = f"{state:.2f}"
|
||||
else:
|
||||
self._state = state
|
||||
self._attr_state = (
|
||||
f"{state:.2f}" if self._sensor_name in FORMAT_NUMBERS else state
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user