zwave-js-server-python 0.70.0__tar.gz → 0.71.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.
- {zwave_js_server_python-0.70.0/zwave_js_server_python.egg-info → zwave_js_server_python-0.71.0}/PKG-INFO +13 -1
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/README.md +12 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/__init__.py +2 -2
- zwave_js_server_python-0.71.0/zwave_js_server/const/command_class/access_control.py +87 -0
- zwave_js_server_python-0.71.0/zwave_js_server/model/access_control.py +885 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/endpoint.py +6 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/node/__init__.py +65 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/node/event_model.py +91 -1
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/value.py +9 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/helpers.py +29 -2
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0/zwave_js_server_python.egg-info}/PKG-INFO +13 -1
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server_python.egg-info/SOURCES.txt +2 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/LICENSE +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/MANIFEST.in +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/pyproject.toml +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/setup.cfg +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/__main__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/client.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/barrier_operator.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/basic.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/battery.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/central_scene.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/color_switch.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/energy_production.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/entry_control.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/humidity_control.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/lock.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/meter.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/multilevel_sensor.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/multilevel_switch.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/notification.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/power_level.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/protection.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/scene_activation.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/sound_switch.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/thermostat.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/wake_up.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/command_class/window_covering.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/dump.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/event.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/exceptions.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/firmware.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/association.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/command_class.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/config_manager/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/controller/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/controller/data_model.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/controller/event_model.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/controller/inclusion_and_provisioning.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/controller/rebuild_routes.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/controller/statistics.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/device_class.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/device_config.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/driver/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/driver/firmware.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/duration.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/firmware.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/log_config.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/log_message.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/node/data_model.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/node/firmware.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/node/health_check.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/node/statistics.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/notification.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/statistics.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/utils.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/model/version.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/py.typed +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/command_class/__init__.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/command_class/energy_production.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/command_class/meter.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/command_class/multilevel_sensor.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/lock.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/multicast.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/util/node.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/version.py +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server_python.egg-info/dependency_links.txt +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server_python.egg-info/entry_points.txt +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server_python.egg-info/requires.txt +0 -0
- {zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zwave-js-server-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.71.0
|
|
4
4
|
Summary: Python wrapper for zwave-js-server
|
|
5
5
|
Author-email: Home Assistant Team <hello@home-assistant.io>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -56,3 +56,15 @@ try:
|
|
|
56
56
|
except zwave_js_server.client.FailedCommand as err:
|
|
57
57
|
print("Command failed with", err.error_code)
|
|
58
58
|
```
|
|
59
|
+
|
|
60
|
+
## Access control
|
|
61
|
+
|
|
62
|
+
Schema 48 adds typed access-control helpers exposed via the `AccessControlAPI`
|
|
63
|
+
wrapper:
|
|
64
|
+
|
|
65
|
+
- `node.access_control`: shortcut for the root endpoint API.
|
|
66
|
+
- `endpoint.access_control`: API for a specific endpoint.
|
|
67
|
+
- Call `await endpoint.access_control.is_supported()` before using other
|
|
68
|
+
methods.
|
|
69
|
+
- Credential payloads accept `str | bytes`; binary credentials are converted to
|
|
70
|
+
the websocket Buffer transport shape internally.
|
|
@@ -32,3 +32,15 @@ try:
|
|
|
32
32
|
except zwave_js_server.client.FailedCommand as err:
|
|
33
33
|
print("Command failed with", err.error_code)
|
|
34
34
|
```
|
|
35
|
+
|
|
36
|
+
## Access control
|
|
37
|
+
|
|
38
|
+
Schema 48 adds typed access-control helpers exposed via the `AccessControlAPI`
|
|
39
|
+
wrapper:
|
|
40
|
+
|
|
41
|
+
- `node.access_control`: shortcut for the root endpoint API.
|
|
42
|
+
- `endpoint.access_control`: API for a specific endpoint.
|
|
43
|
+
- Call `await endpoint.access_control.is_supported()` before using other
|
|
44
|
+
methods.
|
|
45
|
+
- Credential payloads accept `str | bytes`; binary credentials are converted to
|
|
46
|
+
the websocket Buffer transport shape internally.
|
{zwave_js_server_python-0.70.0 → zwave_js_server_python-0.71.0}/zwave_js_server/const/__init__.py
RENAMED
|
@@ -8,12 +8,12 @@ import logging
|
|
|
8
8
|
from typing import TypedDict
|
|
9
9
|
|
|
10
10
|
PACKAGE_NAME = "zwave-js-server-python"
|
|
11
|
-
__version__ = "0.
|
|
11
|
+
__version__ = "0.71.0"
|
|
12
12
|
|
|
13
13
|
# minimal server schema version we can handle
|
|
14
14
|
MIN_SERVER_SCHEMA_VERSION = 47
|
|
15
15
|
# max server schema version we can handle (and our code is compatible with)
|
|
16
|
-
MAX_SERVER_SCHEMA_VERSION =
|
|
16
|
+
MAX_SERVER_SCHEMA_VERSION = 48
|
|
17
17
|
|
|
18
18
|
VALUE_UNKNOWN = "unknown"
|
|
19
19
|
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""Constants for access control related command classes."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from enum import IntEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class UserCredentialType(IntEnum):
|
|
9
|
+
"""Credential types supported by User Credential CC."""
|
|
10
|
+
|
|
11
|
+
NONE = 0
|
|
12
|
+
PIN_CODE = 1
|
|
13
|
+
PASSWORD = 2
|
|
14
|
+
RFID_CODE = 3
|
|
15
|
+
BLE = 4
|
|
16
|
+
NFC = 5
|
|
17
|
+
UWB = 6
|
|
18
|
+
EYE_BIOMETRIC = 7
|
|
19
|
+
FACE_BIOMETRIC = 8
|
|
20
|
+
FINGER_BIOMETRIC = 9
|
|
21
|
+
HAND_BIOMETRIC = 10
|
|
22
|
+
UNSPECIFIED_BIOMETRIC = 11
|
|
23
|
+
DESFIRE = 12
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class UserCredentialUserType(IntEnum):
|
|
27
|
+
"""User types supported by User Credential CC."""
|
|
28
|
+
|
|
29
|
+
GENERAL = 0
|
|
30
|
+
PROGRAMMING = 3
|
|
31
|
+
NON_ACCESS = 4
|
|
32
|
+
DURESS = 5
|
|
33
|
+
DISPOSABLE = 6
|
|
34
|
+
EXPIRING = 7
|
|
35
|
+
REMOTE_ONLY = 9
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class UserCredentialRule(IntEnum):
|
|
39
|
+
"""Credential rules supported by User Credential CC."""
|
|
40
|
+
|
|
41
|
+
SINGLE = 1
|
|
42
|
+
DUAL = 2
|
|
43
|
+
TRIPLE = 3
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class UserCredentialLearnStatus(IntEnum):
|
|
47
|
+
"""Credential learn statuses supported by User Credential CC."""
|
|
48
|
+
|
|
49
|
+
STARTED = 0
|
|
50
|
+
SUCCESS = 1
|
|
51
|
+
ALREADY_IN_PROGRESS = 2
|
|
52
|
+
ENDED_NOT_DUE_TO_TIMEOUT = 3
|
|
53
|
+
TIMEOUT = 4
|
|
54
|
+
STEP_RETRY = 5
|
|
55
|
+
INVALID_ADD_OPERATION_TYPE = 254
|
|
56
|
+
INVALID_MODIFY_OPERATION_TYPE = 255
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class SetUserResult(IntEnum):
|
|
60
|
+
"""Result for set_user / delete_user / delete_all_users commands."""
|
|
61
|
+
|
|
62
|
+
OK = 0
|
|
63
|
+
ERROR_ADD_REJECTED_LOCATION_OCCUPIED = 1
|
|
64
|
+
ERROR_MODIFY_REJECTED_LOCATION_EMPTY = 2
|
|
65
|
+
ERROR_UNKNOWN = 255
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class SetCredentialResult(IntEnum):
|
|
69
|
+
"""Result for set_credential / delete_credential commands."""
|
|
70
|
+
|
|
71
|
+
OK = 0
|
|
72
|
+
ERROR_ADD_REJECTED_LOCATION_OCCUPIED = 1
|
|
73
|
+
ERROR_MODIFY_REJECTED_LOCATION_EMPTY = 2
|
|
74
|
+
ERROR_DUPLICATE_CREDENTIAL = 3
|
|
75
|
+
ERROR_MANUFACTURER_SECURITY_RULES = 4
|
|
76
|
+
ERROR_DUPLICATE_ADMIN_PIN_CODE = 5
|
|
77
|
+
ERROR_WRONG_USER_UNIQUE_IDENTIFIER = 6
|
|
78
|
+
ERROR_UNKNOWN = 255
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class AssignCredentialResult(IntEnum):
|
|
82
|
+
"""Result for assign_credential commands."""
|
|
83
|
+
|
|
84
|
+
OK = 0
|
|
85
|
+
ERROR_INVALID_CREDENTIAL = 1
|
|
86
|
+
ERROR_INVALID_USER = 2
|
|
87
|
+
ERROR_UNKNOWN = 255
|