Manually register powerview hub (#146709)

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
This commit is contained in:
kingy444 2025-07-15 07:38:01 +10:00 committed by GitHub
parent c476500c49
commit a81e83cb28
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -11,9 +11,9 @@ from aiopvapi.shades import Shades
from homeassistant.const import CONF_API_VERSION, CONF_HOST, Platform
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import entity_registry as er
from homeassistant.helpers import device_registry as dr, entity_registry as er
from .const import DOMAIN, HUB_EXCEPTIONS
from .const import DOMAIN, HUB_EXCEPTIONS, MANUFACTURER
from .coordinator import PowerviewShadeUpdateCoordinator
from .model import PowerviewConfigEntry, PowerviewEntryData
from .shade_data import PowerviewShadeData
@ -64,6 +64,19 @@ async def async_setup_entry(hass: HomeAssistant, entry: PowerviewConfigEntry) ->
)
return False
# manual registration of the hub
device_registry = dr.async_get(hass)
device_registry.async_get_or_create(
config_entry_id=entry.entry_id,
connections={(dr.CONNECTION_NETWORK_MAC, hub.mac_address)},
identifiers={(DOMAIN, hub.serial_number)},
manufacturer=MANUFACTURER,
name=hub.name,
model=hub.model,
sw_version=hub.firmware,
hw_version=hub.main_processor_version.name,
)
try:
rooms = Rooms(pv_request)
room_data: PowerviewData = await rooms.get_rooms()