diff --git a/homeassistant/components/eq3btsmart/climate.py b/homeassistant/components/eq3btsmart/climate.py
index de75f04f91e43f5f46afe902dd2db6865b33e3a0..e469512123b05044e6ad9738647ea15ab0c8f28a 100644
--- a/homeassistant/components/eq3btsmart/climate.py
+++ b/homeassistant/components/eq3btsmart/climate.py
@@ -100,37 +100,26 @@ def setup_platform(
 class EQ3BTSmartThermostat(ClimateEntity):
     """Representation of an eQ-3 Bluetooth Smart thermostat."""
 
+    _attr_hvac_modes = list(HA_TO_EQ_HVAC)
+    _attr_precision = PRECISION_HALVES
+    _attr_preset_modes = list(HA_TO_EQ_PRESET)
     _attr_supported_features = (
         ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE
     )
+    _attr_temperature_unit = TEMP_CELSIUS
 
-    def __init__(self, _mac, _name):
+    def __init__(self, mac: str, name: str) -> None:
         """Initialize the thermostat."""
         # We want to avoid name clash with this module.
-        self._name = _name
-        self._mac = _mac
-        self._thermostat = eq3.Thermostat(_mac)
+        self._attr_name = name
+        self._attr_unique_id = format_mac(mac)
+        self._thermostat = eq3.Thermostat(mac)
 
     @property
     def available(self) -> bool:
         """Return if thermostat is available."""
         return self._thermostat.mode >= 0
 
-    @property
-    def name(self):
-        """Return the name of the device."""
-        return self._name
-
-    @property
-    def temperature_unit(self):
-        """Return the unit of measurement that is used."""
-        return TEMP_CELSIUS
-
-    @property
-    def precision(self):
-        """Return eq3bt's precision 0.5."""
-        return PRECISION_HALVES
-
     @property
     def current_temperature(self):
         """Can not report temperature, so return target_temperature."""
@@ -148,17 +137,12 @@ class EQ3BTSmartThermostat(ClimateEntity):
         self._thermostat.target_temperature = temperature
 
     @property
-    def hvac_mode(self):
+    def hvac_mode(self) -> HVACMode:
         """Return the current operation mode."""
         if self._thermostat.mode < 0:
             return HVACMode.OFF
         return EQ_TO_HA_HVAC[self._thermostat.mode]
 
-    @property
-    def hvac_modes(self):
-        """Return the list of available operation modes."""
-        return list(HA_TO_EQ_HVAC)
-
     def set_hvac_mode(self, hvac_mode: HVACMode) -> None:
         """Set operation mode."""
         self._thermostat.mode = HA_TO_EQ_HVAC[hvac_mode]
@@ -174,9 +158,9 @@ class EQ3BTSmartThermostat(ClimateEntity):
         return self._thermostat.max_temp
 
     @property
-    def extra_state_attributes(self):
+    def extra_state_attributes(self) -> dict[str, Any]:
         """Return the device specific state attributes."""
-        dev_specific = {
+        return {
             ATTR_STATE_AWAY_END: self._thermostat.away_end,
             ATTR_STATE_LOCKED: self._thermostat.locked,
             ATTR_STATE_LOW_BAT: self._thermostat.low_battery,
@@ -184,29 +168,14 @@ class EQ3BTSmartThermostat(ClimateEntity):
             ATTR_STATE_WINDOW_OPEN: self._thermostat.window_open,
         }
 
-        return dev_specific
-
     @property
-    def preset_mode(self):
+    def preset_mode(self) -> str | None:
         """Return the current preset mode, e.g., home, away, temp.
 
         Requires ClimateEntityFeature.PRESET_MODE.
         """
         return EQ_TO_HA_PRESET.get(self._thermostat.mode)
 
-    @property
-    def preset_modes(self):
-        """Return a list of available preset modes.
-
-        Requires ClimateEntityFeature.PRESET_MODE.
-        """
-        return list(HA_TO_EQ_PRESET)
-
-    @property
-    def unique_id(self) -> str:
-        """Return the MAC address of the thermostat."""
-        return format_mac(self._mac)
-
     def set_preset_mode(self, preset_mode: str) -> None:
         """Set new preset mode."""
         if preset_mode == PRESET_NONE: