Added support for Wyze bridge camera mapping
This commit is contained in:
parent
91ca9e88bc
commit
c7e07f309d
|
@ -12,6 +12,7 @@ logger = logging.getLogger(__name__)
|
|||
|
||||
class FrigateConfig:
|
||||
_URL_ADDRESS_REGEX: ClassVar[Pattern[str]] = re.compile('(^|(?<=://)|(?<=@))[a-z0-9.\\-]+(:[0-9]+)?($|(?=/))')
|
||||
_WYZE_CAMERAS: ClassVar[dict[str, str]] = {'back_yard_cam': '192.168.0.202:554'}
|
||||
|
||||
def __init__(self, frigate_base_url: str = 'http://frigate:5000') -> None:
|
||||
self._frigate_config_url = f'{frigate_base_url}/api/config'
|
||||
|
@ -56,7 +57,12 @@ class FrigateConfig:
|
|||
|
||||
@classmethod
|
||||
def _get_address_from_url(cls, url: str) -> str:
|
||||
match = cls._URL_ADDRESS_REGEX.search(url)
|
||||
match = cls._URL_ADDRESS_REGEX.search(url.lower())
|
||||
if match is None:
|
||||
raise ValueError(f'Failed to retrieve address from {url=}')
|
||||
|
||||
# Handle case of wyze-bridge and hardcode cameras
|
||||
if match.group().startswith('wyze-bridge'):
|
||||
wyze_camera = url.lower().rsplit('/', 1)[-1].replace('-', '_')
|
||||
return cls._WYZE_CAMERAS[wyze_camera]
|
||||
return match.group()
|
||||
|
|
Loading…
Reference in New Issue