@@ -71,15 +71,13 @@ async def async_setup_entry(
7171 name = register_name .replace ('_' , ' ' ),
7272 slave = slave ,
7373 native_unit_of_measurement = registerInfo .unit ,
74- # native_min_value=registerInfo.writeType.lowerLimit,
75- # native_max_value=registerInfo.writeType.upperLimit,
7674 mode = NumberMode .SLIDER if config_entry .options [CONF_USE_SLIDERS ] else NumberMode .BOX ,
7775 native_min_value = determine_min_value (registerInfo .unit , config_entry .options , registerInfo .entityType .powerType , registerInfo .entityType .negative ),
7876 native_max_value = determine_max_value (registerInfo .unit , config_entry .options , registerInfo .entityType .powerType ),
7977 entity_category = EntityCategory .CONFIG ,
8078 address = registerInfo .register ,
8179 scale = registerInfo .scale ,
82- step = registerInfo .step
80+ native_step = registerInfo .step
8381 ))
8482
8583 entities = []
@@ -145,14 +143,17 @@ def determine_max_value(unit, config_entry:config_entries.ConfigEntry, powerType
145143@dataclass
146144class VictronNumberMixin :
147145 """A class that describes number entities."""
148- scale : int
149- mode : bool
146+ scale : int | None = None
147+ mode : bool | None = None
150148
149+ @dataclass
151150class VictronNumberStep :
152- step : float = 0
151+ native_step : float = 0
153152
154153@dataclass
155154class VictronEntityDescription (NumberEntityDescription , VictronWriteBaseEntityDescription , VictronNumberMixin , VictronNumberStep ):
155+ #Overwrite base entitydescription property to resolve automatic property ordering issues when a mix of non-default and default properties are used
156+ key : str | None = None
156157 """Describes victron number entity."""
157158
158159class VictronNumber (NumberEntity ):
@@ -207,8 +208,8 @@ def native_value(self) -> float:
207208 def native_step (self ) -> float | None :
208209 if not self .description .mode == NumberMode .SLIDER : # allow users to skip stepping in case of box mode
209210 return None
210- if self .description .step > 0 :
211- return self .description .step
211+ if self .description .native_step > 0 :
212+ return self .description .native_step
212213 max = self .native_max_value
213214 min = self .native_min_value
214215 gap = len (list (range (int (min ), int (max ), 1 )))
0 commit comments