Remove attribution from extra state attributes (#76172)

This commit is contained in:
Franck Nijhof 2022-08-04 08:13:20 +02:00 committed by GitHub
parent e2e277490b
commit 22eba6ce1b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 22 additions and 26 deletions

View file

@ -3,7 +3,6 @@ from __future__ import annotations
from homeassistant.components.sensor import SensorEntity, SensorEntityDescription from homeassistant.components.sensor import SensorEntity, SensorEntityDescription
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ATTR_ATTRIBUTION
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.helpers.update_coordinator import CoordinatorEntity
@ -63,7 +62,7 @@ async def async_setup_entry(
class AbstractAemetSensor(CoordinatorEntity[WeatherUpdateCoordinator], SensorEntity): class AbstractAemetSensor(CoordinatorEntity[WeatherUpdateCoordinator], SensorEntity):
"""Abstract class for an AEMET OpenData sensor.""" """Abstract class for an AEMET OpenData sensor."""
_attr_extra_state_attributes = {ATTR_ATTRIBUTION: ATTRIBUTION} _attr_attribution = ATTRIBUTION
def __init__( def __init__(
self, self,

View file

@ -7,7 +7,6 @@ from agent import AgentError
from homeassistant.components.camera import CameraEntityFeature from homeassistant.components.camera import CameraEntityFeature
from homeassistant.components.mjpeg import MjpegCamera, filter_urllib3_logging from homeassistant.components.mjpeg import MjpegCamera, filter_urllib3_logging
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ATTR_ATTRIBUTION
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.entity_platform import ( from homeassistant.helpers.entity_platform import (
@ -70,6 +69,7 @@ async def async_setup_entry(
class AgentCamera(MjpegCamera): class AgentCamera(MjpegCamera):
"""Representation of an Agent Device Stream.""" """Representation of an Agent Device Stream."""
_attr_attribution = ATTRIBUTION
_attr_supported_features = CameraEntityFeature.ON_OFF _attr_supported_features = CameraEntityFeature.ON_OFF
def __init__(self, device): def __init__(self, device):
@ -108,7 +108,6 @@ class AgentCamera(MjpegCamera):
self._attr_icon = "mdi:camcorder" self._attr_icon = "mdi:camcorder"
self._attr_available = self.device.client.is_available self._attr_available = self.device.client.is_available
self._attr_extra_state_attributes = { self._attr_extra_state_attributes = {
ATTR_ATTRIBUTION: ATTRIBUTION,
"editable": False, "editable": False,
"enabled": self.is_on, "enabled": self.is_on,
"connected": self.connected, "connected": self.connected,

View file

@ -13,7 +13,6 @@ from homeassistant.components.sensor import (
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
ATTR_ATTRIBUTION,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONF_NAME, CONF_NAME,
PERCENTAGE, PERCENTAGE,
@ -136,6 +135,7 @@ async def async_setup_entry(
class AirlySensor(CoordinatorEntity[AirlyDataUpdateCoordinator], SensorEntity): class AirlySensor(CoordinatorEntity[AirlyDataUpdateCoordinator], SensorEntity):
"""Define an Airly sensor.""" """Define an Airly sensor."""
_attr_attribution = ATTRIBUTION
_attr_has_entity_name = True _attr_has_entity_name = True
entity_description: AirlySensorEntityDescription entity_description: AirlySensorEntityDescription
@ -159,7 +159,7 @@ class AirlySensor(CoordinatorEntity[AirlyDataUpdateCoordinator], SensorEntity):
self._attr_unique_id = ( self._attr_unique_id = (
f"{coordinator.latitude}-{coordinator.longitude}-{description.key}".lower() f"{coordinator.latitude}-{coordinator.longitude}-{description.key}".lower()
) )
self._attrs: dict[str, Any] = {ATTR_ATTRIBUTION: ATTRIBUTION} self._attrs: dict[str, Any] = {}
self.entity_description = description self.entity_description = description
@property @property

View file

@ -8,7 +8,6 @@ from homeassistant.components.sensor import (
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
ATTR_ATTRIBUTION,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONCENTRATION_PARTS_PER_MILLION, CONCENTRATION_PARTS_PER_MILLION,
) )
@ -73,6 +72,8 @@ async def async_setup_entry(
class AirNowSensor(CoordinatorEntity[AirNowDataUpdateCoordinator], SensorEntity): class AirNowSensor(CoordinatorEntity[AirNowDataUpdateCoordinator], SensorEntity):
"""Define an AirNow sensor.""" """Define an AirNow sensor."""
_attr_attribution = ATTRIBUTION
def __init__( def __init__(
self, self,
coordinator: AirNowDataUpdateCoordinator, coordinator: AirNowDataUpdateCoordinator,
@ -82,7 +83,7 @@ class AirNowSensor(CoordinatorEntity[AirNowDataUpdateCoordinator], SensorEntity)
super().__init__(coordinator) super().__init__(coordinator)
self.entity_description = description self.entity_description = description
self._state = None self._state = None
self._attrs = {ATTR_ATTRIBUTION: ATTRIBUTION} self._attrs: dict[str, str] = {}
self._attr_name = f"AirNow {description.name}" self._attr_name = f"AirNow {description.name}"
self._attr_unique_id = ( self._attr_unique_id = (
f"{coordinator.latitude}-{coordinator.longitude}-{description.key.lower()}" f"{coordinator.latitude}-{coordinator.longitude}-{description.key.lower()}"

View file

@ -10,7 +10,7 @@ import voluptuous as vol
from homeassistant.components import persistent_notification from homeassistant.components import persistent_notification
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ATTR_ATTRIBUTION, CONF_API_KEY, CONF_CURRENCY, CONF_NAME from homeassistant.const import CONF_API_KEY, CONF_CURRENCY, CONF_NAME
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -118,6 +118,8 @@ def setup_platform(
class AlphaVantageSensor(SensorEntity): class AlphaVantageSensor(SensorEntity):
"""Representation of a Alpha Vantage sensor.""" """Representation of a Alpha Vantage sensor."""
_attr_attribution = ATTRIBUTION
def __init__(self, timeseries, symbol): def __init__(self, timeseries, symbol):
"""Initialize the sensor.""" """Initialize the sensor."""
self._symbol = symbol[CONF_SYMBOL] self._symbol = symbol[CONF_SYMBOL]
@ -137,7 +139,6 @@ class AlphaVantageSensor(SensorEntity):
self._attr_native_value = None self._attr_native_value = None
self._attr_extra_state_attributes = ( self._attr_extra_state_attributes = (
{ {
ATTR_ATTRIBUTION: ATTRIBUTION,
ATTR_CLOSE: values["4. close"], ATTR_CLOSE: values["4. close"],
ATTR_HIGH: values["2. high"], ATTR_HIGH: values["2. high"],
ATTR_LOW: values["3. low"], ATTR_LOW: values["3. low"],
@ -151,6 +152,8 @@ class AlphaVantageSensor(SensorEntity):
class AlphaVantageForeignExchange(SensorEntity): class AlphaVantageForeignExchange(SensorEntity):
"""Sensor for foreign exchange rates.""" """Sensor for foreign exchange rates."""
_attr_attribution = ATTRIBUTION
def __init__(self, foreign_exchange, config): def __init__(self, foreign_exchange, config):
"""Initialize the sensor.""" """Initialize the sensor."""
self._foreign_exchange = foreign_exchange self._foreign_exchange = foreign_exchange
@ -180,7 +183,6 @@ class AlphaVantageForeignExchange(SensorEntity):
self._attr_native_value = None self._attr_native_value = None
self._attr_extra_state_attributes = ( self._attr_extra_state_attributes = (
{ {
ATTR_ATTRIBUTION: ATTRIBUTION,
CONF_FROM: self._from_currency, CONF_FROM: self._from_currency,
CONF_TO: self._to_currency, CONF_TO: self._to_currency,
} }

View file

@ -121,7 +121,7 @@ class AuroraDataUpdateCoordinator(DataUpdateCoordinator):
class AuroraEntity(CoordinatorEntity[AuroraDataUpdateCoordinator]): class AuroraEntity(CoordinatorEntity[AuroraDataUpdateCoordinator]):
"""Implementation of the base Aurora Entity.""" """Implementation of the base Aurora Entity."""
_attr_extra_state_attributes = {"attribution": ATTRIBUTION} _attr_attribution = ATTRIBUTION
def __init__( def __init__(
self, self,

View file

@ -11,7 +11,7 @@ from homeassistant.components.sensor import (
SensorStateClass, SensorStateClass,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ATTR_ATTRIBUTION, PERCENTAGE from homeassistant.const import PERCENTAGE
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntryType from homeassistant.helpers.device_registry import DeviceEntryType
from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity import DeviceInfo
@ -59,6 +59,7 @@ class CO2Sensor(CoordinatorEntity[CO2SignalCoordinator], SensorEntity):
"""Implementation of the CO2Signal sensor.""" """Implementation of the CO2Signal sensor."""
entity_description: CO2SensorEntityDescription entity_description: CO2SensorEntityDescription
_attr_attribution = ATTRIBUTION
_attr_has_entity_name = True _attr_has_entity_name = True
_attr_icon = "mdi:molecule-co2" _attr_icon = "mdi:molecule-co2"
_attr_state_class = SensorStateClass.MEASUREMENT _attr_state_class = SensorStateClass.MEASUREMENT
@ -72,7 +73,6 @@ class CO2Sensor(CoordinatorEntity[CO2SignalCoordinator], SensorEntity):
self._attr_extra_state_attributes = { self._attr_extra_state_attributes = {
"country_code": coordinator.data["countryCode"], "country_code": coordinator.data["countryCode"],
ATTR_ATTRIBUTION: ATTRIBUTION,
} }
self._attr_device_info = DeviceInfo( self._attr_device_info = DeviceInfo(
configuration_url="https://www.electricitymap.org/", configuration_url="https://www.electricitymap.org/",

View file

@ -9,13 +9,7 @@ import requests
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ( from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME
ATTR_ATTRIBUTION,
CONF_API_KEY,
CONF_LATITUDE,
CONF_LONGITUDE,
CONF_NAME,
)
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -67,6 +61,8 @@ def setup_platform(
class WorldTidesInfoSensor(SensorEntity): class WorldTidesInfoSensor(SensorEntity):
"""Representation of a WorldTidesInfo sensor.""" """Representation of a WorldTidesInfo sensor."""
_attr_attribution = ATTRIBUTION
def __init__(self, name, lat, lon, key): def __init__(self, name, lat, lon, key):
"""Initialize the sensor.""" """Initialize the sensor."""
self._name = name self._name = name
@ -83,7 +79,7 @@ class WorldTidesInfoSensor(SensorEntity):
@property @property
def extra_state_attributes(self): def extra_state_attributes(self):
"""Return the state attributes of this device.""" """Return the state attributes of this device."""
attr = {ATTR_ATTRIBUTION: ATTRIBUTION} attr = {}
if "High" in str(self.data["extremes"][0]["type"]): if "High" in str(self.data["extremes"][0]["type"]):
attr["high_tide_time_utc"] = self.data["extremes"][0]["date"] attr["high_tide_time_utc"] = self.data["extremes"][0]["date"]

View file

@ -11,7 +11,6 @@ import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ( from homeassistant.const import (
ATTR_ATTRIBUTION,
ATTR_NAME, ATTR_NAME,
CONF_API_KEY, CONF_API_KEY,
CONF_ID, CONF_ID,
@ -106,6 +105,7 @@ class WashingtonStateTransportSensor(SensorEntity):
class WashingtonStateTravelTimeSensor(WashingtonStateTransportSensor): class WashingtonStateTravelTimeSensor(WashingtonStateTransportSensor):
"""Travel time sensor from WSDOT.""" """Travel time sensor from WSDOT."""
_attr_attribution = ATTRIBUTION
_attr_native_unit_of_measurement = TIME_MINUTES _attr_native_unit_of_measurement = TIME_MINUTES
def __init__(self, name, access_code, travel_time_id): def __init__(self, name, access_code, travel_time_id):
@ -131,7 +131,7 @@ class WashingtonStateTravelTimeSensor(WashingtonStateTransportSensor):
def extra_state_attributes(self): def extra_state_attributes(self):
"""Return other details about the sensor state.""" """Return other details about the sensor state."""
if self._data is not None: if self._data is not None:
attrs = {ATTR_ATTRIBUTION: ATTRIBUTION} attrs = {}
for key in ( for key in (
ATTR_AVG_TIME, ATTR_AVG_TIME,
ATTR_NAME, ATTR_NAME,

View file

@ -20,7 +20,6 @@ from homeassistant.components.sensor import (
) )
from homeassistant.const import ( from homeassistant.const import (
AREA_SQUARE_METERS, AREA_SQUARE_METERS,
ATTR_ATTRIBUTION,
CONF_LATITUDE, CONF_LATITUDE,
CONF_LONGITUDE, CONF_LONGITUDE,
CONF_MONITORED_CONDITIONS, CONF_MONITORED_CONDITIONS,
@ -243,6 +242,7 @@ def setup_platform(
class ZamgSensor(SensorEntity): class ZamgSensor(SensorEntity):
"""Implementation of a ZAMG sensor.""" """Implementation of a ZAMG sensor."""
_attr_attribution = ATTRIBUTION
entity_description: ZamgSensorEntityDescription entity_description: ZamgSensorEntityDescription
def __init__(self, probe, name, description: ZamgSensorEntityDescription): def __init__(self, probe, name, description: ZamgSensorEntityDescription):
@ -260,7 +260,6 @@ class ZamgSensor(SensorEntity):
def extra_state_attributes(self): def extra_state_attributes(self):
"""Return the state attributes.""" """Return the state attributes."""
return { return {
ATTR_ATTRIBUTION: ATTRIBUTION,
ATTR_STATION: self.probe.get_data("station_name"), ATTR_STATION: self.probe.get_data("station_name"),
ATTR_UPDATED: self.probe.last_update.isoformat(), ATTR_UPDATED: self.probe.last_update.isoformat(),
} }