diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 09f9b860682195..2ad9491c4d634c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.15.14 + rev: v0.15.15 hooks: - id: ruff-check args: diff --git a/homeassistant/components/indevolt/manifest.json b/homeassistant/components/indevolt/manifest.json index c0e12f4d4c65dd..f53cef6d414a25 100644 --- a/homeassistant/components/indevolt/manifest.json +++ b/homeassistant/components/indevolt/manifest.json @@ -8,6 +8,6 @@ "integration_type": "device", "iot_class": "local_polling", "quality_scale": "platinum", - "requirements": ["indevolt-api==1.8.3"], + "requirements": ["indevolt-api==1.8.5"], "zeroconf": [{ "name": "igen_fw*", "type": "_http._tcp.local." }] } diff --git a/homeassistant/components/powerwall/manifest.json b/homeassistant/components/powerwall/manifest.json index 928e9797ec3822..097fb7b411fa79 100644 --- a/homeassistant/components/powerwall/manifest.json +++ b/homeassistant/components/powerwall/manifest.json @@ -15,5 +15,5 @@ "integration_type": "device", "iot_class": "local_polling", "loggers": ["tesla_powerwall"], - "requirements": ["tesla-powerwall==0.5.2"] + "requirements": ["tesla-powerwall==0.5.3"] } diff --git a/homeassistant/components/zone/__init__.py b/homeassistant/components/zone/__init__.py index 92cbfe54b8bb54..f827b4aaf8eb35 100644 --- a/homeassistant/components/zone/__init__.py +++ b/homeassistant/components/zone/__init__.py @@ -22,10 +22,7 @@ CONF_RADIUS, EVENT_CORE_CONFIG_UPDATE, SERVICE_RELOAD, - STATE_HOME, - STATE_NOT_HOME, STATE_UNAVAILABLE, - STATE_UNKNOWN, ) from homeassistant.core import ( Event, @@ -432,7 +429,6 @@ def _set_attrs_from_config(self) -> None: config = self._config name: str = config[CONF_NAME] self._attr_name = name - self._case_folded_name = name.casefold() self._attr_unique_id = config.get(CONF_ID) self._attr_icon = config.get(CONF_ICON) @@ -514,16 +510,13 @@ def _generate_attrs(self) -> None: @callback def _state_is_in_zone(self, state: State | None) -> bool: """Return if given state is in zone.""" + + from homeassistant.components.device_tracker import ( # noqa: PLC0415 + ATTR_IN_ZONES, + ) + return ( state is not None - and state.state - not in ( - STATE_NOT_HOME, - STATE_UNKNOWN, - STATE_UNAVAILABLE, - ) - and ( - state.state.casefold() == self._case_folded_name - or (state.state == STATE_HOME and self.entity_id == ENTITY_ID_HOME) - ) + and ATTR_IN_ZONES in state.attributes + and self.entity_id in state.attributes[ATTR_IN_ZONES] ) diff --git a/pyproject.toml b/pyproject.toml index d42943fa311258..cb18f8e270cdbb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -648,7 +648,7 @@ exclude_lines = [ ] [tool.ruff] -required-version = ">=0.15.14" +required-version = ">=0.15.15" [tool.ruff.lint] select = [ diff --git a/requirements_all.txt b/requirements_all.txt index 18b9f40543f69f..18bebd84990a1e 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1353,7 +1353,7 @@ imgw_pib==2.2.2 incomfort-client==0.7.0 # homeassistant.components.indevolt -indevolt-api==1.8.3 +indevolt-api==1.8.5 # homeassistant.components.influxdb influxdb-client==1.50.0 @@ -3153,7 +3153,7 @@ temperusb==1.6.1 tesla-fleet-api==1.4.7 # homeassistant.components.powerwall -tesla-powerwall==0.5.2 +tesla-powerwall==0.5.3 # homeassistant.components.tesla_wall_connector tesla-wall-connector==1.1.0 diff --git a/requirements_test_pre_commit.txt b/requirements_test_pre_commit.txt index b225f21b4dcc2f..10cd0b7063ef08 100644 --- a/requirements_test_pre_commit.txt +++ b/requirements_test_pre_commit.txt @@ -1,6 +1,6 @@ # Automatically generated from .pre-commit-config.yaml by gen_requirements_all.py, do not edit codespell==2.4.2 -ruff==0.15.14 +ruff==0.15.15 yamllint==1.38.0 zizmor==1.24.1 diff --git a/tests/components/zone/test_init.py b/tests/components/zone/test_init.py index c3f34a891cb324..9e63bae70d0fe3 100644 --- a/tests/components/zone/test_init.py +++ b/tests/components/zone/test_init.py @@ -883,8 +883,11 @@ async def test_state(hass: HomeAssistant) -> None: state = hass.states.get("zone.test_zone") assert state - assert state.state == "1" - assert state.attributes[ATTR_PERSONS] == ["person.person2"] + assert state.state == "2" + assert sorted(state.attributes[ATTR_PERSONS]) == [ + "person.person1", + "person.person2", + ] state = hass.states.get("zone.home") assert state diff --git a/tests/helpers/template/extensions/test_state.py b/tests/helpers/template/extensions/test_state.py index 3648baed063568..7ca099dff527e5 100644 --- a/tests/helpers/template/extensions/test_state.py +++ b/tests/helpers/template/extensions/test_state.py @@ -880,6 +880,7 @@ async def test_expand(hass: HomeAssistant) -> None: hass.states.async_set( "person.person1", "test", + {"in_zones": ["zone.test"]}, ) await hass.async_block_till_done() @@ -900,6 +901,7 @@ async def test_expand(hass: HomeAssistant) -> None: hass.states.async_set( "person.person2", "test", + {"in_zones": ["zone.test"]}, ) await hass.async_block_till_done()