Exemple #1
0
 def resolve_state(self):
     """Return the current state of the sensor as a human readable string."""
     # pylint: disable=invalid-name,too-many-return-statements
     if self.state is None:
         return None
     elif self.value_type == 'percent' and \
             isinstance(self.state, DPTArray) and \
             len(self.state.value) == 1:
         # TODO: Instanciate DPTScaling object with DPTArray class
         return "{0}".format(DPTScaling().from_knx(self.state.value))
     elif self.value_type == 'humidity':
         return DPTHumidity().from_knx(self.state.value)
     elif self.value_type == 'temperature':
         return DPTTemperature().from_knx(self.state.value)
     elif self.value_type == 'illuminance':
         return DPTLux().from_knx(self.state.value)
     elif self.value_type == 'speed_ms':
         return DPTWsp().from_knx(self.state.value)
     elif self.value_type == 'current':
         return DPTUElCurrentmA().from_knx(self.state.value)
     elif isinstance(self.state, DPTArray):
         return ','.join('0x%02x' % i for i in self.state.value)
     elif isinstance(self.state, DPTBinary):
         return "{0:b}".format(self.state.value)
     raise TypeError()
Exemple #2
0
 def test_humidity_assert_min_exceeded(self):
     with self.assertRaises(ConversionError):
         DPTHumidity().to_knx(-1)
Exemple #3
0
 def test_humidity_settings(self):
     self.assertEqual(DPTHumidity().value_min, 0)
     self.assertEqual(DPTHumidity().value_max, 670760)
     self.assertEqual(DPTHumidity().unit, "%")
     self.assertEqual(DPTHumidity().resolution, 1)
Exemple #4
0
 def test_humidity_assert_min_exceeded(self):
     """Test parsing of DPTHumidity with wrong value."""
     with self.assertRaises(ConversionError):
         DPTHumidity().to_knx(-1)
Exemple #5
0
 def test_humidity_settings(self):
     """Test attributes of DPTHumidity."""
     self.assertEqual(DPTHumidity().value_min, 0)
     self.assertEqual(DPTHumidity().value_max, 670760)
     self.assertEqual(DPTHumidity().unit, "%")
     self.assertEqual(DPTHumidity().resolution, 1)