3 """Utilities for dealing with the webcams."""
7 import smart_home.device as dev
9 logger = logging.getLogger(__name__)
12 class BaseCamera(dev.Device):
14 'cabin_drivewaycam': 'cabin_driveway',
15 'outside_backyard_camera': 'backyard',
16 'outside_driveway_camera': 'driveway',
17 'outside_doorbell_camera': 'doorbell',
18 'outside_front_door_camera': 'front_door',
19 'crawlspace_camera': 'crawlspace',
22 def __init__(self, name: str, mac: str, keywords: str = "") -> None:
23 super().__init__(name.strip(), mac.strip(), keywords)
24 self.camera_name = BaseCamera.camera_mapping.get(name, None)
26 def get_stream_url(self) -> str:
27 name = self.camera_name
28 assert name is not None
29 if name == 'driveway':
30 return f'http://10.0.0.226:8080/Umtxxf1uKMBniFblqeQ9KRbb6DDzN4/mjpeg/GKlT2FfiSQ/driveway'
32 return f'http://10.0.0.226:8080/Umtxxf1uKMBniFblqeQ9KRbb6DDzN4/mp4/GKlT2FfiSQ/{name}/s.mp4'