コード例 #1
0
ファイル: cover_test.py プロジェクト: phbaer/xknx
    def test_is_traveling(self):
        """Test moving cover to absolute position."""
        xknx = XKNX(loop=self.loop)
        cover = Cover(
            xknx,
            'TestCover',
            group_address_long='1/2/1',
            group_address_position='1/2/3',
            group_address_position_state='1/2/4',
            travel_time_down=10,
            travel_time_up=10)
        with patch('time.time') as mock_time:
            mock_time.return_value = 1517000000.0
            self.assertFalse(cover.is_traveling())
            self.assertTrue(cover.position_reached())

            self.loop.run_until_complete(asyncio.Task(cover.set_up()))
            self.assertTrue(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertTrue(cover.is_closed())

            mock_time.return_value = 1517000005.0  # 5 Seconds, half way
            self.assertFalse(cover.position_reached())
            self.assertTrue(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertFalse(cover.is_closed())

            mock_time.return_value = 1517000010.0  # 10 Seconds, fully open
            self.assertTrue(cover.position_reached())
            self.assertFalse(cover.is_traveling())
            self.assertTrue(cover.is_open())
            self.assertFalse(cover.is_closed())
コード例 #2
0
ファイル: cover_test.py プロジェクト: oliverblaha/xknx
    def test_is_traveling(self):
        """Test moving cover to absolute position."""
        xknx = XKNX(loop=self.loop)
        cover = Cover(xknx,
                      'TestCover',
                      group_address_long='1/2/1',
                      group_address_position='1/2/3',
                      group_address_position_state='1/2/4',
                      travel_time_down=10,
                      travel_time_up=10)
        with patch('time.time') as mock_time:
            mock_time.return_value = 1517000000.0
            self.assertFalse(cover.is_traveling())
            self.assertTrue(cover.position_reached())

            self.loop.run_until_complete(asyncio.Task(cover.set_up()))
            self.assertTrue(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertTrue(cover.is_closed())

            mock_time.return_value = 1517000005.0  # 5 Seconds, half way
            self.assertFalse(cover.position_reached())
            self.assertTrue(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertFalse(cover.is_closed())

            mock_time.return_value = 1517000010.0  # 10 Seconds, fully open
            self.assertTrue(cover.position_reached())
            self.assertFalse(cover.is_traveling())
            self.assertTrue(cover.is_open())
            self.assertFalse(cover.is_closed())
コード例 #3
0
ファイル: cover_test.py プロジェクト: oliverblaha/xknx
 def test_set_up(self):
     """Test moving cover to 'up' position."""
     xknx = XKNX(loop=self.loop)
     cover = Cover(xknx,
                   'TestCover',
                   group_address_long='1/2/1',
                   group_address_short='1/2/2',
                   group_address_position='1/2/3',
                   group_address_position_state='1/2/4')
     self.loop.run_until_complete(asyncio.Task(cover.set_up()))
     self.assertEqual(xknx.telegrams.qsize(), 1)
     telegram = xknx.telegrams.get_nowait()
     self.assertEqual(telegram,
                      Telegram(GroupAddress('1/2/1'), payload=DPTBinary(0)))
コード例 #4
0
ファイル: cover_test.py プロジェクト: phbaer/xknx
 def test_set_up(self):
     """Test moving cover to 'up' position."""
     xknx = XKNX(loop=self.loop)
     cover = Cover(
         xknx,
         'TestCover',
         group_address_long='1/2/1',
         group_address_short='1/2/2',
         group_address_position='1/2/3',
         group_address_position_state='1/2/4')
     self.loop.run_until_complete(asyncio.Task(cover.set_up()))
     self.assertEqual(xknx.telegrams.qsize(), 1)
     telegram = xknx.telegrams.get_nowait()
     self.assertEqual(telegram,
                      Telegram(GroupAddress('1/2/1'), payload=DPTBinary(0)))
コード例 #5
0
ファイル: cover_test.py プロジェクト: oliverblaha/xknx
    def test_state_addresses_while_travelling(self):
        """Test state addresses of cover while travelling."""
        xknx = XKNX(loop=self.loop)
        cover = Cover(xknx,
                      'TestCover',
                      group_address_long='1/2/1',
                      group_address_short='1/2/2',
                      group_address_position='1/2/3',
                      group_address_position_state='1/2/4',
                      group_address_angle='1/2/5',
                      group_address_angle_state='1/2/6')

        with patch('time.time') as mock_time:
            mock_time.return_value = 1517000000.0
            self.loop.run_until_complete(asyncio.Task(cover.set_up()))
            mock_time.return_value = 1517000001.0
            self.assertEqual(cover.state_addresses(), [])
コード例 #6
0
ファイル: cover_test.py プロジェクト: jonppe/xknx
 def test_set_up(self):
     """Test moving cover to 'up' position."""
     xknx = XKNX()
     cover = Cover(
         xknx,
         "TestCover",
         group_address_long="1/2/1",
         group_address_short="1/2/2",
         group_address_position="1/2/3",
         group_address_position_state="1/2/4",
     )
     self.loop.run_until_complete(cover.set_up())
     self.assertEqual(xknx.telegrams.qsize(), 1)
     telegram = xknx.telegrams.get_nowait()
     # DPT 1.008 - 0:up 1:down
     self.assertEqual(telegram,
                      Telegram(GroupAddress("1/2/1"), payload=DPTBinary(0)))
コード例 #7
0
ファイル: cover_test.py プロジェクト: phbaer/xknx
    def test_state_addresses_while_travelling(self):
        """Test state addresses of cover while travelling."""
        xknx = XKNX(loop=self.loop)
        cover = Cover(
            xknx,
            'TestCover',
            group_address_long='1/2/1',
            group_address_short='1/2/2',
            group_address_position='1/2/3',
            group_address_position_state='1/2/4',
            group_address_angle='1/2/5',
            group_address_angle_state='1/2/6')

        with patch('time.time') as mock_time:
            mock_time.return_value = 1517000000.0
            self.loop.run_until_complete(asyncio.Task(cover.set_up()))
            mock_time.return_value = 1517000001.0
            self.assertEqual(cover.state_addresses(), [])
コード例 #8
0
ファイル: cover_test.py プロジェクト: jonppe/xknx
    def test_is_traveling(self):
        """Test moving cover to absolute position."""
        xknx = XKNX()
        cover = Cover(
            xknx,
            "TestCover",
            group_address_long="1/2/1",
            group_address_stop="1/2/2",
            group_address_position="1/2/3",
            group_address_position_state="1/2/4",
            travel_time_down=10,
            travel_time_up=10,
        )
        with patch("time.time") as mock_time:
            mock_time.return_value = 1517000000.0
            self.assertFalse(cover.is_traveling())
            self.assertFalse(cover.is_opening())
            self.assertFalse(cover.is_closing())
            self.assertTrue(cover.position_reached())
            # we start with state open covers (up)
            cover.travelcalculator.set_position(0)
            self.loop.run_until_complete(cover.set_down())
            self.assertTrue(cover.is_traveling())
            self.assertTrue(cover.is_open())
            self.assertFalse(cover.is_closed())
            self.assertFalse(cover.is_opening())
            self.assertTrue(cover.is_closing())

            mock_time.return_value = 1517000005.0  # 5 Seconds, half way
            self.assertFalse(cover.position_reached())
            self.assertTrue(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertFalse(cover.is_closed())
            self.assertFalse(cover.is_opening())
            self.assertTrue(cover.is_closing())

            mock_time.return_value = 1517000010.0  # 10 Seconds, fully closed
            self.assertTrue(cover.position_reached())
            self.assertFalse(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertTrue(cover.is_closed())
            self.assertFalse(cover.is_opening())
            self.assertFalse(cover.is_closing())
            # up again
            self.loop.run_until_complete(cover.set_up())
            self.assertFalse(cover.position_reached())
            self.assertTrue(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertTrue(cover.is_closed())
            self.assertTrue(cover.is_opening())
            self.assertFalse(cover.is_closing())

            mock_time.return_value = 1517000015.0  # 15 Seconds, half way
            self.assertFalse(cover.position_reached())
            self.assertTrue(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertFalse(cover.is_closed())
            self.assertTrue(cover.is_opening())
            self.assertFalse(cover.is_closing())

            mock_time.return_value = 1517000016.0  # 16 Seconds, manual stop
            self.loop.run_until_complete(cover.stop())
            self.assertTrue(cover.position_reached())
            self.assertFalse(cover.is_traveling())
            self.assertFalse(cover.is_open())
            self.assertFalse(cover.is_closed())
            self.assertFalse(cover.is_opening())
            self.assertFalse(cover.is_closing())