def METHOD_NAME(self, attrid, value):
    super().METHOD_NAME(attrid, value)
    if attrid == MOESBHT_TARGET_TEMP_ATTR:
        self.endpoint.device.thermostat_bus.listener_event(
            "temperature_change",
            "occupied_heating_setpoint",
            value * 100,  # degree to centidegree
        )
    elif attrid == MOESBHT_TEMPERATURE_ATTR:
        self.endpoint.device.thermostat_bus.listener_event(
            "temperature_change",
            "local_temperature",
            value * 10,  # decidegree to centidegree
        )
    elif attrid == MOESBHT_SCHEDULE_MODE_ATTR:
        if value == 0:  # value is inverted
            self.endpoint.device.thermostat_bus.listener_event(
                "program_change", "scheduled"
            )
    elif attrid == MOESBHT_MANUAL_MODE_ATTR:
        if value == 0:  # value is inverted
            self.endpoint.device.thermostat_bus.listener_event(
                "program_change", "manual"
            )
    elif attrid == MOESBHT_ENABLED_ATTR:
        self.endpoint.device.thermostat_bus.listener_event("enabled_change", value)
    elif attrid == MOESBHT_RUNNING_MODE_ATTR:
        # value is inverted
        self.endpoint.device.thermostat_bus.listener_event(
            "state_change", 1 - value
        )
    elif attrid == MOESBHT_CHILD_LOCK_ATTR:
        self.endpoint.device.ui_bus.listener_event("child_lock_change", value)