Improve type annotation in the Shelly text and number platform (#143568)

* Define _id with type

* Define attribute_value with type
This commit is contained in:
Maciej Bieniek 2025-04-24 13:55:40 +02:00 committed by GitHub
parent 061a1be2bc
commit 290bbcfa3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 8 deletions

View File

@ -66,6 +66,8 @@ class RpcNumber(ShellyRpcAttributeEntity, NumberEntity):
"""Represent a RPC number entity."""
entity_description: RpcNumberDescription
attribute_value: float | None
_id: int | None
def __init__(
self,
@ -93,9 +95,6 @@ class RpcNumber(ShellyRpcAttributeEntity, NumberEntity):
@property
def native_value(self) -> float | None:
"""Return value of number."""
if TYPE_CHECKING:
assert isinstance(self.attribute_value, float | None)
return self.attribute_value
@rpc_call
@ -104,7 +103,6 @@ class RpcNumber(ShellyRpcAttributeEntity, NumberEntity):
method = getattr(self.coordinator.device, self.entity_description.method)
if TYPE_CHECKING:
assert isinstance(self._id, int)
assert method is not None
await method(self._id, value)

View File

@ -3,7 +3,7 @@
from __future__ import annotations
from dataclasses import dataclass
from typing import TYPE_CHECKING, Final
from typing import Final
from aioshelly.const import RPC_GENERATIONS
@ -76,14 +76,12 @@ class RpcText(ShellyRpcAttributeEntity, TextEntity):
"""Represent a RPC text entity."""
entity_description: RpcTextDescription
attribute_value: str | None
_id: int
@property
def native_value(self) -> str | None:
"""Return value of sensor."""
if TYPE_CHECKING:
assert isinstance(self.attribute_value, str | None)
return self.attribute_value
@rpc_call