Пример #1
0
    def test_str_humidity(self):
        """Test resolve state with humidity sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(xknx,
                        'TestSensor',
                        group_address_state='1/2/3',
                        value_type="humidity")
        sensor.sensor_value.payload = DPTArray((0x0e, 0x73))

        self.assertEqual(sensor.resolve_state(), 33.02)
        self.assertEqual(sensor.unit_of_measurement(), "%")
        self.assertEqual(sensor.ha_device_class(), "humidity")
Пример #2
0
    def test_str_power(self):
        """Test resolve state with power sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(xknx,
                        'TestSensor',
                        group_address_state='1/2/3',
                        value_type="power")
        sensor.sensor_value.payload = DPTArray((0x43, 0xC6, 0x80, 00))

        self.assertEqual(sensor.resolve_state(), 397)
        self.assertEqual(sensor.unit_of_measurement(), "W")
        self.assertEqual(sensor.ha_device_class(), "power")
Пример #3
0
    def test_str_scaling(self):
        """Test resolve state with percent sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(xknx,
                        'TestSensor',
                        group_address_state='1/2/3',
                        value_type="percent")
        sensor.sensor_value.payload = DPTArray((0x40, ))

        self.assertEqual(sensor.resolve_state(), 25)
        self.assertEqual(sensor.unit_of_measurement(), "%")
        self.assertEqual(sensor.ha_device_class(), None)
Пример #4
0
    def test_str_temp(self):
        """Test resolve state with temperature sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(xknx,
                        'TestSensor',
                        group_address_state='1/2/3',
                        value_type="temperature")
        sensor.sensor_value.payload = DPTArray((0x0c, 0x1a))

        self.assertEqual(sensor.resolve_state(), 21.00)
        self.assertEqual(sensor.unit_of_measurement(), "°C")
        self.assertEqual(sensor.ha_device_class(), "temperature")
Пример #5
0
    def test_str_power(self):
        """Test resolve state with power sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(
            xknx,
            'TestSensor',
            group_address_state='1/2/3',
            value_type="power")
        sensor.sensor_value.payload = DPTArray((0x43, 0xC6, 0x80, 00))

        self.assertEqual(sensor.resolve_state(), 397)
        self.assertEqual(sensor.unit_of_measurement(), "W")
        self.assertEqual(sensor.ha_device_class(), "power")
Пример #6
0
    def test_str_humidity(self):
        """Test resolve state with humidity sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(
            xknx,
            'TestSensor',
            group_address_state='1/2/3',
            value_type="humidity")
        sensor.sensor_value.payload = DPTArray((0x0e, 0x73))

        self.assertEqual(sensor.resolve_state(), 33.02)
        self.assertEqual(sensor.unit_of_measurement(), "%")
        self.assertEqual(sensor.ha_device_class(), "humidity")
Пример #7
0
    def test_str_temp(self):
        """Test resolve state with temperature sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(
            xknx,
            'TestSensor',
            group_address_state='1/2/3',
            value_type="temperature")
        sensor.sensor_value.payload = DPTArray((0x0c, 0x1a))

        self.assertEqual(sensor.resolve_state(), 21.00)
        self.assertEqual(sensor.unit_of_measurement(), "°C")
        self.assertEqual(sensor.ha_device_class(), "temperature")
Пример #8
0
    def test_str_speed_ms(self):
        """Test resolve state with speed_ms sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(
            xknx,
            'TestSensor',
            group_address_state='1/2/3',
            value_type="speed_ms")
        sensor.sensor_value.payload = DPTArray((0x00, 0x1b,))

        self.assertEqual(sensor.resolve_state(), 0.27)
        self.assertEqual(sensor.unit_of_measurement(), "m/s")
        self.assertEqual(sensor.ha_device_class(), None)
Пример #9
0
    def test_str_scaling(self):
        """Test resolve state with percent sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(
            xknx,
            'TestSensor',
            group_address_state='1/2/3',
            value_type="percent")
        sensor.sensor_value.payload = DPTArray((0x40,))

        self.assertEqual(sensor.resolve_state(), 25)
        self.assertEqual(sensor.unit_of_measurement(), "%")
        self.assertEqual(sensor.ha_device_class(), None)
Пример #10
0
    def test_str_speed_ms(self):
        """Test resolve state with speed_ms sensor."""
        xknx = XKNX(loop=self.loop)
        sensor = Sensor(xknx,
                        'TestSensor',
                        group_address_state='1/2/3',
                        value_type="speed_ms")
        sensor.sensor_value.payload = DPTArray((
            0x00,
            0x1b,
        ))

        self.assertEqual(sensor.resolve_state(), 0.27)
        self.assertEqual(sensor.unit_of_measurement(), "m/s")
        self.assertEqual(sensor.ha_device_class(), None)
Пример #11
0
    async def test_process(self):
        """Test process / reading telegrams from telegram queue."""
        xknx = XKNX()
        sensor = Sensor(
            xknx, "TestSensor", value_type="temperature", group_address_state="1/2/3"
        )

        telegram = Telegram(
            destination_address=GroupAddress("1/2/3"),
            payload=GroupValueWrite(DPTArray((0x06, 0xA0))),
        )
        await sensor.process(telegram)
        assert sensor.sensor_value.value == 16.96
        assert sensor.sensor_value.telegram.payload.value == DPTArray((0x06, 0xA0))
        assert sensor.resolve_state() == 16.96
        # test HomeAssistant device class
        assert sensor.ha_device_class() == "temperature"