Fix enphase_envoy non existing via device warning at first config. (#149010)

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
This commit is contained in:
Arie Catsman
2025-08-12 11:55:43 +02:00
committed by GitHub
parent 067cab71fa
commit 8edbcc92d3

View File

@@ -2,6 +2,8 @@
from __future__ import annotations
from typing import TYPE_CHECKING
from pyenphase import Envoy
from homeassistant.const import CONF_HOST
@@ -42,6 +44,21 @@ async def async_setup_entry(hass: HomeAssistant, entry: EnphaseConfigEntry) -> b
},
)
# register envoy before via_device is used
device_registry = dr.async_get(hass)
if TYPE_CHECKING:
assert envoy.serial_number
device_registry.async_get_or_create(
config_entry_id=entry.entry_id,
identifiers={(DOMAIN, envoy.serial_number)},
manufacturer="Enphase",
name=coordinator.name,
model=envoy.envoy_model,
sw_version=str(envoy.firmware),
hw_version=envoy.part_number,
serial_number=envoy.serial_number,
)
entry.runtime_data = coordinator
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)