added Device, Camera classes

full_example
Mark Cotton 2023-05-29 20:54:14 -05:00
parent d6d8283afb
commit 4460bb6047
1 changed files with 19 additions and 6 deletions

View File

@ -32,8 +32,6 @@ class EagleEyev3():
self.users = []
self.accounts = []
self.base_url = None
self.lazy_login = True
if self.lazy_login:
@ -217,7 +215,7 @@ class EagleEyev3():
Returns:
dict: Dictionary containing the success status, response HTTP status code, and data.
"""
url = f"https://{self.user_base_url}/api/v3.0/cameras"
url = f"https://{self.user_base_url}/api/v3.0/cameras?include=status"
headers = {
"Authorization": f"Bearer {self.access_token}",
"Accept": "application/json"
@ -230,7 +228,7 @@ class EagleEyev3():
if response.status_code == 200:
success = True
self.cameras = [i for i in response_json['results']]
self.cameras = [Camera(id=i['id'], name=i['name'], status=i['status'], account_id=i['accountId'], bridge_id=i['bridgeId']) for i in response_json['results']]
else:
success = False
@ -401,7 +399,22 @@ class Device():
return self.id
def get_status(self):
return self.status
return self.status['connectionStatus']
def is_online(self):
return self.status['connectionStatus'] == "online"
def is_offline(self):
return self.status['connectionStatus'] == "deviceOffline" or self.status['connectionStatus'] == "bridgeOffline"
def __repr__(self):
if self.is_online():
online = ''
elif self.is_offline():
online = ''
else:
online = ''
return f"{online} [{self.id}] - {self.name}"