Initil after Upgrade

This commit is contained in:
2026-06-15 10:53:52 -04:00
parent 2fe9bf0dd6
commit 887feaa50a
143 changed files with 2288 additions and 881 deletions
@@ -41,7 +41,7 @@ _LOGGER = logging.getLogger(__name__)
GENERAL_TARIFF = "general"
async def create_utility_meters(
def create_utility_meters(
hass: HomeAssistant,
energy_sensor: EnergySensor,
sensor_config: dict,
@@ -62,7 +62,7 @@ async def create_utility_meters(
unique_id = f"{energy_sensor.unique_id}_{meter_type}" if energy_sensor.unique_id else None
if should_create_utility_meter(hass, unique_id, energy_sensor):
utility_meters.extend(
await create_meters_for_type(
create_meters_for_type(
hass,
energy_sensor,
sensor_config,
@@ -98,7 +98,7 @@ def should_create_utility_meter(
return not (existing_entity_id and hass.states.get(existing_entity_id)) # pragma: no cover
async def create_meters_for_type(
def create_meters_for_type(
hass: HomeAssistant,
energy_sensor: EnergySensor,
sensor_config: dict,
@@ -116,7 +116,7 @@ async def create_meters_for_type(
# Create generic utility meter
if not tariffs or GENERAL_TARIFF in tariffs:
utility_meter = await create_utility_meter(
utility_meter = create_utility_meter(
hass,
energy_sensor.entity_id,
entity_id,
@@ -130,7 +130,7 @@ async def create_meters_for_type(
# Create tariff-specific utility meters
if tariffs:
new_tariff_sensors = await create_tariff_meters(
new_tariff_sensors = create_tariff_meters(
hass,
energy_sensor,
entity_id,
@@ -148,7 +148,7 @@ async def create_meters_for_type(
return utility_meters
async def create_tariff_meters(
def create_tariff_meters(
hass: HomeAssistant,
energy_sensor: EnergySensor,
entity_id: str,
@@ -161,11 +161,11 @@ async def create_tariff_meters(
) -> list[VirtualUtilityMeter]:
"""Create utility meters for specific tariffs."""
filtered_tariffs = [t for t in tariffs if t != GENERAL_TARIFF]
tariff_select = await create_tariff_select(config_entry, filtered_tariffs, hass, name, unique_id)
tariff_select = create_tariff_select(config_entry, filtered_tariffs, hass, name, unique_id)
tariff_sensors = []
for tariff in filtered_tariffs:
utility_meter = await create_utility_meter(
utility_meter = create_utility_meter(
hass,
energy_sensor.entity_id,
entity_id,
@@ -181,7 +181,7 @@ async def create_tariff_meters(
return tariff_sensors
async def create_tariff_select(
def create_tariff_select(
config_entry: ConfigEntry | None,
tariffs: list,
hass: HomeAssistant,
@@ -215,7 +215,7 @@ async def create_tariff_select(
return tariff_select
async def create_utility_meter(
def create_utility_meter(
hass: HomeAssistant,
source_entity: str,
entity_id: str,
@@ -258,7 +258,9 @@ async def create_utility_meter(
params = {key: value for key, value in params.items() if key in signature.parameters}
utility_meter = VirtualUtilityMeter(**params) # type: ignore[no-untyped-call]
utility_meter.rounding_digits = int(sensor_config.get(CONF_ENERGY_SENSOR_PRECISION, DEFAULT_ENERGY_SENSOR_PRECISION))
utility_meter.rounding_digits = int(
sensor_config.get(CONF_ENERGY_SENSOR_PRECISION, DEFAULT_ENERGY_SENSOR_PRECISION),
)
utility_meter.entity_id = entity_id
return utility_meter
@@ -280,8 +282,10 @@ class VirtualUtilityMeter(UtilityMeterSensor, BaseEntity):
@property
def native_value(self) -> StateType | Decimal:
"""Return the state of the sensor."""
value = self._state if hasattr(self, "_state") else self._attr_native_value # pre HA 2024.12 value was stored in _state
value = (
self._state if hasattr(self, "_state") else self._attr_native_value
) # pre HA 2024.12 value was stored in _state
if self.rounding_digits and value is not None:
return Decimal(round(value, self.rounding_digits)) # type: ignore
return Decimal(round(value, self.rounding_digits)) # type: ignore[arg-type]
return value # type: ignore
return value # type: ignore[return-value]