""" Place this code in custom_components/heat_pump_monitor/binary_sensor.py """ from homeassistant.components.binary_sensor import ( BinarySensorEntity, BinarySensorDeviceClass, ) from . import DOMAIN from .__init__ import HeatPumpEntity async def async_setup_entry(hass, entry, async_add_entities): """Set up binary sensors.""" coordinator = hass.data[DOMAIN][entry.entry_id] entities = [ HeatPumpOperatingBinarySensor(coordinator, "is_operating", "Operating", BinarySensorDeviceClass.POWER), HeatPumpOperatingBinarySensor(coordinator, "is_heating", "Heating", BinarySensorDeviceClass.HEAT), HeatPumpOperatingBinarySensor(coordinator, "aux_heat", "Auxiliary Heat", BinarySensorDeviceClass.HEAT), ] async_add_entities(entities) class HeatPumpOperatingBinarySensor(HeatPumpEntity, BinarySensorEntity): """Binary sensor for heat pump operation states.""" def __init__(self, coordinator, sensor_type, name, device_class): """Initialize the binary sensor.""" super().__init__(coordinator, sensor_type) self._attr_name = f"Heat Pump {name}" self._attr_unique_id = f"{DOMAIN}_{sensor_type}" self._attr_device_class = device_class @property def is_on(self): """Return true if the binary sensor is on.""" return self.coordinator.data.get(self.key, False)