Round off probability to 2 decimals. (#9365)

* Round off probablity to 2 decimals.

* Update tests

* remove debug print
This commit is contained in:
Alok Saboo 2017-09-12 00:44:51 +05:30 committed by Pascal Vizeli
parent cc1979691e
commit c7ecebfd07
2 changed files with 3 additions and 4 deletions

View file

@ -126,7 +126,6 @@ class BayesianBinarySensor(BinarySensorDevice):
self.watchers[platform](entity_obs) self.watchers[platform](entity_obs)
prior = self.prior prior = self.prior
print(self.current_obs.values())
for obs in self.current_obs.values(): for obs in self.current_obs.values():
prior = update_probability(prior, obs['prob_true'], prior = update_probability(prior, obs['prob_true'],
obs['prob_false']) obs['prob_false'])
@ -201,7 +200,7 @@ class BayesianBinarySensor(BinarySensorDevice):
"""Return the state attributes of the sensor.""" """Return the state attributes of the sensor."""
return { return {
'observations': [val for val in self.current_obs.values()], 'observations': [val for val in self.current_obs.values()],
'probability': self.probability, 'probability': round(self.probability, 2),
'probability_threshold': self._probability_threshold 'probability_threshold': self._probability_threshold
} }

View file

@ -73,7 +73,7 @@ class TestBayesianBinarySensor(unittest.TestCase):
'prob_false': 0.1, 'prob_false': 0.1,
'prob_true': 0.9 'prob_true': 0.9
}], state.attributes.get('observations')) }], state.attributes.get('observations'))
self.assertAlmostEqual(0.7714285714285715, self.assertAlmostEqual(0.77,
state.attributes.get('probability')) state.attributes.get('probability'))
assert state.state == 'on' assert state.state == 'on'
@ -141,7 +141,7 @@ class TestBayesianBinarySensor(unittest.TestCase):
'prob_true': 0.8, 'prob_true': 0.8,
'prob_false': 0.4 'prob_false': 0.4
}], state.attributes.get('observations')) }], state.attributes.get('observations'))
self.assertAlmostEqual(0.33333333, state.attributes.get('probability')) self.assertAlmostEqual(0.33, state.attributes.get('probability'))
assert state.state == 'on' assert state.state == 'on'