* Fix FKB merging entities when MAC empty Fully Kiosk Browser will sometimes return an empty MAC address in the device_info API call. When two Fully Kiosk devices are added with missing MAC addresses, HA will assume the two devices are the same and merge the entities. This fixes that problem. Fixes #77722 * Update homeassistant/components/fully_kiosk/entity.py Co-authored-by: Erik Montnemery <erik@montnemery.com> --------- Co-authored-by: Erik Montnemery <erik@montnemery.com>
32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
"""Base entity for the Fully Kiosk Browser integration."""
|
|
from __future__ import annotations
|
|
|
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
|
from homeassistant.helpers.entity import DeviceInfo, Entity
|
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
|
|
|
from .const import DOMAIN
|
|
from .coordinator import FullyKioskDataUpdateCoordinator
|
|
|
|
|
|
class FullyKioskEntity(CoordinatorEntity[FullyKioskDataUpdateCoordinator], Entity):
|
|
"""Defines a Fully Kiosk Browser entity."""
|
|
|
|
_attr_has_entity_name = True
|
|
|
|
def __init__(self, coordinator: FullyKioskDataUpdateCoordinator) -> None:
|
|
"""Initialize the Fully Kiosk Browser entity."""
|
|
super().__init__(coordinator=coordinator)
|
|
device_info = DeviceInfo(
|
|
identifiers={(DOMAIN, coordinator.data["deviceID"])},
|
|
name=coordinator.data["deviceName"],
|
|
manufacturer=coordinator.data["deviceManufacturer"],
|
|
model=coordinator.data["deviceModel"],
|
|
sw_version=coordinator.data["appVersionName"],
|
|
configuration_url=f"http://{coordinator.data['ip4']}:2323",
|
|
)
|
|
if "Mac" in coordinator.data and coordinator.data["Mac"]:
|
|
device_info["connections"] = {
|
|
(CONNECTION_NETWORK_MAC, coordinator.data["Mac"])
|
|
}
|
|
self._attr_device_info = device_info
|