Ok, so I didn't find any answer around, so I am adding mine.
I created a custom node socket float node like below:
import bpy
from bpy.props import FloatProperty
from bpy.types import NodeSocketFloat
from bpy.utils import register_class
from bpy.utils import unregister_class
# Custom socket type
class CustomFloatSocket(NodeSocketFloat):
# Description string
'''Custom node socket type'''
bl_idname = 'CustomSocket_FloatType'
bl_label = "Custom Node Socket"
# Optional function for drawing the socket input value
def draw(self, context, layout, node, text):
if self.is_output or self.is_linked:
layout.label(text=text)
else:
layout.prop(self, "default_value", text=text, slider=True)
# Socket color
def draw_color(self, context, node):
return (1.0, 0.4, 0.216, 0.5)
default_value: bpy.props.FloatProperty(
name="CustomFloatSocket",
description="Custom float socket node with max value of 1.000",
default=1.000,
min=0.000,
max=1.000,
precision=3,
step=0.1,
)
register_class(CustomFloatSocket)
With this, I managed to change the step and the soft values as I wanted.