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:
|
if 'error' in values:
|
||||||
return values['error']
|
return values['error']
|
||||||
elif 'value' in values:
|
elif 'value' in values:
|
||||||
if self._corr_factor is not None \
|
value = values['value']
|
||||||
and self._decimal_places is not None:
|
if self._corr_factor is not None:
|
||||||
return round((float(values['value']) *
|
value = float(value) * float(self._corr_factor)
|
||||||
float(self._corr_factor)), self._decimal_places)
|
if self._decimal_places is not None:
|
||||||
elif self._corr_factor is not None \
|
value = round(value, self._decimal_places)
|
||||||
and self._decimal_places is None:
|
return value
|
||||||
return round(float(values['value']) * float(self._corr_factor))
|
|
||||||
else:
|
|
||||||
return values['value']
|
|
||||||
else:
|
else:
|
||||||
return values.get(self._variable, 'n/a')
|
return values.get(self._variable, 'n/a')
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None):
|
||||||
data,
|
data,
|
||||||
config.get('name', DEFAULT_NAME),
|
config.get('name', DEFAULT_NAME),
|
||||||
config.get('unit_of_measurement'),
|
config.get('unit_of_measurement'),
|
||||||
config.get('correction_factor', 1.0),
|
config.get('correction_factor', None),
|
||||||
config.get('decimal_places', 0)
|
config.get('decimal_places', None)
|
||||||
)])
|
)])
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ class CommandSensor(Entity):
|
||||||
self._name = name
|
self._name = name
|
||||||
self._state = False
|
self._state = False
|
||||||
self._unit_of_measurement = unit_of_measurement
|
self._unit_of_measurement = unit_of_measurement
|
||||||
self._corr_factor = float(corr_factor)
|
self._corr_factor = corr_factor
|
||||||
self._decimal_places = decimal_places
|
self._decimal_places = decimal_places
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
@ -76,10 +76,10 @@ class CommandSensor(Entity):
|
||||||
try:
|
try:
|
||||||
if value is not None:
|
if value is not None:
|
||||||
if self._corr_factor is not None:
|
if self._corr_factor is not None:
|
||||||
self._state = round((float(value) * self._corr_factor),
|
value = float(value) * float(self._corr_factor)
|
||||||
self._decimal_places)
|
if self._decimal_places is not None:
|
||||||
else:
|
value = round(value, self._decimal_places)
|
||||||
self._state = value
|
self._state = value
|
||||||
except ValueError:
|
except ValueError:
|
||||||
self._state = value
|
self._state = value
|
||||||
|
|
||||||
|
|
|
@ -136,18 +136,11 @@ class RestSensor(Entity):
|
||||||
try:
|
try:
|
||||||
if value is not None:
|
if value is not None:
|
||||||
value = RestSensor.extract_value(value, self._variable)
|
value = RestSensor.extract_value(value, self._variable)
|
||||||
if self._corr_factor is not None \
|
if self._corr_factor is not None:
|
||||||
and self._decimal_places is not None:
|
value = float(value) * float(self._corr_factor)
|
||||||
self._state = round(
|
if self._decimal_places is not None:
|
||||||
(float(value) *
|
value = round(value, self._decimal_places)
|
||||||
float(self._corr_factor)),
|
self._state = value
|
||||||
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:
|
|
||||||
self._state = value
|
|
||||||
except ValueError:
|
except ValueError:
|
||||||
self._state = RestSensor.extract_value(value, self._variable)
|
self._state = RestSensor.extract_value(value, self._variable)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue