async def main(): connection_config = ConnectionConfig( connection_type=ConnectionType.TUNNELING, gateway_ip="10.0.0.197", gateway_port=3671, local_ip="10.0.0.70") xknx = XKNX(connection_config=connection_config) await xknx.start() print(len(xknx.devices)) for device in xknx.devices: print(device) print("Start done") light = Light(xknx, name ='Lamp Pieter', group_address_switch='0/2/18') print(light) await light.set_off() TempSensor = Sensor(xknx, 'TempSensor Bureel Pieter', group_address_state='2/2/11', value_type='temperature') await TempSensor.sync() print(TempSensor) print(TempSensor.resolve_state()) print(TempSensor.unit_of_measurement()) print(TempSensor.sensor_value.value) await xknx.stop()
def test_str_humidity(self): """Test resolve state with humidity sensor.""" xknx = XKNX(loop=self.loop) sensor = Sensor(xknx, 'TestSensor', group_address='1/2/3', value_type="humidity") sensor.state = DPTArray((0x0e, 0x73)) self.assertEqual(sensor.resolve_state(), 33.02) self.assertEqual(sensor.unit_of_measurement(), "%")
def test_str_temp(self): """Test resolve state with temperature sensor.""" xknx = XKNX(loop=self.loop) sensor = Sensor(xknx, 'TestSensor', group_address='1/2/3', value_type="temperature") sensor.state = DPTArray((0x0c, 0x1a)) self.assertEqual(sensor.resolve_state(), 21.00) self.assertEqual(sensor.unit_of_measurement(), "°C")
def test_str_scaling(self): """Test resolve state with percent sensor.""" xknx = XKNX(loop=self.loop) sensor = Sensor(xknx, 'TestSensor', group_address='1/2/3', value_type="percent") sensor.state = DPTArray((0x40, )) self.assertEqual(sensor.resolve_state(), "25") self.assertEqual(sensor.unit_of_measurement(), "%")
def test_str_electric_potential(self): """Test resolve state with voltage sensor.""" xknx = XKNX(loop=self.loop) sensor = Sensor(xknx, 'TestSensor', group_address_state='1/2/3', value_type="electric_potential") sensor.sensor_value.payload = DPTArray((0x43, 0x65, 0xE3, 0xD7)) self.assertEqual(round(sensor.resolve_state(), 2), 229.89) self.assertEqual(sensor.unit_of_measurement(), "V")
def test_str_power(self): """Test resolve state with power sensor.""" xknx = XKNX(loop=self.loop) sensor = Sensor(xknx, 'TestSensor', group_address='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")
def test_str_speed_ms(self): """Test resolve state with speed_ms sensor.""" xknx = XKNX(loop=self.loop) sensor = Sensor( xknx, 'TestSensor', group_address='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")
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)
def test_str_electric_potential(self): """Test resolve state with voltage sensor.""" xknx = XKNX(loop=self.loop) sensor = Sensor( xknx, 'TestSensor', group_address_state='1/2/3', value_type="electric_potential") sensor.sensor_value.payload = DPTArray((0x43, 0x65, 0xE3, 0xD7)) self.assertEqual(round(sensor.resolve_state(), 2), 229.89) self.assertEqual(sensor.unit_of_measurement(), "V")
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")
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")
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")
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)
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)