From 1119c68706d33834bd76e87674014b0f7d31280a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Sep 2026 20:06:47 +0000 Subject: [PATCH 1/2] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.9.10 → v0.16.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.10...v0.16.6) - [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0) - [github.com/pre-commit/mirrors-mypy: v1.15.0 → v2.3.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.15.0...v2.3.1) --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6e68964..17b349c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,14 +1,14 @@ minimum_pre_commit_version: "3.0.4" repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.10 + rev: v0.16.6 hooks: - id: ruff args: - --fix - id: ruff-format - repo: https://github.com/pre-commit/pre-commit-hooks - rev: "v5.0.0" + rev: "v6.0.0" hooks: - id: end-of-file-fixer - id: trailing-whitespace @@ -16,7 +16,7 @@ repos: - id: check-toml - id: check-yaml - repo: "https://github.com/pre-commit/mirrors-mypy" - rev: "v1.15.0" + rev: "v2.3.1" hooks: - id: "mypy" name: "Check type hints (mypy)" From 84a655f345bd035840112a1899a5eac3d1faffa7 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Sep 2026 20:07:03 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- custom_components/eventsensor/config_flow.py | 6 ++--- custom_components/eventsensor/sensor.py | 25 ++++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/custom_components/eventsensor/config_flow.py b/custom_components/eventsensor/config_flow.py index 753947c..3ac121f 100644 --- a/custom_components/eventsensor/config_flow.py +++ b/custom_components/eventsensor/config_flow.py @@ -11,9 +11,6 @@ from .common import ( CONF_STATE_MAP, DOMAIN, - make_string_ui_from_dict, - make_unique_id, - parse_dict_from_ui_string, PRESET_AQARA_CUBE, PRESET_AQARA_CUBE_MAPPING, PRESET_AQARA_SMART_BUTTON, @@ -30,6 +27,9 @@ PRESET_HUE_DIMMER_V2, PRESET_HUE_TAP, PRESET_HUE_TAP_MAPPING, + make_string_ui_from_dict, + make_unique_id, + parse_dict_from_ui_string, ) _LOGGER = logging.getLogger("eventsensor") diff --git a/custom_components/eventsensor/sensor.py b/custom_components/eventsensor/sensor.py index 4e9d0e8..63ad58f 100644 --- a/custom_components/eventsensor/sensor.py +++ b/custom_components/eventsensor/sensor.py @@ -1,11 +1,12 @@ """Event sensor.""" import logging -from typing import Any, Callable, Dict, List, Optional +from collections.abc import Callable +from typing import Any import voluptuous as vol from homeassistant.components.sensor import PLATFORM_SCHEMA -from homeassistant.config_entries import ConfigEntry, SOURCE_IMPORT +from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry from homeassistant.const import ( CONF_EVENT, CONF_EVENT_DATA, @@ -13,16 +14,16 @@ CONF_STATE, EVENT_STATE_CHANGED, ) -from homeassistant.core import callback, Event, HomeAssistant +from homeassistant.core import Event, HomeAssistant, callback from homeassistant.helpers.config_validation import string from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from .common import ( - check_dict_is_contained_in_another, CONF_STATE_MAP, DOMAIN, DOMAIN_DATA, + check_dict_is_contained_in_another, extract_state_from_event, make_unique_id, parse_numbers, @@ -45,7 +46,7 @@ async def async_setup_platform( hass: HomeAssistant, config: ConfigType, - async_add_entities: Callable[[List[Any], bool], None], + async_add_entities: Callable[[list[Any], bool], None], discovery_info: DiscoveryInfoType = None, ): """ @@ -81,7 +82,7 @@ async def async_setup_platform( async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, - async_add_entities: Callable[[List[Any], bool], None], + async_add_entities: Callable[[list[Any], bool], None], ): """Set up the component sensors from a config entry.""" if DOMAIN_DATA not in hass.data: @@ -129,8 +130,8 @@ async def update_listener(hass: HomeAssistant, entry: ConfigEntry): class EventSensorDispatcher: """Dispatcher for EventSensors.""" - _listeners: Dict[str, Callable[[], None]] - _filters: Dict[str, Dict[str, Any]] + _listeners: dict[str, Callable[[], None]] + _filters: dict[str, dict[str, Any]] def __init__(self): """Set up the event sensor dispatcher.""" @@ -142,7 +143,7 @@ async def async_add_entry( hass: HomeAssistant, entry_id: str, event_type: str, - event_data_filter: Dict[str, Any], + event_data_filter: dict[str, Any], callback_update_sensor: Callable[[Event], None], ) -> None: """Add event listener when adding entity to Home Assistant.""" @@ -192,7 +193,7 @@ def __init__( self, entry_id: str, unique_id: str, - sensor_data: Dict[str, Any], + sensor_data: dict[str, Any], dispatcher: EventSensorDispatcher, ): """Set up a new sensor mirroring some event.""" @@ -204,8 +205,8 @@ def __init__( self._state_key = sensor_data[CONF_STATE] self._event_data = parse_numbers(sensor_data.get(CONF_EVENT_DATA, {})) self._state_map = parse_numbers(sensor_data.get(CONF_STATE_MAP, {})) - self._state: Optional[Any] = None - self._attributes: Dict[str, Any] = {} + self._state: Any | None = None + self._attributes: dict[str, Any] = {} @property def name(self):