How can I create an input_number entity from an integration?

How can I create an input_number entity from an integration? It creates it with all the correct properities but the UI does not recoginise it as an input number and there is no slider. Here are the attributes that I created. IS there something special need to set. I have looked at the input number component implementation and I have almost identical code.

initial: 50
editable: false
min: 0
max: 100
step: 1
mode: slider
unit_of_measurement: m
icon: mdi:arrow-expand-horizontal
friendly_name: Zone Radius

If you are developing an integration. Use an entity in the number domain. Not the input_number domain.

Thanks. I tried that and it just creates a normal display entity. In the UI I cannot change its value. These are the state attributes it created.
min: 0
max: 100
step: 1
mode: slider
unit_of_measurement: m
device_class: distance
icon: mdi:update
friendly_name: test_input


class InputNumber(NumberEntity):
    
    _attr_icon = "mdi:update"

    def __init__(self, name, initial_value):        
        self._attr_name = name
        self._attr_native_value = initial_value
        self._attr_editable = True
        self._attr_mode = 'slider'
        self._attr_native_min_value = 0
        self._attr_native_max_value = 100
        self._attr_native_step = 1
        self._attr_device_class = "distance"  
        self._attr_native_unit_of_measurement = "m"

    @property
    def native_value(self):      
        return self._attr_native_value

    async def async_set_native_value(self, value):        
        self._attr_native_value = value
        self.async_write_ha_state()

    @property
    def native_min_value(self):        
        return self._attr_native_min_value

    @property
    def native_max_value(self):
        return self._attr_native_max_value

    @property
    def native_step(self):
        return self._attr_native_step

    @property
    def mode(self):        
        return self._attr_mode

    @property
    def native_unit_of_measurement(self):
        return self._attr_native_unit_of_measurement

Just realized my mistake.
I had the number entity code in device_tracker.py as that is my integration
moved it to number.py and it works !
Thanks!