python-aidot-cameras 0.7.7__tar.gz → 0.7.8__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.
- {python_aidot_cameras-0.7.7/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.7.8}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/pyproject.toml +1 -1
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/camera/lan_control.py +3 -3
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8/src/python_aidot_cameras.egg-info}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/LICENSE +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/README.md +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/setup.cfg +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/__init__.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/aes_utils.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/camera/__init__.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/camera/client.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/client.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/const.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/credentials.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/device_client.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/discover.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/exceptions.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/g711.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/login_const.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/models/__init__.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/models/device_client_model.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/models/device_model.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/models/discover_model.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/python_aidot_cameras.egg-info/SOURCES.txt +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/python_aidot_cameras.egg-info/requires.txt +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_alarm_event.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_highport_nomination.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_lan_control.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_motion_poll.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_no_undefined_names.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_post_merge_hardening.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_sdes_idle_release.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_sdes_sprop.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_sdes_talk.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_sdes_watchdog.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_speak.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_stream_cap.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_talk.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_terminal_ack.py +0 -0
- {python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_token_refresh.py +0 -0
{python_aidot_cameras-0.7.7/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.7.8}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.8
|
|
4
4
|
Summary: Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)
|
|
5
5
|
Author-email: cbrightly <chris.brightly@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "python-aidot-cameras"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.8"
|
|
8
8
|
description = "Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Offline LAN device-control for AiDot cameras.
|
|
2
2
|
|
|
3
|
-
This is the **control plane only**
|
|
4
|
-
status
|
|
3
|
+
This is the **control plane only** - settings, toggles, PTZ-adjacent attributes and
|
|
4
|
+
status - over the camera's local TCP:10000 channel. It does NOT do video; video is
|
|
5
5
|
WebRTC (``liveType=2``) and stays cloud-MQTT-signaled.
|
|
6
6
|
|
|
7
7
|
Design constraints (validated against LK.IPC.A000088 firmware):
|
|
@@ -10,7 +10,7 @@ Design constraints (validated against LK.IPC.A000088 firmware):
|
|
|
10
10
|
(``magic 0x1EED`` + ``msgtype:int16`` + ``bodysize:int32``) followed by an
|
|
11
11
|
AES-ECB-encrypted JSON body, keyed by the device's 16-char ``aesKey``.
|
|
12
12
|
* It is **single-session**: a second ``loginReq`` evicts the first. So this client
|
|
13
|
-
never holds a socket open
|
|
13
|
+
never holds a socket open - every operation is a short-lived
|
|
14
14
|
*connect → login → command(s) → close*, serialized by a per-camera lock.
|
|
15
15
|
* The camera acks changes with ``setDevAttrResp`` but emits no ``setDevAttrNotif``,
|
|
16
16
|
so there is no push; status is obtained by polling :meth:`async_get_attributes`.
|
{python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8/src/python_aidot_cameras.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.8
|
|
4
4
|
Summary: Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)
|
|
5
5
|
Author-email: cbrightly <chris.brightly@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
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
|
{python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/models/device_client_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/src/aidot/models/discover_model.py
RENAMED
|
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
|
{python_aidot_cameras-0.7.7 → python_aidot_cameras-0.7.8}/tests/test_post_merge_hardening.py
RENAMED
|
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
|