2525from .errors import AuthenticationError , InvalidCredentialsError , MyQError , RequestError
2626from .garagedoor import MyQGaragedoor
2727from .lamp import MyQLamp
28+ from .lock import MyQLock
2829from .request import REQUEST_METHODS , MyQRequest
2930
3031_LOGGER = logging .getLogger (__name__ )
@@ -60,7 +61,7 @@ def __init__(
6061 self .last_state_update = None # type: Optional[datetime]
6162
6263 @property
63- def devices (self ) -> Dict [str , Union [MyQDevice , MyQGaragedoor , MyQLamp ]]:
64+ def devices (self ) -> Dict [str , Union [MyQDevice , MyQGaragedoor , MyQLamp , MyQLock ]]:
6465 """Return all devices."""
6566 devices = {}
6667 for account in self .accounts .values ():
@@ -77,15 +78,23 @@ def covers(self) -> Dict[str, MyQGaragedoor]:
7778
7879 @property
7980 def lamps (self ) -> Dict [str , MyQLamp ]:
80- """Return only those devices that are covers ."""
81+ """Return only those devices that are lamps ."""
8182 lamps = {}
8283 for account in self .accounts .values ():
8384 lamps .update (account .lamps )
8485 return lamps
8586
87+ @property
88+ def locks (self ) -> Dict [str , MyQLock ]:
89+ """Return only those devices that are locks."""
90+ locks = {}
91+ for account in self .accounts .values ():
92+ locks .update (account .locks )
93+ return locks
94+
8695 @property
8796 def gateways (self ) -> Dict [str , MyQDevice ]:
88- """Return only those devices that are covers ."""
97+ """Return only those devices that are gateways ."""
8998 gateways = {}
9099 for account in self .accounts .values ():
91100 gateways .update (account .gateways )
0 commit comments