diff --git a/homeassistant/components/sms/sensor.py b/homeassistant/components/sms/sensor.py index fc2310426e3..eb6c6ab22e1 100644 --- a/homeassistant/components/sms/sensor.py +++ b/homeassistant/components/sms/sensor.py @@ -3,7 +3,7 @@ import logging import gammu # pylint: disable=import-error -from homeassistant.components.sensor import SensorEntity +from homeassistant.components.sensor import SensorEntity, SensorEntityDescription from homeassistant.const import DEVICE_CLASS_SIGNAL_STRENGTH, SIGNAL_STRENGTH_DECIBELS from .const import DOMAIN, SMS_GATEWAY @@ -14,48 +14,40 @@ _LOGGER = logging.getLogger(__name__) async def async_setup_entry(hass, config_entry, async_add_entities): """Set up the GSM Signal Sensor sensor.""" gateway = hass.data[DOMAIN][SMS_GATEWAY] - entities = [] imei = await gateway.get_imei_async() - name = f"gsm_signal_imei_{imei}" - entities.append( - GSMSignalSensor( - hass, - gateway, - name, - ) + async_add_entities( + [ + GSMSignalSensor( + hass, + gateway, + imei, + SensorEntityDescription( + key="signal", + name=f"gsm_signal_imei_{imei}", + device_class=DEVICE_CLASS_SIGNAL_STRENGTH, + unit_of_measurement=SIGNAL_STRENGTH_DECIBELS, + entity_registry_enabled_default=False, + ), + ) + ], + True, ) - async_add_entities(entities, True) class GSMSignalSensor(SensorEntity): """Implementation of a GSM Signal sensor.""" - def __init__( - self, - hass, - gateway, - name, - ): + def __init__(self, hass, gateway, imei, description): """Initialize the GSM Signal sensor.""" + self._attr_device_info = { + "identifiers": {(DOMAIN, str(imei))}, + "name": "SMS Gateway", + } + self._attr_unique_id = str(imei) self._hass = hass self._gateway = gateway - self._name = name self._state = None - - @property - def name(self): - """Return the name of the sensor.""" - return self._name - - @property - def unit_of_measurement(self): - """Return the unit the value is expressed in.""" - return SIGNAL_STRENGTH_DECIBELS - - @property - def device_class(self): - """Return the class of this sensor.""" - return DEVICE_CLASS_SIGNAL_STRENGTH + self.entity_description = description @property def available(self): @@ -78,8 +70,3 @@ class GSMSignalSensor(SensorEntity): def extra_state_attributes(self): """Return the sensor attributes.""" return self._state - - @property - def entity_registry_enabled_default(self) -> bool: - """Return if the entity should be enabled when first added to the entity registry.""" - return False