1+ #!/usr/bin/env python
2+ # -*- coding: utf-8 -*-
3+
4+ """Tests for OSDP Bus"""
5+
6+ import logging
7+ import os
8+ import sys
9+ import time
10+ import unittest
11+
12+ sys .path .insert (0 , os .path .abspath ('..' ))
13+ from osdp import *
14+
15+ log = logging .getLogger ('osdp' )
16+
17+ class ControlPanelTestCase (unittest .TestCase ):
18+
19+ """Test Bus for OSDP Python Module."""
20+
21+ def setUp (self ):
22+ """Setup."""
23+ self .last_reply = None
24+
25+ def tearDown (self ):
26+ """Teardown."""
27+
28+ def test_cp_checksum_unsecure (self ):
29+ conn = SerialPortOsdpConnection (port = '/dev/tty.wchusbserial1420' , baud_rate = 9600 )
30+ cp = ControlPanel ()
31+ bus_id = cp .start_connection (conn )
32+ self .assertIsNotNone (bus_id )
33+
34+ cp .add_device (connection_id = bus_id , address = 0x7F , use_crc = False , use_secure_channel = False )
35+
36+ id_report = cp .id_report (connection_id = bus_id , address = 0x7F )
37+ print ("\r \n " )
38+ print (id_report )
39+
40+ device_capabilities = cp .device_capabilities (connection_id = bus_id , address = 0x7F )
41+ print ("\r \n " )
42+ print (device_capabilities )
43+
44+ local_status = cp .local_status (connection_id = bus_id , address = 0x7F )
45+ print ("\r \n " )
46+ print (local_status )
47+
48+ input_status = cp .input_status (connection_id = bus_id , address = 0x7F )
49+ print ("\r \n " )
50+ print (input_status )
51+
52+ output_status = cp .output_status (connection_id = bus_id , address = 0x7F )
53+ print ("\r \n " )
54+ print (output_status )
55+
56+ reader_status = cp .reader_status (connection_id = bus_id , address = 0x7F )
57+ print ("\r \n " )
58+ print (reader_status )
59+
60+ output_status = cp .output_status (connection_id = bus_id , address = 0x7F )
61+ print ("\r \n " )
62+ print (output_status )
63+
64+ granted_led = [ReaderLedControl (
65+ reader_number = 0x0 ,
66+ led_number = 0x0 ,
67+ temporary_mode = TemporaryReaderControlCode .SetTemporaryAndStartTimer ,
68+ temporary_on_time = 0x02 ,
69+ temporary_off_time = 0x01 ,
70+ temporary_on_color = LedColor .Green ,
71+ temporary_off_color = LedColor .Black ,
72+ temporary_timer = 0x000A ,
73+ permanent_mode = PermanentReaderControlCode .Nop ,
74+ permanent_on_time = 0x00 ,
75+ permanent_off_time = 0x00 ,
76+ permanent_on_color = LedColor .Black ,
77+ permanent_off_color = LedColor .Black
78+ )]
79+ result = cp .reader_led_control (connection_id = bus_id , address = 0x7F , reader_led_controls = ReaderLedControls (granted_led ))
80+ print ("\r \n " )
81+ print (result )
82+
83+ time .sleep (1.0 )
84+
85+ denied_led = [ReaderLedControl (
86+ reader_number = 0x0 ,
87+ led_number = 0x0 ,
88+ temporary_mode = TemporaryReaderControlCode .SetTemporaryAndStartTimer ,
89+ temporary_on_time = 0x02 ,
90+ temporary_off_time = 0x01 ,
91+ temporary_on_color = LedColor .Red ,
92+ temporary_off_color = LedColor .Black ,
93+ temporary_timer = 0x000A ,
94+ permanent_mode = PermanentReaderControlCode .Nop ,
95+ permanent_on_time = 0x00 ,
96+ permanent_off_time = 0x00 ,
97+ permanent_on_color = LedColor .Black ,
98+ permanent_off_color = LedColor .Black
99+ )]
100+
101+ result = cp .reader_led_control (connection_id = bus_id , address = 0x7F , reader_led_controls = ReaderLedControls (denied_led ))
102+ print ("\r \n " )
103+ print (result )
104+
105+ cp .shutdown ()
106+
107+
108+ if __name__ == '__main__' :
109+ unittest .main ()
0 commit comments