"""Binary sensor platform for Reticulum.""" from __future__ import annotations from homeassistant.components.binary_sensor import ( BinarySensorDeviceClass, BinarySensorEntity, ) from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN from .entity import ReticulumStackEntity async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback, ) -> None: """Set up the hub connectivity binary sensor.""" runtime = hass.data[DOMAIN][entry.entry_id] async_add_entities([ReticulumConnectivity(runtime.stack, entry)]) class ReticulumConnectivity(ReticulumStackEntity, BinarySensorEntity): """Whether the outbound Reticulum interface is online.""" _attr_translation_key = "connected" _attr_device_class = BinarySensorDeviceClass.CONNECTIVITY def __init__(self, stack, entry) -> None: super().__init__(stack, entry) self._attr_unique_id = f"{entry.entry_id}_connected" @property def is_on(self) -> bool: return self._stack.state.interface_online