From a65ba01bbecab1cfebf0b64b878d46c0d6d1d5e1 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 9 Mar 2026 11:50:42 +0100 Subject: [PATCH] Mark climate type hints as mandatory (#164982) Co-authored-by: Robert Resch --- pylint/plugins/hass_enforce_type_hints.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pylint/plugins/hass_enforce_type_hints.py b/pylint/plugins/hass_enforce_type_hints.py index b8dfe4ef3f5..87f287ef9e8 100644 --- a/pylint/plugins/hass_enforce_type_hints.py +++ b/pylint/plugins/hass_enforce_type_hints.py @@ -1193,14 +1193,17 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = { TypeHintMatch( function_name="current_humidity", return_type=["float", None], + mandatory=True, ), TypeHintMatch( function_name="target_humidity", return_type=["float", None], + mandatory=True, ), TypeHintMatch( function_name="hvac_mode", return_type=["HVACMode", None], + mandatory=True, ), TypeHintMatch( function_name="hvac_modes", @@ -1210,26 +1213,32 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = { TypeHintMatch( function_name="hvac_action", return_type=["HVACAction", None], + mandatory=True, ), TypeHintMatch( function_name="current_temperature", return_type=["float", None], + mandatory=True, ), TypeHintMatch( function_name="target_temperature", return_type=["float", None], + mandatory=True, ), TypeHintMatch( function_name="target_temperature_step", return_type=["float", None], + mandatory=True, ), TypeHintMatch( function_name="target_temperature_high", return_type=["float", None], + mandatory=True, ), TypeHintMatch( function_name="target_temperature_low", return_type=["float", None], + mandatory=True, ), TypeHintMatch( function_name="preset_mode", @@ -1239,26 +1248,32 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = { TypeHintMatch( function_name="preset_modes", return_type=["list[str]", None], + mandatory=True, ), TypeHintMatch( function_name="is_aux_heat", return_type=["bool", None], + mandatory=True, ), TypeHintMatch( function_name="fan_mode", return_type=["str", None], + mandatory=True, ), TypeHintMatch( function_name="fan_modes", return_type=["list[str]", None], + mandatory=True, ), TypeHintMatch( function_name="swing_mode", return_type=["str", None], + mandatory=True, ), TypeHintMatch( function_name="swing_modes", return_type=["list[str]", None], + mandatory=True, ), TypeHintMatch( function_name="set_temperature",