Only set precision in modbus if not configured. (#106952)

Only set precision if not configured.
pull/106970/head
jan iversen 2024-01-03 13:42:55 +01:00 committed by Franck Nijhof
parent 4595c3edaa
commit 9d697c5026
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
2 changed files with 2 additions and 4 deletions

View File

@ -190,7 +190,7 @@ BASE_STRUCT_SCHEMA = BASE_COMPONENT_SCHEMA.extend(
vol.Optional(CONF_STRUCTURE): cv.string,
vol.Optional(CONF_SCALE, default=1): number_validator,
vol.Optional(CONF_OFFSET, default=0): number_validator,
vol.Optional(CONF_PRECISION, default=0): cv.positive_int,
vol.Optional(CONF_PRECISION): cv.positive_int,
vol.Optional(
CONF_SWAP,
): vol.In(

View File

@ -185,10 +185,8 @@ class BaseStructPlatform(BasePlatform, RestoreEntity):
self._swap = config[CONF_SWAP]
self._data_type = config[CONF_DATA_TYPE]
self._structure: str = config[CONF_STRUCTURE]
self._precision = config[CONF_PRECISION]
self._scale = config[CONF_SCALE]
if self._scale < 1 and not self._precision:
self._precision = 2
self._precision = config.get(CONF_PRECISION, 2 if self._scale < 1 else 0)
self._offset = config[CONF_OFFSET]
self._slave_count = config.get(CONF_SLAVE_COUNT, None) or config.get(
CONF_VIRTUAL_COUNT, 0