uiprotect 0.3.9__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of uiprotect might be problematic. Click here for more details.
- {uiprotect-0.3.9 → uiprotect-0.4.0}/PKG-INFO +1 -1
- {uiprotect-0.3.9 → uiprotect-0.4.0}/pyproject.toml +1 -1
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/api.py +2 -3
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/bootstrap.py +2 -3
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/types.py +1 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/websocket.py +1 -2
- {uiprotect-0.3.9 → uiprotect-0.4.0}/LICENSE +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/README.md +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/__init__.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/__main__.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/__init__.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/backup.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/base.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/cameras.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/chimes.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/doorlocks.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/events.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/lights.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/liveviews.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/nvr.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/sensors.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/cli/viewers.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/__init__.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/base.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/convert.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/devices.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/nvr.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/data/user.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/exceptions.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/py.typed +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/release_cache.json +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/stream.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/test_util/__init__.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/test_util/anonymize.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/utils.py +0 -0
- {uiprotect-0.3.9 → uiprotect-0.4.0}/src/uiprotect/websocket.py +0 -0
|
@@ -16,7 +16,6 @@ from ipaddress import IPv4Address, IPv6Address
|
|
|
16
16
|
from pathlib import Path
|
|
17
17
|
from typing import Any, Literal, cast
|
|
18
18
|
from urllib.parse import urljoin
|
|
19
|
-
from uuid import UUID
|
|
20
19
|
|
|
21
20
|
import aiofiles
|
|
22
21
|
import aiohttp
|
|
@@ -647,7 +646,7 @@ class BaseApiClient:
|
|
|
647
646
|
def _process_ws_message(self, msg: aiohttp.WSMessage) -> None:
|
|
648
647
|
raise NotImplementedError
|
|
649
648
|
|
|
650
|
-
def _get_last_update_id(self) ->
|
|
649
|
+
def _get_last_update_id(self) -> str | None:
|
|
651
650
|
raise NotImplementedError
|
|
652
651
|
|
|
653
652
|
|
|
@@ -833,7 +832,7 @@ class ProtectApiClient(BaseApiClient):
|
|
|
833
832
|
except Exception:
|
|
834
833
|
_LOGGER.exception("Exception while running subscription handler")
|
|
835
834
|
|
|
836
|
-
def _get_last_update_id(self) ->
|
|
835
|
+
def _get_last_update_id(self) -> str | None:
|
|
837
836
|
if self._bootstrap is None:
|
|
838
837
|
return None
|
|
839
838
|
return self._bootstrap.last_update_id
|
|
@@ -8,7 +8,6 @@ from copy import deepcopy
|
|
|
8
8
|
from dataclasses import dataclass
|
|
9
9
|
from datetime import datetime
|
|
10
10
|
from typing import Any, cast
|
|
11
|
-
from uuid import UUID
|
|
12
11
|
|
|
13
12
|
from aiohttp.client_exceptions import ServerDisconnectedError
|
|
14
13
|
|
|
@@ -179,7 +178,7 @@ class Bootstrap(ProtectBaseObject):
|
|
|
179
178
|
sensors: dict[str, Sensor]
|
|
180
179
|
doorlocks: dict[str, Doorlock]
|
|
181
180
|
chimes: dict[str, Chime]
|
|
182
|
-
last_update_id:
|
|
181
|
+
last_update_id: str
|
|
183
182
|
|
|
184
183
|
# TODO:
|
|
185
184
|
# schedules
|
|
@@ -546,7 +545,7 @@ class Bootstrap(ProtectBaseObject):
|
|
|
546
545
|
|
|
547
546
|
action, data = self._get_frame_data(packet)
|
|
548
547
|
if action["newUpdateId"] is not None:
|
|
549
|
-
self.last_update_id =
|
|
548
|
+
self.last_update_id = action["newUpdateId"]
|
|
550
549
|
|
|
551
550
|
if action["modelKey"] not in ModelType.values():
|
|
552
551
|
_LOGGER.debug("Unknown model type: %s", action["modelKey"])
|
|
@@ -8,7 +8,6 @@ import struct
|
|
|
8
8
|
import zlib
|
|
9
9
|
from dataclasses import dataclass
|
|
10
10
|
from typing import TYPE_CHECKING, Any
|
|
11
|
-
from uuid import UUID
|
|
12
11
|
|
|
13
12
|
import orjson
|
|
14
13
|
|
|
@@ -40,7 +39,7 @@ class WSAction(str, enum.Enum):
|
|
|
40
39
|
@dataclass
|
|
41
40
|
class WSSubscriptionMessage:
|
|
42
41
|
action: WSAction
|
|
43
|
-
new_update_id:
|
|
42
|
+
new_update_id: str
|
|
44
43
|
changed_data: dict[str, Any]
|
|
45
44
|
new_obj: ProtectModelWithId | None = None
|
|
46
45
|
old_obj: ProtectModelWithId | None = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|