hass-core/homeassistant/components/fully_kiosk/entity.py
Mike Heath b5dfd83c46
Fix Fully Kiosk Browser merging entities when MAC empty (#87743)
* 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>
2023-02-10 09:19:09 +01:00

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