Allow decimal place to be used without corr factor
This commit is contained in:
parent
9e41c495fc
commit
d84bea3621
3 changed files with 18 additions and 28 deletions
|
@ -127,15 +127,12 @@ class ArestSensor(Entity):
|
|||
if 'error' in values:
|
||||
return values['error']
|
||||
elif 'value' in values:
|
||||
if self._corr_factor is not None \
|
||||
and self._decimal_places is not None:
|
||||
return round((float(values['value']) *
|
||||
float(self._corr_factor)), self._decimal_places)
|
||||
elif self._corr_factor is not None \
|
||||
and self._decimal_places is None:
|
||||
return round(float(values['value']) * float(self._corr_factor))
|
||||
else:
|
||||
return values['value']
|
||||
value = values['value']
|
||||
if self._corr_factor is not None:
|
||||
value = float(value) * float(self._corr_factor)
|
||||
if self._decimal_places is not None:
|
||||
value = round(value, self._decimal_places)
|
||||
return value
|
||||
else:
|
||||
return values.get(self._variable, 'n/a')
|
||||
|
||||
|
|
|
@ -35,8 +35,8 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
|||
data,
|
||||
config.get('name', DEFAULT_NAME),
|
||||
config.get('unit_of_measurement'),
|
||||
config.get('correction_factor', 1.0),
|
||||
config.get('decimal_places', 0)
|
||||
config.get('correction_factor', None),
|
||||
config.get('decimal_places', None)
|
||||
)])
|
||||
|
||||
|
||||
|
@ -49,7 +49,7 @@ class CommandSensor(Entity):
|
|||
self._name = name
|
||||
self._state = False
|
||||
self._unit_of_measurement = unit_of_measurement
|
||||
self._corr_factor = float(corr_factor)
|
||||
self._corr_factor = corr_factor
|
||||
self._decimal_places = decimal_places
|
||||
self.update()
|
||||
|
||||
|
@ -76,9 +76,9 @@ class CommandSensor(Entity):
|
|||
try:
|
||||
if value is not None:
|
||||
if self._corr_factor is not None:
|
||||
self._state = round((float(value) * self._corr_factor),
|
||||
self._decimal_places)
|
||||
else:
|
||||
value = float(value) * float(self._corr_factor)
|
||||
if self._decimal_places is not None:
|
||||
value = round(value, self._decimal_places)
|
||||
self._state = value
|
||||
except ValueError:
|
||||
self._state = value
|
||||
|
|
|
@ -136,17 +136,10 @@ class RestSensor(Entity):
|
|||
try:
|
||||
if value is not None:
|
||||
value = RestSensor.extract_value(value, self._variable)
|
||||
if self._corr_factor is not None \
|
||||
and self._decimal_places is not None:
|
||||
self._state = round(
|
||||
(float(value) *
|
||||
float(self._corr_factor)),
|
||||
self._decimal_places)
|
||||
elif self._corr_factor is not None \
|
||||
and self._decimal_places is None:
|
||||
self._state = round(float(value) *
|
||||
float(self._corr_factor))
|
||||
else:
|
||||
if self._corr_factor is not None:
|
||||
value = float(value) * float(self._corr_factor)
|
||||
if self._decimal_places is not None:
|
||||
value = round(value, self._decimal_places)
|
||||
self._state = value
|
||||
except ValueError:
|
||||
self._state = RestSensor.extract_value(value, self._variable)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue