From 152a80abed83ba4359419894d5cd00da01dd07d5 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 23 Jun 2020 17:05:32 -0500 Subject: [PATCH] Complete deprecation of hidden attribute (ATTR_HIDDEN) (#37041) --- homeassistant/components/alert/__init__.py | 5 ----- homeassistant/components/datadog/__init__.py | 3 --- homeassistant/components/zone/__init__.py | 2 -- homeassistant/helpers/entity.py | 10 ---------- tests/components/alert/test_init.py | 17 ----------------- tests/helpers/test_entity.py | 19 +------------------ tests/test_config.py | 7 +++---- 7 files changed, 4 insertions(+), 59 deletions(-) diff --git a/homeassistant/components/alert/__init__.py b/homeassistant/components/alert/__init__.py index f3b15a7af57..0ac4621cb0a 100644 --- a/homeassistant/components/alert/__init__.py +++ b/homeassistant/components/alert/__init__.py @@ -222,11 +222,6 @@ class Alert(ToggleEntity): return STATE_ON return STATE_IDLE - @property - def hidden(self): - """Hide the alert when it is not firing.""" - return not self._can_ack or not self._firing - async def watched_entity_change(self, entity, from_state, to_state): """Determine if the alert should start or stop.""" _LOGGER.debug("Watched entity (%s) has changed", entity) diff --git a/homeassistant/components/datadog/__init__.py b/homeassistant/components/datadog/__init__.py index 36b4037f70a..b5b7664f8b0 100644 --- a/homeassistant/components/datadog/__init__.py +++ b/homeassistant/components/datadog/__init__.py @@ -75,9 +75,6 @@ def setup(hass, config): if state is None or state.state == STATE_UNKNOWN: return - if state.attributes.get("hidden") is True: - return - states = dict(state.attributes) metric = f"{prefix}.{state.domain}" tags = [f"entity:{state.entity_id}"] diff --git a/homeassistant/components/zone/__init__.py b/homeassistant/components/zone/__init__.py index 74c145e19d9..aad8eb51dd2 100644 --- a/homeassistant/components/zone/__init__.py +++ b/homeassistant/components/zone/__init__.py @@ -7,7 +7,6 @@ import voluptuous as vol from homeassistant import config_entries from homeassistant.const import ( ATTR_EDITABLE, - ATTR_HIDDEN, ATTR_LATITUDE, ATTR_LONGITUDE, CONF_ICON, @@ -332,7 +331,6 @@ class Zone(entity.Entity): def _generate_attrs(self) -> None: """Generate new attrs based on config.""" self._attrs = { - ATTR_HIDDEN: True, ATTR_LATITUDE: self._config[CONF_LATITUDE], ATTR_LONGITUDE: self._config[CONF_LONGITUDE], ATTR_RADIUS: self._config[CONF_RADIUS], diff --git a/homeassistant/helpers/entity.py b/homeassistant/helpers/entity.py index 29bf1a180a9..6a14c6e1ef7 100644 --- a/homeassistant/helpers/entity.py +++ b/homeassistant/helpers/entity.py @@ -13,7 +13,6 @@ from homeassistant.const import ( ATTR_DEVICE_CLASS, ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME, - ATTR_HIDDEN, ATTR_ICON, ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT, @@ -198,11 +197,6 @@ class Entity(ABC): """Return the entity picture to use in the frontend, if any.""" return None - @property - def hidden(self) -> bool: - """Return True if the entity should be hidden from UIs.""" - return False - @property def available(self) -> bool: """Return True if entity is available.""" @@ -340,10 +334,6 @@ class Entity(ABC): if entity_picture is not None: attr[ATTR_ENTITY_PICTURE] = entity_picture - hidden = self.hidden - if hidden: - attr[ATTR_HIDDEN] = hidden - assumed_state = self.assumed_state if assumed_state: attr[ATTR_ASSUMED_STATE] = assumed_state diff --git a/tests/components/alert/test_init.py b/tests/components/alert/test_init.py index ea029dc8a24..60c2bd6b809 100644 --- a/tests/components/alert/test_init.py +++ b/tests/components/alert/test_init.py @@ -202,21 +202,6 @@ class TestAlert(unittest.TestCase): self.hass.block_till_done() assert STATE_ON == self.hass.states.get(ENTITY_ID).state - def test_hidden(self): - """Test entity hiding.""" - assert setup_component(self.hass, alert.DOMAIN, TEST_CONFIG) - hidden = self.hass.states.get(ENTITY_ID).attributes.get("hidden") - assert hidden - - self.hass.states.set("sensor.test", STATE_ON) - self.hass.block_till_done() - hidden = self.hass.states.get(ENTITY_ID).attributes.get("hidden") - assert not hidden - - turn_off(self.hass, ENTITY_ID) - hidden = self.hass.states.get(ENTITY_ID).attributes.get("hidden") - assert not hidden - def test_notification_no_done_message(self): """Test notifications.""" events = [] @@ -359,8 +344,6 @@ class TestAlert(unittest.TestCase): self.hass.add_job(entity.begin_alerting) self.hass.block_till_done() - assert entity.hidden is True - def test_done_message_state_tracker_reset_on_cancel(self): """Test that the done message is reset when canceled.""" entity = alert.Alert(self.hass, *TEST_NOACK) diff --git a/tests/helpers/test_entity.py b/tests/helpers/test_entity.py index 70b72b1752f..49f8fbdef7c 100644 --- a/tests/helpers/test_entity.py +++ b/tests/helpers/test_entity.py @@ -6,11 +6,9 @@ import threading import pytest -from homeassistant.config import DATA_CUSTOMIZE -from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_HIDDEN, STATE_UNAVAILABLE +from homeassistant.const import ATTR_DEVICE_CLASS, STATE_UNAVAILABLE from homeassistant.core import Context from homeassistant.helpers import entity, entity_registry -from homeassistant.helpers.entity_values import EntityValues from tests.async_mock import MagicMock, PropertyMock, patch from tests.common import get_test_home_assistant, mock_registry @@ -89,21 +87,6 @@ class TestHelpersEntity: """Stop everything that was started.""" self.hass.stop() - def test_default_hidden_not_in_attributes(self): - """Test that the default hidden property is set to False.""" - assert ATTR_HIDDEN not in self.hass.states.get(self.entity.entity_id).attributes - - def test_overwriting_hidden_property_to_true(self): - """Test we can overwrite hidden property to True.""" - self.hass.data[DATA_CUSTOMIZE] = EntityValues( - {self.entity.entity_id: {ATTR_HIDDEN: True}} - ) - self.entity.schedule_update_ha_state() - self.hass.block_till_done() - - state = self.hass.states.get(self.entity.entity_id) - assert state.attributes.get(ATTR_HIDDEN) - def test_generate_entity_id_given_hass(self): """Test generating an entity id given hass object.""" fmt = "test.{}" diff --git a/tests/test_config.py b/tests/test_config.py index e374ab3ae69..c27ebb2b6e8 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -14,7 +14,6 @@ import homeassistant.config as config_util from homeassistant.const import ( ATTR_ASSUMED_STATE, ATTR_FRIENDLY_NAME, - ATTR_HIDDEN, CONF_AUTH_MFA_MODULES, CONF_AUTH_PROVIDERS, CONF_CUSTOMIZE, @@ -203,7 +202,7 @@ def test_core_config_schema(): def test_customize_dict_schema(): """Test basic customize config validation.""" - values = ({ATTR_FRIENDLY_NAME: None}, {ATTR_HIDDEN: "2"}, {ATTR_ASSUMED_STATE: "2"}) + values = ({ATTR_FRIENDLY_NAME: None}, {ATTR_ASSUMED_STATE: "2"}) for val in values: print(val) @@ -211,8 +210,8 @@ def test_customize_dict_schema(): config_util.CUSTOMIZE_DICT_SCHEMA(val) assert config_util.CUSTOMIZE_DICT_SCHEMA( - {ATTR_FRIENDLY_NAME: 2, ATTR_HIDDEN: "1", ATTR_ASSUMED_STATE: "0"} - ) == {ATTR_FRIENDLY_NAME: "2", ATTR_HIDDEN: True, ATTR_ASSUMED_STATE: False} + {ATTR_FRIENDLY_NAME: 2, ATTR_ASSUMED_STATE: "0"} + ) == {ATTR_FRIENDLY_NAME: "2", ATTR_ASSUMED_STATE: False} def test_customize_glob_is_ordered():