Fix feedback from UVC (#45630)

* Fixing feedback from UVC

* Couple of fixes
This commit is contained in:
Ryan Fleming 2021-01-30 02:00:27 -05:00 committed by GitHub
parent 87d40ff815
commit 8a112721fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 5 deletions

View File

@ -2,6 +2,7 @@
from datetime import datetime
import logging
import re
from typing import Optional
import requests
from uvcclient import camera as uvc_camera, nvr
@ -111,9 +112,9 @@ class UnifiVideoCamera(Camera):
return 0
@property
def state_attributes(self):
def device_state_attributes(self):
"""Return the camera state attributes."""
attr = super().state_attributes
attr = {}
if self.motion_detection_enabled:
attr["last_recording_start_time"] = timestamp_ms_to_date(
self._caminfo["lastRecordingStartTime"]
@ -124,7 +125,7 @@ class UnifiVideoCamera(Camera):
def is_recording(self):
"""Return true if the camera is recording."""
recording_state = "DISABLED"
if "recordingIndicator" in self._caminfo.keys():
if "recordingIndicator" in self._caminfo:
recording_state = self._caminfo["recordingIndicator"]
return (
@ -256,7 +257,8 @@ class UnifiVideoCamera(Camera):
self._caminfo = self._nvr.get_camera(self._uuid)
def timestamp_ms_to_date(epoch_ms) -> datetime or None:
def timestamp_ms_to_date(epoch_ms: int) -> Optional[datetime]:
"""Convert millisecond timestamp to datetime."""
if epoch_ms:
return datetime.fromtimestamp(epoch_ms / 1000)
return None

View File

@ -257,7 +257,7 @@ class TestUVC(unittest.TestCase):
assert not self.uvc.is_recording
assert (
datetime(2021, 1, 8, 1, 56, 32, 367000)
== self.uvc.state_attributes["last_recording_start_time"]
== self.uvc.device_state_attributes["last_recording_start_time"]
)
self.nvr.get_camera.return_value["recordingIndicator"] = "DISABLED"