Use shorthand attributes in numato (#126023)

This commit is contained in:
epenet 2024-09-16 11:08:42 +02:00 committed by GitHub
parent 29fb83e98b
commit 2e76b1f834
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 40 deletions

View file

@ -97,7 +97,7 @@ class NumatoGpioBinarySensor(BinarySensorEntity):
def __init__(self, name, device_id, port, invert_logic, api):
"""Initialize the Numato GPIO based binary sensor object."""
self._name = name or DEVICE_DEFAULT_NAME
self._attr_name = name or DEVICE_DEFAULT_NAME
self._device_id = device_id
self._port = port
self._invert_logic = invert_logic
@ -120,11 +120,6 @@ class NumatoGpioBinarySensor(BinarySensorEntity):
self._state = level
self.async_write_ha_state()
@property
def name(self):
"""Return the name of the sensor."""
return self._name
@property
def is_on(self):
"""Return the state of the entity."""

View file

@ -74,38 +74,22 @@ class NumatoGpioAdc(SensorEntity):
def __init__(self, name, device_id, port, src_range, dst_range, dst_unit, api):
"""Initialize the sensor."""
self._name = name
self._attr_name = name
self._device_id = device_id
self._port = port
self._src_range = src_range
self._dst_range = dst_range
self._state = None
self._unit_of_measurement = dst_unit
self._attr_native_unit_of_measurement = dst_unit
self._api = api
@property
def name(self):
"""Return the name of the sensor."""
return self._name
@property
def native_value(self):
"""Return the state of the sensor."""
return self._state
@property
def native_unit_of_measurement(self):
"""Return the unit the value is expressed in."""
return self._unit_of_measurement
def update(self) -> None:
"""Get the latest data and updates the state."""
try:
adc_val = self._api.read_adc_input(self._device_id, self._port)
adc_val = self._clamp_to_source_range(adc_val)
self._state = self._linear_scale_to_dest_range(adc_val)
self._attr_native_value = self._linear_scale_to_dest_range(adc_val)
except NumatoGpioError as err:
self._state = None
self._attr_native_value = None
_LOGGER.error(
"Failed to update Numato device %s ADC-port %s: %s",
self._device_id,

View file

@ -73,30 +73,20 @@ class NumatoGpioSwitch(SwitchEntity):
def __init__(self, name, device_id, port, invert_logic, api):
"""Initialize the port."""
self._name = name or DEVICE_DEFAULT_NAME
self._attr_name = name or DEVICE_DEFAULT_NAME
self._device_id = device_id
self._port = port
self._invert_logic = invert_logic
self._state = False
self._attr_is_on = False
self._api = api
@property
def name(self):
"""Return the name of the switch."""
return self._name
@property
def is_on(self):
"""Return true if port is turned on."""
return self._state
def turn_on(self, **kwargs: Any) -> None:
"""Turn the port on."""
try:
self._api.write_output(
self._device_id, self._port, 0 if self._invert_logic else 1
)
self._state = True
self._attr_is_on = True
self.schedule_update_ha_state()
except NumatoGpioError as err:
_LOGGER.error(
@ -112,7 +102,7 @@ class NumatoGpioSwitch(SwitchEntity):
self._api.write_output(
self._device_id, self._port, 1 if self._invert_logic else 0
)
self._state = False
self._attr_is_on = False
self.schedule_update_ha_state()
except NumatoGpioError as err:
_LOGGER.error(