async def async_added_to_hass(self) -> None:
        """Register callbacks and load initial data."""
        if isinstance(self._data_point, CallbackDataPoint):
            self._unregister_callbacks.append(
                self._data_point.register_data_point_updated_callback(
                    cb=self._async_data_point_updated, custom_id=self.entity_id
                )
            )
            self._unregister_callbacks.append(
                self._data_point.register_device_removed_callback(cb=self._async_device_removed)
            )
        # Init value of entity.
        if isinstance(self._data_point, CalculatedDataPoint | CustomDataPoint | GenericDataPoint):
            await self._data_point.load_data_point_value(call_source=CallSource.HA_INIT)
        if (
            isinstance(self._data_point, CalculatedDataPoint | GenericDataPoint)
            and not self._data_point.is_valid
            and self._data_point.is_readable
        ) or (isinstance(self._data_point, CustomDataPoint) and not self._data_point.is_valid):
            _LOGGER.debug(
                "CCU did not provide initial value for %s. See README for more information",
                self._data_point.full_name,
            )
Register callbacks and load initial data.
custom_components/homematicip_local/generic_entity.py